Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在PHP重定向中发布数据吗?_Php - Fatal编程技术网

可以在PHP重定向中发布数据吗?

可以在PHP重定向中发布数据吗?,php,Php,现在我有一个页面(page2.php),它在顶部做一些验证检查,如果有什么失败,它会返回到page1.php。问题是page1.php是由post加载的,这意味着它是表单的最终结果。这意味着我最初在page1.php上拥有的所有post数据都丢失了 这是我的代码: if ($validation_fails) { header('Location:page1.php'); } 您可以在page1.php顶部将数据发回或重新构造以进行验证,如果验证没有失败,请转到page2.php。如果

现在我有一个页面(page2.php),它在顶部做一些验证检查,如果有什么失败,它会返回到page1.php。问题是page1.php是由post加载的,这意味着它是表单的最终结果。这意味着我最初在page1.php上拥有的所有post数据都丢失了

这是我的代码:

if ($validation_fails)
{
    header('Location:page1.php');
}

您可以在
page1.php
顶部将数据发回或重新构造以进行验证,如果验证没有失败,请转到
page2.php
。如果您正在执行某种多步骤表单,则可以在会话中保存所有数据,并在会话中有匹配数据时填充字段。但是,不确定这是否适用。

您不能通过
包含
要求
包含验证脚本,而不是重定向到它吗?

您可以重新构造逻辑。验证应该在page1.php上进行,如果验证失败,则不会发生重定向。如果成功,您将被重定向


如果您担心安全问题(人们只需进入第2页),您可以设置一个会话变量,该变量在第2页检查,在第1页设置。

在第2页。php如果验证失败,您可以将帖子内容存储到$\u会话变量中


在page1.php中,您只需将存储在会话中的数据的正确转义/编码版本作为表单的一部分。您还可以使用它来更新表单,以便用户清楚地知道哪些部分未通过验证

您可以从$\u POST中提取数据,然后将其作为自己的POST传递到下一页。