目录
帝国cms在7.0版本就已经开通外部登录接口,但是很多朋友网站还是没有配置QQ登录,正好今天接了一个网友咨询帮忙配置QQ互联实现QQ登录,且要求免绑定登录账号、也就是说要实现QQ登录后自动注册功能
本着能帮则帮,能抄照抄的原则,搜索引擎搜索了相关插件,下载了一个帝国7.2版本的,版本链接如下:
百度网盘: https://pan.baidu.com/s/1vo4yqiW6Zn5WOv2Ci9MfZQ
提取码: 71as
根据压缩包内教程安装好插件,如何安装,压缩包详细说明,这里不多做介绍
测试登录,发现登录到会员中心后台--提示绑定登录账号,或者注册绑定
顾客需求:QQ登录后自动注册登录账号,不绑定已有账号或重新注册绑定
针对这一需求,帝国论坛查看了相关文章,发现网友分享的:QQ登录插件改进版,有可以借鉴的地方
文章网址:http://bbs.phome.net/ShowThread/?threadid=347619&forumid=31
下载好文章,根据文章提示上传附件内容到指定目录,登录测试
问题一:验证码不正确

解决办法一:后台--系统设置--系统参数设置--用户设置--会员注册验证码
解决办法二:代码修改
/e/memberconnect/qq/loginend.php,找到
register($qq);
在代码上方添加
$qq['nokey']=1;//不验证后台验证码
/e/member/class/member_registerfun.php,找到
if($public_r['regkey_ok'])
改成
if($public_r['regkey_ok']&&$add['nokey']<>1)
这样验证码过期的问题就解决了
问题二:二次密码不一致

$password = rand(100000,999999); //随机密码
$qq['password'] = (int)$password;
$qq['repassword'] = (int)$password;
这是下载后/e/memberconnect/qq/loginend.php中关于密码的写法
这个写法是随机6位密码,但是密码这样写肯定是不一样的,那么怎么改呢,很简单
$qq['password'] = '123456';
$qq['repassword'] = '123456';
直接写死代码,不过建议改成复杂一点的,这样问题就解决了
问题三:此邮箱已被注册

这是下载后/e/memberconnect/qq/loginend.php中关于邮箱的写法
$qq['email'] = 'xxxxx@qq.com';
这样写就是写死了邮箱,也就是说不管哪个QQ登录都是这个邮箱,那么肯定不行,会提示此邮箱已被注册,那么如何解决
$email = rand(1000000000,9999999999);
$qq['email'] = (int)$email.'xxxxx@qq.com';
写个随机邮箱即可解决
问题四:登录后出现404错误
原本帝国cms注册后,跳转到的是会员中心页面,也就是:
http://zz2zz.com/e/member/cp/
但是实际跳转到的页面是:
http://zz2zz.com/e/memberconnect/member/cp/
从网址链接不难看出是多出了一个memberconnect层级,那么如何解决呢
解决方法:/e/member/class/member_registerfun.php
$location="../member/cp/";
改成
$location="/e/member/cp/";
到这一步,帝国cms使用外部接口QQ互联登录注册的工作就全部完成,使用QQ互联登录的好处是什么,一方面免去注册填写这些那些信息,另一方面,不用担心忘记注册用户名密码,因为主要你QQ还能登录,就能登录到网站
问题五:登录后会员用户名和密码以及邮箱是什么,安全吗
针对这个问题,如图

可以看出用户名,我这里采用的是QQ昵称,也就是说你QQ昵称是什么,用户名就是什么,至于密码,你设置一个复杂一点呢,也不会轻易被撞库成功
问题六:此用户名已被注册,请重填
这里补充,有网友问如果QQ昵称相同会不会注册不成功,针对这个问题,我修改了两个一样的昵称,还真的出现了问题

那么,如何解决这个问题呢,建议用户名$username = rand(1000,9999); 昵称+随机4位数字,也可以增加6-8位不等的
但是前提是要在后台--系统--系统参数设置--用户设置--注册用户名限制,修改更长的字符,避免报错,密码也是一样
问题七:邮箱能不能设置为哪个QQ登录,对应哪个QQ邮箱的形式
真不好意思,查看了QQ互联api调用的接口,没有返回QQ号码值,所以只能随机

到这里应该是没有什么问题了,有问题在@站长修复bug
同时,也有朋友问,能不能也出一个微信接口调用的教程,真不好意思,因为没有营业执照申请微信开放平台的服务号,没法进行测试,实在抱歉,如果你有,我可以找对应的插件帮你调试