background image

如果要设置同名的多个 Cookie ,要用数组,方法是:
SetCookie("CookieArray[]", "Value 1");
SetCookie("CookieArray[]", "Value 2");

SetCookie("CookieArray[0]", "Value 1");
SetCookie("CookieArray[1]", "Value 2");
 
2、接收和处理 Cookie
PHP 对 Cookie 的接收和处理的支持非常好,是完全自动的,跟 FORM 变量的原则一样,
特别简单。

 

比如设置一个名为 MyCookier 的 Cookie,PHP 会自动从 WEB 服务器接收的 HTTP 头里把
它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是
Cookie 的值。数组同样适用。另外一个办法是引用 PHP 的全局变量

$HTTP_COOKIE_VARS

数组。
分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)

echo

 

$MyCookie

;

echo

 

$CookieArray

[0];

echo

 

count

(

$CookieArray

);

echo

 

$HTTP_COOKIE_VARS

["MyCookie"];

就这么简单。
 
3、删除 Cookie
要删除一个已经存在的 Cookie,有两个办法:
 
一是调用只带有 name

 

参数 的 SetCookie,那么名为这个 name 的 Cookie 将被从关系户机

上删掉;
另一个办法是设置 Cookie 的失效时间为 time()或 time()-1 ,那么这个 Cookie 在这个页面
的浏览完之后就被删除了(其实是失效了)。
要注意的是,当一个 Cookie 被删除时,它的值在当前页在仍然有效的。
 
4、使用 Cookie 的限制
首先是必须在 HTML 文件的内容输出之前设置;
其次不同的浏览器对 Cookie

 

的处理不一致辞,且有时会出现错误的结果。比如: MS 

IE+SERVICE PACK 1 不能正确处理带域名和路径的 Cookie,Netscape Communicator 4.05
和 MS IE 3.0 不能正确处理不带路径和时间的 Cookie。至于 MS IE 5 好象不能处理带域名、
路径和时间的 Cookie。这是我在设计本站的页面时发现的。
第三个限制是在客户端的。
 

 

一个浏览器能 创建的 Cookie 数量最多为 30

 

个,并且每个 不能超过 4KB ,每个 WEB 站

 

点 能设置的 Cookie 总数不能超过 20

 

个 。