ユーザーがログインボタンを押した後にリダイレクトしようとしています。それが起こり、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"を出力します。
'if'文の前に' console.log(data); 'を置き、データが何であるかを見てください。 – Xufox
エラー機能を追加して確認してください。 – Roma
はconsole.log()を使用します。男のデバッグを試みてください –