PHPでCookieとセッションが互いに依存していますか?
それらのいずれかを削除またはクリアすると、もう一方に影響しますか?
ブラウザでそれらのいずれかを無効にすると、もう一方に影響しますか?
PS私は初心者です。
編集:質問を書いている時点では初心者でした。この質問は、多くの初心者が直面しています。
PHPでCookieとセッションが互いに依存していますか?
それらのいずれかを削除またはクリアすると、もう一方に影響しますか?
ブラウザでそれらのいずれかを無効にすると、もう一方に影響しますか?
PS私は初心者です。
編集:質問を書いている時点では初心者でした。この質問は、多くの初心者が直面しています。
セッションはサーバーに保存され、Cookie はクライアントに保存されます。ブラウザからのみ Cookie を無効にすることができます。Cookie はセッションにまったく影響を与えません。無効化された Cookie の場合、セッション ID は URL 経由で渡されます。Cookie が有効になっていて、Cookie を削除することでセッション ID が Cookie に保存されている場合、セッションにアクセスできなくなります (セッションはサーバー上にありますが、アクセスできません)。
また、セッションは Cookie に影響を与えることはできません。
彼らは完全に独立しています...
つまり、Cookie よりもセッションをより適切に制御できます
(1) たとえば、Cookie 名demo
を設定し、スプラッシュ スクリーンを使用している場合、デモが設定されていない限り、設定されるまでスプラッシュ スクリーンが表示されます。
if(!isset($_COOKIE['demo'])) { //Now this will show lightbox always if user has disabled his cookies
<script>...</script>
}
記事
http://www.klovera.com/php-sessions-vs-cookies/
参照
それらは接続されていませんが、デフォルトでは、PHP はセッション ID を Cookie 内に保存します。ディレクティブsession.use_cookiesはデフォルトで 1 に設定されています
Cookie が無効になっている場合は、URL を使用します。これは、 session_use_trans_idで設定できます。(デフォルトは無効)
ただし、クライアントでセッション Cookie を削除すると、サーバーへの次のリクエストで関連するセッションを見つけることができなくなります。
Cookie はクライアントからサーバーへの HTTP 要求に添付されるため、セッションをクリアしても Cookie には影響しません。Cookie は、x 時間後に期限切れになるように設定できます。その後、クライアント側で削除されます。
すべての答えは正しいです。これを追加したかっただけです - Cookie のタイムスタンプを設定しない場合、Cookie はセッションに依存し、セッションが終了するとすぐに期限切れになります。