php QQ登录

放置按钮:
如在首页 index.php 中放如下代码(即放按钮)
<a href="qq/index.php">QQ登录</a>

然后跳转到 qq/index.php 文件中,代码如下:
$url = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=[YOUR_APPID]&redirect_uri=[YOUR_REDIRECT_URI]&scope=[THE_SCOPE]"
header("Location:" . $url);

接着会跳转到 redirect_uri=[YOUR_REDIRECT_URI] 里面指定的值 [YOUR_REDIRECT_URI],如 qq/callback.php
同时会带有 ?code=value 的值

在qq/callback.php代码如下:

$code = $_GET[‘code‘];
$url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=[YOUR_APPID]&client_secret=[APP KEY]&code=". $code ."&state=lin3615&redirect_uri=" . urlencode("http://www.xxxx.net/qq/callback.php");
// get_contents($url)用用获取返回的数据
    function get_contents($url){
       if (ini_get("allow_url_fopen") == "1") {
            $response = file_get_contents($url);
        }else{
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            curl_setopt($ch, CURLOPT_URL, $url);
            $response =  curl_exec($ch);
            curl_close($ch);
        }

return $response;
    }
        $response = get_contents($url);
        // 解析数据,里面有$access_token值
        parse_str($response);
        //callback($str)把json格式转为 数组形式
function callback($str)
{
    return json_decode($str, true);
}
        $url = "https://graph.qq.com/oauth2.0/me?access_token=" . $access_token;
        $callback = get_contents($url);
        $callback = str_replace("(", "(‘", $callback);
        $callback = str_replace(")", "‘)", $callback);
        eval(‘$data=‘.$callback);

// openid
        $openid = $data[‘openid‘];

$url = "https://graph.qq.com/user/get_user_info?access_token=$access_token&oauth_consumer_key=[YOUR_APPID]&openid=" . $openid;

$dd = get_contents($url);
$dd = json_decode($dd, true);
print_r($dd);
//其中 $dd 就是相关的QQ信息数组

以下就连接数据库;
假如如下数据表
user:用户表,正常的非QQ登录,字段有:
uid 自增
name 用户名
password 密码
.....

qqconnect:QQ连接表,QQ连接时用的,字段有:
quid uid与 user表中的 uid 对应
openid $opendid
access_token $access_token
......

连接数据库
$link = mysql_connect();
$sql = "select quid from qqconnect where openid= ‘{$openid}‘ and access_token = ‘{$access_token}‘";
$res = mysql_query($sql, $link);
// 如是如果已经存在,
if($res && mysql_num_rows($res))
{
    $row = mysql_fetch_assoc($res);
    $uid = $row[‘quid‘];
    $query = "select * from user where uid = ‘{$uid}‘";
    $rr = mysql_query($query, $link);
    $rrs = mysql_fetch_assoc($rr);
    $_SESSION[‘uid‘] = $rrs[‘uid‘];
    $_SESSION[‘name‘] = $rrs[‘name‘];
    header("Location:" . 首页);
}else
{
// 不存在,就直接显示绑定表单
    echo "<from>";
    echo ‘‘;
    echo "</from>";
}

php QQ登录,布布扣,bubuko.com

时间: 2024-10-29 23:31:54

php QQ登录的相关文章

{过时&#183;留存}QQ登录验证

涉及资料均来源于公开网络 仅作留存,谬误难免 算是一些过时笔记吧,没找到文字,只有PDF了,就酱吧. 学习需要,验证当时QQ登录.得到SessionKey的办法,Tea等部分代码来源于Pidgin. 无参考价值,仅作留存.

java如何在网站中接入qq登录功能

其实接入qq登录还是很简单的,但是你既然要做qq登录肯定你得网站要能够在外网访问的到, 因为qq在对你得网站授权之间会进行人工检查,检查你得图标摆放位置合不合理,网站是否违法等内容. 当你的网站能够在外网访问的时候 我们在qq开发者网站中申请网站的授权 用你的qq登录这个网站 http://connect.qq.com/ 在管理中心创建你的应用 创建应用的时候需要你填写一些网站的基本信息 如访问网址.登录成功后回调地址(也就是你处理登录请求的action) 腾讯会在request中封装qq验证后

QQ登录类

2015-3-31 22:02:09 1. 首先是库文件, 登录->授权->token->openid->获取用户信息 1 class QQ 2 { 3 public $appid = ''; 4 public $appkey = ''; 5 public $scope = 'get_user_info'; //权限用逗号隔开 6 public $callback = ''; 7 8 public $get_auth_code_url = 'https://graph.qq.com

Moodle的qq登录版块的使用

在这篇Moodle的qq登录版块的使用教程中,我们假定你已经有了一个有域名,外网能访问的Moodle2.4+网站,并且数据库使用的是mysql. 我们将提供Moodle的QQ登录版块的下载地址,以及这个版块的安装使用方法. 本系列教程将引导你完成如下任务: 申请QQ互联的appid 在Moodle上安装QQ登录版块 QQ登录版块中填入appid 第一章 申请QQ互联应用appid 创建QQ互联应用 QQ账号登陆 QQ账号登陆,首先需要在qq互联上进行申请,申请地址:http://connect.

C#调用JS方法、以QQ登录密码的md5为例

C# 调用代码 ScriptControlClass js = new ScriptControlClass(); js.Language = "JScript"; js.AddCode(textBox2.Text);//JS代码 string result = null; result = js.Eval(textBox1.Text).ToString(); //调用函数 MessageBox.Show(result); MD5 JS代码 function md5js(pass, c

什么是“QQ登录OAuth2.0”

1. 什么是“QQ登录OAuth2.0 OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权.QQ登录OAuth2.0采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于

使用QQ登录商城

网站必须上线->注册验证 1. 注册域名->万网 2 有台服务器->租服务器[阿里云][LINUX cente OS 7.0]——>root的密码 3  使用软件远程连接到LINUX服务器[putty] 4 在LINUX下 安装LAMP | lnmp环境 http://www.lnmp.org/   一键安装 5     ifconfig 查看IP 在注册域名的网站后台把域名绑定到这个阿里云的服务器的IP地址上 echl     ------------ 6 把代码上传到服务器上[

【QQ登录】回调地址常见问题及修改方法

百度一次 http://wiki.open.qq.com/wiki/[QQ登录]回调地址常见问题及修改方法 百度一下 http://wiki.connect.qq.com/回调地址常见问题及修改方法教程 http://jingyan.baidu.com/article/b87fe19e93539052183568f5.html 教程 http://www.chinaz.com/web/2015/1023/461390.shtml[QQ登录]回调地址常见问题及修改方法1. 什么是回调地址域名? 用

React Native 接入微博、微信、QQ 登录功能

在 App 开发中我们经常需要在用户登录模块接入 SNS 登录组件,这样会大大提高用户的注册体验.特别当一个不是刚性需求 App 推广的时候,这样会很大的降低用户体验的成本,没有人愿意忍受输入邮箱.手机号码去注册一个账号的流程.本文主要分享了在 React Native 中接入微博.微信.QQ 登录的流程,以及此前登录组件中修复的一个已知 bug 的修复. 使用中有任何问题欢迎留言交流.讨论.http://blog.1ygowu.com ReactNative技术交流 QQ群127482131

【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】

说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ———————————————————————————————————————————— 先申请一下 创建一个应用 网站或者移动 注意回调地址(登录的时候会传东西过去) 以网站为例 验证后即可成功,具体看创建时候的提示 记住上面的id 这个是你的api管理页面(更多可以申请) 下面说一下重头戏: 第一步:引入jq<s