1

セッションでリロードをカウントするスクリプトを作成しようとすると、いくつかの奇妙なバグが見つかりました。

私のスクリプトは、ユーザーがページをリロードした回数をカウントし、カウントが 5 回になったら 1 回に戻す必要があります。コードは次のとおりです。

$_SESSION['counter']++ ;    

if ($_SESSION['counter'] >= 5 || $_SESSION['counter'] == 0){
$_SESSION['counter'] = 1;


  }
    echo $_SESSION['counter'];

これは、私が持っているホスティング アカウントではうまく機能しますが、wamp と別の Linux ホスティングには奇妙なバグがあります。2 つのバグは次のとおりです。

  • 各リロードは、カウンターで 1 つだけではなく 2 つ合計されます。たとえば、それは 1 で、リロードすると 3 が表示されます。
  • 5 という数字をエコーすることもありますが、5 以上の場合はカウンターが 1 に戻るという if があるため、これは不可能なはずです。

特定の変数値に引用符を使用して、session_destroy() を使用しようとしましたが、成功せず、理由がわかりません。誰かがエラーなしでこれを行う方法を知っていますか?

4

1 に答える 1

0

RewriteRuleすべてのリクエストをメイン ファイルまたはフロント コントローラーにリダイレクトしている可能性があるものはありますか?

その場合、すべてのブラウザが にリクエストを送信することに注意して/favicon.icoください。共有 Web ホストでは、既定で (ファイルが存在しない場合)、既定の Web ホストにリダイレクトされている場合があります。ただし、ローカル インストールでスクリプトにヒットしている可能性があります。

于 2013-02-13T19:55:04.663 に答える