我有一个PHP页面,其中包含我的用户可以查看的内容。当此页面收到来自某个外部URL的POST请求时,我想将用户重定向到另一个页面。
我遇到的问题是:
如何以有效的方式监控页面的发送请求?
我怎么能实际重定向它们,因为header()不起作用。
感谢。
答案 0 :(得分:2)
对于第二个问题,如果在向页面输出任何信息之前使用header(),它将起作用。但是,如果您回显,打印或在其之前使用HTML,则会出错。
编辑:在回应Toad的评论时,你必须按照Aaron Harun的建议去做。让页面将$ _POST数据保存到数据库或文件中(确保清理它!),就像使用任何$ _POST数据一样。然后,您需要使用AJAX从第二个PHP页面获取响应,该页面只是检查是否存在来自保存它的更新数据。如果响应返回true,则使用JavaScript重定向重定向。
在不使用AJAX的情况下执行此操作的唯一方法是使用HTML元刷新元素以定时间隔刷新页面,以检查是否已收到$ _POST数据。 HTML将执行刷新,PHP将执行检查,您可以使用其中一个进行重定向。
答案 1 :(得分:1)
您可以使用AJAX脚本间歇性地“ping”服务器以查看是否有任何更改。如果有,请使用JavaScript重定向用户。
这几乎是唯一的方法。
答案 2 :(得分:1)
我们可以将此代码段用于检查帖子请求
if($_POST['flag']==1) {
header("location:newpage.php");
exit();
}
但是如果你想在没有用户交互的情况下定期检查请求,那么你将不得不使用AJAX