我正在使用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';
}
答案 0 :(得分:0)
在return;
声明之后加echo sucess
,我认为问题是print_r($_SESSION['userlogin']);
。
放置return;
后,print_r
将不会执行。
echo 'sucess';
return;