【php增刪改查實例】第十九節 - session的使用: 讓服務器知道你是誰?
阿新 • • 發佈:2018-06-08
驗證 關閉 main 登錄 必須 ech 密碼 添加 周期
然後在這個地方:
超級管理員不能在頁面裏面寫死,而應該用php代碼獲取session中的username,貼到這個地方。
因為HTTP請求是一種無狀態的請求,所謂無狀態,就是服務器不會記錄下你本次請求的信息。http它是基於請求 - 相應模式的一種數據傳輸協議。就是說,你發送一個請求,我服務器給你一個響應,這件事情就算完了。無狀態也就是一種無記憶的方式。
Session的作用就是,臨時在服務器端記錄下你用戶的某些數據,方便用戶在之後的操作中直接調用。
如果不用session的技術,那麽用戶不管做什麽操作,都需要重新認證用戶名和密碼。
可是,如果用了session,只要用戶瀏覽器不關,服務器就能夠記住你的身份信息,以便之後的操作來調用。
Session的生命周期是和瀏覽器相關的,瀏覽器一旦關閉,那麽服務器就會清除掉本次的session。
在本系統中,如何去運用這個session?
打開login2.php,在代碼的最後,當用戶登錄驗證成功後,我們就把用戶名存放到session中去,保證之後的操作,服務器認為當前登錄人的信息是有效的。
session_start(); // 使用session之前,我們必須要用session_start函數來開啟session
$_SESSION["username"] = $username;
回到login2.html中,把登錄成功後的跳轉地址改為 ../main.php
把這裏的main.html後綴名改為.php
打開main.php
在這個文件的頂部,添加啟用session的代碼。
然後在這個地方:
超級管理員不能在頁面裏面寫死,而應該用php代碼獲取session中的username,貼到這個地方。
把超級管理員替換成以下代碼:
<?php echo $_SESSION["username"]; ?>
把存放到session中的username貼過來。
現在還有一個問題,如果用戶沒有登錄,也可以訪問到main.php頁面,這是不對的。
那如何去判斷用戶是否登錄呢?是不是只要去看session的username存在還是不存在?
如果session當中沒有username,那麽就跳轉到登錄界面。
<script type="text/javascript"> <?php if(!isset($_SESSION["username"])){ echo "location.href=‘login/login2.html‘;"; } ?> </script>
源碼獲取:https://www.jianshu.com/p/4977bd0073d5
【php增刪改查實例】第十九節 - session的使用: 讓服務器知道你是誰?