使用SESSION传输POST变量

时间:2011-02-14 23:09:48

标签: php session post

我正在使用一个页面将POST变量传输到下一页,有时它完全是空的。我自己无法重现它,但看到客户遇到了这个问题。

第1页:

session_start();
$_SESSION['postvars'] = $_POST;
error_log("client was trying to save post: " . json_encode($_POST));

第2页:

session_start();
error_log(json_encode($_SESSION));

没有任何花哨的东西,一切都是默认的PHP会话ini,当我使用safariffie7+8进行测试时有效。我甚至抛弃了客户端的$_SERVER vars,希望他们使用IE5或者奇怪的东西,没有运气。到底是怎么回事?

2 个答案:

答案 0 :(得分:0)

检查您是否在不需要

时设置了enctype

或者检查帖子的内容类型(如有必要,可以在接收页面上强制它)

还可以在调试中尝试此操作,以查看通过

发送的内容
$contents = file_get_contents('php://input');

答案 1 :(得分:0)

抱歉,这就是问题所在。在session_start()

的一条评论中

关于使用标题位置重定向后会话丢失的问题...

试试这个:

标题(“位置:xpage.php”); 出口(); //这句话真的很神奇 ?>

所以我正在进行标题重定向,而SESSION正在下降。我已经通过在两个页面上获取session_id()并使它们有时不同来证实了这一点。我仍然无法在我试过的任何浏览器上重现这一点。