我正在嘗試實現Web上的大多數Web應用程序所具有的功能,這些Web應用程序具有登錄屏幕和側面的「記住我」複選框,如果選中該複選框,則允許在下次訪問Web時向用戶打開條目網頁...正如,它不要求用戶輸入用戶名和密碼了,它只是記錄他們進來。網頁在下次登錄時如何記住您?
我要做到這一點使用PHP
我正在嘗試實現Web上的大多數Web應用程序所具有的功能,這些Web應用程序具有登錄屏幕和側面的「記住我」複選框,如果選中該複選框,則允許在下次訪問Web時向用戶打開條目網頁...正如,它不要求用戶輸入用戶名和密碼了,它只是記錄他們進來。網頁在下次登錄時如何記住您?
我要做到這一點使用PHP
它被稱爲「記住我」 cookie,它是通常只是另一個不會過期的cookie,或者有很長時間(幾天,幾周,幾個月)才能說出您是誰,並且基本上可信的網站。
我建議看看PHP: AutoLogin (’Remember Me’) using cookies和Improved Persistent Login Cookie Best Practice。
簡單的答案是使用cookie。 Cookie是通過網頁存儲在客戶端機器上的一小部分數據。用戶登錄時設置cookie,在頁面加載時檢查cookie。
查看PHP Cookies教程瞭解詳情。
它被稱爲「Session management」,主要通過稱爲「HTTP Cookie」的技術實現。在PHP中,你可以看到一個很好的教程here。
您使用cookies。 Cookie是存儲在用戶計算機上的特定網站的小文件。它包含一個值和一個失效日期(cookies將在x時間後自動被瀏覽器刪除)。因此,您可以在選擇「記住我」選項時保存包含用戶名的Cookie。當用戶返回該網站時,檢查該cookie是否存在以及該值是什麼,然後登錄該用戶並更新cookie到期日期。
您可以使用哪種服務器端腳本,邏輯依賴它。
以下是您需要注意的一步。
向UserInfo表「isLoggedIn」中的數據庫添加一列作爲默認值爲「FALSE」的BIT字段。
當用戶使用「Remeber Me」複選框登錄到您的Web應用程序時,將「isLoggedIn」列設置爲「True」,直到他/她熱切地點擊Web應用程序的「SIGN OUT」選項。如果他/她點擊「退出」選項,則將「isLoggedIn」列設置爲「FALSE」。
當用戶登錄時,爲用戶創建客戶端cookie。所以當下次頁面加載時檢查客戶端cookie,對於用戶,檢查同一用戶的數據庫列「isLoggedIn」是否爲「真」,如果其「真」不會阻止用戶登錄,否則請求他/她登錄。
希望我清楚,如果它讓你困惑,請讓我知道。
祝你好運。