在php中修改cookie值遇到的奇怪问题

本想修改cookie的值比较简单,结果测试发现并不是。

刚开始实现cookie修改的思路:先删除以前的cookie值,再创建一个新的。

 setcookie(‘name‘,value,time()-1);
 setcookie(‘name‘,newvalue,time()+3600);

结果测试发现:出现了两个同名的cookie,之前的根目录有一个cookie,且有效期变为了一年,新创建的cookie为子目录。

于是查找资料,发现说是setcookie函数还有路径这一参数,cookie值的设置和路径有关。于是把代码修改了再次测试

 setcookie(‘name‘,value,time()-1,‘/‘);
 setcookie(‘name‘,newvalue,time()+3600,‘/‘);

发现问题还是依旧,依旧有两个cookie。

不死心,继续查找修改cookie值的方法。又找到了一种删除cookie方法。把cookie值置为空,也可以删除cookie。赶紧试一下

 setcookie(‘name‘,‘‘);
 setcookie(‘name‘,newvalue,time()+3600,‘/‘);

经测试,完美解决了cookie值的修改问题。哈哈,找到了一个比较靠谱的修改cookie值的方法。

我对php的理解还是比较肤浅,不知道为什么前面的方法行不通。如果有对此比较熟悉的,麻烦留下您的见解,多谢!

原文地址:https://www.cnblogs.com/imustun/p/9256818.html

时间: 2024-11-05 20:46:39

在php中修改cookie值遇到的奇怪问题的相关文章

在FireFox中修改cookie

一.安装Firebug插件(web开发中常用的调试工具) 1.打开菜单选择[附加组件] 2.搜索firebug,点击安装 3.安装完成    二.cookie的新建与编辑 1.选择cookies标签,打开cookies下拉框,点击新建cookie 2.cookie新增页面,填写新增cookie的信息 3.新增完成 4.鼠标放在userNo上,右键菜单中点击[编辑]按钮,即可进入编辑页面 (注:cookie的过期时间.)

MVC中修改Table值

记录下: 遇到这样一个问题,表中有一个Char栏位,为1/0 ,只是在视图界面 让其显示为 开始/结束, 目前想到的两种解决办法: ①后台写查询的SQL时,直接写 SELECT a.Status, (CASE a.Status WHEN 1 THEN '開始' WHEN 2 THEN '結束' ELSE '初始化' end) as StatusDesc, * FROM A AS a 需要在实体类中 添加 StatusDesc 成员字段,传递到视图界面并显示 ②视图界面遍历的时候设置 foreac

MsSQLserver中修改字段值系统自动生成的脚本

主要参考一下脚本的实现思路: ①创建临时表 ②创建临时表 ③向临时表插入数据 ④删除原表 ⑤临时表改名 /* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本.*/ BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL ON SET ANSI_NULLS ON SET

try--catch--finally中return返回值执行的顺序(区别)

1.try块中没有抛出异常,try.catch和finally块中都有return语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static int NoException(){          int i=10;          try{            System.out.println("i in try block is:"+i);            return --i;          }        

关于session中的cookie提取

request库中的关于cookie值提取可以用 requests.utils.dict_from_cookiejar() 1 rep = requests.post(url,data,headers).cookies 2 ret = requests.utils.dict_from_cookiejar(rep) 以上用法也适用于session中的cookie值提取. 原文地址:https://www.cnblogs.com/Young-shi/p/11621170.html

Servlet中保存的cookie值读取不到

在设计登录时记住密码功能时,很多时候回使用cookie,在Servlet中保存cookie时,再次访问登录页面,没有读取到保存的cookie值,代码如下: 1 Cookie idCookie = new Cookie("id",String.valueOf(user.getId())); 2 Cookie nameCookie = new Cookie("username",URLEncoder.encode(user.getName(), "utf-8&

EF中修改对象的值的问题。。。(字段超级多的时候)

一般EF中修改单个对象的值,我是这样处理的. 如:DBEntities db=new DBEntities(); student stu = db.student.firstOrdefault(m=>m.id==id); stu.name="sb"; stu.age=11; ...... db.SaveChange(); 如果字段少的情况下,没什么问题(EF中好像还有一个修改的方法,先不管它). 如果200个字段呢?你还去一个个.属性么? 这个问题我用反射可以解决.具体方法见小弟

aspx利用cookie值来停止silverlight中的计时器

一.silverlight与silverlight中可以利用委托(delegate)来刷新frame.Refresh() 1.在子类中定义委托捕捉关闭事件按钮 1 public delegate void onCloseClick(object sender, RoutedEventArgs e); 2 public onCloseClick onclose; 3 private void CancelButton_Click(object sender, RoutedEventArgs e)

JavaScript中设置cookie的值

cookie 与 session 是网页开发中常用的信息存储方式.Cookie是在客户端开辟的一块可存储用户信息的地方:Session是在服务器内存中开辟的一块存储用户信息的地方.JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的,而cookie是运行在客户端的,所以可以用JS来设置cookie. 在ITOO项目中,系统需要页面之间的传值,现在假设页面A,和页面B,页面B需要页面A的一个参数,才可以进行后面的操作,那么我们就需要将