我的代码有问题。当我单击“提交”时,错误检查工作正常,但以前的值消失。我的代码有什么问题?谢谢
<?php
$FnameErr = $LnameErr = $GenderErr = $TimeErr = $EduErr = $ApatErr = $QuoteErr = "";
if($_SERVER["REQUEST_METHOD"] == "POST")
{
if(empty($_POST["Fname"]))
{
$FnameErr = "Enter First Name";
}
else
{
$Fname = $_POST["Fname"];
}
if(empty($_POST["Lname"]))
{
$LnameErr = "Enter Last Name";
}
else
{
$Lname = $_POST["Lname"];
}
if(empty($_POST["gender"]))
{
$GenderErr = "Enter Gender";
}
else
{
$gender = $_POST["gender"];
}
if(empty($_POST["living"]))
{
$ApatErr = "Enter living";
}
else
{
$living = $_POST["living"];
}
if(empty($_POST["quote"]))
{
$QuoteErr = "Enter Quote";
}
else
{
$quote = $_POST["quote"];
}
if(empty($_POST["education"]))
{
$EduErr = "Enter Education";
}
else
{
$education = $_POST["education"];
}
if(empty($_POST["TofD"]))
{
$TimeErr = "Enter Time";
}
else
{
$TofD = $_POST["TofD"];
}
if(isset($Fname) && isset($Lname) && isset($gender) && isset($living) && isset($quote) && isset($TofD))
{
echo "Hello, " . $Fname . " " . $Lname . ".<br />";
echo "You are " . $gender . ", and you live in ";
foreach($living as $f)
{
echo $f . "<br />";
}
echo "You're favorite time is " . $TofD . ", and you passed " . $education . "!<br />";
echo "<i>" . $quote . "</i><br />";
}
}
?>
答案 0 :(得分:1)
没有简单的方法可以做到这一点;你只需要在表单中添加值。
<input type=text name=FName value="<?php echo $FName; ?>">
为每个单独的表单输入执行类似的操作
答案 1 :(得分:1)
有两种快速的方法:
您需要创建一个JavaScript函数,在将表单提交到PHPscript之前检查每个字段的内容,如果没有内容,则在页面上显示一些消息。
您必须将所有值添加到会话中,然后在重新加载表单时(如果其中一个字段中没有数据),请将会话中的值添加到表单中。如果没有错误和表单验证,则必须清除会话以删除值,因此下次加载表单时,不会添加任何值。