《CMS教程:phpcms QQ登錄無法正常登錄》要點:
本文介紹了CMS教程:phpcms QQ登錄無法正常登錄,希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:PHPCMS教程
導(dǎo)讀:現(xiàn)在大家應(yīng)該發(fā)現(xiàn).所有phpcms的網(wǎng)站,QQ互聯(lián)也就是QQ一鍵登錄都用不了的.不知道大家發(fā)現(xiàn)一個問題沒有,官方的phpcms.cn網(wǎng)站之前都是可以...
現(xiàn)在大家應(yīng)該發(fā)現(xiàn).所有phpcms的網(wǎng)站,QQ互聯(lián)也就是QQ一鍵登錄都用不了的.不知道大家發(fā)現(xiàn)一個問題沒有,官方的phpcms.cn網(wǎng)站之前都是可以用QQ登陸的,現(xiàn)在也不行了,原因是騰訊有更新,而官方phpcms系統(tǒng)更新太慢,不知道那些大爺在干什么.首頁,我們來看看騰訊有啥子更新呢?
對于大家這個更新如果沒玩過QQ互聯(lián)的大家也許不懂,我來解釋下
上圖所示,左邊是QQ互聯(lián)申請的后臺地址,右邊是phpcms后臺填寫的回調(diào)地址.phpcms回調(diào)地址必須填寫http://網(wǎng)站域名/index.php?m=member&c=index&a=public_qq_loginnew才能使用而現(xiàn)在呢,騰訊qq的回調(diào)地址不允許帶參數(shù),否則無法提交,并且要與phpcms地址的回調(diào)地址一致,才能使用.qq互聯(lián)回調(diào)地址和phpcms管理中心的回調(diào)地址不一樣導(dǎo)致qq登錄報錯:redirect uri is illegal(100010)那么問題來了,phpcms必須要帶參數(shù)才能使用,而騰訊帶上參數(shù)又不讓使用,這不是很矛盾嗎.到底如何解決這個問題呢,肯定不能讓騰訊修改規(guī)則,而phpcms官方更新太慢.今天下午我看網(wǎng)上有人搜索這個問題,自己研究了下,現(xiàn)在公布給大家首頁第一步,將騰訊和phpcms后臺的qq回調(diào)地址統(tǒng)一設(shè)置成你自己的網(wǎng)站域名www.wfuyu.com(下面說明中,網(wǎng)站都以本網(wǎng)站www.wfuyu.com做說明,你自己填寫的時候,寫上你自己的網(wǎng)站域名即可).經(jīng)過第一步后,點擊自己網(wǎng)站上面的QQ登陸按鈕,會顯示登陸成功,并且登陸后直接返回了首頁(其實沒有登陸成功,只是讀取了騰訊openid的數(shù)據(jù),返回到了網(wǎng)站首頁,phpcmss沒有做任何登陸操作)第二步,將第一步的中,騰訊qq和phpcms的網(wǎng)站回調(diào)地址改成www.wfuyu.com/qqcode重復(fù)第一步登陸QQ,登陸成功后,返回首頁,大家注意瀏覽器url地址為.www.wfuyu.com/qqcode?code=3CD919E33C50BAC0D6D56ABAC926CA62現(xiàn)在接下來的目標(biāo)是,將www.wfuyu.com/qqcode?code=3CD919E33C50BAC0D6D56ABAC926CA62 這個地址,指向http://www.wfuyu.com/index.php?m=member&c=index&a=public_qq_loginnew&code=3CD919E33C50BAC0D6D56ABAC926CA62這樣phpcms才會處理騰訊返回過來的qq信息第三步,偽靜態(tài)處理將更目錄下.htaccess文件 加入RewriteCond %{QUERY_STRING} ^code=(.*)$RewriteRule ^qqcode index.php?m=member&c=index&a=public_qq_loginnew&code=%1 [L]這里不同的服務(wù)器規(guī)則不一樣,我的是apache現(xiàn)在大家明白第二步中URL為什么后臺加個尾巴qqcode了吧,只是為了方便寫偽靜態(tài)而已,沒有別的作用經(jīng)過第三步后,大家刷新自己的網(wǎng)站,用QQ登陸,可以顯示登陸成功,也跳轉(zhuǎn)到了補充信息頁面.說明:如果你到了這個步驟,如果登陸后頁面是空百的
你的服務(wù)器可能因為file_get_contents無法請求https連接.
解決方案有3:
1.windows下的PHP,只需要到php.ini中把extension=php_openssl.dll前面的;刪掉,重啟服務(wù)就可以了.
2.linux下的PHP,就必須安裝openssl模塊,安裝好了以后就可以訪問了.
3.如果服務(wù)器你不能修改配置的話,那么就使用curl函數(shù)來替代file_get_contents函數(shù),當(dāng)然不是簡單的替換,還有相應(yīng)的參數(shù)配置才能正常使用curl函數(shù).我的網(wǎng)站就出現(xiàn)了空白,用網(wǎng)上搜索的方法一解決的,如果你網(wǎng)站不是空白,請忽略上面的文字,直接看下面圖片吧,更坑爹呢
尼瑪,好不容到了這步了,為啥用戶名和昵稱是亂碼.解決方法:在phpcms/modules/member/index.php 大概第1348行$connect_username = $user['nickname']; 改成$connect_username = $user;if里面兩個地方都要改
然后再重復(fù)登陸操作
這樣就正常了.按道理來說,這里注冊后,綁定QQ就能登陸了.可是,尼瑪,不管輸入什么都是說系統(tǒng)已經(jīng)存在!!真的是一步一個坑啊,今天研究到這里,后面的慢慢來弄吧,希望大家踴躍給我留意,把下面的問題一起來解決持續(xù)更新中(已解決上述問題)首先感謝各位網(wǎng)友對這篇文章的支持上述ajaxValidator表單驗證出錯的原因是,啟用了偽靜態(tài),導(dǎo)致ajax提交地址出錯修改方法:打開網(wǎng)站文件/templates/default/member/connect.html找到下面代碼
- ?
- url?:?"",??
- data?:"m=member&c=index&a=public_checkname_ajax",??
- 替換成?
- url?:?"http://www.wfuyu.com/index.php?m=member&c=index&a=public_checkname_ajax",?
- data?:"http://www.wfuyu.com/index.php?m=member&c=index&a=public_checkname_ajax",?
- ?
- ?
- url?:?"",?
- data?:"m=member&c=index&a=public_checkemail_ajax",?
- 替換成?
- url?:?"http://www.wfuyu.com/index.php?m=member&c=index&a=public_checkemail_ajax",?
- data?:"http://www.wfuyu.com/index.php?m=member&c=index&a=public_checkemail_ajax",?
- ?
- ?
- url?:?"",?
- data?:"m=member&c=index&a=public_checknickname_ajax",?
- 替換成?
- url?:?"http://www.wfuyu.com/index.php?m=member&c=index&a=public_checknickname_ajax",?
- data?:"http://www.wfuyu.com/index.php?m=member&c=index&a=public_checknickname_ajax",
總共需要提供的地方有三個,分別是用戶名驗證,郵箱驗證,昵稱驗證,代碼分別在第202行,第221行和238行左右
CMS教程
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/5818.html