文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在PHP和JavaScript中设置Cookie、会话存储(SessionStorage)和本地存储(LocalStorage)

2023-10-02 07:08

关注

目录

A. Cookie介绍

B. 会话存储介绍

C. 本地存储介绍 

1. 在 PHP 中设置 Cookie

使用规范

新建Cookie

新建、删除Cookie示范

 获取Cookie

2. 在 PHP 中设置 会话存储

使用规范

设置会话存储

获取会话存储

3. 在 PHP 中设置 本地存储

4. 在 JavaScript 中设置 Cookie

使用规范

新建、获取Cookie

新建、删除Cookie示范

获取Cookie

5. 在 JavaScript 中设置 会话存储

使用规范

查看是否支持会话存储 

新建、删除、获取会话存储

6. 在 JavaScript 中设置 本地存储

使用规范

查看是否支持本地存储

新建、删除、获取本地存储


Cookie:

Cookie常用于识别用户,它是服务器留在用户计算机中的小文件(大小限制在4KB),每当相同的计算机通过浏览器请求页面时,它会同时发送Cookie,即Cookie是随HTTP事务一起被发送的,因此会浪费一部分发送Cookie时使用的带宽。

与会话存储和本地存储较为不同的一点是,无论您需不需要在Cookie存储的数据,它都会在页面响应时于浏览器与服务器中相互传送。 

会话存储(SessionStorage):

会话存储常用于临时保存窗口或标签页的数据。会话存储在同源的不同窗口下不可共享,但是与window.open()方法打开的窗口共享一个会话存储(SessionStorage),即您如果关闭页面窗口或在浏览器中创建新窗口,会话存储将失效,而不是指页面路由跳转。

与Cookie不同的一点是,会话存储只会在需要的时候调用获取,并不会主动发送。

 本地存储(LocalStorage):

本地存储常用于需要长时间保存的数据。本地存储数据在理论上会永久保存,除非用户或服务器删除此数据。本地存储在同源的不同窗口下可共享,在不同浏览器中不可共享。

与Cookie不同的一点是,本地存储只会在需要的时候调用获取,并不会主动发送。

使用规范

在PHP中设置Cookie信息常使用setcookie函数,cookie函数。

接收时会进行URL解码。如果你不需要这样,可以使用setrawcookie函数代替。

需要注意的是,Cookie必须在其他信息发送前赋值,即应把Cookie赋值代码段放在其他代码段的前面。 

新建Cookie

setcookie函数与setrawcookie函数参数解释

参数名称

参数选项

参数解释

name必选名称
value必选
expire可选

有效期

path可选服务器路径
domain可选作用域名
secure可选连接方式(是否以安全HTTPS连接)
setcookie函数与setrawcookie函数返回值解释

返回值

返回类型

返回值解释

truebool表示Cookie值设置成功
falsebool表示Cookie值设置失败

新建、删除Cookie示范

 获取Cookie

使用规范

在PHP中设置会话存储,应以session_start函数开始——值得注意的是,此函数必须在其他信息发送前调用,即应把其代码段放在其他代码段的前面,如以下示范:

设置会话存储

随后,我们可以用变量操作的方式来设置会话存储,如以下示范:

获取会话存储

我们可以用以下方式获取会话存储或将会话存储数值赋值到变量中。

目前仍未找到有效的PHP设置本地存储的方法,可以使用以下方法来借助JavaScript实现。

具体JavaScript实现步骤请查看【6. 在 JavaScript 中设置 本地存储】。

 【JavaScript代码】 '?>

使用规范

在此处提醒,如您准备将JavaScript代码嵌入到HTML文件中,您需要以如下格式来嵌入JavaScript代码,而如果您将JavaScript代码写入到.JS格式文件中,则不需要此格式。本篇博客展示的JavaScript代码默认在.JS文件下编辑。(以后将不再提醒)

// .JS文件【JavaScript代码】

新建、获取Cookie

在此提供两个快捷函数,您可以直接使用。原始标准方式如下第一、二行,具体值可参考函数参数或【1. 在 PHP 中设置 Cookie     -     新建Cookie】的相关函数辅助理解。

// 标准设置格式,带【】的为需更改值document.cookie="【name】=【value】; expires=【time】; path=【】";// 设置Cookie函数function setCookie(name,value,time){var d = new Date();d.setTime(d.getTime() + (time*1000));var expires = "expires=" + d.toGMTString();document.cookie = name + "=" + value + "; " + expires;}// 获取Cookie函数function getCookie(name){var name = name + "=";var ca = document.cookie.split(';');for(var i=0; i
setCookie函数参数解释

参数名称

参数选项

参数解释

name必选名称
value必选
time必选

有效期

 setCookie函数没有返回值。

getCookie函数参数解释

参数名称

参数选项

参数解释

name必选要查询Cookie的名称
getCookie函数返回值解释

返回值

返回类型

返回值解释

""string表示Cookie值查询失败或没有此Cookie
【具体值】string表示Cookie值查询成功,返回具体Cookie值

新建、删除Cookie示范

如PHP,新建Cookie和删除Cookie与PHP相关操作相差不多,删除Cookie即将Cookie作用时间提前——如下:

// 新建Cookiedocument.cookie = "name=value1; expires=Sun, 31 Dec 2025 12:00:00 UTC; path=/";// 覆盖Cookiedocument.cookie = "name=value2; expires=Sun, 31 Dec 2025 12:00:00 UTC; path=/";// 删除Cookiedocument.cookie = "name=value1; expires=Sun, 31 Dec 2022 12:00:00 UTC; path=/";

获取Cookie

// 基本语句getCookie(); // 参数:Cookie名称// 实际应用getCookie("name");// 变量赋值var name = getCookie("name");let name = getCookie("name");
  • 5. 在 JavaScript 中设置 会话存储

使用规范

在JavaScrpit中,设置会话存储和设置本地存储的API是相同的。仅需将会话存储sessionStorage和本地存储localStorage部分相互转换即可。

查看是否支持会话存储 

if (!window.sessionStorage) {    // ! window.sessionStorage返回true值,不支持sessionStorage    console.log("浏览器不支持sessionStorage"); } else {    // ! window.sessionStorage返回false值,支持sessionStorage}

新建、删除、获取会话存储

JavaScript有关会话存储的方法
类别方法
新建sessionStorage.setItem("name", "value");
新建sessionStorage.name = "value";
新建sessionStorage["name"] = "value";
获取sessionStorage.getItem("name");
获取sessionStorage.name;
获取sessionStorage["name"];
删除sessionStorage.removeItem(name); // 删除单个数据
删除sessionStorage.clear(); // 清除所有数据
  • 6. 在 JavaScript 中设置 本地存储

使用规范

在JavaScrpit中,设置会话存储和设置本地存储的API是相同的。仅需将会话存储sessionStorage和本地存储localStorage部分相互转换即可。

查看是否支持本地存储

if (!window.localStorage) {    // ! window.localStorage返回true值,不支持localStorage    console.log("浏览器不支持localStorage"); } else {    // ! window.localStorage返回false值,支持localStorage}

 新建、删除、获取本地存储

参考【5. 在 JavaScript 中设置 会话存储     -     新建、删除、获取会话存储】。

来源地址:https://blog.csdn.net/XuShuo_Self/article/details/128701833

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯