国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php 簡單的登入登出實例程序(session)

2024-05-04 23:06:22
字體:
來源:轉載
供稿:網友

利用php實例登入登出我們一般會借助于session來保存記錄用戶登錄成功的信息,然后退出時我們再使用unset來清除session即可實現用戶登入登出功能了,下面我來介紹一個簡單的實例。

關于會話處理:

HTTP 是一種無狀態的協議,說明每次請求的處理都與之前或之后的 請求無關,但是為了能夠調整用戶特有的行為和首選項,出現了一種在客戶端存儲少量信息(常稱為cookie)的實踐,但由于 cookie 大小的限制、所允許的 cookie 數量以及 cookie 的實現上的各種不一致,出現了另外一種解決方案:會話處理。

會話處理的實現方式是為每位網站訪問者分配一個稱之為會話 ID(SID)的唯一標識屬性,然后將此 SID 與任意數量的數據關聯。

開始會話:session_start();

創建會話變量:$_SESSION['username'] = “jason”;

刪除會話變量:unset($_SESSION['username']);

簡單的登入登出,實例代碼如下:

  1. $supervisor = "admin"
  2. $superpsw = "passwd"
  3. // 檢查是否提交表單 
  4. if (isset($_POST['superadmin'])) 
  5. if (!($_POST['supername'] == $supervisor) || !($_POST['superpass'] == $superpsw)) 
  6. echo "用戶名或密碼錯誤"
  7. exit
  8. else 
  9. session_start(); 
  10. $_SESSION["superlogin"] = $_POST['supername']; 
  11. else { 
  12. session_start(); 
  13. // 檢查是否設置了會話變量,即是否已經登入,如果沒有,顯示登入頁面 
  14. if (! isset($_SESSION["superlogin"]) ) 
  15. echo "<form name='form1' method='post' action='$_SERVER[PHP_SELF]'>"
  16. echo "<div align='center'>請輸入管理員密碼<br />"
  17. echo "管理員"
  18. echo "<input type='text' name='supername'><br />"
  19. echo "密  碼"
  20. echo "<input type='password' name='superpass'><br />"
  21. echo "<input type='submit' name='superadmin' value='進入'><br />"
  22. echo "<input type='reset' name='cancel' value='重寫'></div>"
  23. echo "</form>"
  24. exit
  25. // 由用戶銷毀會話變量,登出 
  26. if (isset($_GET['logout'])) { 
  27. unset($_SESSION['superlogin']); 
  28. header("Location:index.php"); 

假設將此文件命名為include.php,將其包含到要驗證登入的頁面即可,例如 index.php,實例代碼如下:

  1. <?php 
  2.     require “include.php”; 
  3. ?> 
  4.     <html> 
  5.     <head> 
  6.     <title>管理</title> 
  7.     <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″> 
  8.     </head> 
  9.     <body> 
  10.     <p><a href=”index.php?logout=1″>登出</a> 
  11.     <p>歡迎進入</p> 
  12.     </body> 
  13.     </html> 

如此訪問 index.php 頁面時將進入登入頁面,登錄后顯示 index.php 頁面內容,這個過程一直持續到用戶結束會話,如關閉瀏覽器或點擊注銷按鈕,但是會話本身在PHP服務器有一個默認的生存期。

有效會話的持續時間由 php.ini 所控制,默認為1440秒,即24分鐘

session.gc_maxlifetime = 1440

PS:本文是個范例,用簡單的代碼來做說明,實際應用中會采用更加復雜的控制機制。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安徽省| 临沧市| 抚远县| 申扎县| 大安市| 无锡市| 河源市| 张家港市| 安化县| 东丰县| 利川市| 湘阴县| 越西县| 文水县| 彝良县| 五峰| 即墨市| 宿州市| 伊春市| 农安县| 长宁区| 镶黄旗| 南开区| 黄浦区| 东兰县| 高邮市| 南江县| 三原县| 阜阳市| 南漳县| 绥滨县| 淮阳县| 东光县| 太谷县| 班戈县| 南康市| 图木舒克市| 嘉黎县| 孟村| 金湖县| 姜堰市|