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

发表评论

相关推荐
朱丰华   |   8个月前   |   git

git从缓存中移除数据git rm --cached

436    评论    点赞
朱丰华   |   9个月前   |   php

php判断是否被iframe

247    评论    点赞
朱丰华   |   1年前   |   页面 · 监听

iframe子父页面信息传递与监听

429    评论    点赞
朱丰华   |   1年前   |   linux

linux保持后台进程不被关闭nohup &

273    评论    点赞
朱丰华   |   1年前   |   php

php正则表达式定界符:异常Delimiter must not be alphanumeric or backslash

201    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

196    评论    点赞
朱丰华   |   1年前   |   php · 缓存 · opcache

php 加速、提高并发opcache

223    评论    点赞
朱丰华   |   1年前   |   编译 · linux · 平台

Go 交叉编译 (跨平台编译)

182    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

128    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

111    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

131    评论    点赞
朱丰华   |   1年前   |   sed · 文件

Shell 指定行处理head、tail、sed

167    评论    点赞
朱丰华   |   1年前   |   linux · 内容

linux环境下,对于一个大文件,如何查看其中某行的内容

80    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

165    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

95    评论    点赞
朱丰华   |   1年前   |   字符 · php · 比较

PHP比较字符串大小相关函数

120    评论    点赞
朱丰华   |   1年前   |   git · add · 文件

git add -A 和 git add . 的区别

122    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

177    评论    点赞
朱丰华   |   1年前   |   linux · php

linux下编写、编译php扩展

161    评论    点赞
朱丰华   |   1年前   |   js · vue · 监听

js vue监听,深度监听

123    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞