5
は、より優雅にPHPのセッションを期限切れ処理するための試みで、私は私のPHPコードに次のように挿入されていますJavascript警告ポップアップがPHPセッションを拡張しますか?
$sessionLifeTimeInSeconds = ini_get ("session.gc_maxlifetime");
echo '<script type="text/javascript">' . "\n" .
' setTimeout (function() {' . "\n" .
' alert ("Your login session will expire in 3 minutes.");' .
"\n" .
' }, ' . ($sessionLifeTimeInSeconds - 180) * 1000 . ');' . "\n" .
'</script>' . "\n\n";
働きます。しかし、今や私は、javascriptアラートの 'OK'ボタンをクリックした後、それ以上のアクティビティがないことに気づき、タイムアウト(この場合はデフォルトの24分)に達したときにセッションは期限切れになりません。
警告ポップアップボックスでセッションを延長する必要がありますか?もしそうなら、これは避けることができますか?
私は、Ubuntu LinuxでFirefox 44.0を使用しています(これはまったく関係ありません)。
ポップアップがどのような方法でPHPのセッション期間を延長するべきではありません、しかし、多分それはあなたが私達に提供するべきであるより多くのコードです。 –
いいえ、ありません。これはPHPコードの唯一の変更です。このシンプルなJavascriptスニペットを挿入する前に、セッションは24分後に期限切れになりました(PHPのデフォルト)。コードに対する他の変更は行われておらず、他の対話やクライアント/サーバー要求も行われていません。したがって、私はこれが起こるべきではないと思ったので、疑問です。 –
アラートポップアップはクライアント側です。サーバーへの要求はありません。したがって、PHPセッションは拡張されません。あなたはそれを達成するためにサイトをリロードする必要があります。 – Fuzzyma