以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- WAP平台开发 (http://sun4.cn/bbs/list.asp?boardid=50) ---- wap 插件登陆问题(附上适用于2.10正式版wap包) (http://sun4.cn/bbs/dispbbs.asp?boardid=50&id=2170) |
-- 作者:wangxinxin -- 发布时间:2010-12-6 12:01:36 -- wap 插件登陆问题(附上适用于2.10正式版wap包) 在论坛下了个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包传上来 |