PHP登录-结束在Chrome重定向循环



我有登录页面,接受电子邮件和密码登录。当我按下登录,然后只有在Chrome浏览器我得到错误,如"网页有重定向循环"。下面是JS代码:

function submitform(){
var email = $("#email").val();var password = $("#password").val();
var leaveblank = $("#leaveblank").val();var dontchange = $("#dontchange").val();
var dataString = 'email=' + email + '&password=' + password + 
'&leaveblank=' + leaveblank+ '&dontchange=' + dontchange;
$("#loading").show();
 $.ajax({
    url: "includes/login_submit",
    type: "POST",
    data: dataString,
    success: function (msg) {
      if (msg == 1) {
         $("#loading").hide();
        window.location.reload();
       } else {
         $("#loading").hide();
         $("#messagesuccerr").html("<span style=color:red;font-size:14px>Oops!! 
          Wrong Credentials!!</span>").fadeIn().delay(4000).fadeOut();
        return false;
        }
    }
});

}

login_submit代码

$query = "select * from `register_userfm` where `emailfm` = ? and 
passwordfmenc = ?; ";
$resultfm1 = DB::instance()->prepare($query)->execute
(array($newlogemail,$hashedPWfm))->fetchAll();
    if(count($resultfm1)>0){
        foreach($resultfm1 as $rowrest1){
        $_SESSION['authuser_fmd'] = $rowrest1['name'];
}

最后,Login.php

的代码
if(!isset($_SESSION)){
   session_start();
}
//----- Auth Block -----------//
if(isset($_SESSION['authuser_fmd'])){
  $referrer = $_SERVER['HTTP_REFERER'];
  $_SESSION['loginurlref'] = $referrer;
  $urirediref = $_SESSION['loginurlref'];
  header('location: '.$urirediref.'');
}
//--------Auth Block Ends ------------//
if(!isset($_SERVER['HTTP_REFERER'])){
  $_SESSION['loginurlref'] = "http://example.com";
  header('location: '.$_SESSION['loginurlref'].'');
}

现在,当用户点击登录,然后我得到错误像This webpage has redirect loop。我试着删除验证块,错误消失了。但是我必须将用户重定向到他登陆登录页面的页面。

如果你想使用ajax,这可能会有帮助

$.ajax({
    url: "includes/login_submit",
    type: "POST",
    data: dataString,
    success: function (msg) {
      if (msg == 1) {
         $("#loading").hide();
        window.location.assign('your redirect page');
       } else {
         $("#loading").hide();
         $("#messagesuccerr").html("<span style=color:red;font-size:14px>Oops!! 
          Wrong Credentials!!</span>").fadeIn().delay(4000).fadeOut();
        return false;
        }
    }
});

并从login_submit.php中删除所有重定向

你可以使用普通提交而不需要AJAX

最新更新