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

php cookie登錄驗證代碼

編輯:關於PHP編程

提供一款可以自動cookie登錄方法,用戶可以在登錄時選擇保存進程幾天幾個月等,我們只要進來頁面時判斷一下就KO了。  代碼如下 復制代碼

<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form name="form1" method="post" action="login.php">
<table width="300" border="0" align="center" cellpadding="2" cellspacing="2">
    <tr>
      <td width="150"><div align="right">用戶名:</div></td>
      <td width="150"><input type="text" name="username"></td>
    </tr>
    <tr>
      <td><div align="right">密碼:</div></td>
      <td><input type="password" name="passcode"></td>
    </tr>
    <tr>
      <td><div align="right">Cookie保存時間:</div></td>
      <td><select name="cookie" id="cookie">
        <option value="0" selected>浏覽器進程</option>
        <option value="1">保存1天</option>
        <option value="2">保存30天</option>
        <option value="3">保存365天</option>
      </select></td>
    </tr>
</table>
<p align="center">
    <input type="submit" name="Submit" value="Submit">
    <input type="reset" name="Reset" value="Reset">
</p>
</form>
</body>
</html>

-------------------------------------------------------------------------------------------------------------------------

 代碼如下 復制代碼

<?php
@mysql_connect("localhost", "root","1981427")     //選擇數據庫之前需要先連接數據庫服務器
or die("數據庫服務器連接失敗");
@mysql_select_db("test")      //選擇數據庫mydb
or die("數據庫不存在或不可用");
//獲取用戶輸入
$username = $_POST['username'];
$passcode = $_POST['passcode'];
$cookie   = $_POST['cookie'];
//執行SQL語句
$query = @mysql_query("select username, userflag from users "
."where username = '$username' and passcode = '$passcode'")
or die("SQL語句執行失敗");
//判斷用戶是否存在,密碼是否正確
if($row = mysql_fetch_array($query))
{
if($row['userflag'] == 1 or $row['userflag'] == 0)    //判斷用戶權限信息是否有效
{
   switch($cookie)         //根據用戶的選擇設置cookie保存時間
   {
    case 0:         //保存Cookie為浏覽器進程
     setcookie("username", $row['username']);
     break;
    case 1:         //保存1天
     setcookie("username", $row['username'], time()+24*60*60);
     break;
    case 2:         //保存30天
     setcookie("username", $row['username'], time()+30*24*60*60);
     break;
    case 3:         //保存365天
     setcookie("username", $row['username'], time()+365*24*60*60);
     break;
   }
   header("location: main.php");      //自動跳轉到main.php
}
else
{
   echo "用戶權限信息不正確";
}
}
else
{
echo "用戶名或密碼錯誤";
}
?>

-------------------------------------------------------------------------------------------------------------------------

 代碼如下 復制代碼

<?php
session_start();
if(isset($_COOKIE['username']))
{
@mysql_connect("localhost", "root","1981427")     //選擇數據庫之前需要先連接數據庫服務器
or die("數據庫服務器連接失敗");
@mysql_select_db("test")      //選擇數據庫mydb
or die("數據庫不存在或不可用");
//獲取Session
$username = $_COOKIE['username'];
//執行SQL語句獲得userflag的值
$query = @mysql_query("select userflag from users "
."where username = '$username'")
or die("SQL語句執行失敗");
$row = mysql_fetch_array($query);
//獲得用戶權限信息
$flag = $row['userflag'];
//根據userflag的值輸出不同的歡迎信息
if($flag == 1)
   echo "歡迎管理員".$_SESSION['username']."登錄系統";
if($flag == 0)
   echo "歡迎用戶".$_SESSION['username']."登錄系統";
echo "<a href="logout.php" mce_href="logout.php">注銷</a>";
}
else
{
echo "您沒有權限訪問本頁面";
}
?>

-------------------------------------------------------------------------------------------------------------------------

 代碼如下 復制代碼

<?php
setcookie("username");
echo "注銷成功";
?>

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