簡単なフォーム検証スクリプトを書いていますが、Google Chrome 経由でスクリプトを実行すると、php タグ全体が入力ボックスに表示されるという問題が発生しました。この場合、「firstname」のコード<?php echo $fn; ?>
は入力ボックスに表示されます。PHP 変数 $fn、$ln を null に設定しようとしましたが、問題が解決しないようです。助言がありますか?
これが私のコードです:
<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>