您的位置:首页 > 编程语言 > PHP开发

PHP会话控制之cookie-实例

2010-12-10 14:35 489 查看
cookie启用,赋值,删除等语法:

//设置cookiey语法
//bool setcookie(string $name[,string $value[,int $expire[,string $path[,string $domain[,bool $secure]]]]])

<?php
setcookie("username","skygao",time()+60*60*24*7); //向客户端发送一个Cookie

setcookie("username","skygao",time()+60*60*24*7, "/test",".example.com",1);
//使用全部参数设置
?>

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

<?php
setcookie("user[username]", "skygao"); //设置为$_COOKIE["user"]["username"]
setcookie("user[password]", md5("123456")); //设置为$_COOKIE["user"]["password"]
setcookie("user[email]", "skygao@lampbrother.net"); //设置为$_COOKIE["user"]["email"]
?>

<?php
foreach($_COOKIE["user"] as $key => $value){ //遍历$_COOKIE[“user”]数组
echo $key.":".$value."/n"; //输出Cookie数组中二维的键值对
}
?>

<?php
//只指定Cookie识别名称一个参数,即删除客户端中这个指定名称的Cookie资料a
setCookie("Account"); //第一种方法
//设置Cookie 在当前时间之前已经过期,因此系统会自动删除识别名称为isLogin的Cookie
setCookie("isLogin","" , time()-1); //第二种方法
?>


实例化登录退出模块:

login.php

<?php
//声明一个删除Cookie的函数,调用时清除在客户端设置的所有Cookie
function clearCookies() {
setCookie('username', '', time()-3600); //删除Cookie中的标识符为username的变量
setCookie('isLogin', '', time()-3600); //删除Cookie中的标识符为isLogin的变量
}
if($_GET["action"]=="login") { //判断用户是否执行的是登录操作
clearCookies(); //调用时清除在客户端先前设置的所有Cookie
//检查用户是否为admin,并且密码是否等于123456
if($_POST["username"]=="admin" && $_POST["password"]=="123456"){
//向Cookie中设置标识符为username,值是表单中提交的,期限为一周
setCookie('username', $_POST["username"], time()+60*60*24*7);
//向Cookie中设置标识符为isLogin,用来在其他页面检查用户是否登录
setCookie('isLogin', '1', time()+60*60*24*7);
header("Location:index.php"); //如果Cookie设置成功则转向网站首页
}else{
die("用户名或密码错误!");
}
}else if($_GET["action"]=="logout"){ //判断用户是否执行的是退出操作

clearCookies(); //调用时清除在客户端设置的所有Cookie
}
?>
<html>
<head><title>用户登录</title></head>
<body>
<!--以HTML形式输出用户登录表单,提交给本页面-->
<table border="1" width="300" align="center" cellpadding="5" cellspacing="0">
<caption><h1>用户登录</h1></caption>
<form action="login.php?action=login" method="post">
<tr>
<th>用户名</th>
<td><input type="text" name="username" size=25></td>
</tr>
<tr>
<th>密  码</th>
<td><input type="password" name="password" size=25></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="登录">
<input type="reset" value="重置">
</td>
</tr>
</form>
</table>
</body>
</html>


index.php

<?php
if($_COOKIE["isLogin"]){ //判断用户是否通过了身份验证
echo '您好:'.$_COOKIE["username"].',  '; //从Cookie中获取登录用户名输出
echo '<a href="login.php?action=logout">退出</a>'; //为用户提供一个退出的操作链接
}else{ //如果用户没有通过身份验证
header("Location:login.php"); //页面跳转至登录页面
exit; //终止程序继续执行
}
?>


内容取自兄弟连《草根》第3期关于cookie的内容,版权归原作者所有
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: