提问人:Andrew G. Johnson 提问时间:1/21/2009 更新时间:11/9/2011 访问量:9392
可以在PHP重定向中发布数据吗?
Possible to post data in a PHP redirect?
问:
好吧,现在我有一个页面(page2.php),在顶部它会进行一些验证检查,如果出现故障,它会反弹回page1.php。问题是page1.php是由帖子加载的,这意味着它是表单的最终结果。这意味着我最初在page1.php上的所有帖子数据都丢失了。
所以这是我的代码:
if ($validation_fails)
{
header('Location:page1.php');
}
答:
5赞
Paolo Bergantino
1/21/2009
#1
您可以使用 cURL
回传数据或重新构建数据以在顶部进行验证,如果没有失败,请转到 .如果您正在执行某种多步骤表单,则可以将所有数据保存在会话中,并在会话中有匹配的数据时填充字段。不过,不确定这是否适用。page1.php
page2.php
2赞
Gumbo
1/21/2009
#2
您不能通过或代替重定向到它来包含验证脚本吗?include
require
3赞
Ólafur Waage
1/21/2009
#3
您可以重新构建逻辑。验证应在 page1 .php 上进行,如果失败,则不会发生重定向。如果成功,您将被重定向。
如果您担心安全(人们只是转到第 2 页),您可以设置一个会话变量,该变量在第 2 页选中并在第 1 页设置。
1赞
Zoredache
1/21/2009
#4
在第 2 页上.php如果验证失败,您可以将帖子的内容存储到 $_SESSION 变量中。
在 page1.php 上,您只需将存储在会话中的数据的正确转义/编码版本作为表单的一部分包含在表单中。您还可以使用它来更新表单,以便用户清楚哪个部分未通过验证。
评论