作者:别紧张-我又不是什么好人还_876 | 来源:互联网 | 2018-04-22 03:27
正文:上文(《谈谈php语法(3)》的最后提到了Cookie和session,本文就这两种技术作一些介绍。Cookie我们都常把它念成“库记”,也叫它“小甜点”。它是一种存储在客户浏览器中的一个小文件。它是为解决HTTP的一次连接而无崐记忆而发展起来的,可用来追踪使用者或是对重返的使用者进行确认。PHP对此提供了setcookie()函数,
正文:
上文(《谈谈php语法(3)》的最后提到了COOKIE和session,本文就这两种技术作一些介绍。
COOKIE我们都常把它念成“库记”,也叫它“小甜点”。它是一种存储在客户浏览器中的一个小文件。它是为解决HTTP的一次连接而无崐记忆而发展起来的,可用来追踪使用者或是对重返的使用者进行确认。PHP对此提供了setCOOKIE()函数,可以设定COOKIE。因为COOKIEs算是崐HTTP标头的一部分。所以,setCOOKIE()函数必须在网页数据传给浏览器之前调用。这同调用header()函数是一样的。
COOKIE必须由主机端提供;所以,我们必须在CGI程序中送出一个设定了COOKIE的标头。如下是PHP中调用setCOOKIE()函数设定COOKIE的崐例子:
setCOOKIE("user","wind",time()+3600,"/php/","http://www.oso.com.cn");
?>
其中,user为该COOKIE的名称;wind为该COOKIE的值;time()+3600为该COOKIE的有效时间;/php/为该COOKIE的相关路径;http://www.崐oso.com.cn为该COOKIE的网站。
其实,我们除了使用这种方式设定COOKIE外,还可使用header()函数如:header("Set-COOKIE:user=wind"),不过这要对HTTP的头部信崐息有所了解才行,所以笔者不建议使用这种方式,还是使用setCOOKIE()方便些。
读取COOKIE时,浏览器在连接某个网站时,会自动先检查是否有该站的COOKIE,有的话将会自动传给服务器,而在PHP中,会将传回的co崐okie作为一个变量。如上面所设的COOKIE返回后,会形成一个$user变量,其值为wind。
但是,COOKIE有个致命的缺点,就是若客户关了COOKIE接收,无法向客户端存放COOKIE时,一切操作就会出错。因此,在PHP4中提供了S崐ession来代替COOKIE。
Session与COOKIE的最大区别在于COOKIE将信息存于客户端,而Session则是存于服务器端。其实,Session是对PHP脚本提供了一个全局崐变量。例子如下:
设置一个Session,名为user,值为wind
session_start();
$user="wind";
session_register("user");
?>
读Session,显示结果为“欢迎你!wind”
session_start();
echo "欢迎你!$user";
?>
本文只是浅谈了一下COOKIE和Session技术,对于想具体了解该技术的人,还请参考别的书藉。
--(待续)--