PHP操作cookie增删改查,ajax操作cookie问题
cookie
操作
ajax
问题
PHP
增删
改查
设置
setcookie
php
编程技术
发布日期
2022-09-05
更新日期
2022-09-05
阅读次数 72
文章字数 713
cookie只能存储字符串类型
创建cookie
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <html> 标签之前。
setcookie(name,value,expire,path,domain,secure)
参数:
- name,名称,字符串格式
- value,值,字符串格式
- expire为有效期,默认是到浏览器关闭,单位秒
- path,路径
- domain,域名
- secure,是否https
更新cookie
重新设置 cookie ,同名覆盖即可更新。
删除cookie
把cookie的时间设置比当前更小。
setcookie ("name", "xiaoming", time() - 1);
获取cookie
cookie存储在一个超全局变量 $_COOKIE 里。
注意,它只能取,不能存(即使存了,它只是一个变量的修改,并不会真正修改浏览器的cookie内容)
<?php
var_dump($_COOKIE);
另外,它是一个数组,判断是否存在 cookie 时,和其他数组操作相同,if( isset($_COOKIE['name'] ) { ... } 这样的操作就可以。
ajax设置cookie问题
php的cookie操作有特殊性,无法通过 ajax 请求设置 cookie。(也就是 setcookie() 无效)
ajax请求返回的数据,是直接返回给js的,并没有对页面进行操作(普通的php页面,会返回document响应,从而php可以写入cookie)
解决办法:把数据返回给 js,让 js 保存/更新cookie,要删除cookie,也是如此。
对于注销,通常不会使用 ajax,意味着你可以这样做,在用户 exit 时,给一个注销页面,点击 a 链接跳转注销,然后更新cookie,并重定向至首页。
注意:jsonp 请求时,php 进行 setcookie 是正常的, jsonp 请求和 ajax 看起来很像,实际完全不同!
文章作者: 朱丰华
文章链接: https://smart.52dixiaowo.com/blog/post-35.html
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。
cookie
操作
ajax
问题
PHP
增删
改查
设置
setcookie
php
发表评论
相关推荐