background image

  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 个。