2016-06-16 6 views
0

基本的に、下のajaxコードはユーザー名と電子メールをチェックし、ユーザーが繰り返していることを確認してレコードをデータベースに挿入します。しかし、私が抱えている問題は、data == trueの場合のことです。ユーザーにプロファイルページにリダイレクトさせることはできません。ユーザーがサインアップした後、サインアップフォームが消えてindex.phpページに戻りますが、プロフィールページにリダイレクトして、サインアップとログインボタンが私のヘッダーから消えるはずです。ajaxコールを使用してサインアップした後、ユーザーをプロフィールページにリダイレクトする方法

var signupUNameBad = true; 
var signupEmailBad = true; 

// sign up button selected 
$("#signup").submit(function(e) { 
$("#signup").css('visibility','hidden') 
e.preventDefault(); 
if (signupUNameBad == true){ 
    alert("The User Name Selected is already in use, Please choose a different User Name"); 
    return; 
} 
if (signupEmailBad == true) { 
    alert("The Email is already in use on the system, Please choose a different email") 
    return; 
} 
else 
// add person to DB 
$.ajax({ 
    url: 'enterUserBasic.php', 
    type: 'post', 
    dataType: 'text', 
    async: 'false', 
    data: "fname=" + $("#Sfname").val() + "&lname="+ $("#Slname").val() + "&pass=" + $("#Spass").val() + "&uName=" + $("#signupUserName").val() + "&email=" + $("#signupEmail").val(), 
    success: function (data) { 
     // if data = true then the user was added, false the user was declined for some reason 
     if (data == "true") { 
      header('location: profile.php'); 
     } 
     else if (data == "false"){ 
      alert("database error, please try again"); 
     } 
    }, 
     error: function (data) { 
      alert("Some kind of error occured in login, please try again"); 
     } 
    }); 
}); 
+0

あなたは[答えを受け入れる](HTTPの習慣に取得する必要があります:

if (data == "true") { header('location: profile.php'); // PHP code will not work here } 

あなたはJavaScriptを使用する必要があります。 //meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照してください。あなたはポイントを獲得し、他の人はあなたを助けることを奨励されます。 –

+0

ここで私はここで新しいです。私はそれを理解したことはありません。しかし、私はまだ問題がある。 –

答えて

2

あなたはここにPHPとJavaScriptを混合している:

if (data == "true") { 
    window.location = "profile.php"; 
} 
+0

私はそれが最良のシナリオではないことを知っていますが、 '<?php echo header( 'location:profile.php'); ?>; '?ちょっとした考え。 – William

+1

AJAXが@Williamを呼び出すため、クライアント側にとどまっているため動作しません。 PHPは決して処理されません。 –

+0

@JayBlanchard Jayに感謝しますが、それでもプロフィールページには行きません。 –

関連する問題