成功登录后,我想重定向页面。但是此代码中的问题是,如果我输入错误,它也会转到主页。所以我删除了这个语句“ window.location = home.php”。我现在该怎么办?有人帮我吗?
<script>
$(document).ready(function(){
$('#reg_form').parsley();
$('#reg_form').on('submit',function(event){
event.preventDefault();
if($('#reg_form').parsley().isValid())
{
$.ajax({
url:"db.php",
method:"POST",
data:$(this).serialize(),
beforeSend:function(){
$('#submit').attr('disabled','disabled');
$('#submit').val('submitting the value');
},
success:function(data){
$('#reg_form')[0].reset();
$('#reg_form').parsley().reset();
$('#submit').attr('disabled',false);
$('#submit').val('submit');
$('#message').html(data);
}
});
}
});
});
</script>
db.php
<?php
//user login
if(isset($_POST['email']))
{
$email = $_POST['email'];
$password = $_POST['password'];
$query = "SELECT * FROM tbl_register where email ='$email' AND password = '$password'";
$result = mysqli_query($connect,$query);
if(mysqli_num_rows($result)>0)
{
echo "login successfully completed";
}
else
{
echo "login failed";
}
}
?>
答案 0 :(得分:1)
最好从服务器端传递成功登录或失败登录的标志值。
赞:
如果您要编写以下代码:
if(mysqli_num_rows($result)>0)
{
echo 1;
}
else
{
echo 0;
}
然后在ajax调用中,您可以检查数据
$.ajax({
url:"db.php",
method:"POST",
data:$(this).serialize(),
beforeSend:function(){
$('#submit').attr('disabled','disabled');
$('#submit').val('submitting the value');
},
success:function(data){
if(data==1){
window.location = home.php
}
$('#reg_form')[0].reset();
$('#reg_form').parsley().reset();
$('#submit').attr('disabled',false);
$('#submit').val('submit');
$('#message').html(data);
}
});
希望我的回答对您有所帮助。
答案 1 :(得分:0)
请始终在此类登录方案中使用会话。如果登录信息正确,则可以设置会话值。然后检查home.php中的会话值,如果会话值不正确,则将页面从home.php重定向到登录页面。使用以下代码。
if(mysqli_num_rows($result)>0)
{
echo 1;
$_SESSION["is_logged_in"]="1";
}
else
{
echo 0;
$_SESSION["is_logged_in"]="-1";
}
现在在“ home.php”中检查用户是否已登录。
if ($_SESSION["is_logged_in"]==-1){
//redirect back to login page
}else if ($_SESSION["is_logged_in"]==1){
//do nothing
}
答案 2 :(得分:-1)
在您的php文件中
if(mysqli_num_rows($result)>0)
{
echo json_encode(array("status"=>1,"msg"=>"login successfully completed"));
}
else
{
echo json_encode(array("status"=>0,"msg"=>"login failed"));
}
并在ajax成功中从as中检查数据的状态
if(data.status){
// success code and redirect code
}else{
// failed
}