在PHP中POST并将用户重定向到该页面?

时间:2011-04-05 01:19:02

标签: php post redirect http-post

我有点困惑。如何将数据发布到URL,然后将用户的浏览器重定向到该位置 - 所有操作都在一个操作中?

我看到了

header('Location: page.php?' . http_build_query($_POST)); 

但是那是GET,而不是POST和ppl认为那是非常糟糕的做法 - PHP open another webpage with POST data(为什么?)

我的kludgy工作流程涉及设置表单,然后通过javascript提交 - 任何事情都必须比那更好......

我想我可以做一组header()stmts但是这个动作是在页面被生成后以用户的方式发生的,所以我不认为这会起作用

2 个答案:

答案 0 :(得分:2)

无法重定向POST请求。就如此容易。任何重定向都将变为GET请求。

如果您想接收POST数据,然后将该数据发送到另一个页面,您有两个选择:

  • 如果两个页面都在同一台服务器上,请使用会话保存数据服务器端,不要让客户端携带它
  • 如果目的地位于另一台服务器上,并且您需要将客户端与数据一起发送,请设置另一个中间表格,就像您一样

答案 1 :(得分:0)

在离开页面之前使用AJAX保存数据。使用您获得的答案在当前页面内向右侧激发重定向。不要害怕Javascript和ajax。试试这个轻量级AJAX库:http://www.openjs.com/scripts/jx/