QQ登陆绑定代码
首先我们去QQ互联下载SDK PHP版源码
下载后,把源码上传到你的网站,打开进行配置
腾讯Qq互联开发平台最后升级2015-4-20 回调地址必须完整一字不差
假如腾讯管理那边写的回调地址 http://www.qq839.com/index.php
那么你的网站配置 必须为 http://www.qq839.com/index.php 一字不可错
配置好之后把API目录打开,移至第三方类库
我取名Connect 原来目录是Connect2.1 我们去这个(点)防止引入错误 当然你可以命名为QQAPI什么的,这个由你们自己定
目录 \ThinkPHP\Extend\Vendor 这个根据自己的开发习惯放至
放完了,写控制器Login//本代码并非完美,也许存在不良之处,高手请多指点,请勿吐槽!<br>
//作者 小曾 Qq839024615 可加我一起交流<br>
//qq登陆<br>
public function qq_login(){<br>
vendor('Connect.qqConnectAPI');<br>
$qc = new QC();<br>
$qc->qq_login();<br>
}<br>
//qq验证登陆<br>
public function qq_callback(){<br>
vendor('Connect.qqConnectAPI');<br>
$qc = new QC();<br>
$qc->qq_callback();<br>
$qc->get_openid();<br>
$this->success("QQ登陆成功",U('Login/qq_user'));<br>
}<br>
//qq取资料<br>
public function qq_user(){<br>
vendor('Connect.qqConnectAPI');<br>
$qc = new QC();<br>
$arr = $qc->get_user_info();<br>
<br>
//判断是否绑定<br>
$Q=M('QQ绑定数据库');<br>
$where['openid']=$_SESSION['QC_userData']['openid'];<br>
$isqq=$Q->where($where)->find();<br>
if($isqq){<br>
//如果已绑定某用户,则用uid取用户名直接session到此用户<br>
}else{<br>
//如果未绑定则跳转到完善用户信息<br>
session('head',$arr['figureurl_2']);<br>
session('nick',$arr['nickname']);<br>
$this->success("请完善用户信息",U('Login/reg_qq'));<br>
}<br>
}<br>
//qq注册完善信息<br>
public function reg_qq(){<br>
if(IS_POST){<br>
$user=$this->_post('uname');//用户名<br>
$pwd=$this->_post('pwd');//密码<br>
$repwd=$this->_post('repwd');//重复密码<br>
$ip=get_client_ip();<br>
<br>
$User=M("User");<br>
<br>
//判断用户是否存在<br>
$whereus['user']=$user;<br>
if($User->where($whereus)->find()){<br>
$this->error('对不起,此用户名已存在,请更换!');<br>
}<br>
<br>
//这是用户信息,根据你自己的数据库定<br>
$data['user']=$user;<br>
$data['pwd']=md5($pwd);<br>
$data['nick']=session('nick');<br>
$data['head']=session('head');<br>
$data['reg_time']=time();<br>
$data['login_time']=time();<br>
$data['reg_ip']=$ip;<br>
$data['dow_score']=20;<br>
$data['login_ip']=$ip; <br>
$isus=$User->add($data);<br>
<br>
if($isus){<br>
//绑定qq<br>
$Q=M("Qq_user");<br>
$Qdata['access_token']=$_SESSION['QC_userData']['access_token'];<br>
$Qdata['openid']=$_SESSION['QC_userData']['openid'];<br>
$Qdata['time']=time();<br>
$Qdata['uid']=$isus;<br>
$Q->add($Tdata);<br>
$this->success('注册成功,请使用QQ登陆或账号密码登陆!',U('Index/index'));<br>
}else{<br>
$this->error('注册成功,但QQ绑定失败,请登陆后再次绑定!');<br>
}<br>
}else{<br>
$this->display();<br>
}<br>
<br>
}<br>
//本代码并非完美,也许存在不良之处,高手请多指点,请勿吐槽!<br>
//作者 小曾 Qq839024615 可加我一起交流
AD:真正免费,域名+虚机+企业邮箱=0元