我正在尝试让每个页面加载时会话变量在0和1之间交替。
首次加载页面
$_SESSION['turn'] = 0;
第二次
$_SESSION['turn'] = 1;
第三次
`$_SESSION['turn'] = 0;`
等等。
然后我可以在页面的后面调用该变量。
我无法弄清楚如何做到这一点。我尝试过一个简单的IF函数但无法使其工作。
答案 0 :(得分:2)
首先,必须在希望使用会话数组的任何页面上启动会话。 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;
}
答案 1 :(得分:1)
在加载页面的地方尝试此操作。
$_SESSION['turn']=1-$_SESSION['turn'];
代码:
<?php
session_start();
echo $_SESSION['turn'];
$_SESSION['turn']=1-$_SESSION['turn'];
?>
编辑:RiggsFolly!isset()是正确的。我错过了它会在日志中出错。并且第一个值不是0