2012-02-05 10 views
3

ajaxで呼び出されたphpファイルからヘッダーを送信しようとしています。問題は、私はPHPですべての情報を検証するとき、私は別のページにリダイレクトしたいが、ヘッダーは動作しません!何か案は?phpリダイレクトヘッダーがajaxコールで送信されない

//------------- index.php 
on click of input, function passes <input> values through $_POST to login.php 
if($_SESSION[superman]==true){redirects to index_main.php} 

//------------- login.php 
all it does is validate forms and if login and password are correct, it sets $_SESSION [superman]=true 
+0

あなたは言い換えることができますか? –

+0

よく、フォームを検証する外部ファイルにajax呼び出しを行い、すべてが正しい場合はヘッダーでリダイレクトします。ヘッダーは機能しません(たとえ私がメインファイルに入れても、そこからajax関数が送られています) –

答えて

5

リダイレクトのみAjax呼び出しをリダイレクトします:コードが何をするか

!ブラウザーで表示されたページを変更する場合は、Ajax呼び出しが完了したらJavascriptを使用してリダイレクトする必要があります。

  • あなたのAjaxの呼び出しが成功したログイン(ロードしたいページへ例えば、文字列trueまたは多分URL)を示す値を返すよう
  • は、Ajax呼び出しの戻り値を確認してください。成功した場合は、location.hrefをJavascriptを使用して変更してください。
+0

vakstrom ok、したがってlogin.phpでとメインファイルのif(vaka == true){location.href} ..?またはメインファイルに戻るようなajax呼び出しを行う必要がありますか? –

+0

@semurどのように応答を解析しているかによって異なります。 –

+0

このようになります:ajba.open( "POST"、 "php_reg/login.php?login_login =" + str1 + "&login_password =" + str2、true); login.phpがフォームを検証し、すべてが動作しているという要求です$ _SESSION [redir_main] = true; ELSEエコー "エラー";レスポンスが生成されたメインファイルは、セッションが設定され、ヘッダーでリダイレクトされた場合に表示されます。私は値とREFRESHを提出した後でなければなりません(そしてPHPはセッションが登録されていることを認識し、リダイレクトします)。私は本当に他の方法を説明していません... –

関連する問題