0

私はこのコードを持っています

                if (empty($sid)) {
                    $sid = 0;
                } else {
                    $sid++;
                }

                $_SESSION['words'][$sid] = $try;

$ sidは、スクリプトの他のどこにも設定されていません。

そのページをロードすると、$sidの値は0のままになります。増加するはずです。助けていただければ幸いです。

4

3 に答える 3

2

ローカル変数はリクエスト間で保持されません。$sidセッションに保存することもできます。

            $sid = $_SESSION['sid'];
            if (empty($sid)) {
                $sid = 0;
            } else {
                $sid++;
            }
            $_SESSION['sid'] = $sid;
            $_SESSION['words'][$sid] = $try;
于 2012-12-26T12:29:06.230 に答える
0

ローカル変数はセッションやCookieとは異なり、ページがリロードされるとリセットされます(各ラウンドトリップ)。

代わりにセッションまたはCookieを使用して$sid値を保存してください。

于 2012-12-26T12:26:00.160 に答える
0

セッションまたはCookieの値を保存する必要がありますsid。その後、次のように確認できます。

使用してみてくださいisset

 $sid = $_SESSION['sid']; OR 
 $sid = $_COOKIE['sid'];

 if (isset($sid)) {
        $sid = 0;
 } else {
        $sid++;
 }

 $_SESSION['sid'] = $sid;
 $_SESSION['words'][$sid] = $try;

お役に立てば幸いです。

于 2012-12-26T12:29:36.327 に答える