本文實例講述了php使用Cookie控制訪問授權的方法。分享給大家供大家參考。具體如下:
復制代碼 代碼如下:<?php
if(isset($_POST['name'])||isset($_POST['pass'])){
//如果有表單有提交
//檢測表單中需要的值
if(empty($_POST['name'])){
die("請輸入用戶名!");
}
if(empty($_POST['pass'])){
die("請輸入密碼!");
}
//設置數據庫變量
$host = "localhost";
$user = "root";
$pass = "zq19890319";
$db = "cookie";
//打開連接
$connection = mysql_connect($host, $user, $pass) or die("Unable to connect!");
//選擇一個數據庫
mysql_select_db($db) or die("Unable to select database!");
//建立一個查詢
$query = "SELECT * FROM users WHERE name = '".$_POST['name']."' AND pass = SHA1('".$_POST['pass']."')";
//執行一個查詢
$result = mysql_query($query) or die("Error in query:$query." . mysql_error());
//是否有記錄集返回
if(mysql_num_rows($result) == 1){
//如果有一行記錄返回
//表示驗證已經通過
//建立一個session,設置一個登陸標記為1,並將當前用戶名保存在cookie中
session_start();
$_SESSION['auth'] = 1;
setcookie("username", $_POST['name'], time()+(84600*30));
echo "用戶訪問已經授權!";
}else{
echo "錯誤的用戶名或密碼!";
}
//釋放記錄集
mysql_free_result($result);
//關閉數據庫
mysql_close($connection);
}
else{
//如果沒有表單提交,則顯示一個HTML表單
?>
<html>
<head></head>
<body>
<center>
<form method="post" action="">
用戶名<input type="text" name="name" value="<?php echo $_COOKIE['username'];?>" />
<p />
密碼<input type="password" name="password" />
<p />
<input type="submit" name="submit" value="登陸" />
</form>
</center>
</body>
<?php
}
?>
希望本文所述對大家的php程序設計有所幫助。