PHP使用数字作为SESSION的Key一刷新页面,Session就消失了
来源:互联网 发布:淘宝客api调用 编辑:程序博客网 时间:2024/05/17 23:15
首先我想要实现的效果是通过SESSION变量限制并统计文章的浏览量,具体想法:每个文章都有一个ID号,进入文章页面通过SESSION,为该变量建立对应的SESSION值,例:ID为9号的文章,$_SESSION['9']=9;然后通过判断是否存在对应ID为9的$_SESSION,如果不存在对应的文章浏览量加1,存在的话文章浏览量不变,具体实现如下使用thinkphp实现:
$session_id=$get['id']; //获取文章id if(isset($_SESSION["$session_id"])){ }else{ $conn=M('Article'); $conn->where($map)->setInc('article_num',1); // 用户的浏览量加1 $_SESSION["$session_id"] =$count_id; } var_dump($_SESSION);但是效果并没有达到我想的那样,刷新页面浏览量还是会一直增加?这是为什么呢???
我使用var_dump()打印出Session变量看了一下,上面并没有对应的SESSION变量,也就是SESSION变量一刷新页面上面就没有了
不应该啊,SESSION变量是在服务器上存在的,为什么刷新一下页面就没有了呢?
我想了好久,也没有想出为什么,但是当我把SESSION的变量名改为字符串,发现SESSION变量就不再消失了
PHP的会话存储机制最初是围绕“注册”的变量,所以在按键$_SESSION
必须是可以被视为他们自己的权利的变量名。
所以我们使用SESSION的时候key的话应该使用字符串的形式
我的解决办法是:
$session_id='session_id' . $get['id'];这样就可以限制每次打开浏览器一篇文章的浏览量只能加1了
还有使用数字作为索引的话:
例:
$_SESSION['1'] = 'value';
会出现所以建议不使用数字作为SESSION的Key
0 0
- PHP使用数字作为SESSION的Key一刷新页面,Session就消失了
- 关闭浏览器session就消失了吗
- 浏览器关闭了是否session就自动消失了呢?
- 使用redis作为php中session的存储介质
- 使用apache的mod_disk_cache做缓存,不能缓存开启了session的php页面
- 设定session.timeout=30后,可是不到5分钟session变量就消失了.为什么?
- SESSION 页面刷新 失效
- Session防止页面刷新
- php中使用session避免在刷新页面造成反复提交表单
- 只要关闭浏览器,session就消失????
- 使用memcache作为session的处理器
- php环境下利用session防止重复刷新页面
- php 使用session保存页面登录信息
- php 使用session保存页面登录信息
- Redis作为PHP session容器
- 【WEB页面的定时刷新页面(防止session超时)】
- PHP中Session的使用
- PHP:session的使用method
- iOS原生App与H5页面交互 离线缓存 笔记
- Android Stdio AVD RAM参数值太大不能启动
- getaddrinfo()函数详解
- 1.2线性表的顺序表示和实现
- Android 通知高度-文本宽高
- PHP使用数字作为SESSION的Key一刷新页面,Session就消失了
- 12.12
- Oracle Database 12c安装教程(Windows版)
- Windows API常用函数简单例子大全
- Android控件之日期与时间
- sql语句总结
- MyBatis if test 字符串判断问题
- 1.3.1线性链表之动态(malloc)链表
- 2016-12-12