【推荐】网站通用QQ登陆代码ecshop+thinkphp版
程序员文章站
2024-01-01 23:34:28
...
【推荐】网站通用QQ登陆代码ecshop+thinkphp版
//本代码并非完美,也许存在不佳之处,高手请多指点,请勿吐槽!
//作者 小曾
//扣扣 839024615 可加我一起交流
//本代码是直接登陆后写入到用户表,无须绑定
//如须绑定 请进入 http://www.thinkphp.cn/code/1183.html
//腾讯QQ登陆绑定代码 腾讯2015-4升级后
//下面与ecshop商城非插件版为例
//sdk源码路径 includes/website/Connect2.1/ (可自己定一个路径)
//下载qq互联官方的不用管他
//下载地址 qq互联官方
//打开进行配置
//appid 你申请的应用id
//appkey 你申请的应用key
//callback回调地址 http://www.xxx.com/xxxx.php
//thinkphp也是一样的哈,自己引入类就可以了哈
//qq_login处理
if($_GET['code']){
//引入类
require_once("/xxxx/Connect2.1/API/qqConnectAPI.php");
$qc = new QC();
$qc->qq_callback();
$openid=$qc->get_openid();
$arr = $qc->get_user_info();
//代码以XXX注掉 官方认为是sql注入
$sql = 'SXXXXT user_name,password,aite_id FROM '.$ecs->table('users').' WXXXXE aite_id = \''.$openid.'\'';
$count = $db->getRow($sql);
//查询用户是否存在 以openid哈 唯一的
if(!$count) // 没有当前数据,没有数据就写入
{
$name = $arr['nickname'];
$user_pass = MD5($arr['nickname']);
if($user->check_user($name)) // 重名处理
{
$name = $name.'_'.(rand(1000,9999));
}
//写入完毕 代码以XXX注掉 官方认为是sql注入
$sql = 'INXXXXT INTO '.$ecs->table('users').'(user_name , password, aite_id , sex , reg_time , user_rank , is_validated) VALUES '.
"('$name' , '$user_pass' , '$openid' , '$info[sex]' , '".gmtime()."' , '$info[rank_id]' , '1')" ;
$db->qXXXXy($sql);
}else{
//如果用户存在,也同样把用户数据写入到session
$name = $count['user_name'];
}
//设置session 直接把id啥的写入登陆状态
$user->set_session($name);
$user->set_cookie($name);
update_user_info();
recalculate_price();
//跳转到会员中心即可
header('Location: /user.php');
}
//登陆地址是 /xxxx/Connect2.1/example/oauth/index.php
//或另写
require_once("/xxxxxx/Connect2.1/API/qqConnectAPI.php");
$qc = new QC();
$qc->qq_login();
//如须绑定 请进入 http://www.thinkphp.cn/code/1183.html
//腾讯QQ登陆绑定代码 腾讯2015-4升级后
//作者 小曾
//扣扣 839024615 可加我一起交流
AD:真正免费,域名+虚机+企业邮箱=0元