0

クリックすると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 番目のステップで配列にアクセスできないのはなぜですか??

4

0 に答える 0