thinkphp中cookie和session中操作数组的方法
thinkphp中cookie和session中操作数组的方法
一、ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况
在ThinkPHP的模板中操作session时,可以参考ThinkPHP参考文档中的“模板—》系统变量”部分,在默认模板引擎中,语法如下:
{$Think.session.user} //输出session中保存的user信息
但是,如果user是一个数组的话,该怎么输出数组中指定的单元(如'user_id')呢?用{$Think.session.user.user_id}或者{$Think.session.user['user_id']}是不行的。前者错误的原因是这种写法只支持一个点;第二种是不支持此种写法。解决办法是使用<php>标签在模板中取出数组的指定单元,赋值,然后再使用。
<php>$is_advisor = session('user.user_id');</php>
<div <eq name='user_id' value="1">style="display:none;"</eq>>
这样就可以了。
二、thinkphp模板输出cookie,session中的值
系统变量及特殊变量
系统变量:包括server、session、post、get、request、cookie
{$Think.server.script_name } // 输出$_SERVER变量
{$Think.session.session_id|md5 } // 输出$_SESSION变量
{$Think.get.pageNumber } // 输出$_GET变量
{$Think.cookie.name } // 输出$_COOKIE变量
{$Think.version } //版本
{$Think.now } //现在时间
{$Think.template|basename } //模板页面
{$Think.LDELIM } //模板标签起始符号
{$Think.RDELIM } //模板标签结束符号
系统变量及特殊变量(简洁方式)
{@var} //输出Session变量 和 {$Think.session.var} 等效
{#var} //输出Cookie变量 和 {$Think.cookie.var} 等效
{&var} //输出配置参数 和 {$Think.config.var} 等效
{%var} //输出语言变量 和 {$Think.lang.var} 等效
{.var} //输出GET变量 和 {$Think.get.var} 等效
{^var} //输出POST变量 和{$Think.post.var} 等效
{*var} //输出常量和 {$Think.const.var} 等效
三、cookie来存数组(session应该也是一样的)
如果想利用cookie来存数组(session应该也是一样的),最好将数组进行序列化(serialization),意思就是将数组或是类转换成一个长字符串,到用时在反序列化就可以了哦,这种方法广泛应用于购物车系统等等。
具体到php的函数就是
serialize()/*序列化*/
unserialize()/*反序列化*/
另外还有json技术,是用来让php与前台的javascript进行数组通信用的一个标准,当然核心也是序列化:
json_encode(),json_decode()
经其序列化的数组通过AJAX传到javascript前台,可直接将该序列化的数组赋给一个变量,该变量即可作为像php中的数组来使用了。
thinkphp中cookie和session中操作数组的方法的更多相关文章
- Django中cookie和session的操作
一.cookie和session cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是 ...
- flask中cookie和session介绍
flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.co ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- flask中cookie和session设置
flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户. ...
- PHP中Cookie与Session的异同以及使用
Cookie与Session的异同: 一.cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Mana ...
- 一些ES5的操作数组的方法
在ES5规范中新增了不少操作数组的方法,特此罗列一下以备使用 1. forEach循环 有点类似jQuery的each循环 [12,23,36,4,5].forEach(function(v,k){ ...
- Django中Cookie和Session配置和操作
Cookie Cookie以键值对Key-Value形势进行信息的存储. Cookie基于域名安全,不同域名的Cookie是不能互相访问的 Cookie是存储在浏览器中的一段纯文本信息,建议不要存储敏 ...
- servlet中cookie和session操作
1.1 软件中的会话 一次会话: 打开浏览器 -> 访问一些服务器内容 -> 关闭浏览器 登录场景: 打开浏览器 -> 浏览到登陆页面 -> 输入用户名和密码 -> 访问 ...
- PHP中cookie与session总结
PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置.Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用. 理解:session用于单一用户与服务器的 ...
随机推荐
- 拓展Lucas小结
拓展Lucas是解决大组合数取模非质数(尤其是含平方因子的合数)问题的有力工具... 首先对模数质因数分解,把每个质因子单独拎出来处理答案,然后用中国剩余定理(excrt)合并 问题转化为,对于每个质 ...
- 越努力越幸运--3-日常bug修复
提供一个so给PYTHON调用,后端发现业务处理流程不是按照方法传入的参数来跑. 查看c的代码,看了客户端没看出什么问题,查看服务端为什么会出现这样的情况,有些字段明显不是入参带过来的,跟踪服务端解析 ...
- Linux 文件系统的层次化结构
FHS,Filesystem Hierarchy Standard,文件系统层次化标准.这是一个推荐标准,可以从 http://www.pathname.com/fhs/ 获取. 本文不讨论 FHS, ...
- Java基础学习总结(44)——10个Java 8 Lambda表达式经典示例
Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里.在Ja ...
- JavaScript中的Array对象方法调用
方法concat for 循环与for in 循环 <html> <head> <script type="text/javascript"> ...
- Git(三):加入与提交
在这一节.接着使用上一节的代码样例往下讲,http://blog.csdn.net/troy__/article/details/39806245. 加入文件到暂存区 加入新文件和改动版本 ...
- 使用MyEclipse编写Java程序
MyEclipse是非常实用的一款Java程序开发工具,主要用于Java.Java EE以及移动应用的开发.MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错. My ...
- 3.IntelliJ IDEA 使用详解
转自:https://blog.csdn.net/wl_627292578/article/details/53796226 目录结构: InteliJ IDEA 没有工作空间的概念 project ...
- POJ 3661 DP
题意: 思路: i表示到了i,j表示疲劳度为j f[i][j]表示能跑的最大距离 f[i][j]=f[i-1][j-1]+a[i] if(i-j>=0)f[i][0]=max(f[i][0],f ...
- webstorm 添加 autoprefixer 工具为CSS加前缀
webstrom IDE 的 setting (快捷键 Ctrl + Alt + S) Tool -- External tool (绿色 + 添加) 3.填写 必要的项目 后 apply 备注:N ...