日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

織夢dedecms使用Mysql8.0無法登錄后臺的解決辦法_DedeCms教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!
織夢dedecms使用Mysql8.0無法登錄后臺的解決辦法
今天一個客戶聯(lián)系我們的技術,反饋說安裝之后,但是登錄后臺,一直提示用戶名不存在。通常這個原因有兩個(1、數(shù)據(jù)庫鏈接信息不對  2、數(shù)據(jù)庫表中的用戶名不是默認的admin,被修改過)經(jīng)過多發(fā)查證,這兩個原因都被排除了,最后發(fā)現(xiàn)原來這位客戶用的是mysql8.0的數(shù)據(jù)庫。

因mysql 8.0新制定的語句表名限制條件被dede自帶的后臺用戶登錄檢查語句指定表別名所違背而引起的bug。如何解決呢?
 
找到dedecms的文件目錄, 在include子目錄下找到userlogin.class.php, 249行左右看到如下語句:
  1. <span style="font-family:tahoma,geneva,sans-serif;"><span style="font-size:14px;">
  2. //只允許用戶名和密碼用0-9,a-z,A-Z,'@','_','.','-'這些字符 
  3. $this->userName = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $username); 
  4. $this->userPwd = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $userpwd); 
  5. $pwd = substr(md5($this->userPwd), 5, 20); 
  6.   
  7. $dsql->SetQuery("SELECT admin.*,atype.purviews FROM `dede_admin` admin LEFT JOIN `dede_admintype` atype ON atype.rank=admin.usertype WHERE admin.userid LIKE '".$this->userName."' LIMIT 0,1"); 
  8. $dsql->Execute(); 
  9. $row = $dsql->GetObject(); 
  10. </span></span> 
 其中SetQuery就是設定將要執(zhí)行的sql語句, 下一行Execute()來執(zhí)行這個設定好語句,我們從語句里面改。改成如下:
  1. <span style="font-family:tahoma,geneva,sans-serif;"><span style="font-size:14px;">
  2. //只允許用戶名和密碼用0-9,a-z,A-Z,'@','_','.','-'這些字符 
  3. $this->userName = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $username); 
  4. $this->userPwd = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $userpwd); 
  5. $pwd = substr(md5($this->userPwd), 5, 20); 
  6.   
  7. $dsql->SetQuery("SELECT admi.*,atype.purviews FROM `dede_admin` admi LEFT JOIN `dede_admintype` atype ON atype.rank=admi.usertype WHERE admi.userid LIKE '".$this->userName."' LIMIT 0,1"); 
  8. $dsql->Execute(); 
  9. $row = $dsql->GetObject(); 
  10. </span></span> 
以上內(nèi)容僅供大家學習參考。希望可以幫助到你。


查看更多 DedeCms教程  織夢模板  織夢DedeCms視頻教程  織夢dedecms專題

來源:模板無憂//所屬分類:DedeCms教程/更新時間:2020-06-03
相關DedeCms教程