セッションでリロードをカウントするスクリプトを作成しようとすると、いくつかの奇妙なバグが見つかりました。
私のスクリプトは、ユーザーがページをリロードした回数をカウントし、カウントが 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() を使用しようとしましたが、成功せず、理由がわかりません。誰かがエラーなしでこれを行う方法を知っていますか?