以文本方式查看主題 - 曙海教育集團論壇 (http://www.xinguifushi.cn/bbs/index.asp) -- WAP平臺開發 (http://www.xinguifushi.cn/bbs/list.asp?boardid=50) ---- wap 插件登陸問題(附上適用于2.10正式版wap包) (http://www.xinguifushi.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包傳上來 |