セッションID#1を作成するPHPセッションを開始するメインページがあります。私はこれをsession_id()
でチェックします。 PHP AJAXスクリプトからこれらのセッション変数にアクセスしたいと思います。これをテストするには、私は単に次のコマンドを実行してください:AJAX PHPスクリプトでメインページと同じセッションを使用する
session_start();
echo session_id();
このAJAXスクリプトです。これは、異なるAJAXセッションIDを返します。
メインページからAJAXスクリプトにセッションIDを渡すことができます。 AJAXスクリプトをデフォルトで同じセッションを開く別の方法はありますか?
私はこれをJavascriptで行います。具体的には、JQGridの追加/編集スクリプトです。
どのように呼び出しを行っていますか? JS経由の場合は、同じセッションIDを持つ必要があります。点滅している場合は、それは異なります。 – usoban
これは、セッションCookieのスコープと関連しています。あなたのAJAX呼び出しによって呼び出された場所は、セッションクッキーの範囲外にあることは明らかです。これを修正するには、クッキーの[範囲を広げる](http://php.net/session-set-cookie-params)または既存のスコープ内に収まるようにターゲットの場所を変更します。また、セッションIDをAJAX要求のGETまたはPOSTパラメータとして手動で渡すこともできます。クッキースコープの詳細はこちら[http://en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path] – DaveRandom
@DaveRandom - Cookieスコープに関する情報をありがとう。私はこれが問題でなければならないと思う。セッション変数はweb root - > index.phpファイルで定義され、AJAXスクリプトはWebルートのサブフォルダにあります。私は範囲を広げようとします。私はあなたが答えとしてあなたのコメントを投稿できると思います。 –