2012-04-09 27 views
0

基本上我有一个注册表单,当我点击提交按钮时,检查电子邮件是否有效。但是如果有一个错误记录,我会做“header(”location:“。$ _SERVER ['HTTP_REFERER']);”转到上一页。 发生这种情况时,您需要将其再次写入表单中,我如何才能填充数据?返回到前一页的表单complet

回答

1

您将需要预先输入的值暂时存储在会话:

$_SESSION['prevPost'] = $_POST; 

然后你可以用它们来重新填充表单时,原来的页面加载:

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

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

0

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

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

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

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