正式項目中基本都會有都會有授權控制的應用,如RBAC許可權等。本文通過分享使用Cookie控制訪問授權的方法,來協助新手更好的理解php和使用cookies。
<?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 } ?>
相關推薦:
ThinkPhp RBAC心得_PHP教程
PHP學習之萬年曆的編寫
PHP學習CURL之爬蟲執行個體