2016-08-26 3 views
-1

ユーザーがログインボタンを押した後にリダイレクトしようとしています。それが起こり、if条件が満たされず、データそのものが余分な文字なしで正しく、1つの「A」が含まれています。何らかの理由で動作しません。 trim()関数を使用しようとしましたが、役に立たなかった。 ここに私のコードです:ifステートメントがAjax内で動作しない

$("#login").click(function(event){ 
     event.preventDefault(); 
     var email = $("#email").val(); 
     var pass = $("#password").val(); 
     $.ajax({ 
      url: "login.php", 
      method: "POST", 
      data: {userLogin: 1, userEmail:email, userPassword:pass}, 
      success: function(data){ 
       if(data!= "A"){ 
        alert(data); 
       }else{ 
        window.location.href="profile.php"; 
       } 
      } 

     }) 
    }) 

そして、これはPHPです:

<?php 
include 'connection/connect.php'; 

session_start(); 

if(isset($_POST["userLogin"])){ 
    $email = mysqli_real_escape_string($con, $_POST["userEmail"]); 
    $password = md5($_POST["userPassword"]); 
    $sql = "SELECT * FROM user_info WHERE email = '$email' AND password = '$password'"; 
    $run_query = mysqli_query($con, $sql); 
    $count = mysqli_num_rows($run_query); 
    if($run_query===false){ 
      echo mysqli_error($con); 
     } 
     elseif ($count == 1){ 

     $row = mysqli_fetch_array($run_query); 
     $_SESSION["uid"] = $row["user_id"]; 
     $_SESSION["name"] = $row["first_name"]; 
     echo trim("A"); 
    } 
} 
?> 

そしてHTML:さらに

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 
<li><a href="#" class="dropdown-toggle" data-toggle="dropdown">SignIn</a> 
<ul class="dropdown-menu"> 
<div style="width: 300px;"> 
<div class="panel panel-primary"> 
<div class="panel-heading">Login</div> 
<div class="panel-heading"> 
<label for="email">Email</label> 
<input type="email" class="form-control" id="email" name="email" required /> 
<label for="password">Password</label> 
<input type="password" class="form-control" id="password" name="password" required /> 
<p><br/></p> 
<a href="#">Forgotten Password</a><input type="submit" class="btn btn-success" id="login" value="Login"> 
</div> 
<div class="panel-footer" id="e_msg"></div> 
</div> 
</div> 
</ul> 
</li> 
</body> 
</html> 

、私はページに直接移動"profile.php"、ユーザーはログインしています。つまり、データが正しく渡されます。 何が問題なのですか?ありがとう。 編集、アラートは "A"を出力します。

+0

'if'文の前に' console.log(data); 'を置き、データが何であるかを見てください。 – Xufox

+0

エラー機能を追加して確認してください。 – Roma

+1

はconsole.log()を使用します。男のデバッグを試みてください –

答えて

0

文字列を比較するjavascript trim()メソッドを試してください。

+0

私はこの問題を解決しました。ありがとう。接続ファイル自体に余分なスペースがありました。 PHPはあまりにも原始的なものを区別するために推測する。ありがとう。 – GabMic

関連する問題