[转]PHP解决浏览器无法获取COOKIE…

来源:互联网 发布:mac锁定屏幕快捷键 编辑:程序博客网 时间:2024/04/27 21:42
PHP解决IE、360、搜狗浏览器无法设置(获取)(种植)COOKIE、SESSION丢失的问题(火狐、谷歌浏览器下正常)
程序如下:
-----------1.php----------------
session_start();
$_SESSION['enCode'] = $enCode; 
  //建session

----------2.php----------------
session_start();
$enCode=strtolower($_POST["enCode"]);
$tureEncode=strtolower($_SESSION['enCode']);

if($enCode == $tureEncode && $enCode != "" &&$tureEncode!= ""){
//$_SESSION['validationcode']="";//如果清空,在IE内核浏览器下获取到的session值永远为空(火狐、谷歌浏览器下正常)
....相关程序操作....
}
备忘:经测试发现,在IE、360、搜狗浏览器下,如果2.php中写了清空sesssion的程序,不管写在任何位置,整个页面将获取不到session值,程序似乎不是按照从上到下的原则运行;但在火狐、谷歌浏览器下则是正常的能获取到session。
==========================其他相关原因记录===============

1 服务器端出错/文件编码不统一。如像PHP中,使用session_start() 或者setcookie() 函数之前出现了输出内容,如header(),或者空白字符像UTF-8编码中BOM 又或者文件等编码格式不对。

服务器的时间设置不正确( 服务器的时间和本地不一致)。像在PHP中,session_set_cookie_params(),setcookie() 的lifetime参数不正常。这一问题尤其在chrome与IE下面很明显,cookie值根本就无法写入,friefox却不没有影响。

域名不正确。如:fc_lamp.com这是一个不正确的域名,当使用IE浏览器访问时,COOKIE是无法被成功设置(种植)的。但在friefox、chrome浏览器中没有问题。

0 0
原创粉丝点击