最初のページの読み込み時に設定される 'loginStatus'セッション変数があります。この 'loginStatus'が初めて設定されたときにブラウザに「最初に設定した」コメントを表示するif/elseがあります。 「初めてのセッティング」は決して登場しない!私はキャッシュをクリアしました。Netbeans開発環境以外のブラウザウィンドウでindex.phpページに移動しようとしましたが問題ありません。これは、セッションがlocalhost Webサーバーに永続的に存在しているかのようです。セッション変数がすでに設定されています
ここでは、初期化されていない 'loginStatus'セッション変数が最初に検出され、セッション変数が1回だけ作成/初期化されるコードを示します。
if (isset($_SESSION['loginStatus']))
{
// we get here ONLY if the 'loginStatus' session variable has already been
// created for this user's session.
$_SESSION['loginStatus'] = "loginStatus already set!";
echo '<br />Just set the loginStatus to: ' . $_SESSION['loginStatus'] . '<br /><br />';
}
else
{
// we only get here the first time this is sent by the server
// to the user's browser -- so we need to create the 'loginStatus' session
// variable because the user just came to our site
// and has not yet logged in.
$_SESSION['loginStatus'] = "First-time initialization of loginStatus";
echo '<br />Just set the loginStatus for the first time!<br /><br />';
}
私は、ブラウザのウィンドウに表示さ決して「ちょうど初めてloginStatusを設定!」
ブラウザウィンドウに表示されるのは、「loginStatusをloginStatusに設定するだけです!」と表示されています。言い換えれば
- ISSET()誤って真非常に最初の時間の私のページがロードを返して!
ブラウザにページを最初に読み込んだときに魔法のようにあるセッション変数の正当性がわかりません!
私はコードを書いている間に上記のページを数回ロードしましたが、最終ページを出るとセッションが破壊されることは私の理解でした。だから私の$ _SESSION ['loginStatus']変数は、歓迎されていない親戚のようにぶら下がっているのですか?
'のvar_dump($ _ SESSION)を'リロードしてそれが何を含んでいるかを見て、そこから作業してください。 – Kenaniah
@Kenaniah - 私はこれを見て、これを見ました:配列 'loginStatus' =>文字列 'loginStatusがすでに設定されています!' (length = 24) – wantTheBest
'session_unset();を実行します。 session_destroy(); 'を実行してサーバー側のブラウザセッションをクリアします。 – Kenaniah