11(Cookie和Session)

 目录

Cookie:

Cookie简介:

Cookie的工作原理:

设置Cookie:

Cookie的名称和值的类型:

读取Cookie:

Cookie的设置:

Cookie的有效时间:

Cookie的有效路径:

删除Cookie:

方式一,设置有效时间为过去时间:

方式二,将COOKIE的值设置为false:

方式三,将COOKIE的值设置为空字符串:

方式四,不设置COOKIE的值:

方式五,清除浏览器缓存:

Session:

Session简介(与Cookie对比):

开启SESSION:

添加Session数据:

读取session数据:

删除session数据:

方式一,使用unset()来删除单个session数据:

方式二,将一个空的数组,赋值给$_SESSION变量:

销毁当前Session文件:

Session设置:修改php.ini文件:

修改session保存位置(session.save_path):

修改session ID名称(session.name):


Cookie:

Cookie简介:

Cookie是客户的数据,数据是由服务器生成的,传回并保存在客户端(本地浏览器)上,下次请求时,会将Cookie数据发往服务器,服务器就可以使用该Cookie的数据了,因为Cookie是保存在客户端的,因此不太安全,而且Cookie的保存数量是有限制的,常用在例如:网站自动登录、记录用户浏览爱好、购物车等。

Cookie的工作原理:

设置Cookie:

描述:发送一个COOKIE到客户端

语法:bool setcookie(string $name[,string $value[,int $expire=0[,string $path]]]);

参数:

$name:Cookie的名称;

$value:Cookie的值;

$expire:Cookie的有效期,默认是0,表示浏览器关闭cookie就失效了;

$path:Cookie的有效路径;

Cookie的名称和值的类型:

COOKIE的名称和值一般都是是字符串,不能是其他类型!

读取Cookie:

Cookie的设置:

Cookie的有效时间:

通过设置setcookie()的第三个参数。

Cookie的有效路径:

有时候一个存储Cookie的数据量还是很大的,一个普通的门户网站的Cookie数据大约为1GB,每次请求该网站的任何页面,都要把1GB的Cookie数据带过去,这样效率太低。为了提高效率我们将不同的Cookie设置到不同的目录。当访问指定目录时,只携带指定目录的Cookie数据。

通过设置setcookie()的第四个参数来实现。

说明:

默认是网站的根目录“/”,即在本网站的任何子目录都可以访问该Cookie,例如:Setcookie(“uname”,”lyg”,0,”/”);表示该Cookie数据可以在任何目录使用。而Setcookie(“uname”,”xx”,0,”/etl”);//该Cookie数据只可以在etl目录下使用。

删除Cookie:

方式一,设置有效时间为过去时间:

 方式二,将COOKIE的值设置为false:

注意的是false不要带引号。

方式三,将COOKIE的值设置为空字符串:

 方式四,不设置COOKIE的值:

方式五,清除浏览器缓存:

Session:

Session简介(与Cookie对比):

1.Cookie将数据保存在客户端,而Session是保存在服务器上;

2.Cookie保存的数据类型只能是字符串,而Session可以保存除了资源值之外的任何数据类型;

3.Cookie保存的数据相对较小,Session可以保存很大的数据;

4.Session是基于Cookie技术的,没有Cookie就没有Session;

5.Session在服务器上是以文件的形式存储的;

6.Session是将Session的ID存储在Cookie中,而Session数据保存在服务器上,每次请求时,只需要发送Session的ID,通过Session的ID将服务器端保存的用户数据调出来。

开启SESSION:

描述:开启一个新的SESSION会话,或者重用一个SESSION会话。

语法:bool session_start();

说明:开启Session,就是创建一个Session的ID,会自动生成在Cookie中,该ID是一个唯一随机值。

注意:

哪个页面需要用到Session的ID,那个页面就必须要开启Session,一个页面只能开启一次,不能开启第二次,同一个网站,对于一个用户来说,只有一个Session的ID。

 

添加Session数据:

开启Session之后,系统就会自动生成$_SESSION预定义变量,添加Session的数据实际上只需要给该变量数组赋值即可。

语法:$_SESSION[name] = value;

 

 设置Session在服务器中的存储位置:

 通过php.ini可以设置:

session.save_path=’…’

读取session数据:

删除session数据:

方式一,使用unset()来删除单个session数据:

unset($_SESSION[‘username’]);

方式二,将一个空的数组,赋值给$_SESSION变量:

$_SESSION = array();

销毁当前Session文件:

正常退出一个应用会删除当前的Session文件,例如点击“退出按钮”而不是直接关闭网页,这样可以减少系统垃圾。注意的是只会删除该ID下的Session文件,不会删除别的用户的Session文件。

描述:删除当前用户的Session文件

语法:bool session_destroy();

 

Session设置:修改php.ini文件:

修改session保存位置(session.save_path):

 修改session ID名称(session.name):

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值