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(3)
Oct 09 PHP
php基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
php 字符串函数收集
Mar 29 PHP
基于PHP生成静态页的实现方法
May 10 PHP
PHP实现HTML生成PDF文件的方法
Nov 07 PHP
thinkPHP中分页用法实例分析
Dec 26 PHP
php封装一个异常的处理类
Jun 08 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
Laravel 加载第三方类库的方法
Apr 20 PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 PHP
PHP队列场景以及实现代码实例详解
Feb 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
Python 3中的yield from语法详解
2017/01/18 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
Python实现动态循环输出文字功能
2020/05/07 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
机电一体化自荐信
2013/12/10 职场文书
关于逃课的检讨书
2014/01/23 职场文书
亲属关系公证书
2014/04/08 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
公司辞职信模板
2015/05/13 职场文书
行政上诉状范文
2015/05/23 职场文书
红色经典观后感
2015/06/18 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL