这是我的代码 http://pastebin.com/DtK8MMtU 当用户按下“下一步”按钮时,$ _POST [“turnOver”]即被设置。然后脚本进入本节
if (isset($_POST["turnOver"])) {
$_SESSION["state"] = 0;
unset($_SESSION["rolls"] );
unset($_SESSION["bet"]);
unset($_SESSION["nextTurn"]);
$_SESSION["turnNumber"]++;
unset($_POST["turnOver"]);
}
通过这一行unset($_POST["turnOver"]);
我希望这个块只在用户按下“下一步”按钮后执行一次,但每次用户刷新页面时执行此操作(我通过$ _SESSION [“turnNumber”]值看到它,我一直在增加刷新页面)。另外,这是来自xdebug的$ _POST var_dump:
array (size=1)
'turnOver' => string ''... (length=9)
这意味着它被设置了吗?
答案 0 :(得分:2)
如果用户刷新页面,他们每次都会发送turnOver
POST值。取消设置帖子只会影响该页面的其余部分。
要做的最好的事情是设置会话值并设置第一次turnOver
发送,然后检查。
答案 1 :(得分:2)
你说
我通过$ _SESSION [“turnNumber”]值看到了这个值,它一直在增加我刷新页面
执行
后,这是一个正常的游戏$_SESSION["turnNumber"]++;
每次刷新时都会加1。更多行前
unset($_POST["turnOver"]);
您的$_POST["turnOver"]
实际设置为如此,如果您在unset()命令之前尝试var_dump,您将看到它设置为。