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与已存在的Java应用程序集成
Oct 09 PHP
PHP的FTP学习(四)
Oct 09 PHP
使用 eAccelerator加速PHP代码的方法
Sep 30 PHP
PHP批量生成缩略图的代码
Jul 19 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
Feb 16 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
利用php-cli和任务计划实现刷新token功能的方法
May 03 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获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php中session退出登陆问题
2014/02/27 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
详解PHP归并排序的实现
2016/10/18 PHP
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
node.js入门教程
2014/06/01 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
使用python遍历指定城市的一周气温
2017/03/31 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python get获取页面cookie代码实例
2018/09/12 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
keras中的卷积层&池化层的用法
2020/05/22 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
中学教师实习自我鉴定
2013/09/28 职场文书
应届生护士求职信
2013/11/01 职场文书
幼儿园园长岗位职责
2013/11/26 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
大学生找工作求职信
2014/07/09 职场文书
日语系毕业求职信
2014/07/27 职场文书
python之json文件转xml文件案例讲解
2021/08/07 Python