PHPセッションで奇妙な問題に遭遇し、気が狂いそうになりました。ここに私がやっていることの要点があります
$tout = time();
session_start();
$_SESSION['dna'] = md5($_SERVER['HTTP_USER_AGENT']);
if (1 == $user->demo)
$_SESSION['demo'] = $user->demo;
$_SESSION['tout'] = $tout;
これは問題なく動作するようです。ただし、このバリアント
$tout = time();
session_start();
$_SESSION['dna'] = md5($_SERVER['HTTP_USER_AGENT']);
if (1 == $user->demo)
{
$_SESSION['demo'] = $user->demo;
$tout += 900;
} else
$tout += 7200;
$_SESSION['tout'] = $tout;
$_SESSION 配列全体を破棄します。
簡単に言えば、私がやろうとしているのは、サーバーとの後続の各対話でユーザーセッションがいつ述べられたかを追跡し、セッションをタイムアウトとしてマークする必要があるかどうかを確立し、それに応じてユーザーに通知することです。タイムアウトは、デモ モードでは 900 秒、それ以外の場合は 7200 秒にする必要があります。
おそらく、私の 32 ビット ローカル WAMP サーバーの整数演算に問題があると思いますが、演算を実行して結果をエコーする単純なテスト スクリプトが機能するのではないかと思います。これは、結果をセッション配列に格納する際の何らかの問題を示しています。
これは私を曲がりくねらせており、ここには見えていない明らかな何かがあると確信しています. どんな助けでも大歓迎です。