2014-12-07 78 views
0

在重定向前坚持$ _POST数据的最佳方式是什么?

想象一下这样的情况:网页A具有数据形式,然后我们在提交按钮点击这里给我$ _ POST请求到同一页A.

如果有错误显示,这将是有趣的,在数据表单中再次加载数据,防止用户将所有文本写两次

+1

不知道我是否理解。那么你应该有每个数据字段这样的:if(isset($ _ POST ['some_field_id']))echo $ _POST ['some_field_id'];其他回声''; – 2014-12-07 14:59:06

+0

你问题的哪个部分涉及重定向? – 2014-12-07 15:05:58

+0

如果我有一个无效值的数据字段,我需要重新加载这个数据字段。但是这个数据字段出现在最后一节。例如:页面A(有数据字段)---重定向302 --->页面B(需要重新加载数据字段) – geraldo 2014-12-07 15:06:15

回答

1

也许有点晚,但这里有一个方法。 (对于同一个问题的人)

比方说你有一个页面,“form.php的” 如果您发布的形式向网页本身:

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 
    // action of the form will be "/path/on_your/webserver/to/form.php" 
    // so it will POST to itself 
    <input name="field_1" type="text" placeholder="Enter Text"> 
    <input name="submit" type="submit" value="Submit"> 
</form> 

现在,如果你点击提交,将处理你的文件中有任何PHP代码。 如果你想在<input name="field_1">输入的文字会到那里后POST请求你给<input>字段的值属性,让PHP呼应公布值是这样的:

<input name="field_1" type="text" placeholder="Enter Text" 
value="<?php if isset($_POST) {echo $_POST['field_1'];}?>"> 

现在你把文字在后输入字段并单击提交,文本将在该字段中。

您可能已经拥有此解决方案或其他解决方案。请注意,如果您使用此解决方案,$_SERVER['PHP_SELF']如果易受网址注入攻击。在需要的地方照顾并清理变量。