我想我错过了一些明显的东西。我在页面顶部开始了一个会话。下面我有以下代码。当从请求的页面显示时,var dump out会放置"one"
。刷新var dump out后放NULL
。为什么这没有得救?
if($_REQUEST["page"] == 1) {
$_SESSION["one"] = true;
}
var_dump($_SESSION["one"]);
答案 0 :(得分:0)
首先,您需要确保在尝试使用它之前启动会话。其次,建议您指定POST或GET,而不是通常使用REQUEST。如果你想支持GET或POST,你可能会这样做:
// Begin Session Management
session_start();
// Check both GET and POST for the parameter
if($_GET['page'] == 1 || $_POST['page'] ) {
// Modify the session
$_SESSION["one"] = true;
}
// See what we ended up with in the session.
var_dump($_SESSION["one"]);
这对我有用,但我使用memcache作为会话会话处理程序。在php.ini中验证您自己的会话处理程序,并确保会话处理程序正常工作。此外,如果要重定向,设置新位置或以不寻常的方式退出,请确保正确关闭会话。
答案 1 :(得分:0)
如果您的页面顶部有session_start()
,那么您的代码应如下所示:
session_start();
if($_REQUEST["page"] == 1) {
$_SESSION["one"] = true;
}
var_dump($_SESSION["one"]);
这应该100%有效,毫无疑问。还有一些东西会阻止你在代码中使用你没有提供的代码。我的第一个猜测是某种会话毁灭。