cookie增删改查

Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

cookie初步介绍:
cookie是服务器在客户端保存用户的信息,数据量并不大,服务端在需要的时候可以从客户端读取,保存在客户端的浏览器缓存目录下。

语法:setcookie(name,val,expire)
cookie不能保存对象,只能保存字符串。

1.创建cookie信息

<?php
header("Content-type:text/html;charset=utf-8");
//演示如何创建cookie信息
//把用户名和密码保存到客户端的cookie
//第一个参数表示cookie的一个key,第二个参数表示val,第三个参数表示cookie值在客户端保存的时间。
setcookie("name","Tom",time()+7200);//当前时间+要保存的时间
setcookie("password","123456",time()+7200);//可以保存多个键值对
echo "sucess";
?>

2.获取cookie信息

<?php
//在保存的时间内,获取cookies全部信息
echo "<pre>";
print_r($_COOKIE);
echo "</pre>";
//获取指定的key对应的值
$name=$_COOKIE['name'];
echo $name;
?>

cookie使用明文方式保存,比较危险。
cookie每一对键值的生命周期是可以不一样的。

3.更新cookie信息
实际上就是重新设置 setCookie();

<?php
    //更新
setcookie("name","Sabrina",time()+30);
echo "把键name的值更新了";
?>

之前的name的值Tom变为Sabrina。

4.删除cookie信息

<?php
//指定删除某一个键值对
//如果要删除某个key,只需要把time()-秒数(多少秒都可以)
setcookie("name","",time()-10);
echo "指定删除成功!";

//如何删除所有的cookie
foreach($_COOKIE as $key=>$val){
    setcookie($key,"",time()-10);
}//遍历删除
echo "全部删除成功!"
?>

若全部删除,则cookie文件也被删除。

5.例子:登录信息

<?php
header("Content-type:text/html;charset=utf-8");
//首先看看cookie有没有上次登录信息
if(!empty($_COOKIE['lastVisit'])){
    echo "上次登录时间是".$_COOKIE['lastVisit'];
    //更新时间
    setcookie("lastVisit",date("Y-m-d H:i:s"),time()+24*3600*7);
}
    else{
        //说明用户是第一次登录
        echo "欢迎您登录!";
        setcookie("lastVisit",date("Y-m-d H:i:s"),time()+24*3600*7);
    }
?>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于cookie的封装,可以实现增删改查功能,以下是一个简单的实现: ```javascript // 封装cookie操作的工具函数 const cookieUtils = { // 获取cookie值 get(key) { const cookieStr = document.cookie; const cookieArr = cookieStr.split('; '); for (let i = 0; i < cookieArr.length; i++) { const itemArr = cookieArr[i].split('='); if (itemArr[0] === key) { return itemArr[1]; } } return null; }, // 设置cookie值 set(key, value, expires = 0, path = '/') { const date = new Date(); date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000); const expiresStr = expires === 0 ? '' : ';expires=' + date.toGMTString(); document.cookie = `${key}=${value};path=${path}${expiresStr}`; }, // 删除cookie值 remove(key, path = '/') { this.set(key, '', -1, path); }, // 更新cookie值 update(key, value, expires = 0, path = '/') { this.set(key, value, expires, path); }, }; ``` 使用方法如下: ```javascript // 设置cookie cookieUtils.set('username', 'Tom', 7, '/'); // 获取cookie const username = cookieUtils.get('username'); // 更新cookie cookieUtils.update('username', 'Jerry', 7, '/'); // 删除cookie cookieUtils.remove('username'); ``` 其中,`set`方法用于设置cookie值,第一个参数为cookie的名称,第二个参数为cookie的值,第三个参数为cookie的过期时间(单位为天),默认为0(表示在当前会话结束时过期),第四个参数为cookie的路径,默认为根路径。`get`方法用于获取cookie值,第一个参数为cookie的名称。`update`方法用于更新cookie值,其参数和`set`方法相同。`remove`方法用于删除cookie值,第一个参数为cookie的名称,第二个参数为cookie的路径,默认为根路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值