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