2015-02-11 127 views
0

我有一個腳本與HTML登錄窗體jQuery和PHP的所有工作正常,但如果訪問者選擇記住我然後cookie沒有設置或工作,即使我重新加載頁面使用jQuery window.location.replace( '的index.php');仍然沒有工作可以在任何一個請幫助,謝謝Cookie未設置/工作

HTML

<form class="login-form" action="" method="POST" name="operator_login"> 
    <div id="loginerror"></div> 
    <div id="loginsuccess">Login Success!</div>  

    <input type="text" placeholder="Email" name="adminusers_username"/> 
    <input type="password" placeholder="Password" name="adminusers_password"/> 
    <input type="checkbox" name="operator_remember" checked /> Remember me 
    <button type="submit" name="operator_login">Login</button>    
    </form> 

jQuery的

$(document).ready(function() { 
    $('.login-form').submit(function(){ 
     var adminusers_username = $('input[name=adminusers_username]'), 
      adminusers_password = $('input[name=adminusers_password]'), 
      loginerror = $('#loginerror'), 
      loginsuccess = $('#loginsuccess'); 
       if ($('input[name=operator_remember]').is(':checked')) { 
        var operator_remember = 1; 
        }else{ 
        var operator_remember = 2; 
       } 
     $.post('server/login.php', { 
     'adminusers_username': adminusers_username.val(), 
     'adminusers_password': adminusers_password.val(), 
     'operator_remember': operator_remember 
     }, 
      function(data){ 
       if (data==1) { 
       loginerror.hide(); 
       loginsuccess.show(); 
       window.location.replace('index.php'); 
       } else { 
       loginerror.show().html(data); 
      } 
    }); 
    return false; 
    }); 
}); 

PHP

session_start(); 
if (isset($_REQUEST['adminusers_username']) 
    && $_REQUEST['adminusers_username'] !='' 
    && isset($_REQUEST['adminusers_password']) 
    && $_REQUEST['adminusers_password']!='') { 

    $postedusername = $_REQUEST['adminusers_username']; 
    $postedpassword = $_REQUEST['adminusers_password']; 
    $rememberme = $_REQUEST['operator_remember']; 

    $query_rsUserLogin = "SELECT * FROM adminusers 
    WHERE adminusers_username = '".trim($postedusername)."'"; 
    $rsUserLogin = mysql_query($query_rsUserLogin, $connection); 
    $row_rsUserLogin = mysql_fetch_assoc($rsUserLogin); 
    $totalRows_rsUserLogin = mysql_num_rows($rsUserLogin); 

    $username = $row_rsUserLogin['adminusers_username']; 
    $userpassword = $row_rsUserLogin['adminusers_password']; 
    $email_conf = $row_rsUserLogin['admin_email_confirmed']; 
    $user_status = $row_rsUserLogin['admin_status']; 

    if ($totalRows_rsUserLogin > 0 ) { 
     if ($user_status == 'Active') { 
      if ($email_conf == 'Yes') { 
       if ($postedusername === $username 
        && $postedpassword === $userpassword){ 
        if ($rememberme==1){ 
         setcookie("adminusers_username", $username); 
         echo 1; 
         }else{ 
         $_SESSION['adminusers_username'] = $username; 
         echo 1; 
        } 
       }else { 
       echo 'Password Incorrect!.'; 
       } 
      }else{ 
      echo 'email not confirmed!.'; 
      } 

     }else{ 
     echo 'acount closed!.'; 
     } 
    }else { 
    echo 'email not exist!.'; 
    } 
}else { 
echo 'insert Username and Password!.'; 
} 

回答

1

變化

&& $_REQUEST['adminusers_password']!=0) { 

&& $_REQUEST['adminusers_password']!='') { 
+0

謝謝你的提示,但我已經做到即買即這是不是還是我並沒有把我的cookie設置的問題! – 2015-02-11 10:16:41

+0

它確實在這裏設置。我複製和粘貼你的代碼,唯一我必須糾正的是'!= 0'。也許你不允許在你的瀏覽器中的Cookie? – cari 2015-02-11 10:25:34

+0

是的,如果你只使用沒有jQuery的php代碼,它可以工作,但是當它通過jQuey(POST)運行時它不會! – 2015-02-11 11:29:32