我有一個簡單的表格,以驗證如果用戶在db存在,並允許登錄到另一頁(是的,我刪除密碼驗證來簡化代碼,並且我測試而不通和該腳本始終顯示您的登錄無效)。誤差在登錄 - PHP/AJAX
數據庫:emprego,表:用戶,字段:ID,用戶名,電子郵件,通過
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#login_form").submit(function() {
$("#msgbox").removeClass().addClass('messagebox').text('Validating....').fadeIn(1000);
$.post("ajax_login.php", {
name: $('#name').val(),
}, function (data) {
if (data == 'yes') {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Logging in.....').addClass('messageboxok').fadeTo(900, 1, function() {
document.location = 'secure.php';
});
});
} else {
$("#msgbox").fadeTo(200, 0.1, function() {
$(this).html('Your login is not valid').addClass('messageboxerror').fadeTo(900, 1);
});
}
});
return false;
});
});
</script>
</head>
<body>
<form method="post" action="" id="login_form">
User Name : <input name="name" type="text" id="name">
<div class="buttondiv">
<input name="Submit" type="submit" id="submit" value="Login" style="margin-left:-10px; height:23px">
<span id="msgbox" style="display:none"></span>
</div>
</form>
文件:ajax_login.php
<?php
include("includes/f_banco.php");
conecta();
$check = mysql_query("SELECT username FROM users WHERE username ='".mysql_real_escape_string($_POST['name'])."'")or die(mysql_error());
$row=mysql_fetch_array($check);
if ($row['username'] == $_POST['name']) {
echo "yes";
$_SESSION['name']=$row['username'];
}else{echo "no";}
?>
編輯:更新的代碼
是什麼可能的原因?
你爲什麼不使用'真'或'FALSE'? 'yes'和'no'只意味着你需要編寫更多的代碼。 – alex 2011-03-18 02:36:42
好的,但問題不是這樣,對嗎?謝謝 – 2011-03-18 02:38:43
問題是什麼?問題是什麼? – CallMeLaNN 2011-03-18 03:02:31