【发布时间】:2011-05-07 05:14:08
【问题描述】:
我在将变量从第 2 页转移到第 1 页时遇到问题。我有一个多部分表单,如果您决定返回到第 1 页,我们的想法是能够将您的输入保存在会话变量中1(这是包含字段的页面。
页面 1 对页面 2 有一个 POST 操作。然后,在页面 2 中,$_SESSION 变量是从 POST 变量中设置的。请记住,POST 变量设置正确,因为我在第 2 页的后面部分成功地调用了它们。
我的问题是:我无法将 $_SESSION 变量设置为第 2 页上的 $_POST 变量的值,并且将其带到第 1 页。我可以设置并输出来自第 2 页上的 POST 变量的 $_SESSION 变量(它只是不会返回到第 1 页)。但是,我可以将 $_SESSION var 设置为字符串,并将其转移到第 1 页。通常,这将证明 POST var 不好,但它们正确地携带了正确的值。
我想做什么: 将第 2 页的 $_POST var 的值放入 $_SESSION var,然后返回到第 1 页。
我的问题: 会话变量不会从第 2 页返回到第 1 页。它们可以携带字符串,但不能携带 POST 变量。 POST变量不是问题,如上所述,所以请不要尝试通过检查POST var有效性等来解决问题。它们输出完美。
我可以在第 2 页上进行会话转储,并且我需要的所有会话变量都已正确填充。
如果我在那之后返回第 1 页,则相关会话变量将设置为 NULL。请记住,我在该特定页面上还有许多其他会话变量。这不是 session_start(); 问题。
zinger - 我可以将会话变量从第 1 页带到第 2 页,没问题。
Page 1 Pastebin
Page 2 Pastebin
【问题讨论】:
-
返回时是否强制重新加载第 1 页?如果它是缓存页面,您只会看到会话更新之前的旧页面,其中可能未设置这些变量。
-
这不是缓存问题,无论是服务器端还是浏览器端。我可以完全清除缓存,页面和会话转储是相同的。
-
你有一个寄存器全局设置为真吗?
-
转到 PHP ini 并搜索“GLOBAL”,看看是否有任何设置为 true|1|On
-
请不要转储你的整个文件(这里也不使用第三方服务)。最好将其压缩到问题的本质或创建一个抽象示例。
标签: php