最近正在搞一个新的网站,晚上编写有关用户登录部分的代码,考虑到手机用户比较多,对 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;
我晕,撞死算了……
标签:PHP
😉 我是从TimesCode过来踩场的,看到你在留言,呵呵,其实你就是在使用Cookies来做传递中介,因为SESSION就是一个TTL为0的Cookies,简单来说就是服务器会PUSH一个Session_id到客户端,让客户端浏览器写到Cookies去,然后利用这个Hash key来跟服务器做通讯,换句话说,如果浏览器不支持Cookies,SESSION也将不能使用。
这样的悲剧经常发生啊,windows环境下做的好好的~传到Linux主机。。瞎米了。。结果就是大小写问题
对于PHP,我还不是太熟悉哦
图片好大啊。
还好这么细微,你都发现了。
呵呵,の也经常犯这样的错误..