cookie什么意思?
Cookie常用于识别用户。Cookie是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送Cookie。
Cookie的工作原理是:当一个客户端浏览器连接到一个URL时,它会首先扫描本地存储的Cookie,如果发现其中有和此URL相关联的Cookie,将会把它们返回给服务器端。
Cookie通常应用于以下几个方面。
(1)在页面之间传递变量。因为浏览器不会保存当前页面上的任何变量信息,如果页面被关闭,那么页面上的所有变量信息也会消失。通过Cookie,可以把变量值在Cookie中保存下来,然后另外的页面可以重新读取这个值。
(2)记录访客的一些信息。利用Cookie可以记录客户曾经输入的信息或者访问网页的次数。
(3)把所查看的页面保存在Cookie临时文件夹中,可以提高以后的浏览速度。
用户可以通过header以如下格式在客户端生成Cookie:
Set-cookie:NAME = VALUE;[expires=DATE;][path=PATH;][domain=DOMAIN_NAME;] [secure]
NAME为Cookie的名称,VALUE为Cookie的值,expires=DATE为到期日,path=PATH和domain=DOMAIN_NAME是与某个地址相对应的路径和域名,secure表示Cookie不能通过单一的HTTP连接传递。
1创建Cookie
通过PHP,用户能够创建Cookie。创建Cookie可调用setcookie()函数,语法格式如下:
setcookie(名称,cookie值,到期日,路径,域名,secure)
其中的参数与set-cookie中的参数意义相同。setcookie()函数必须位于<html>标签之前。在下面的例子中将创建名为user的Cookie,赋值为“Cookie保存的值”,并且规定此Cookie在一小时后过期。
<?php setcookie("user", " Cookie 保存的值", time()+3600); ?> <html> <body> </body> </html>
运行上述程序,会在Cookies文件夹下自动生成一个Cookie文件,有效期为一个小时,在Cookie失效后,Cookies文件自动被删除。
2读取Cookie
在PHP中,可以使用$_COOKIE变量取回Cookie的值。下面通过实例讲解如何取回上面创建的名为user的Cookie的值,并把它显示在页面上。
<?php // 输出一个Cookie echo $_COOKIE["user"]; // 显示所有的Cookie print_r($_COOKIE);?>
3调用函数删除
删除Cookie仍然可以调用setcookie()函数,将第二个参数设置为空、第三个参数的过期时间设置为小于系统的当前时间即可。【例13.4】(实例文件:源文件\ch13\13.4.php)
<?php // 将Cookie的过期时间设置为比当前时间减少10秒 setcookie("user", "", time()-10); ?>
在上面的代码中,time()函数返回的是当前的系统时间,把过期时间减少10秒,这样过期时间就会变成过去的时间,从而删除Cookie。如果将过期时间设置为0,也可以直接删除Cookie。