我正在构建(从基本教程)一个注册页面。输入包含如下验证 -
if (isset($_POST['formsubmitted'])) {
$error = array();//Declare An Array to store any error message
if (empty($_POST['name'])) {//if no name has been supplied
$error[] = 'Please Enter a name ';//add to array "error"
} else {
$name = $_POST['name'];//else assign it a variable
}
问题是,在任何不正确的输入之后,表单将在显示错误消息时清除其数据。为了解决这个问题,我在表单输入中实现了以下内容 -
value='<?php echo $_POST['name']; ?>'
这意味着字段在出错时会保留其数据。伟大。问题是,当表单成功提交时,它仍然保留我真的不想要的数据。
有没有一种"简单"的方法,如果表单返回错误 - 数据仍然存在,如果表单成功提交 - 数据清除?
对于每个输入,使用 array,例如:
<input name="customer[name]" type="text" value="<?php echo $customer['value'] || "" ?>"/>
如果没有错误,请重置$customer数组:
<?php if count($errors === 0) {
$customer = NULL;
}
那是如果你不想隐藏表格...