php+ajax登錄跳轉(zhuǎn)登錄實現(xiàn)思路
當我們的用戶進行系統(tǒng)登錄時,用戶名和密碼的驗證都是后端驗證的。而且,用戶登錄狀態(tài)也是要后端設置的,查詢數(shù)據(jù)庫后,用戶名和密碼正確,則在session中存儲一個uuid,每個頁面需要根據(jù)登錄狀態(tài)判斷展示相應的內(nèi)容時,則判斷是否有uuid這個session,且uuid不為空。比如頭部的登錄按鈕,在未登錄狀態(tài)是顯示登錄按鈕,在登錄后顯示用戶名和頭像,這些都是判斷是否有uuid這個值(具體實現(xiàn)里,相對來說更復雜一些)。
我們再來理下這個步驟:
- 向后端ajax發(fā)送用戶名和密碼
- 后端接收到用戶名和密碼后,查詢數(shù)據(jù)庫
- 若查詢失敗,則返回一個json數(shù)據(jù),如:{"status":"-1", msg:"用戶名或密碼不正確"}
- 若查詢成功,則在session中存儲一個值,比如uuid,然后向前端返回一個json,比如:{"status":"0", msg:"success"}
- 前端js接收到返回的數(shù)據(jù)后,判斷status的值,若status==0,則使用window.location.href進行跳轉(zhuǎn);其他的狀態(tài)碼都是登錄失敗,清空密碼框,讓用戶重新輸入
比如登錄成功跳轉(zhuǎn)到首頁,首頁里的php或java,需要判斷session里是否有uuid
<nav>
<?php if(isset($_SESSION['uuid']) && !empty($_SESSION['uuid'])):; ?>
<!-- 若存在uuid,則不為空,則表示已經(jīng)登錄 -->
<a href="#">蚊子</a>
<?php else ?>
<!-- 沒有登錄 -->
<input type="button" value="登錄" />
<?php endif; ?>
</nav>
相關文章
如何讓thinkphp在模型中自動完成session賦值小教程
在項目中遇到一個問題,需要讓thinkphp在模型中自動完成session賦值,經(jīng)過一番研究,終于實現(xiàn),下面記錄一下,另附上thinkPHP的session的相關知識2014-09-09
PHP使用strtotime計算兩個給定日期之間天數(shù)的方法
這篇文章主要介紹了PHP使用strtotime計算兩個給定日期之間天數(shù)的方法,實例分析了php操作時間的技巧,非常具有實用價值,需要的朋友可以參考下2015-03-03
php源碼分析之DZX1.5隨機數(shù)函數(shù)random用法

