Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使计数器在多个请求上工作?_Php_Variables_If Statement_Session Variables - Fatal编程技术网

Php 如何使计数器在多个请求上工作?

Php 如何使计数器在多个请求上工作?,php,variables,if-statement,session-variables,Php,Variables,If Statement,Session Variables,我有这个密码 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
值。

在请求之间不保留局部变量。您也可以在会话中保存
$sid

            $sid = $_SESSION['sid'];
            if (empty($sid)) {
                $sid = 0;
            } else {
                $sid++;
            }
            $_SESSION['sid'] = $sid;
            $_SESSION['words'][$sid] = $try;

您需要在会话或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或会话中,并使用该值检查...)当页面加载时,如果条件允许,它将进入。因为它的get$sid变量为空。所以在页面顶部声明变量并检查文档中的内容:“如果var存在且具有非空、非零值,Empty将返回FALSE。否则返回TRUE。”在您的情况下,因为$sid不存在
Empty($sid)如果执行了
条件,则将始终返回TRUE和
的第一部分,即
$sid=0只要会话存在,这将一直有效。如果您希望此计数器更持久,请将其存储在更持久的位置,如数据库。感谢您提供的解决方案。。我没有想到;):)哦,很抱歉,一定是忘了点击:)我没有投反对票,但这必须是评论而不是答案。这不足以成为答案,而且有很多语法/拼写错误。我的答案是使用会话或cookie。关于语法有什么问题?@Dr.Dan:我已经测试过了,然后发布了。工作正常。是的……还是错了。您没有将该值存储在
$\u会话['sid']