使用PHP监控回发?

时间:2010-06-15 05:58:56

标签: php redirect

我有一个PHP页面,其中包含我的用户可以查看的内容。当此页面收到来自某个外部URL的POST请求时,我想将用户重定向到另一个页面。

我遇到的问题是:

如何以有效的方式监控页面的发送请求?

我怎么能实际重定向它们,因为header()不起作用。

感谢。

3 个答案:

答案 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