2014-03-03 43 views
0

我正在創建一個使用AJAX登錄系統,PHP & SQL顯然。使用PHP登錄的Ajax登錄問題

無論如何,我正在嘗試實現一個實時登錄功能,因此它將在不刷新頁面的情況下登錄用戶。

我已經做了幾乎但唯一的問題,當用戶點擊記住我使用Cookie而不是會話,但JQuery沒有這樣做? 我希望它檢測取決於它是否被檢查乙醚記住用戶或不只是開始一個會話,當它註冊一個cookie註銷頁面並沒有刪除他做的cookie之前我沒有添加jQuery代碼PHP的結束,我主要是一個PHP開發人員,仍然在學習。 (我不能發佈隱私的原因服務器端代碼,我在一個項目 可以用這一點,但它看起來類似於其他任何正常的PHP登錄腳本)

這裏的JQuery的

function validLogin(){ 
     var user_login=$('#user_login').val(); 
     var user_pass=$('#user_pass').val(); 
     var remember_me=$('#remember_me'); 


     var dataString = 'user_login='+ user_login + '&user_pass='+ user_pass; 



     $("#flash").show(); 
     $("#flash").fadeIn(100).html('Loading..'); 
     $.ajax({ 
     type: "POST", 
     url: "ajax/procces.php", 
     data: dataString, 
     cache: false, 
     success: function(result){ 
       var result=trim(result); 
       $("#flash").hide(); 
       if(result=='correct'){ 
        window.location='index.php'; 
       }else{ 
        $("#errorMessage").html(result); 
       } 
     } 
     }); 
} 

function trim(str){ 
    var str=str.replace(/^\s+|\s+$/,''); 
    return str; 
} 

感謝

+2

你沒有對「記住我」的價值做任何事情。你將元素本身捕獲到一個變量中,但從不使用該變量。通常「記住我」功能會設置一個cookie。 – David

+0

我試着在dataString中添加它,但是這只是強制它設置一個cookie,不管這個盒子是否打勾,並且當你嘗試註銷cookie時,仍然會設置哪一個是奇怪的 不知道如何實現它 – user279297

+0

'「是否打勾「 - 這取決於你如何添加它,你沒有在問題中指定。 ''當你嘗試註銷cookie時仍然設置「' - 你有沒有解除它? – David

回答

0

您不會將您的變量'記住我'傳遞給您的ajax請求。例如:

data: {login: user_login, passwd: user_pass, rememberMe: remember_me} 

另一點,小心你從客戶端處理信息。永遠不要相信客戶。在PHP中測試所有的值。

+0

謝謝!應該有一種方法讓jqyery加載一個php頁面,然後php可以從那裏處理它,並且它更安全 – user279297