QQ登陆绑定代码
程序员文章站
2022-06-14 22:47:44
...
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
首先我们去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
//本代码并非完美,也许存在不良之处,高手请多指点,请勿吐槽!
//作者 小曾 Qq839024615 可加我一起交流
//qq登陆
public function qq_login(){
vendor('Connect.qqConnectAPI');
$qc = new QC();
$qc->qq_login();
}
//qq验证登陆
public function qq_callback(){
vendor('Connect.qqConnectAPI');
$qc = new QC();
$qc->qq_callback();
$qc->get_openid();
$this->success("QQ登陆成功",U('Login/qq_user'));
}
//qq取资料
public function qq_user(){
vendor('Connect.qqConnectAPI');
$qc = new QC();
$arr = $qc->get_user_info();
//判断是否绑定
$Q=M('QQ绑定数据库');
$where['openid']=$_SESSION['QC_userData']['openid'];
$isqq=$Q->where($where)->find();
if($isqq){
//如果已绑定某用户,则用uid取用户名直接session到此用户
}else{
//如果未绑定则跳转到完善用户信息
session('head',$arr['figureurl_2']);
session('nick',$arr['nickname']);
$this->success("请完善用户信息",U('Login/reg_qq'));
}
}
//qq注册完善信息
public function reg_qq(){
if(IS_POST){
$user=$this->_post('uname');//用户名
$pwd=$this->_post('pwd');//密码
$repwd=$this->_post('repwd');//重复密码
$ip=get_client_ip();
$User=M("User");
//判断用户是否存在
$whereus['user']=$user;
if($User->where($whereus)->find()){
$this->error('对不起,此用户名已存在,请更换!');
}
//这是用户信息,根据你自己的数据库定
$data['user']=$user;
$data['pwd']=md5($pwd);
$data['nick']=session('nick');
$data['head']=session('head');
$data['reg_time']=time();
$data['login_time']=time();
$data['reg_ip']=$ip;
$data['dow_score']=20;
$data['login_ip']=$ip;
$isus=$User->add($data);
if($isus){
//绑定qq
$Q=M("Qq_user");
$Qdata['access_token']=$_SESSION['QC_userData']['access_token'];
$Qdata['openid']=$_SESSION['QC_userData']['openid'];
$Qdata['time']=time();
$Qdata['uid']=$isus;
$Q->add($Tdata);
$this->success('注册成功,请使用QQ登陆或账号密码登陆!',U('Index/index'));
}else{
$this->error('注册成功,但QQ绑定失败,请登陆后再次绑定!');
}
}else{
$this->display();
}
}
//本代码并非完美,也许存在不良之处,高手请多指点,请勿吐槽!
//作者 小曾 Qq839024615 可加我一起交流
AD:真正免费,域名+虚机+企业邮箱=0元