クリックするとjquery ajax関数を呼び出してphpページからデータを取得し、返されたhtmlをポップアップdivに配置するリンクがあります。
返される html は実際にはフォームです。PHP では、データベースにクエリを実行して、ユーザーの仕様に一致するライセンスのリストを取得し、それらを配列に保存しています。次に、配列を $_SESSION 変数に保存します。
ユーザーがこのフォームを送信すると、別の ajax 関数を呼び出して、ポップアップ div (ウィザード スタイル) の HTML をさらに取得します。ここでは $_SESSION 変数に格納されている配列を使用する必要がありますが、得られるのは空の配列だけです (値がありません)。
これはphpコードのサンプルです
//step 1
$renewable_licenses = db_query_array($sql);
$_SESSION['renewable_licenses'] = $renewable_licenses;
$_SESSION['hello'] = "hello!";
print_r($_SESSION); //I can see all the session vars,
//including the array with all it's values, and "hello!"
//step 2
print_r($_SESSION); //I see the standard session vars set in other pages, I see
//"hello!", I see [renewable_licenses] but it is an empty array!
ajax は正常に動作しています。フォームと正しいフィールドがすべて完全に表示されています。両方の ajax 呼び出しで session_id を確認しましたが、同じです。session_start() は、両方のページで最初に呼び出されています。2 番目のステップで配列にアクセスできないのはなぜですか??