zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Cookie与Session详解编程语言

Cookie编程语言 详解 session
2023-06-13 09:11:04 时间
1、创建Cookie

PHP中通过setcookie()函数创建cookie,在创建cookie之前必须了解的是,Cookie是HTTP头标的组成部分,而头标记必须在页面其他内容之前发送,它必须最先输出,即使在setcookie()函数前输出一个HTML标记或echo语句,甚至一个空行都会导致程序出错。

格式:

setcookie($name,$value,$expire,$path,$domain,$secure)

其中,$path指的是服务器路径,$secure规定是否通过安全的HTTPS来传输Cookie。实例如下所示:

 ?php 

setcookie(PHPcookie, blog.ytso.com); 

setcookie(PHPcookie, blog.ytso.com, time+3600);//设置cookie的有效时间1小时 

setcookie(PHPcookie, blog.ytso.com, time+3600, /cookie/,1); //设置有效时间为1小时;有效目录为/cookie/,有效域名为58lxqy.com及其子域名 

? 
2、读取Cookie
 ?php 

if(!isset($_COOKIE["visittime"])){ //判断cookie文件是否存在?如果不存在 

setcookie("visittime",date("Y-m-d H:i:s")); //设置一个cookie的变量 

echo "欢迎您第一次访问php100网站"; //输出字符串 

}else{ //如果cookie存在 

echo "您上次访问php100的时间为:".$_COOKIE["visittime"];//显示上次设置的cookie的值 

setcookie("visittime",date("Y-m-d H:i:s"),time+3600);//设置新的cookie,失效时间为一个小时 

echo " br //换行 

echo "你本次访问php100的时间为:". $_COOKIE["visittime"];//输出当前访问时间 

? 

如果未设置Cookie到期时间,相应的Cookie在关闭浏览器后会自动删除。如果为Cookie设置了到期时间,浏览器将会记住Cookie数据,即

 ?php 

if(!empty($_COOKIE[num])){ 

$num=$_COOKIE[num]+1; 

}else{ 

$num=1; 

setcookie("num",$num,time()+2678400); 

? 

 

重新启动计算机,只要没到期,访问网站也会获得之前设置的信息。

3、删除Cookie

一种是使用setcookie()函数删除Cookie

setcookie("name","",time()-1);

将cookie的第二个参数设置为空,将三个参数Cookie的到期时间设置为小于系统的当前时间即可,上面把当前时间-1秒就得到过去的时间,从而删除Cookie。其实把过期时间设置为0,可以直接删除Cookie。

4、Cookie的生命周期

浏览器允许最多存储300个Cookie文件,而且每个Cookie文件支持的最大容量为3KB,每个域名最多支持20个Cookie。如果达到限制时,浏览器会自动地随机删除Cookie。

5、Cookie的综合应用,计算网站的月访问量

 ?php 

if(!empty($_COOKIE[num])){ //判断是否存在为num的cookie 

 $num=$_COOKIE[num]+1; //如果存在访问量自动+1 

}else{ 

 $num=1; //否则,设置默认设置为1 

setcookie("num",$num,time()+2678400); //将访问量设置为Cookie,存储时间为31天 

您是第 ?php $num? 位访客 

? 
二、Session管理

1、了解Session

对比Cookie,会话文件中保存的数据是在PHP脚本中以变量的形式创建的,而创建会话变量在生命周期(20分钟)可以被跨页请求所引用。另外,Session是存储在服务器端的会话,相对安全,并且不像Cookie那样有长度的限制。另外Session会话用于存储用户的信息量比较少的情况,如果用户需要存储的信息量比较少,并且存储内容不需要长期存储,那么使用Session把信息存储在服务器端比较合适。

2、启动会话

通过session_start()启动会话,使用此函数之前浏览器不能有任何输出,否则会产生一个类似于如图10-7所示的错误。

通过session_register()函数创建会话,此函数是用来为会话加载一个变量来隐含地启动会话(不需要调用session_start()),但是要求设置

3、注册会话

把信息添加到全局数组$_SESSION中,如下所示:

 ?php 

Session_start(); 

$_SESSION[name]="58lyqy.com"; 

? 

4、使用会话,比较简单

5、删除会话

删除单个会话:unset($_SESSION[ name ]);

删除多个会话:$_SESSION=array()

结束当前会话:session_destroy();

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16467.html

cjavaphp