如果提交失败,如何维护值PHP

时间:2011-08-02 11:07:45

标签: php

我有一个使用PHP服务器端脚本验证的表单。表格的行动也是对自己的。为了显示多个错误,我将它存储在一个数组中,并使用foreach循环遍历值并回显它以进行显示。我以为我已经完成了PHP验证,但我注意到每次提交表单时,即使它仍然包含一些错误,所有输入的值都会重置。为什么?当我使用javascript时,PHP的值仍然如此?

这是我设置错误并将数据插入db的方法。

if(isset($_POST["submit"]))
{
$lname = $_POST["lname"];

$errors = array();

if(strlen($lname) == 0)
{
$errors[] = "Last name is required";
}

if (!empty(errors))
{
//display errors using foreach loop
}
else
{
//connect and insert data to mysql db
}

}
?>

2 个答案:

答案 0 :(得分:1)

在表单的输入元素代码中使用它就像这样

<input type="text" name="username" value="<?php if(isset($_POST['username']) echo $_POST['username'];?>">

使用isset检查值是否存在而不是回显它

答案 1 :(得分:1)

您可能在不设置默认值的情况下编写HTML表单。

<input type="text" name="firstname" />

如果出现错误,您应该设置默认值。这是一个例子。在输出之前不要忘记清理POST变量。

<input type="text" name="firstname" value="<?php echo $_POST['firstname']; ?>" />