您好,登錄后才能下訂單哦!
本篇內容介紹了“phpcms v9 怎么通過數據庫實現會員導入”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
有一個舊系統的用戶需要導入到新的系統中,新的系統使用的phpcms v9二次開發的系統,需要把舊系統的用戶導入到新的系統中,網上有使用的導入模塊的東西但是使用效果不佳,所有采用直接在數據庫中操作的方法。
1.確定phpcms v9添加會使用的兩個表:v9_member v9_sso_members(這個和是否安裝sso有關)
2.用戶密碼加密規則:MD5(MD5(password)+隨機數) 也就是想使用MD5加密輸入的密碼在加上系統生成的隨機數(v9_member表encrypt列)。
3. v9_member的phpssouid 和 v9_sso_members的phpssouid保持一致。
4.在系統中新增的用戶id是自增的。
明白以上幾點規則就開始進行操作了:
INSERT INTO `phpcmsv9`.`v9_member` (`userid`, `phpssouid`, `username`, `password`, `encrypt`, `nickname`, `regdate`, `lastdate`, `regip`, `lastip`, `loginnum`, `email`, `groupid`, `areaid`, `amount`, `point`, `modelid`, `message`, `islock`, `vip`, `overduedate`, `siteid`, `connectid`, `from`, `mobile`) VALUES ('10000001', '10000001', '用戶名', MD5(CONCAT(MD5('這里是明文的密碼'),'隨機數')), '隨機數', 'xxxx', '1564468773', '1564468849', '172.16.1.1', '172.16.1.1', '0', '11@qq.com', '2', '0', '0.00', '1', '10', '0', '0', '0', '0', '1', '', '', '');
INSERT INTO `phpcmsv9`.`v9_sso_members` (`uid`, `username`, `password`, `random`, `email`, `regip`, `regdate`, `lastip`, `lastdate`, `appname`, `type`, `avatar`, `ucuserid`) VALUES ('10000001', '用戶名', MD5(CONCAT(MD5('這里是明文的密碼'),'隨機數')), '隨機數', 11@qq.com', '172.16.1.1', '1564468773', '127.0.0.1', '1564470571', 'phpcms v9', 'app', '0', '0');
這里的id采用一個比較大的就行,系統自增用不到的就行。
后續補充,在后續按照這個方法的操作是出現的問題和解決方法:
我使用將需要插入的列導入到excle中然后在前后加sql語句來拼裝成sql語句。
問題1.使用navicat 運行sql文件無論用那種編碼都導致中文變成?號的情況。 最后直接把sql語句粘貼到控制臺運行的方法,導入正確。
問題2. 原系統的賬戶名或密碼有0開頭的導致進入excle中時被默認去掉。 在從原數據庫導出的時候在這些前面拼接固定字符串,之后生成sql之后再替換掉。
問題3.excle中拼接sql時,開頭不能為‘ 否則和0開頭一樣。 不能避免就采用類似問題2的方法,在拼接是開頭加固定字符串。
修改密碼長度限制
修改登錄is_password
phpcms/libs/functions/global.func.php
在if 判斷的兩個數字 1 到20 是密碼字符串的區間。
“phpcms v9 怎么通過數據庫實現會員導入”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。