PHP脚本对Cookie的读取

来源:互联网 发布:mysql select unique 编辑:程序博客网 时间:2024/06/14 18:32

当cookie设置成功后,客户端就拥有了cookie文件,用来保存Web服务器为其设置的用户信息。Cookie是以一个普通的文本文件的形式记录的,直接去阅读cookie是没有任何意义的。当客户再次访问网站时,浏览器会自动把与该站点对应的cookie信息全部发回给服务器。可以通过下面的代码来调试现有的cookie:

<?php  //输出Cookie中保存的所有用户信息  print_r($_COOKIE);

如果用户不希望网站保存自己的密码,但是在之前已保存的情况下可以通过两种方法来删除需要删除的Cookie。第一种方式,省略setcookie( )函数的所有参数列,仅导入第一个参数Cookie识别名称参数,来删除指定名称的Cookie资料;第二种方式,利用setcookie()函数把目标Cookie设定为“已过期状态”。如下代码所示:

<?php  //指定一个cookie名,删除客户端指定的cookie资料  setCookie("account");     //第一种方法  //设置cookie在当前时间已过期  setCookie("isLogin","",time()-1);   //第二种方法

在用户登录中,都只有通过验证的用户才能访问相应的网页,在每个PHP脚本中都可以跟踪登录用户的信息。

<?php  function clearCookie(){    setCookie("username","",time()-3600);    setCookie("isLogin","",time()-3600);  }  if($_GET["action"] == "login"){    clearCookie();    if($_POST["username"] == "admin" && $_POST["password"] == "123456"){      setCookie("username",$_POST["username"],time()+60*60*24*7);      setCookie("isLogin","1",time()+60*60*24*7);      header("Location:index.php");    }else{      die("用户名或密码错误");    }  }else if($_GET["action"] == "logout"){      clearCookie();  }  ?>  <html>      <head><title>用户登录</title></head>      <body>        <h2>用户登录</h2>        <form action="login.php?action=login" method="post">          用户名<input type="text" name="username" /><br>          密码<input type="password" name="password" /><br>          <input type="submit" value="登录">        </form>      </body>    </html>

根据上述action事件参数判断用户执行的是登录还是推出操作,如果是登录则先与数据库进行匹配,匹配成功后则向Cookie中设置username和isLogin两个选项,即登录成功