0

基本上我有一个注册表单,当我点击提交按钮时,检查电子邮件是否有效。

但是,如果有错误记录,我会执行 "header (" location: ". $ _SERVER ['HTTP_REFERER']);" 转到上一页。发生这种情况时,您需要在表单中重新写入,我该如何填写数据?

4

3 回答 3

1

您需要将先前输入的值临时存储在会话中:

$_SESSION['prevPost'] = $_POST;

然后,您可以在加载原始页面时使用它们重新填充表单:

<?php
    $prevPost = $_SESSION['prevPost'];
?>
<input type="text" name="email" value="<?php echo $prevPost['email']; ?>"/>
于 2012-04-09T14:44:38.913 回答
0

如果您提交到显示表单的同一页面,则不需要进行重定向。然后,您value使用从帖子传入的数据设置表单元素并重新显示表单。您的数据需要正确转义以防止跨站点脚本攻击等。

于 2012-04-09T14:45:16.630 回答
0

当您绘制表单时,您只需要检查值是否存在。

$name = '';
if(!empty($_POST['name']){
    $name =  $_POST['name'];
}

<input type="text" name="name" value="<?php echo $name?>" />

注意:当适用于遏制 xss 攻击时,您应该对这些值进行 urlencode。

于 2012-04-09T14:50:47.957 回答