使用表单complet返回上一页

时间:2012-04-09 14:38:26

标签: php forms

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

但是,如果有错误记录,我会执行“header(”location:“。$ _SERVER ['HTTP_REFERER']);”转到上一页。 当发生这种情况时,您需要在表单中再次编写所有内容,如何填写数据?

3 个答案:

答案 0 :(得分:1)

您需要在会话中暂时存储以前输入的值:

$_SESSION['prevPost'] = $_POST;

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

<?php
    $prevPost = $_SESSION['prevPost'];
?>
<input type="text" name="email" value="<?php echo $prevPost['email']; ?>"/>

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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

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