•   欢迎来到21NN网.
  •   请记住本站网址www.21nn.cn

PHP怎样操纵Cookie?【php教程】,PHP,Cookie

摘要: Cookie是存储在客户端盘算机上的文本文件,它们保存用于跟踪目标。PHP透明地支撑HTTPcookie。辨认回归用户触及三个步骤 ● 服务器剧本将一组cookie发送到浏览器。比方岁数...

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,能够看到以下图所示:

运用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?的细致内容,更多请关注ki4网别的相干文章!

分享到:

发表评论

评论列表

还没有评论,快来说点什么吧~

公众号二维码

微信公众号