PHP会话机制之COOKIE操作

PHP会话控制技术
特点:http是不能维持会话信息的,无状态的
会话控制技术
维持会话信息,控制会话状态
会话控制的思想是允许服务器跟踪同一个客户端做出的连续请求
会话跟踪的方式
用户请求一个页面以后再请求另外一个页面时候,需要让服务器知道这是一个用户,共有三种数据传递方式
1,超链接或者header()函数等重定向方式
2,使用cookie将用户的信息状态,存放在客户端的计算机中
3,使用session将用户的信息状态,存放在服务器中
会话控制的使用,两大类
1,cookie
cookie是在http协议下,服务或脚本维护客户端信息的一种方式
cookie是一种由服务器发给客户端的片段信息,存储在客户端浏览器的内存或者硬盘上,常用于保存个性化设置,个人偏好记录等,当用户访问服务器是,服务器可以设置和访问cookie信息。
cookie保存在客户端,通常是ie或者浏览器的cookie临时文件中,可以手动删除,如果文件太多,浏览器也会自动对他删除。
缺点:不能保存私密性太高的
如何设置cookie?
1,添加cookie
setcookie($name,$value,$expire,$path,$domain);
$name:cookie的值
$value:该cookie的值
$expire:该cookie的过期时间,过期后,该cookie会自动删除,如果不指定时间,关闭浏览器就会销毁
$path:有效路径,该cookie只在该路径下有效,可以访问,没有指定,当前文件路径
$domain 有效域名,该cookie只在该域名下有效,可以访问
注意:$setcookie前面不允许有任何的输出


2,修改cookie
setcookie($name,$value,$expire,$path,$domain);
重新设置cookie
3,查询cookie
使用超全局数组$_COOKIE[username];
4,删除cookie

setcookie("username".'',time()-3600,"/");

代码部分:

<?php 
header("Content-type: text/html; charset=utf-8"); 
if(empty($_COOKIE['username'])){
	header('location:1.php');
}else{
	echo "欢迎你回来";
	header('location:3.php');
}
上面代码可以判断客户端是否有COOKIE,如果有会跳转个人列表,如果没有会跳转登录页。

<?php 
header("Content-type: text/html; charset=utf-8"); 
?>
<html>
<form action="2.php" method="post">
	用户名<input type="text" name="username">
	密码<input type="text" name="password">
	<input type="submit" value="go">
</form>
</html>
上面是登录页面

<?php
	header("Content-type: text/html; charset=utf-8"); 
	$username=$_POST['username'];
	$password=$_POST['password'];
	if($username=='admin' && $password=='123'){
		setcookie('username',$username,time()+3600,"/");
		echo "<a href='3.php'>个人中心</a>";
		echo "登录成功";else{
		echo "登录失败";
	}

接收用户信息

<?php		
	header("Content-type: text/html; charset=utf-8"); 
	echo "你好".$_COOKIE['username']."<a href='4.php'>退出(删除cookie)</a>";
	// var_dump($_COOKIE);
在cookie中读取数组,取出用户名

<?php 
	date_default_timezone_set("PRC");
	// setcookie("username".'',time()-3600,"/");
	setcookie('username','',time()-3600,"/");
上面是注销cookie。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值