标签: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