2011-08-08 8 views
2

問題は、すでにセッションCookieが設定されているページからXMLHttpRequest経由でサーバー上のPHPスクリプトを呼び出していることです。問題は、私のページで呼び出されるスクリプトが各呼び出しに対して新しいsession_idを作成し、既存のものを使用して設定したい情報をそこに格納しないことです。どんな解決策ですか?XMLHttpRequestでPHPセッションを渡す方法

+1

あなたのセッションIDは、通常、クライアントからサーバへ搬送され、どのように?クッキー、クエリパラメータ、またはその両方? – hakre

答えて

2

おそらく、サーバー側のファイルでセッションを再生成しています...ここでセッションをチェックする部分を投稿できますか? PHPではsession_id(http://php.net/manual/en/function.session-id.php)を使用して特定のセッションIDを設定できます。

あなたのXHRで、設定されたSIDのVAR

$id_from_xhr_get_or_post_var=$_GET["SID"]; // or $_POST["SID"]; if you're using post 
session_id($id_from_xhr_get_or_post_var); 
session_name("your_session_name"); 
session_start(); 
1

pbcoder

敬具、あなたは非表示フォームフィールドに古いIDを保存することができます。その後、残りのXHRフォームデータとともにAJAX処理スクリプトに送信されます。

<input type='hidden' name='oldsession' value='<?php echo session_id(); ?> 
関連する問題