セッション変数が設定されているページ以外のページでセッション変数を使用できません。セッション変数は、セッション変数以外の変数のように動作します。私は同様の質問が他の6つの類似フォーラムに掲載されていることを発見しましたが、他のケースの回答は常に適用されないことが判明しました。ここでPHPセッション変数が保存されていません
私のファイルは、以下のとおりです。
sess1.php
<?php
session_start();
session_register("userid");
session_register("textvar");
$_SESSION['userid'] = 10333 ;
$_SESSION['textvar'] = TextVariable ;
echo "<p>User ID is: " . $_SESSION['userid'] . "</p>" ;
echo "<p>Another variable is: " . $_SESSION['textvar'] . "</p>" ;
?>
<p>Go to the <a href="sess2.php">next page</a>.</p>
と、 sess2.php
<?php
session_start();
echo "<p>The userid session variable is: " . $_SESSION['userid'] . "</p>";
echo "<p>The other session variable is: " . $_SESSION['newvar']. "</p> ";
?>
それぞれの場合のブラウザーの出力は次のとおりです。
sess1.php
ユーザーIDは、次のとおりです。10333
もう一つの変数は以下のとおりです。[次のページ]にTextVariable
移動します。
と、 sess2.php
ユーザーIDのセッション変数は次のとおりです。
他のセッション変数は次のとおりです。[最後のページ]へ
移動します。
されていないいくつかのこと:
- 私は両方のファイルの先頭ににsession_start()を持っています。
- 変数ディレクトリは書き込み可能で、セッション変数がそこに表示されています。 (私はsess_b62と呼ばれる約100の小さなファイルを持っています: 'userid | i:10333; textvar | s:12: "TextVariable";')
- phpinfo()は、php.iniファイルが正しく読み取られており、有効期間がデフォルトの0(ブラウザが閉じられるまで)に設定されています。
私はウィットの終わりです。助言がありますか?
ありがとうございます。
同じセッションIDが使用されているかどうかを確認しましたか? – Gumbo
SSL経由のページの1つですか? –
実行中のPHPのバージョンは? (phpinfo()からも) –