2009-04-16 10 views
1

セッションIDが定義されていないという問題があります。

フォーム変数が、ajax/jqueryクエリを介してフォームに投稿されるページで呼び出されています。

セッション変数は、他のすべてのページで問題なく呼び出されます。この変数は、ユーザーがログインするときに設定され、auth.phpファイルによってチェックされます。 auth.phpファイルはセッション変数をうまく見つけますが、insert.phpファイルは "Undefined index:var ...."というエラーを吐き出します。

セッション変数が失われる理由はありますか?

EDIT: 私のauth.phpファイルでsession_startを呼び出しています。別のセッションを開始しようとすると、エラーメッセージが表示されます。

ファイルがajaxリクエストを介してポストされているためにセッション変数が見つからない可能性はありますか?

EDIT/ANSWER: 何が間違っているかを見つけました。私はフラッシュアップローダを使用していて、フラッシュでアップロードするとセッションが失われます。ああ、何の夜?

ありがとうございました!

+0

あなたが何か間違っていることが分かった場合は、あなた自身の質問を回答として受け入れるべきです。) –

答えて

1

私は何が間違っているかを知りました。私はフラッシュアップローダを使用していて、フラッシュでアップロードするとセッションが失われます。

+1

ほとんどのフラッシュアップローダでは、アップロード時に送信されるパラメータを追加できます。これを使用して、フラッシュアップロードPOSTにセッションIDを追加することができます。 – apinstein

+0

あなたは好みの答えにあなた自身の答えを設定できますか? :P –

1

'insert.php'ページにセッションが開始されていますか?それは理由かもしれません。

PHP設定が自動開始に設定されていない場合は、起動を試行してください。

session_start(); 

また、$ _SESSIONを印刷すると便利なことがあります。私の経験から

print_r($_SESSION); 

、見つからなかったセッション変数を引き起こす他のファイルであるが、異なるホスト/サーバー名/ IP番号から呼び出される別の可能性は、あります。これはかなり遠隔可能ですが。

あなたのケースでは、場合によってはそれをチェックしてみてください。

+0

print_r($ _ SESSION)を呼び出すと、 "Array()"が返されます。 – superUntitled

0

session_start();を使用してリダイレクトするとinsert.phpは含まれません。そのページにはセッションが存在しないため、余分な設定をせずに1ページだけで動作することがわかります。

関連する問題