可以在PHP重定向中发布数据吗?
现在我有一个页面(page2.php),它在顶部做一些验证检查,如果有什么失败,它会返回到page1.php。问题是page1.php是由post加载的,这意味着它是表单的最终结果。这意味着我最初在page1.php上拥有的所有post数据都丢失了 这是我的代码:可以在PHP重定向中发布数据吗?,php,Php,现在我有一个页面(page2.php),它在顶部做一些验证检查,如果有什么失败,它会返回到page1.php。问题是page1.php是由post加载的,这意味着它是表单的最终结果。这意味着我最初在page1.php上拥有的所有post数据都丢失了 这是我的代码: if ($validation_fails) { header('Location:page1.php'); } 您可以在page1.php顶部将数据发回或重新构造以进行验证,如果验证没有失败,请转到page2.php。如果
if ($validation_fails)
{
header('Location:page1.php');
}
您可以在
page1.php
顶部将数据发回或重新构造以进行验证,如果验证没有失败,请转到page2.php
。如果您正在执行某种多步骤表单,则可以在会话中保存所有数据,并在会话中有匹配数据时填充字段。但是,不确定这是否适用。您不能通过包含或要求包含验证脚本,而不是重定向到它吗?您可以重新构造逻辑。验证应该在page1.php上进行,如果验证失败,则不会发生重定向。如果成功,您将被重定向
如果您担心安全问题(人们只需进入第2页),您可以设置一个会话变量,该变量在第2页检查,在第1页设置。在第2页。php如果验证失败,您可以将帖子内容存储到$\u会话变量中
在page1.php中,您只需将存储在会话中的数据的正确转义/编码版本作为表单的一部分。您还可以使用它来更新表单,以便用户清楚地知道哪些部分未通过验证 您可以从$\u POST中提取数据,然后将其作为自己的POST传递到下一页。