【发布时间】:2025-12-25 04:00:17
【问题描述】:
我正在使用一个页面将 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 session ini,当我用safari、ff、ie7+8测试时可以工作。我什至转储了客户的$_SERVER vars,希望他们使用IE5 或一些奇怪的东西,没有运气。到底是怎么回事?
【问题讨论】:
-
你想传输所有 POST VARS ,对吧?
-
两个页面加载之间是否有任何重要的时间间隔?
-
如果cookies被禁用,而你使用cookies传输session id,则为空,你可以在url中传输session id,和\或查看用户cookie状态。跨度>
-
您是否检查过会话 cookie 是否随每个请求一起传输,并且是否使用了相同的 cookie?如果会话 ID 每次都更改,则说明某些东西正在杀死您的 cookie,并且每次都会创建一个新的(空白)会话。