PHP のセッションはデフォルトでクライアントの Cookie (通常の意味での Cookie と区別するために、セッション Cookie と呼びます。通常の意味での Cookie は Cookie です) を使用してセッション ID を保存できますが、PHP のセッションはセッション Cookie のみが使用されますか?
もちろんそうではありません。そうでない場合、わざわざセッションを作成する必要はありません。セッションの大きな利点の 1 つは、クライアントの Cookie が無効になっていると、セッション ID が自動的に URL に付加されることです。セッション ID を通じて記憶できるようにします
。確認のために以下の2つのファイルを書きます
goto test2.php PHP の功績はブラウザとは全く関係ありません。つまり、一部の人々が考えている IE だけでなく、どのブラウザを使用してもセッションは有効です。
ただし、ハイパーリンクステートメントは echo ステートメントによって出力されます。ハイパーリンクが PHP タグ <> に含まれていない場合はどうなるでしょうか。test1.php を少し修正してみましょう。
コードをコピーします
コードは次のとおりです:
<本文>
…………
この利点は linux/unix でのみ実現できると言っていたのを覚えていますが、私は win2000p+apache1.3.17+php4.0.4pl1 を使用しており、php は Apache モジュールですが、逆に Linux に切り替えても動作します。実際にテストしてみたところ、機能しませんでした。PHP のデフォルトに従ってコンパイルする場合、この機能が有効かどうかを制御するのはコンパイル時のオプションです。私の構成は apache1.3.17+php4.0.4pl1 で、php は Apache モジュール モードであり、Linux で再コンパイルした後、テストは netscape navigator4.7 でパスすることができます (これはさらに証明します)ブラウザとは関係ありません
Cookie を有効にしても、ウィンドウ内に有効なセッション ID (URL ではなくセッション Cookie に記録されている) があり、新しいウィンドウを開いて同じページに入ると、セッションのみを複数のウィンドウで使用することはできません。前のウィンドウに影響を与えることなく、新しいセッション ID が再び取得されます。
複数のウィンドウで同じセッション ID を使用したい場合は、
url の後にセッション ID を指定するだけです。つまり、セッション ID を持つウィンドウの URL をコピーして、新しく開いたウィンドウに貼り付けると、セッション ID の原理を理解した後は、Cookie とセッションを組み合わせるのは難しくありません。まず、現在の有効なセッション ID を取得して、それを Cookie に記録します。他のウィンドウでは、Cookie を使用して現在のセッション ID を取得できます。
http://www.bkjia.com/PHPjc/328096.htmlwww.bkjia.com
truehttp://www.bkjia.com/PHPjc/328096.html