我有一个接受相当大的POST数组的PHP网页。我在页面上有一个按钮,打开一个PHP弹出窗口。有没有一种方便的方法将整个$ _POST数组传递给弹出窗口?
编辑: 这是一个完全不同的页面。我用JavaScript打开它:window.open
答案 0 :(得分:0)
最方便的方法是使用session variables。如果你的POST数据非常大,你可能会遇到一些性能问题,所以要小心。
发布接收页面:
session_start();
//...
$_SESSION['post_for_popup'] = $_POST;
弹出窗口:
session_start();
//...
do_something($_SESSION['post_for_popup']);
答案 1 :(得分:0)
尝试
var_export($_POST,1);
答案 2 :(得分:0)
好吧,你可以使用$_SESSION
变量。我假设弹出窗口是一个完全独立的页面,因此没有其他可行的方法来传输变量而不进行回发。所以你可以这样做:
index.php:
session_start();
$_SESSION['post'] = $_POST;
popup.php:
session_start();
$_POST = $_SESSION['post'];
希望有所帮助。
答案 3 :(得分:0)
你可以做两件事之一。
首先,您可以将其分配给会话变量,并从弹出窗口加载该会话变量。
或者你可以做一个快速的脚本来迭代$ _POST数组并将它们作为请求变量添加到url上。这可能不适合你,因为你的$ _POST很大。
您可以使用header()命令执行第二个选项并将其作为post vars添加到标题中,但我不确定添加的值是什么。
如果我这样做,我会把它放进会话中。即使是巨大的post var也不会占用那么多会话内存。