我正在使用 jQuery 做一个基本的登录系统,对我来说似乎一切都很好,但我总是在这里输入我的 jquery: alert('Error in system');
。
但这很奇怪,因为当我执行此操作时 alert(answer);
它会显示我的 $_SESSION['userlogin']
的所有数据。
有人知道可能出了什么问题吗?
我有这个 jQuery 在登录表单中显示验证器消息:
$('form').submit(function(){
var login = $(this).serialize() + '&action=login';
$.ajax({
url: 'switch/login.php',
data: login,
type: 'POST',
success: function(answer){
if(answer == 'errorEmpty'){
$('.msg').empty().html('<p class="warning">Informe seu usuário e senha!</p>').fadeIn('slow');
}
else if (answer == 'errorPass'){
$('.msg').empty().html('<p class="error">Error ,wrong pass or username!</p>').fadeIn('slow');
}
else if(answer == 'sucess'){
window.setTimeout(function(){
$(location).attr('href','dashboard.php');
},1000);
}
else{
alert('Error in system');
}
alert(answer);
},
beforeSend: function(){
$('.loginbox h1 img').fadeIn('fast');
},
complete: function(){
$('.loginbox h1 img').fadeOut('slow');
},
error: function(){
alert('Error in system');
}
});
return false;
});
});
然后我就有了我的 php 文件:
switch ($action){
case 'login':
$user = $_POST['user'];
$pass = $_POST['pass'];
if(!$user || !$pass){
echo 'errorEmpty';
}else{
$searchUser = $pdo->prepare("SELECT * FROM admins WHERE login=:login AND pass=:pass");
$searchUser->bindValue(":login", $user);
$searchUser->bindValue(":pass", $pass);
$searchUser->execute();
$num_rows = $searchUser->rowCount();
$result = $pesquisaUser->fetch(PDO::FETCH_ASSOC);
if($num_rows>=1){
$_SESSION['userlogin'] = $result;
echo 'sucess';
print_r($_SESSION['userlogin']);
}
else{
echo 'errorPass';
}
}
break;
default:
echo 'Error';
}
最佳答案
将return;
放在echo sucess
语句之后,我认为问题是print_r($_SESSION['userlogin']);
。
放置return;
后,print_r
将不会执行。
echo 'sucess';
return;
关于javascript - jQuery 消息验证器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23025805/