php使用Cookie控制访问授权的方法

这篇文章主要介绍了php使用Cookie控制访问授权的方法,分析了Cookie控制访问授权的原理与使用技巧,需要的朋友可以参考下

本文实例讲述了php使用Cookie控制访问授权的方法。分享给大家供大家参考。具体如下:

  1. <?php
  2. if(isset($_POST['name'])||isset($_POST['pass'])){
  3. //如果有表单有提交
  4. //检测表单中需要的值
  5. if(emptyempty($_POST['name'])){
  6. die("请输入用户名!");
  7. }
  8. if(emptyempty($_POST['pass'])){
  9. die("请输入密码!");
  10. }
  11. //设置数据库变量
  12. $host = "localhost";
  13. $user = "root";
  14. $pass = "zq19890319";
  15. $db = "cookie";
  16. //打开连接
  17. $connection = mysql_connect($host, $user, $pass) or die("Unable to connect!");
  18. //选择一个数据库
  19. mysql_select_db($db) or die("Unable to select database!");
  20. //建立一个查询
  21. $query = "SELECT * FROM users WHERE name = '".$_POST['name']."' AND pass = SHA1('".$_POST['pass']."')";
  22. //执行一个查询
  23. $result = mysql_query($query) or die("Error in query:$query." . mysql_error());
  24. //是否有记录集返回
  25. if(mysql_num_rows($result) == 1){
  26. //如果有一行记录返回
  27. //表示验证已经通过
  28. //建立一个session,设置一个登陆标记为1,并将当前用户名保存在cookie中
  29. session_start();
  30. $_SESSION['auth'] = 1;
  31. setcookie("username", $_POST['name'], time()+(84600*30));
  32. echo "用户访问已经授权!";
  33. }else{
  34. echo "错误的用户名或密码!";
  35. }
  36. //释放记录集
  37. mysql_free_result($result);
  38. //关闭数据库
  39. mysql_close($connection);
  40. }
  41. else{
  42. //如果没有表单提交,则显示一个HTML表单
  43. ?>
  44. <html>
  45. <head></head>
  46. <body>
  47. <center>
  48. <form method="post" action="">
  49. 用户名<input type="text" name="name" value="<?php echo $_COOKIE['username'];?>" />
  50. <p />
  51. 密码<input type="password" name="password" />
  52. <p />
  53. <input type="submit" name="submit" value="登陆" />
  54. </form>
  55. </center>
  56. </body>
  57. <?php
  58. }
  59. ?>