标签:cookie
如果要删除保存在client端的cookie有两种方式
这两种方式和设置cookie一样,都是调用setcookie()函数来实现
<?php //只指定cookie识别名称的第一个函数,即删除client中指定名称cookie的资料 setcookie(“account”); //设置cookie在当前时间之前已经过期,因此系统会自动删除已过期的cookie setcookie(“islogin”,"",time()-1) ?>
第一种是将生存的期限默认设置的为空,即与浏览器的生存时间一致,当关闭浏览器时,自动清除cookie
第二种是将cookie参数的有效期设置为过期,系统会自动清除过期的cookie
基于cookie的用户登陆模块
login.php
<?php /* 声明一个删除cookie的函数,调用时候清楚在client的所有cookie */ function clearCookie(){ setcookie(‘username‘,‘‘,time()-3600);//删除cookie中的标识符为username的变量 setcookie(‘islogin‘,‘‘,time()-3600);//删除cookie中的标识符为islogin的变量 /*判断用户是否执行的是登陆操作*/ if($_GET["action"]=="login") { //调用时清除在client端先前设置的所有cookie clearCookie(); /*检查用户是否为admin且密码是否为abc-123*/ if($_POST[‘username‘]==‘admin‘ && $_POST[‘password‘]==‘abc-123‘){ /*向cookie中设置标识符为username,值是表单中提交的,期限为一周*/ setcookie(‘username‘,$_POST[‘username‘,time()+60*60*24*7]); /*向cookie中设置标识符为islogin,用来检查在其他页面是否登陆*/ setcookie(‘islogin‘,‘1‘,time()+60*60*24*7) /*如果cookie设置成功则转向网站首页*/ header("Loccation:index.php");} else{ die("用户名或密码错误"); } /*判断用户是否执行退出操作*/ }else if($_GET["action"]=="loginout"){ /*退出时候清除在client设置的所有cookie*/ 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>
index.php
<?php //如果用户没通过身份验证,则跳转至登陆页面 if(!(isset($_COOKIE[‘islogin‘]) && $_COOKIE[‘islogin‘] == ‘1‘)){ header("Location:login.php"); exit; } ?> <html> <head><title> 网站首页 </title></head> <body> <?php /*从cookie中获取用户名username*/ echo ‘您好:‘.$_COOKIE[‘username‘]; ?> <a href="login.php?action=logout">退出</a> <p> welcome ! This is web page </p> </body> </html>
END !
本文出自 “百折不回” 博客,请务必保留此出处http://changbo.blog.51cto.com/1316452/1627127
标签:cookie
原文地址:http://changbo.blog.51cto.com/1316452/1627127