PHP中,session不能传递到下一个页面去,一般有两种情况:
我们先写个php文件:<?=phpinfo()?>, 传到服务器去看看服务器的参数配置。
转到session部分,看到session.use_trans_sid参数被设为了零。
这 个参数指定了是否启用透明SID支持,即session是否随着URL传递。我个人的理解是,一旦这个参数被设为0,那么每个URL都会启一个 session。这样后面页面就无法追踪得到前面一个页面的session,也就是我们所说的无法传递。两个页面在服务器端生成了两个session文 件,且无关联。(不知道这样理解对不对?请高手指教。)
所以一个办法是在配置文件php.ini里把session.use_trans_sid的值改成1。
当然我们知道,不是谁都有权限去改php的配置的,那么还有什么间接的解决办法呢?
下面就用两个实例来说明吧:
文件1 test1.php
<?php
//表明是使用用户ID为标识的session
session_id(SID);
//启动session
session_start();
//将session的name赋值为Havi
$_SESSION['name']=”Havi”;
//输出session,并设置超链接到第二页test2.php
echo “<a href=\”test2.php\”>”.$_SESSION['name'].”</a>”;
?>
文件2: test2.php
<?php
表明是使用用户ID为标识的session
session_id(SID);
//启动session
session_start();
//输出test1.php中传递的session。
echo “This is “.$_SESSION['name'];
?>
每个页面都要写开启session哦。。不然还是不能正常工作
所以,重点是在session_start();前加上session_id(SID);,这样页面转换时,服务器使用的是用户保存在服务器session文件夹里的session,解决了传递的问题。
不过有同鞋会反映说,这样一来,多个用户的session写在一个SID里了,那Session的价值就发挥不出来了。所以还有一招来解决此问题,不用加session_id(SID);前提是你对服务器的php.ini有配置的权限:
output_buffering改成ON,道理就不表了。
第二个可能的原因是对服务器保存session的文件夹没有读取的权限,还是回到phpinfo.php中,查看session保存的地址:
session.save_path: var/tmp
所以就是检查下var/tmp文件夹是否可写。
写一个文件:test3.php来测试一下:
<?
echo var_dump(is_writeable(ini_get(“session.save_path”)));
?>
如果返回bool(false),证明文件夹写权限被限制了,那就换个文件夹咯,在你编写的网页里加入:
//设置当前目录下session子文件夹为session保存路径。
$sessSavePath = dirname(__FILE__).’/session/’;
//如果新路径可读可写(可通过FTP上变更文件夹属性为777实现),则让该路径生效。
if(is_writeable($sessSavePath) && is_readable($sessSavePath))
{session_save_path($sessSavePath);}
第一次些cms遇到这样的问题,该文来自:http://blog.163.com/lin286679722@126/blog/static/111743825201072753634367/

SESSION 页面刷新 失效相关推荐

  1. requirejs页面刷新失效js报错问题解决方案

    插件名称:requirejs 问题:页面刷新后模块载入失效,js报错 下载地址:http://www.chtml.cn/topic/show/10816 问题原因: requirejs是先加载本身在加 ...

  2. Fragment页面刷新问题

    Fragment页面涉及到状态变更时,需要重新加载数据进行刷新.项目中采用接收到EventBus刷新通知直接刷新页面,发现有时候界面内容没有刷新过来. 解放法案:需要采用延时刷新方案. Fragmen ...

  3. CAS的Session两秒挂掉?--解决退出后登录,页面刷新的问题

    版本:Server 3.5.2 ------------------------------------ 现象: 登录成功后,马上点退出. 退出登录后,自动跳转到login页面, 慢一点,等个几秒钟, ...

  4. PHP session跨页面访问失效问题处理

    PHP session跨页面访问失效问题处理 环境 问题说明 php.ini 部分配置 检查目录权限 检查session设置 检查cookie设置 参考文章列表 环境 使用了 LNMP提供的环境,版本 ...

  5. java局部刷新session过期_Ajax局部页面刷新和History API结合的陷阱

    ajax在现代网站已经得到非常普遍地应用,主要的好处大家都知道(异步加载数据,不用刷新整个浏览器,更小的数据传输尺寸).对于那些老网站或者老项目来说全盘改造成ajax并不现实,于是就有了"局 ...

  6. php页面刷新$_session会变化,每次刷新页面都会生产新的session_id

    在测试通过 URL 来传递 session_id 的时候,发现没进行一次页面刷新,都会生成一个新的 session_id,有没有办法重用现有的 session_id ? 代码: set_session ...

  7. addroutes刷新_vue 解决addRoutes动态添加路由后刷新失效问题

    前言 某些场景下我们需要利用addRoutes动态添加路由,但是刷新后就会失效,前段时间项目里刚好遇到了这个应用场景,所以就花时间研究了一下,做下分享跟记录,说的不对的地方,请大家指正. 应用场景:用 ...

  8. vue 添加完数据后刷新页面_页面刷新vuex数据消失

    1.前言 vue构建的项目中,vuex的状态存储是响应式的,当vue组件从store中读取状态的时候,若store中的状态发生变化,那么相应的组件也会得到高效刷新,问题来了,vuex存储的数据只是在页 ...

  9. ASP.NET防止页面刷新的方法

    ASP.NET防止页面刷新的方法: 方法有二,总结如下: 第一方法: 直接在CS代码里敲:  Response.Buffer = true;  Response.ExpiresAbsolute = D ...

最新文章

  1. java消息服务,JMS 和 ActiveMQ
  2. 内置函数sorted的10个小tips
  3. cocos2d-x3.0 实现HTTP请求GET、POST
  4. Kettle连接Mysql数据库异常
  5. Eclipse 安装插件报错:An error occurred while collecting items to be installed session context was...解决方法汇总
  6. 大数据时代:数据保护与流动规则
  7. 2021年下半年网络工程师上午真题及答案解析
  8. 推荐Java学习书籍
  9. HDU2026 首字母变大写【入门】
  10. android设置字符串到剪贴板
  11. 模拟退火 (poj 2420, poj 2069)
  12. response.setHeader各种使用方法
  13. java连连看怎么加音效_怎么给视频加音效
  14. Qt文件选择复制另存为
  15. 1.8.5 访问日志不记录静态文件
  16. 对DestoryWindow的解释.
  17. gihub上传本地项目简单步骤
  18. 晶体三极管的放大原理
  19. IT外企那点儿事(13): 你总是在画饼吗?
  20. 患者监护系统可行性分析

热门文章

  1. 题目1095:2的幂次方
  2. 7.1.15 单双击事件
  3. 【前端统计图】echarts实现属性修改
  4. 05《软件需求模式》阅读笔记
  5. 《java编程思想》读后笔记:二,吸血鬼数字
  6. 算法笔记_120:蓝桥杯第六届省赛(Java语言B组部分习题)试题解答
  7. requests不容易注意到的细节收集~
  8. leetcode算法题--Letter Case Permutation
  9. linux系统启动过程(三)
  10. OVS vswitchd启动(三十五)