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 相关文章推荐
第四节--构造函数和析构函数
Nov 16 PHP
php 常用类整理
Dec 23 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
PHP中设置时区方法小结
Jun 03 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
什么情况下可以不写PHP的闭合标签“?>”
Aug 28 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
php的mssql数据库连接类实例
Nov 28 PHP
php图片的二进制转换实现方法
Dec 15 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
PHP7匿名类用法分析
Sep 26 PHP
详细分析PHP7与PHP5区别
Jun 26 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
Vue动态组件实例解析
2017/08/20 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
详解node和ES6的模块导出与导入
2020/02/19 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
python使用udp实现聊天器功能
2018/12/10 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
浅谈django channels 路由误导
2020/05/28 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
思想品德自我评价
2014/02/04 职场文书
医学生个人求职信范文
2014/02/07 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
工作失误检讨书范文
2015/01/26 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
2016年学校招生广告语
2016/01/28 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js