作者:peaxcwxzl_372248 | 来源:互联网 | 2017-05-13 02:31
phpcookie之学习笔记。cookie是所有程序中都会用到的一个会话,下边我把我学习phpcookie的笔记分享给各位同学,本文章介绍了所有关于cookie入门篇的小技巧,有需
COOKIE是所有程序中都会用到的一个会话,下边我把我学习php COOKIE 的笔记分享给各位同学,本文章介绍了所有关于COOKIE入门篇的小技巧,有需要的同学可参考。
COOKIE是什么意思?
COOKIE是用来存储用户名、密码、访问该站点的次数等。在访问某个网站时,COOKIE将html网页发送到浏览器中一个小段信息,以脚本的形式保存在客户端的计算机上。
COOKIE有什么用?如果用服务器去记录个用户上站的次数,那么长期积累下来数据必然十分庞大,对服务器来说负担很中。因此,可以将数据存入到用户自己的计算机中,等到需要时服务器再读取用户计算机上的COOKIE提取数据,这样一来服务器就不需要记录大量的数据。
一般来说,COOKIE通过HTTP Headers从服务器端返回浏览器。首先,服务器端在响应中利用Set COOKIE Header来创建一个COOKIE。然后浏览器在请求中通过COOKIE Header包含这个已经创建的COOKIE,并且将它返回至服务器,从而完成浏览器的验证。
COOKIE的创建
php创建一个COOKIE需要调用setCOOKIE()函数,其结构形式如下:
bool setCOOKIE(string name[,string value[,int expiration[,string path[,bool secure]]]])
参数name表示COOKIE的名称,其它参数可选;
参数value是存入COOKIE的值;
参数expiration指定COOKIE过期的时间;
参数path指定COOKIE在服务器上的有效路径,用来设置COOKIE将被发送到服务器的那一个文件夹下;
参数secure指定COOKIE是否通过安全的https链接发送。
php COOKIE实例代码:
代码如下 |
|
setCOOKIE("c1","my name is Rose",time()+3600);
/* 建立一个名称为"c1"的COOKIE 过期时间为3600秒 */
?>
|
COOKIE的访问
大多数变量只在内存占用空间,因此当php脚本终结时变量也从内存中被释放清空。而COOKIE可以将变量的值长期存储到用户计算机的硬盘,当我们需要调用此变量的值时,读取该COOKIE的名称即可。
前面一节COOKIE的创建已经建立了一个命名为”c1″的COOKIE,下面我们来测试一下这个COOKIE是否成功创建了。
php 访问COOKIE的实例:
代码如下 |
|
echo "c1的COOKIE值是 " .$_COOKIE['c1'] ." ";
echo "c2的COOKIE值是 " .$_COOKIE['c2'];
?>
|
COOKIE的时间
如果没有设置COOKIE的有效时间,那么当关闭浏览器时COOKIE就会消失。如果要保留COOKIE,就必须给它设置一个有效的时间。
php COOKIE时间设置方法:
time()+秒数
time()表示目前用户操作系统的时间,后面的秒数即是COOKIE的有效时间。如果要制定一个特定的日期,可以使用mktime()函数,其结构形式如下:
mktime(时,分,秒,月,日,年)
如果要立即删除一个COOKIE,可以将时间设置成过去的一个时间即可。
php COOKIE时间设置例子:
代码如下 |
|
setCOOKIE("a","10",time()-60); /* 设置时间为之前60秒,其值立即被删 */
setCOOKIE("a","10",time()+60); /* 设置有效时间为60秒 */
setCOOKIE("a","10",mktime(0,0,0,11,1,2011)); /* 失效时间为2011年11月1日0点0分0秒 */
|
下面介绍一个利用COOKIE设计的一个简单统计程序:
代码如下 |
|
$count=$_COOKIE['user'];
$count++;
setCOOKIE("user",$count,time()+3600);
echo "这是你的第 $count 次访问!";
?>
|
COOKIE数组
我们同样可以创建一个php COOKIE数组,下面通过实例介绍实现方法。
代码:
代码如下 |
|
setCOOKIE('name[1]','Rose');
setCOOKIE('name[2]','John');
setCOOKIE('name[3]','Mikle');
if(is_array($_COOKIE['name'])){ /* 判断是否数组 */
foreach($_COOKIE['name'] as $name=>$value) {
echo "$name:$value ";
}
}
else echo "不是数组";
?> |
COOKIE的限制
COOKIE是用来存储用户浏览网站的重要信息,为了防止乱用导致用户的信息泄露,所以对COOKIE作出一定的限制:
浏览器记录用户COOKIE大小限制在4KB以内的容量;
浏览器只保存某个站点服务器的COOKIE数量限制在20个,如果超出这个数量,则之前保存的会被删除。
每个用户的浏览器最多只能访问300个COOKIE。
用户可以在浏览器设置是否启用COOKIE存储信息,因此,要使用COOKIE存储信息,必须先确认浏览器中COOKIE的功能是否已经打开。例如IE9浏览器,打开“属性”–“隐私”–“高级”选项,选中启用即可:
提示:浏览器创建了一个COOKIE之后,对于每个针对该网站的请求都会在Header中带着这个COOKIE。而且浏览器会一直发送,知道COOKIE过期位置。不过对于其它网站的请求,COOKIE是绝对不会跟着发送的。
http://www.bkjia.com/PHPjc/628829.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628829.htmlTechArticleCOOKIE是所有程序中都会用到的一个会话,下边我把我学习php COOKIE 的笔记分享给各位同学,本文章介绍了所有关于COOKIE入门篇的小技巧,有需...