thinkphp中session和cookie无效的解决方法


Posted in PHP onDecember 19, 2014

本文实例讲述了thinkphp中session和cookie无效的解决方法。分享给大家供大家参考。具体分析如下:

问题描述:

在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账户的信息,上传服务器之后,发现跳转之后session不复存在,为什么呢?在当前页面输出session是存在的.

遇到这个问题三天了,因为是自学没有老师可以请教,身边也没有几个是弄PHP的,所以真的是很悲剧,于是乎百度,而百度上很多人都是屁话连天,没有什么可以解决问题的,经过三天的修改终于找到了根源,原来是因为绝大多数支持thinkphp的服务器是linux系统,而我们的编程基本都还是windows,这样就会出现bom头这个问题,而PHP对于bom头不能解析,而直接拿下来了,导致session和cookie不能用.

解决方法:

什么是bom头?在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了.

去掉bom头的办法,简单的是下面两种:

1、editplus去BOM头的方法

编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码.

运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择 总是删除签名,然后对PHP文件编辑和保存后的PHP文件就是不带BOM的了.

2、ultraedit去除bom头办法

打开文件后,另存为选项的编码格式里选择(utf-8 无bom头),确定就ok了,怎么样,去掉bom头很简单吧.

再来一段议论utf8的BOM信息的,BOM是指php文件本身的存储方式为带BOM的UTF-8,普通页面的中文乱码方式一般不是由这个原因导致的.

header("Content-type: text/html; charset=utf-8");

这句话控制html输出页面的编码方式,BOM只有在WINDOWS下采用“记事本”存储为UTF-8时才会有,这个可以用WINHEX把开始的2个字节删掉.

在dreamweaver里面编码设置里面可以设置是否带BOM,一般只要php输出的不是图片(GDI Stream),BOM都不会导致问题,GDI Stream如果开头有了额外的 字符就会显示为 红叉.

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 强制下载文件代码
Oct 24 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 PHP
php生成QRcode实例
Sep 22 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
PHP二维数组去重实例分析
Nov 18 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 #PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 #PHP
9个经典的PHP代码片段分享
Dec 18 #PHP
PHP程序员必须清楚的问题汇总
Dec 18 #PHP
8个PHP程序员常用的功能汇总
Dec 18 #PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 #PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 #PHP
You might like
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
Prototype Date对象 学习
2009/07/12 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
python实现识别手写数字 python图像识别算法
2020/03/23 Python
简单了解python的一些位运算技巧
2019/07/13 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
python实现复制大量文件功能
2019/08/31 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Python如何生成xml文件
2020/06/04 Python
Python: glob匹配文件的操作
2020/12/11 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
火锅店创业计划书范文
2014/02/02 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers