간단한 양식 유효성 검사 스크립트를 작성하고 있지만 한 가지 문제는 Google 크롬을 통해 스크립트를 실행할 때 전체 PHP 태그가 입력란에 표시된다는 것입니다. 이 경우 "firstname"에 대한 코드는 입력란에 <?php echo $fn; ?>
이됩니다. 내 PHP 변수 인 $ fn, $ ln을 null로 설정하려고 시도했지만 문제가 해결되지 않는 것 같습니다. 어떤 제안?양식 처리, HTML 내에서 PHP 통합
<html>
<head>
<title> My Webpage! </title>
</head>
<body>
<?php
include 'connect_inc.php';
include 'validate.php';
$fn = null;
$ln = null;
$age = null;
$birthday = null;
if(isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['age']) && isset($_POST['birthday']))
{
$fn = $_POST['firstname'];
$ln = $_POST['lastname'];
$age = $_POST['age'];
$birthday = $_POST['birthday'];
if(!empty($fn) && !empty($ln) && !empty($age) && !empty($birthday))
{
$sec = mysql_real_escape_string;
$query = "INSERT INTO `ppl` VALUES('','".$sec($fn)."','".$sec($ln)."','".$sec($age)."','".$sec($birthday)."')";
if($query_run = mysql_query($query))
{
header('Location: formSuccess.php');
}
else
{
echo 'Unable to register at this time';
}
}
else
{
echo 'Please make sure that all the fields are filled';
}
}
?>
<form action = "form.php" method = "POST">
Firstname: <br> <input type = "text" name = "firstname" maxlength = "40" value = "<?php echo $fn;?>" > <br><br>
Lastname: <br> <input type = "text" name = "lastname" maxlength = "40"> <br><br>
Age: <br> <input type = "text" name = "age" maxlength = "3"> <br><br>
Birthday: <br><input type = "text" name = "birthday" maxlength = "13"> <br><br>
<input type = "submit" value = "Submit">
</form>
</body>
</html>
[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오. (http://bit.ly/phpmsql). 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https://wiki.php.net/rfc/mysql_deprecation). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). –
PHP가 제대로 설치되지 않은 것처럼 들리는'전체 PHP 태그가 입력 상자에 나타납니다'. –