php新手提问了。。。个人认为奇怪的现象,改编码影响了session 编码影响了Session,不太可能把 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是目前就是这样啊我都一步步跟踪的。登录页面操作完我打印echo $_SESSION['cc_userid']; 可以看到结果,但是在首页有判断是否存在登录 if(is_session){include(...)}中的这个值,就是假。而且在我没设置统一编码方式,登录退出都正常。就是刷新整个页面偶尔出现乱码。就是在设置后出现这样的问题。都跟踪过了,每个步骤都写出相关变量的结果,但是到了这个地方就是找不到$_SESSION['cc_userid'] 不是session问题,仍然是编码问题,将页面全部转换成utf8就可以解决了 你测试是在Eclipse下进行的么?Eclipse不清空session的 我都是用的 EditPlusApache2 + PHP5 + MySQL5 这个应该跟清除session没关系说直接点就是没改成编码一致 utf8 跟 gb2312 都试了编码一致不出现乱码,但是登录跟退出有问题不改Mysql默认 latin1php页面不加mysql_query("SET NAMES 'utf8'",$this->DB); mysql_query("SET character_set_results=utf8, character_set_client=binary", $this->DB); 功能都正常。一旦改了就这样 只更改页面的编码charset=utf-8,是不可以的,需要转换才可以登录说明post数据仍然是编码问题,你想想看 第一点,请查ni页面的字符集编码,确认编码,页面的一般utf-8,这和数据表里的编码字符不一样,数据库的设置为utf8;第二,如果客户端的编码为utf8,用mysql_query("SET NAMES 'utf8'",$this->DB); 如果客户端的编码为gb2312,用mysql_query("SET NAMES 'gb2312'",$this->DB); 这一语句在mysql4。0以下没用第三,mysql4.1以上,数据表字符集可任意设,不影响。session和编码的影响还没遇到过,session和PHP文件的编码或有关系,如果PHP文件是utf8的,也mysql_query("SET NAMES 'gb2312'",$this->DB); 了,不应出错!如果有的PHP文件是utf-8的,有的是gb2312的,数据提 出来仍是utf8,只要不一致仍会出错 你在if(is_session){include(...)}这个之前加@session_start();上这句试试 if (array_key_exists('cc_userid', $_SESSION)) ==============================================这种判断方式很特别啊.试试isset($_session['cc_userid']) php怎么操作SCP? 关于一个简单的sql语句,和搜索条件有关的 用GD库在图片中显示长文本,如何根据图片宽度自动换行? 个人力作:PHP后台代码自动生成程序支持access,mysql,mssql!! 请教PHP中的这个>=运算符 ★★★★如何换这种日期格式???★★★★★ php用什么表示IsPostBack? PHP页面跳转处理问题--大神高手进 这个header问题和APACHE有关系不? 愚蠢的问题,不过还是不会,情个位大虾帮忙! PHP遇到问题了,我初学,遇到困难首先想到的是CSDN的高手,来帮帮我啊 如果按指定数值分割字符串?
我都一步步跟踪的。登录页面操作完我打印echo $_SESSION['cc_userid']; 可以看到结果,但是在首页有判断
是否存在登录 if(is_session){include(...)}中的这个值,就是假。而且在我没设置统一编码方式,登录退出都正常。就是刷新整个页面偶尔出现乱码。
就是在设置后出现这样的问题。都跟踪过了,每个步骤都写出相关变量的结果,但是到了这个地方就是找不到$_SESSION['cc_userid']
Apache2 + PHP5 + MySQL5
编码一致不出现乱码,但是登录跟退出有问题不改Mysql默认 latin1
php页面
不加
mysql_query("SET NAMES 'utf8'",$this->DB);
mysql_query("SET character_set_results=utf8, character_set_client=binary", $this->DB);
功能都正常。一旦改了就这样
登录说明post数据仍然是编码问题,你想想看
第二,如果客户端的编码为utf8,用mysql_query("SET NAMES 'utf8'",$this->DB);
如果客户端的编码为gb2312,用mysql_query("SET NAMES 'gb2312'",$this->DB);
这一语句在mysql4。0以下没用第三,mysql4.1以上,数据表字符集可任意设,不影响。session和编码的影响还没遇到过,session和PHP文件的编码或有关系,如果PHP文件是utf8的,也mysql_query("SET NAMES 'gb2312'",$this->DB); 了,不应出错!
如果有的PHP文件是utf-8的,有的是gb2312的,数据提 出来仍是utf8,只要不一致仍会出错
==============================================
这种判断方式很特别啊.试试isset($_session['cc_userid'])