2015-09-04 64 views
0

好吧,這就是情況。我在我的php文件中有下面的代碼塊,出於某種原因,無論何時檢查數據,它都不會接受。我已經打印出數據的價值,並且確實「被接受」(顯然沒有引號)。我以某種方式比較這些錯誤?在我的網站的另一部分基本上運行完全相同的代碼,它工作正常。比較JQuery中的字符串不工作

$(document).ready(function() { 
    $("#sign").click(function() { 
     jQuery.ajax({ 
      url: "loginConfirm.php", 
      data: { // Correct 
       username: $("#username").val(), 
       password: $("#password").val() 
      }, 
      type: "POST", 
      success: function (data) { 
       if ($("#username").val() === "") { 
        //Do nothin 
       } else if (data === "accepted") { 
        alert("Here"); 
        redirectSignIn(); 

       } else { 
        alert("There"); 
        $("#signInTitle").html(data); 

       } 
      }, 
      error: function() {} 
     }); 

    }); 
}); 

編輯:PHP代碼我打電話下面的網址

<?php 
// The global $_POST variable allows you to access the data sent with the POST method 
// To access the data sent with the GET method, you can use $_GET 
$username = htmlspecialchars($_POST['username']); 
$userpassword = htmlspecialchars($_POST['password']); 

require_once("dbcontroller.php"); 
$db_handle = new DBController(); 
    $result = mysql_query("SELECT count(*) FROM loginInfo WHERE userName='" . $username . "' AND password='" . $userpassword . "'"); 
    $row = mysql_fetch_row($result); 
    $user_count = $row[0]; 

    if($user_count>0) 
     echo "accepted"; 
    else 
     echo "denied"; 
?> 
+0

也許,是因爲第一個'if'正在執行,下一'其他if'不會執行 – Tushar

+0

「接受」的任何新行? – chris85

+0

很久以前,沒有嘗試刪除最初的。它總是走到最後的其他地方。而且不會,沒有新的線條。 –

回答

0

你不能在成功驗證功能if ($("#username").val() === "") {。爲此,你應該在進行Ajax調用之前驗證它。

0

我想在這裏給一些建議,首先你必須驗證用戶的輸入,如果驗證,那麼你可以調用ajax。

然後你不需要在AJAX過程中檢查用戶名的值。

像....

if($("#username").val() === "" && $("#passoword").val() === "") 
{ 
    //AJAX call 
} 
else 
{ 
    //alert to enter the valid inputs 
} 

希望你得到它我的概念...