我有这样的代码如何让一个计数器在多个请求中工作?
if (empty($sid)) {
$sid = 0;
} else {
$sid++;
}
$_SESSION['words'][$sid] = $try;
$ SID脚本无处设置。
当我加载该页面$ sid的值保持在0.它应该增加。 我真的很感谢一些帮助。
我有这样的代码如何让一个计数器在多个请求中工作?
if (empty($sid)) {
$sid = 0;
} else {
$sid++;
}
$_SESSION['words'][$sid] = $try;
$ SID脚本无处设置。
当我加载该页面$ sid的值保持在0.它应该增加。 我真的很感谢一些帮助。
局部变量不像会话或cookie,它们在页面重新加载时(每次往返)都会重置。
使用会话或cookie来存储$sid
值。
您需要保存在会话cookie的或的sid
值,那么你可以检查这样的:
尝试使用isset
$sid = $_SESSION['sid']; OR
$sid = $_COOKIE['sid'];
if (isset($sid)) {
$sid = 0;
} else {
$sid++;
}
$_SESSION['sid'] = $sid;
$_SESSION['words'][$sid] = $try;
希望它会帮助你。
您必须将sid值保存在cookie或会话中,并使用该值来检查.. :) –
当页面加载时它会进入如果条件接收。因为它获得$ sid变量blank.So在页面顶部声明变量并检查它 – Hkachhia
以下是文档的说明:“如果var存在并且具有非空非零值,则空将返回FALSE,否则返回TRUE。”在你的情况下,因为$ sid不存在,所以'empty($ sid)'将总是返回TRUE并执行你的'if'条件的第一部分,即'$ sid = 0;' –