程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP Cookie登錄驗證技巧講解

PHP Cookie登錄驗證技巧講解

編輯:關於PHP編程

一個網站的建設目的就是功能的完整性。其中有一個功能就是用戶登錄驗證的實現。下面我們就向大家詳細介紹有關

PHP Cookie登錄驗證代碼示例:

  1. < html> 
  2. < head> 
  3. < title>Login< /title> 
  4. < meta http-equiv="Content-Type" 
    content="text/html; charset=gb2312"> 
  5. < /head> 
  6. < body> 
  7. < form name="form1" method="post" 
    action="login.php"> 
  8. < table width="300" border="0" align="center" 
    cellpadding="2" cellspacing="2"> 
  9. < tr> 
  10. < td width="150">< div align="right">
    用戶名:< /div>< /td> 
  11. < td width="150">< input type="text" 
    name="username">< /td> 
  12. < /tr> 
  13. < tr> 
  14. < td>< div align="right">密碼:< /div>< /td> 
  15. < td>< input type="password" name="passcode">< /td> 
  16. < /tr> 
  17. < tr> 
  18. < td>< div align="right">Cookie保存時間:< /div>< /td> 
  19. < td>< select name="cookie" id="cookie"> 
  20. < option value="0" selected>浏覽器進程< /option> 
  21. < option value="1">保存1天< /option> 
  22. < option value="2">保存30天< /option> 
  23. < option value="3">保存365天< /option> 
  24. < /select>< /td> 
  25. < /tr> 
  26. < /table> 
  27. < p align="center"> 
  28. < input type="submit" name="Submit" value="Submit"> 
  29. < input type="reset" name="Reset" value="Reset"> 
  30. < /p> 
  31. < /form> 
  32. < /body> 
  33. < /html>  
  1. < ?php  
  2. @mysql_connect("localhost", "root","1981427")
     //選擇數據庫之前需要先連接數據庫服務器  
  3. or die("數據庫服務器連接失敗");  
  4. @mysql_select_db("test") //選擇數據庫mydb  
  5. or die("數據庫不存在或不可用");  
  6. //獲取用戶輸入  
  7. $username = $_POST['username'];  
  8. $passcode = $_POST['passcode'];  
  9. $cookie = $_POST['cookie'];  
  10. //執行SQL語句  
  11. $query = @mysql_query("select username, 
    userflag from users "  
  12. ."where username = '$username' and 
    passcode = '$passcode'")  
  13. or die("SQL語句執行失敗");  
  14. //判斷用戶是否存在,密碼是否正確  
  15. if($row = mysql_fetch_array($query))  
  16. {  
  17. if($row['userflag'] == 1 or $row['userflag'] == 0) 
    //判斷用戶權限信息是否有效  
  18. {  
  19. switch($cookie) //根據用戶的選擇設置cookie保存時間  
  20. {  
  21. case 0: //保存Cookie為浏覽器進程  
  22. setcookie("username", $row['username']);  
  23. break;  
  24. case 1: //保存1天  
  25. setcookie("username", $row['username'],
     time()+24*60*60);  
  26. break;  
  27. case 2: //保存30天  
  28. setcookie("username", $row['username'],
     time()+30*24*60*60);  
  29. break;  
  30. case 3: //保存365天  
  31. setcookie("username", $row['username'], 
    time()+365*24*60*60);  
  32. break;  
  33. }  
  34. header("location: main.php"); 
    //自動跳轉到main.php  
  35. }  
  36. else  
  37. {  
  38. echo "用戶權限信息不正確";  
  39. }  
  40. }  
  41. else  
  42. {  
  43. echo "用戶名或密碼錯誤";  
  44. }  
  45. ?> 

PHP Cookie登錄驗證代碼實例:

 

  1. < ?php  
  2. session_start();  
  3. if(isset($_COOKIE['username']))  
  4. {  
  5. @mysql_connect("localhost", "root","1981427") 
  6. //選擇數據庫之前需要先連接數據庫服務器  
  7. or die("數據庫服務器連接失敗");  
  8. @mysql_select_db("test") //選擇數據庫mydb  
  9. or die("數據庫不存在或不可用");  
  10. //獲取Session  
  11. $username = $_COOKIE['username'];  
  12. //執行SQL語句獲得userflag的值  
  13. $query = @mysql_query("select 
    userflag from users "  
  14. ."where username = '$username'")  
  15. or die("SQL語句執行失敗");  
  16. $row = mysql_fetch_array($query);  
  17. //獲得用戶權限信息  
  18. $flag = $row['userflag'];  
  19. //根據userflag的值輸出不同的歡迎信息  
  20. if($flag == 1)  
  21. echo "歡迎管理員".$_SESSION['username']
    ."登錄系統";  
  22. if($flag == 0)  
  23. echo "歡迎用戶".$_SESSION['username']
    ."登錄系統";  
  24. echo "< a href="logout.php" 
    href="logout.php">注銷< /a>";  
  25. }  
  26. else  
  27. {  
  28. echo "您沒有權限訪問本頁面";  
  29. }  
  30. ?> 
  31. < ?php  
  32. setcookie("username");  
  33. echo "注銷成功";  
  34. ?> 

以上及時PHP Cookie登錄驗證的實現方法。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved