Rss & SiteMap

曙海教育集团论坛 http://www.bjzhda.cn

曙海教育集团论坛
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:wap 插件登陆问题(附上适用于2.10正式版wap包)

1楼
wangxinxin 发表于:2010-12-6 12:01:36
在论坛下了个wap插件,发现有问题自已解决不了:
1,我的密码有特殊符号,正确输入,登陆却不成功。改成字母后可以正常登陆
2,虽然显示登陆成功,但还是显示为游客,无法写日志。
经过我试验是session变量的问题
我没学过php只能看懂一点代码
        if ($trial['username']==$mlouser && $trial['usergroup']==2) {
                $_SESSION['mobileuser']=$mlouser;
                $_SESSION['mobilepassword']=md5($mlopassword);
                print_wap_error("登入成功。<br/><br/><a href=\"index.php\">[返回首页]</a>");
        } else print_wap_error("登入失败。<br/><br/><a href=\"index.php\">[返回首页]</a>");
}
登入成功并给$_SESSION['mobileuser']和$_SESSION['mobilepassword']赋值
我在print_wap_error前边加了两行:
echo $_SESSION['mobileuser'];
echo $_SESSION['mobilepassword'];
可以看到已经正确赋值。
我又在session_start();后边加入以两行
echo $_SESSION['mobileuser'];
echo $_SESSION['mobilepassword'];
什么都不显示,所以在其后的那个if 没有给MOBILELOGIN贱上值1,导致显示为游客,不能写日志。
可是我不知道是为什么,请教高手指点。
还有为什么这个if,是这样呢if ($_SESSION['mobileuser'] && $_SESSION['mobilepassword']) {
&&两边不是不达试啊
问题1的解决方法:
我的密码里代有'号,md5运算时没有将它做为字符用算,而是当作了php的保留字符,导致登陆失败。
将两处md5($mlopassword)改成md5(str_replace("\\'", "'",$mlopassword))后问题解决

如果你的密码含有php的保留字符可以使用相应以下代码替换 md5($mlopassword)
md5(str_replace("\\\"", "\"",$mlopassword))
md5(str_replace("\\'", "'",$mlopassword))
md5(str_replace("\\\\", "\\",$mlopassword))

这样改后对于密码没有使用特殊字符的帐户也没有影响

问题2的解决方法:
原因是编码问题,用UE打开index.php全选 复制,在记事本里粘贴,保存为index.php然后在linux用iconv命令转换为utf-8,问题解决。

修改了一下insert 语句,使其能支持 2.10正式版
打我修改后的整个wap包传上来
共1 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2009 曙海教育集团
Powered By 曙海教育集团 Version 2.2
Processed in .01563 s, 2 queries.