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完整的日历类(CLASS)
Nov 27 PHP
PHP 编程请选择正确的文本编辑软件
Dec 21 PHP
基于php缓存的详解
May 15 PHP
php MessagePack介绍
Oct 06 PHP
php中自定义函数dump查看数组信息类似var_dump
Jan 27 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
Nov 24 PHP
PHP jQuery+Ajax结合写批量删除功能
May 19 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 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
E路文章系统PHP
2006/12/11 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
python连接PostgreSQL过程解析
2020/02/09 Python
Python reques接口测试框架实现代码
2020/07/28 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
模具专业推荐信
2013/10/30 职场文书
计算机专业职业规划
2014/02/28 职场文书
美术教师岗位职责
2014/03/18 职场文书
气象学专业个人求职信
2014/04/22 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
党支部工作总结2015
2015/04/01 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书