私は現在、PHPで奇妙な問題に直面しています。PHPセッションの変な動作
「ホームページ」であるindex.phpと、AJAXリクエストで呼び出されるスクリプトであるajax.phpの2つのスクリプトがあります。
session_start();
$_SESSION['test'] = "hello";
ajax.phpのindex.phpは
session_start();
if ($_SESSION['test'] == "hello") {
$_SESSION['test'] = "bleh";
die();
}
echo "here";
だから、私は、インデックスを更新し、その後、ajax.phpのAJAX呼び出しを行い、index.phpのに行きます。 PHPは、私は実際に空白のページを持っていることを期待し、次にリフレッシュし、 "ここ"を印刷した。 $ _SESSION ['test']が "hello"に設定されていないかのように、スクリプトは実際には決して死ぬことはありません。
アイデア?ありがとう。
セッションを2回開始します。あなたは 'ajax.php'の' session_start'への呼び出しを削除する必要があります。 – Yahia
if(!session_id())session_start();を追加しました。 ajax.phpでは、まだ同じ問題です。 – spacenick
ajax呼び出し後、空であるかどうかを確認するためにindex.phpの "session_start()"の後に$ _SESSION配列を出力します。 – Eugene