部分浏览器会出现,PHP COOKIE、SESSION丢失的问题
程序如下:
-----------1.php----------------
session_start();
$_SESSION['2kbenCode'] = $2kbenCode;
----------2.php----------------
session_start();
$2kbCode=strtolower($_POST["2kbCode"]);
$2kbEncode=strtolower($_SESSION['2kbenCode']);
if($2kbCode == $2kbEncode && $2kbCode != "" && $2kbEncode!= ""){
//$_SESSION['validationcode']=""; //如果清空,在IE内核浏览器下获取到的session值永远为空(火狐、谷歌浏览器下正常)
....相关程序操作....
}
测试发现,在IE、360、搜狗浏览器下,如果2.php中写了清空sesssion的程序,不管写在任何位置,整个页面将获取不到session值,似乎不是按照从上到下的原则运行;
但在火狐、谷歌浏览器下则可以正常获取到session。
其他原因
1 服务器端出错/文件编码不统一。
PHP中,使用session_start() 或者setcookie() 函数之前出现了输出内容,如 header(),或者空白字符像UTF-8编码中BOM ,或者文件等编码格式不对。
2 服务器的时间设置不正确( 服务器的时间和本地不一致)。
在PHP中,session_set_cookie_params(),setcookie() 的lifetime 参数不正常。
这一问题尤其在chrome与IE下面很明显,cookie值根本就无法写入,friefox却不没有影响。
3 域名不正确
如:errb_2kb.com 这是一个不正确的域名,当使用IE浏览器访问时,COOKIE是无法被成功设置(种植)的。
但在friefox、chrome浏览器中没有问题。
2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务 |