cookie的学习

本文详细介绍了如何使用PHP处理Cookie,包括创建、获取、更新及删除Cookie的方法,并通过实例展示了如何记录用户的最后登录时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Cookie的定义

         Cookie就是当你访问网页的时候,服务器客户端保存的用户登录的信息和一些浏览的等信息。这些就是Cookie。Cookie的
   数据量不大,当在服务器需要的时候,就会自动从客户端进行提取。这些cookie被保存在客户端的缓存录下。
<?php
//利用一个函数来创建我们的Cookie.
//第一个参数代表键(key),第一个参数是值(val),第三个参数代表Cookie在客户段保存的时间
//时间用time()+秒数。是从当前时间开始算起
setcookie("name","xiaoxin",time()+600);
setcookie("name","小鑫",time()+300);
setcookie("age","21",time()+600);
?>
注释:
1.客户端可以保存多个键值对key=>val,而且每个的有效时间可以不一样
2.客户端可以保存中文,此时会自动使用urlencode进行编码
3.当你使用cookie保存密码时候,最好用md5()函数编码。要不然密码就会被人家发现哦
4.当设置第二个或者第三个任意一个为null,cookie都不会被保存成功。

二.如何获取cookie的值

//利用$_COOKIE['键名']可以获取
<?php
  
  //获取所有Cookie的信息
  echo "<pre>";
     print_r($_COOKIE);
  echo "</pre>";
  
//获取单独的一个Cookie信息
   $name=$_COOKIE['name'];
   echo "姓名是:".$name;
?>
注释:
1.当cookie的有效期一到,就不可以取出cookie了
2.这个过程是HTTP协议规定的

三.如何更新cookie

<?php
 //更新其实就是利用setcookie()进行重置
 //setcookie("name","xiaoxin",time()+600);
  setcookie("name","A_xin",time()+600);
 //此时它就会改变原来的xiaoxin为A_xin了。
?>

四.删除Cookie

<?php
  //删除cookie的时候,就是把时间往后设置即可,即就是time()-秒数(此时这个秒数的大小没有限制)
 //删除一个信息
 setcookie("name","xiaoxin",time()-600);
 //删除所有的即就是遍历一下数组而已
 foreach($_COOKIE as $key=>$val)
 {
    setcookie("$key","",time()-30);
 //此时即可全部删除
 }
?>
注释:
1.当你把所有的cookie删除完了,客户端会删除相应的文件。如果没有删除完,则会保存相应的文件。

五.应用

<?php
//利用一个cookie的技术实现登陆时间的显示
if(!empty($_COOKIE['lastvisit']))
{ 
 echo "<font color='white'><b>您上次登陆的时间是</b></font>"."<font color='yellow'><b>".$_COOKIE['lastvisit']."</b></font>";
setCookie("lastvisit",date("Y-m-d H:i:s"),time()+30*24*3600); 
}
else
{
echo "您好,您是第一次登陆本系统!";
}
?>

注释:
当你发现显示的时间和现实的时间不对时候,不要急,这是因为php默认的时区和我们的不一样而已。
liangzhong解决的方案:
1.在php.ini文件中寻找date.zonetime。如果有则设置date.zonetime=时区值。反之,自行添加date.zonetime=时区值;
2.在当前的php文件中添加date_default_timezone_set('时区值')解决



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值