php session應用實例--登錄驗證

 

 

  1. <html>  
  2. <head>  
  3. <title>Login</title>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
  5. </head>  
  6.   
  7. <body>  
  8. <form name="form1" method="post" action="login.php">  
  9.   <table width="300" border="0" align="center" cellpadding="2" cellspacing="2">  
  10.     <tr>  
  11.       <td width="150"><div align="right">用戶名:</div></td>  
  12.       <td width="150"><input type="text" name="username"></td>  
  13.     </tr>  
  14.     <tr>  
  15.       <td><div align="right">密碼:</div></td>  
  16.       <td><input type="password" name="passcode"></td>  
  17.     </tr>  
  18.     <tr>  
  19.       <td><div align="right">Cookie保存時間:</div></td>  
  20.       <td><select name="cookie" id="cookie">  
  21.                     <option value="0" selected>瀏覽器進程</option>  
  22.                     <option value="1">保存1天</option>  
  23.                     <option value="2">保存30天</option>  
  24.                     <option value="3">保存365天</option>  
  25.                   </select></td>  
  26.     </tr>  
  27.   </table>  
  28.   <p align="center">  
  29.     <input type="submit" name="Submit" value="Submit">  
  30.     <input type="reset" name="Reset" value="Reset">  
  31.   </p>  
  32. </form>  
  33. </body>  
  34. </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. //執行SQL語句獲得Session的值  
  10. $query = @mysql_query("select username, userflag from users "  
  11. ."where username = '$username' and passcode = '$passcode'")  
  12. or die("SQL語句執行失敗");  
  13. //判斷用戶是否存在,密碼是否正確  
  14. if($row = mysql_fetch_array($query))  
  15. {  
  16.     session_start();                            //標誌Session的開始  
  17.     //判斷用戶的權限信息是否有效,如果爲1或0則說明有效  
  18.     if($row['userflag'] == 1 or $row['userflag'] == 0)  
  19.     {  
  20.         $_SESSION['username'] = $row['username'];  
  21.         $_SESSION['userflag'] = $row['userflag'];  
  22.         echo "<a href="main.php" mce_href="main.php">歡迎登錄,點擊此處進入歡迎界面</a>";  
  23.     }  
  24.     else                                    //如果權限信息無效輸出錯誤信息  
  25.     {  
  26.         echo "用戶權限信息不正確";  
  27.     }  
  28. }  
  29. else                                        //如果用戶名和密碼不正確,則輸出錯誤  
  30. {  
  31.     echo "用戶名或密碼錯誤";  
  32. }  
  33. ?>  

 

 

  1. <?php  
  2. unset($_SESSION['username']);  
  3. unset($_SESSION['passcode']);  
  4. unset($_SESSION['userflag']);  
  5. echo "註銷成功";  
  6. ?>  

 

 

  1. <?php  
  2. session_start();  
  3. if(isset($_SESSION['username']))  
  4. {  
  5.     @mysql_connect("localhost""root","1981427")               //選擇數據庫之前需要先連接數據庫服務器  
  6.     or die("數據庫服務器連接失敗");  
  7.     @mysql_select_db("test")                    //選擇數據庫mydb  
  8.     or die("數據庫不存在或不可用");  
  9.     //獲取Session  
  10.     $username = $_SESSION['username'];  
  11.     //執行SQL語句獲得userflag的值  
  12.     $query = @mysql_query("select userflag from users "  
  13.     ."where username = '$username'")  
  14.     or die("SQL語句執行失敗");  
  15.     $row = mysql_fetch_array($query);  
  16.     //判斷當前數據庫中的權限信息與Session中的信息比較,如果不同則更新Session的信息  
  17.     if($row['userflag'] != $_SESSION['userflag'])  
  18.     {  
  19.         $_SESSION['userflag'] = $row['userflag'];  
  20.     }  
  21.     //根據Session的值輸出不同的歡迎信息  
  22.     if($_SESSION['userflag'] == 1)  
  23.         echo "歡迎管理員".$_SESSION['username']."登錄系統";  
  24.     if($_SESSION['userflag'] == 0)  
  25.         echo "歡迎用戶".$_SESSION['username']."登錄系統";  
  26.     echo "<a href="logout.php" mce_href="logout.php">註銷</a>";  
  27. }  
  28. else  
  29. {  
  30.     echo "您沒有權限訪問本頁面";  
  31. }  
  32. ?>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章