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 09 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
深入PHP数据缓存的使用说明
May 10 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
8个PHP程序员常用的功能汇总
Dec 18 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
May 12 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
Jun 07 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 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
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
详解Nodejs之npm&package.json
2017/06/15 NodeJs
Angular4 中内置指令的基本用法
2017/07/31 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
超简单的Python HTTP服务
2019/07/22 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
大学生英语演讲稿
2014/04/24 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python
Python中三种花式打印的示例详解
2022/03/19 Python