PHP で、セッションが存在する限り存続する Cookie を作成するにはどうすればよいですか?
シナリオ: Web サイトは複数のページで構成されており、実行される PHP スクリプトもlogin
ありview cart
ます。一部は Apache によってキャッシュから読み込まれた静的な html ファイルであり、これらのページでは PHP は呼び出されません。
セッション ID は、PHP を実行するすべてのページで生成および維持されます。セッションは、ユーザーが実際にログインしているかどうかに関係なく存在します。セッションには、ユーザーがログインしているかどうかが格納されます。ブラウザには sessionID Cookie しかありません。
キャッシュされたページには、ユーザーがログインしているかどうかに応じて、log in
またはボタンが表示されます。log out
PHP はキャッシュされたページでは呼び出されないため、ここではセッション値を読み取ることができません。IsLoggedIn Cookie をチェックするには、小さな JavaScript 関数を使用する必要があります。
問題: ユーザーがログインすると、PHP は JavaScript が読み取る Cookie を設定できます。良い。ユーザーがログアウト ボタンで明示的にログアウトすると、Cookie の有効期限が切れる可能性があります。良い。
しかし、ユーザーがコンピューターを離れた場合、セッションは PHP を使用したページとの最後の対話から x 秒で期限切れになりますが、Cookie は作成されてから y 秒で期限切れになります。これにより、一方が他方よりも先にタイムアウトする可能性があります。
常に一緒に期限切れになるように、2 つを同期する方法はありますか?