Heim >Backend-Entwicklung >PHP-Tutorial >PHP4之COOKIE支持详解

PHP4之COOKIE支持详解

WBOY
WBOYOriginal
2016-06-01 14:29:32835Durchsuche
php4之COOKIE支持详解

   建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的信息,在PHP中提供了两种方便的手段:session和cookie功能.为了永久的保持用户信息,则cookie是最便捷的手段.在这里我将为大家详细的讲解cookie的功能及使用方法.

  一: 设置cookie
    使用cookie前必须设置cookie.
    函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
    其中,除name外,所有的参数都是可选的,可以用空的字符串表示未设置.
    属性value: 用来指定值.
    属性path: 用来指定cookie被发送到服务器的哪一个目录路径下.
    属性domain:能够在浏览器端对cookie的发送进行限定. 
    expire参数:用来指定cookie的有效时间,它是一个标准的Unix时间标记.
          可以用time()或者mktime()函数取得,以秒为单位.
    secure参数:表示这个cookie是否通过加密的HTTPS协议在网络上传输.

  二: 设置cookie时的注意事项
    在同一个页面中设置cookie,实际上是按从后往前的顺序进行的.如果要先删除一个cookie,再写入一个cookie,则必须先写写入语句,再写删除语句.否则会出现错误.
 
  三: setcookie举例
    简单的: setcookie("mycookie","value_of_mycookie");
    带失效时间的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
    什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);

  四: cookie的一些特点
    cookie是面向路径的.缺省path属性时,WEB服务器页会自动传递当前路径给浏览器.指定路径会强制服务器使用设置的路径.
    在一个目录页面里设的cookie在另一个目录的页面里是看不到的.

  五: 接收和处理cookie
    PHP对cookie的处理是全自动的,和处理FORM变量的原则一样.当然也可以使用PHP全局变量,$HTTP_COOKIE_VARS数组.
    例: echo $mycookie;
       echo $cookie Array[0];
       echo count($cookie Array);
       echo $HTTP_COOKIE_VARS["mycookie"];
   
  六: 删除cookie
    (1)调用只带有name参数的setcookie();
    (2)使失效时间为time()或time-1; 
  
  七: 使用cookie的限制
    (1) 必须在HTML文件的内容输出之前设置;
    (2)不同的浏览器对cookie的处理不一致,使用时一定要考虑;
    (3)客户端的限制,比如用户设置禁止cookie,则cookie不能建立;
  
  八: 一个具体的例子,希望大家对cookie有更加深刻的认识
     
     //cookie.php
     if(!isset($flag))
      {
      setcookie("mycookie","this my cookie!");
      header("location:cookie.php?flag=1");
      exit;
      }
     ?>
     
     
     
      echo "cookie中有:".$mycookie;
     ?>
     
     
   
  怎么样,通过上面的介绍,你是不是对PHP中的COOKIE功能有了详细的了解.发挥你的聪明才智,让你的站点功能更强大吧.如有问题请与 fbigov@sina.com联系.让我们一同进步. 
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn