我试图让每个页面加载时会话变量在0和1之间变化。PHP会话变量 - 页面加载时更改
所以第一次加载页面
$_SESSION['turn'] = 0;
第二次
$_SESSION['turn'] = 1;
第三次
`$_SESSION['turn'] = 0;`
等。
然后我可以稍后在页面中调用该变量。
我无法解决如何做到这一点。我已经尝试了一个简单的IF函数,但无法让它工作。
我试图让每个页面加载时会话变量在0和1之间变化。PHP会话变量 - 页面加载时更改
所以第一次加载页面
$_SESSION['turn'] = 0;
第二次
$_SESSION['turn'] = 1;
第三次
`$_SESSION['turn'] = 0;`
等。
然后我可以稍后在页面中调用该变量。
我无法解决如何做到这一点。我已经尝试了一个简单的IF函数,但无法让它工作。
试试这个页面加载的地方。
$_SESSION['turn']=1-$_SESSION['turn'];
代码:
<?php
session_start();
echo $_SESSION['turn'];
$_SESSION['turn']=1-$_SESSION['turn'];
?>
编辑:RiggsFolly isset()函数是正确的。我错过了它,它会给日志中的错误。并且第一个值不是0
首先会话必须在希望使用会话数组的任何页面上启动。 session_start()
接下来你要记住,最初您正在使用的会话变量将不存在你第一次尝试使用它
所以
<?php
session_start();
if (!isset($_SESSION['turn'])) {
// does not exist yet, so create with 0
// you may want to initialize it to 1, thats up to you
$_SESSION['turn'] = 0;
} else {
$_SESSION['turn'] = $_SESSION['turn'] == 0 ? 1 : 0;
}
完美!谢谢! – doorad
这将错误时运行的第一次作为'turn'键的访客将不存在。 –