私はセッションとCookieに関してインターネット上で多くの調査を行ってきましたが、Cookieが無効になっている場合、セッションに影響を与えないという議論があります。
それでも、Cookieをクリアするたびに、セッション変数もクリアされるようです。また、いくつかのWebサイトで、セッションが実際にCookieでクリアされる必要があることを読みました。
誰かが私にこれを説明してもらえますか?
可能であれば、phpはセッションIDをCookieに保存します。ブラウザがそれを拒否した場合、ブラウザはクエリ文字列とともにセッションIDを伝達します。
Cookieを強制終了し、クエリ文字列の調整が行われなかった場合、phpはあなたが誰であるかを忘れます!
ただし、Cookieの使用はhttp://de2.php.net/manual/en/session.configuration.php#ini.session.use-cookiesで無効にできます。
あなたは間違っています。セッションはCookieに依存しています。ページをリクエストすると、セッションUIDを含むCookieがサーバーに送信されます。そのため、Cookieをクリアすると、セッションが失われます。
必要に応じて、CookieではなくgetでPHPSESSIDを強制的に使用できます。デフォルトのCookieはCookieです。
セッションでは、有効期限が近い(場合によってはマイナスの)Cookieを保存することでCookieを利用します。PHPでは、このCookieはデフォルトで名前の下にありPHPSESSID
ます。session_start
ユーザーと関連するセッション情報をロードして関連付ける/識別するには、実行時にPHPの関数を使用する必要があります。
セッションは特殊なタイプのCookieによるCookieのクリアであるため(Cookieが無効になっている場合でも)、セッションIDが失われ、セッションがリセットされる可能性があります。
これは、PHPセッションの背後にある謎を解明する素晴らしい記事です。
http://justinmccormick.com/wp/programming/php-sessions-explained
セッションが終了したことをクリアすると、PHPはデフォルトでセッションIDをCookie内に保存します。
できることは、session.use_trans_sidを有効にすることです。このようにして、PHPはセッションIDをURLに追加します。(しかし、私はそれをお勧めしません)