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

  本文实例讲述了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程序设计有所帮助。