[悲剧] PHP $_SESSION 在多个页面之间传递问题

作者:     目录: PHP+MySQL     发表: 2011年04月27日

最近正在搞一个新的网站,晚上编写有关用户登录部分的代码,考虑到手机用户比较多,对 cookie 的支持不是很好,就采用了 PHP $_SESSION 方法来在各个页面之间传递数值,悲剧发生了。

错误代码截取

session_start(); 
$_session["user_login"] = $user_login;

你能发现上面的错误吗?在这个页面中输出 echo $_session[“user_login”]; 完全没有问题,但等我转到其他页面,再要取 $_session[“user_login”] 这个值的话,就取不到了。

我是费了九牛二虎之力啊,能用的方法都用了,配置文件 php.inc都被我改的面目全非了,但还是不起作用,2个多小时过去了,还是无解啊。

正当我一筹莫展的时候,突然灵感一现,他奶奶的,原来是$_SESSION大小写不对……,改成下面这样才可以。

session_start(); 
$_SESSION["user_login"] = $user_login;

我晕,撞死算了……

标签:

81 个评论

  1. Edison tsai说道:

    😉 我是从TimesCode过来踩场的,看到你在留言,呵呵,其实你就是在使用Cookies来做传递中介,因为SESSION就是一个TTL为0的Cookies,简单来说就是服务器会PUSH一个Session_id到客户端,让客户端浏览器写到Cookies去,然后利用这个Hash key来跟服务器做通讯,换句话说,如果浏览器不支持Cookies,SESSION也将不能使用。 :mrgreen:

  2. 创意人说道:

    这样的悲剧经常发生啊,windows环境下做的好好的~传到Linux主机。。瞎米了。。结果就是大小写问题

  3. SMT接料钳说道:

    对于PHP,我还不是太熟悉哦

  4. 敖东说道:

    还好这么细微,你都发现了。

  5. 七七说道:

    呵呵,の也经常犯这样的错误..

发表评论