PHP如何操作Cookie?-php教程

资源魔 33 0

Cookie是存储正在客户端较量争论机上的文本文件,它们保存用于跟踪目的。PHP通明地支持HTTP cookie。

辨认回归用户触及三个步骤

 ● 效劳器剧本将一组cookie发送到阅读器。例如春秋等。

 ● 阅读器将此信息存储正在内陆较量争论机上以供未来应用

 ● 当下次阅读器向Web效劳器发送任何申请时,它会将这些cookie信息发送到效劳器,效劳器应用该信息来辨认用户。

本章将教您若何设置cookie,若何拜访它们和若何删除了它们。

Cookie的分析

Cookie通常设置正在HTTP标头中(虽然JavaScript也能够间接正在阅读器上设置cookie)。设置cookie的PHP剧本可能会发送看起来像这样的题目(阅读器F12,network(网络)能够看到)

HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; 
                 path=/; domain=jc2182.com
Connection: close
Content-Type: text/html

如您所见,Set-Cookie标头蕴含称号值对,GMT日期,门路以及域。称号以及值将进行URL编码。expires字段是阅读器正在给按时间以及日期之后删除了cookie的指令。假如阅读器设置装备摆设为存储cookie,则会将此信息保存到无效期。假如用户将阅读器指向与cookie的门路以及域婚配的任何页面,它会将cookie从新发送到效劳器。阅读器的题目可能以下所示

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc)
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz

而后,PHP剧本能够拜访环境变量$_COOKIE,此中蕴含一切cookie称号以及值。

用PHP设置Cookies

PHP提供了setcookie()函数来设置cookie。此函数最多需求六个参数,应正在<html>标志以前挪用。关于设置每个cookie,必需独自挪用此函数。

setcookie(name, value, expire, path, domain, security);

这是一切参数的细节

 ● name - 设置cookie的称号。

 ● value - 设置定名变量的值,而且是您实际要存储的内容。

 ● expire - 这指定自1970年1月1日格林尼治本准工夫00:00:00以来的将来工夫(以秒为单元)。正在此之后,cookie将无奈拜访。假如未设置此参数,则正在Web阅读器封闭时cookie将主动过时。

 ● path - 指定cookie无效的目次。单个正斜杠字符容许cookie对一切目次无效。

 ● domain - 这可用于正在十分年夜的域中指定域名,而且必需至多蕴含两个无效期。一切cookie仅对创立它们的主机以及域无效。

 ● security - 能够设置为1以指定cookie应仅经过应用HTTPS的平安传输发送,不然设置为0,这象征着cookie能够经过惯例HTTP发送。

如下示例将创立两个cookie 称号以及春秋,这些cookie将正在一小时后过时。

<?php
   setcookie("name", "John Watkin", time()+3600, "/","", 0);
   setcookie("age", "36", time()+3600, "/", "",  0);
?>
<html>
   
   <head>
      <title>用PHP设置Cookies</title>
   </head>
   
   <body>
      <?php echo "设置 Cookies"?>
   </body>
   
</html>

提醒:time()函数前往的是以后的工夫戳,也就是1970年1月一日0点0分0秒到剧本执行的那一刻的秒数。

关上阅读器拜访剧本,而后按F12关上开发者模式,抉择Network(网络)选项卡,抉择Headers,能够看到以下图所示:

1.png

应用PHP拜访Cookie

PHP提供了许多拜访cookie的办法。最简略的办法是应用$_COOKIE变量。如下示例将拜访下面示例中设置的一切cookie。

<html>
   
   <head>
      <title>用PHP拜访cookie</title>
   </head>
   
   <body>
      
      <?php
         echo $_COOKIE["name"]. "<br />";
         
         echo $_COOKIE["age"] . "<br />";
  
      ?>
      
   </body>
</html>

您能够应用isset()函数来反省能否设置了cookie。假如设置了再进行输入。

<html>
   
   <head>
      <title>用PHP拜访cookie</title>
   </head>
   
   <body>
      
      <?php
         if(isset($_COOKIE["name"]))
                echo $_COOKIE["name"]. "<br />";
         if(isset($_COOKIE["age"]))
                echo $_COOKIE["age"] . "<br />";
  
      ?>
      
   </body>
</html>

用PHP删除了Cookie

正式地说,要删除了一个cookie,你应该只应用name参数挪用setcookie()[也就是说想删除了阿谁name,把他设置成空],但这其实不老是无效,不该该依赖。最平安的做法是设置一个曾经过时的日期

/ 设置过来工夫为以后工夫的以前的60秒 /

<?php
   /* 设置过来工夫为以后工夫的以前的60秒 */
   setcookie( "name", "", time()- 60, "/","", 0);
   setcookie( "age", "", time()- 60, "/","", 0);
?>
<html>
   
   <head>
      <title>用PHP删除了cookie</title>
   </head>
   
   <body>
      <?php echo "删除了cookie" ?>
   </body>
   
</html>

保举学习:PHP教程

以上就是PHP若何操作Cookie?的具体内容,更多请存眷资源魔其它相干文章!

标签: php cookie php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!