第三方登录,就是使用大家比较熟悉的比如QQ、微信、微博等第三方软件登录自己的网站,这可以免去注册账号、快速留住用户的目的,免去了相对复杂的注册流程。下边就给大家讲一下怎么使用PHP开发QQ登录的功能。

1、进入QQ互联官网进行登录(可以使用自己的QQ或者重新注册一个QQ号作为咱们项目的单独QQ进行管理),地址:https://connect.qq.com/

2、点击“应用管理”进入QQ互联管理中心,在这里进行相关应用的创建,分为 网站应用 和 移动应用。选择自己想要的应用进行资料的填写(审核需要等待大概7天左右),审核通过你将获得APP ID和APP Key

3、审核通过获得相关接口:get_user_info。

5、仔细观察sdk我们会发现它包含有4个文件夹、2个文件,其中最主要的是API文件夹,其余的我觉得都可以忽略不看(你看也没事),按照这篇文档一步一步往下进行,你就可以实现登录的功能。

6、将API文件夹拷贝到你的项目里,至于拷贝到项目的哪个文件夹,只要你能引入就行,看你心情来就可以,前期准备做好,接下来就是写代码了。

7、打开你拷贝到项目里的API文件夹,其中有一个comm文件夹,再次打开comm你就能看到一个叫 inc.php 的家伙,打开它!将上文记在你小本本上的APPID 和 APPKEY填写到相关位置,大概形式是这样的

{"appid":"你的appid","appkey":"你的appkey","callback":"你的网站回调域","scope":"get_user_info"}

8、代码如下

/*** Created by PhpStorm.* User: qichao* Date: 2018/1/31* Time: 下午7:22*/

namespace wechat\controllers;

use wechat\common\BaseController;

require(__DIR__ . '/../tools/API/qqConnectAPI.php'); //引入QQ互联SDK,这是按照我自己项目的路径引入的。

class QqloginController extends BaseController{

//登录方法 public function actionQqlogin(){

$qc = new \QC();

$qc->qq_login();

}

//这个方法是当你通过QQ登录成功以后想要跳转回来的地址,比如你想登录成功以后跳转到百度,那你把下文的$url改为百度链接即可! public function actionCallback(){

header("Content-type: text/html; charset=utf-8");

/*       这里请根据你的项目开发需求(比如获取登录用户的昵称、头像、年龄等等),进行相关代码的开发,具体数据获取方法,请查阅QQ互联文档$qc = new \QC();$access_token = $qc->qq_callback();$openid = $qc->get_openid();*/

$url = "http://wechat.xxx.cn/index.php?r=cms/home";

header("Location:".$url);

exit();

}

}

至此呢你的整个流程就走完了,简单吧!!!整个功能流程类似下图:

如果你在开发过程中遇到如下问题:

file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

出现这个错误的原因很简单,php配置中的加密模块并没有打开

解决方案:

1.(windows)php.ini配置文件,定位到下图蓝色所示的位置,把extension=php_openssl.dll 前面的; 分号去掉

去掉以后重新启动Apache或者nginx服务器,再访问,就不会有这个错误了。

2. linux下的PHP,就必须安装openssl模块,安装好了以后就可以访问了。以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家或 者关注咱们下面的知乎专栏PHP架构师圈子​zhuanlan.zhihu.com

php mysql登录实现原理_PHP实现QQ登录的开原理和实现过程相关推荐

  1. QQ登录php无限制,PHP实现QQ登录实例代码

    搜索热词 分享一段利用PHP实现QQ登陆的代码,原理是用curl模拟发送post登录,cookie保存本地,实现真正的3GQQ登陆.这里代码理论可以支持永久单挂QQ-真正做到免费挂qq哦. PHP;& ...

  2. python实现qq登录_Django网站实现第三方QQ登录

    今天搞好了博客搁置已久的登录功能,目前仅支持第三方登录,这样有效减少了恶意的批量注册,我先来说下第三方登录的原理: 这里以QQ为例 首先,在QQ互联注册开发者并申请自己的博客应用(网上教程大把,这里不 ...

  3. php跳转到qq界面,PHP实现QQ登录的开原理和实现过程

    第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. ...

  4. iOS 开发,xcode7中用QQ授权登录遇到的一些问题 QQ登录不跳客户端

    1.首先导入framework. 2. 调用 _tencentOAuth = [[TencentOAuth alloc] initWithAppId:APPID andDelegate:self];这 ...

  5. java qq微信微博第三方登录界面_android 实现第三方登录(微博、微信、QQ登录)

    [实例简介]此案例是演示案例,大家可以看到Bmob的第三方登录和信息获取如何工作的 实现了 qq.微信.微博的 第三方登录功能 [实例截图] [核心代码] package com.bmob.demo. ...

  6. java实现qq登录界面_java模仿实现QQ登录界面

    本文实例为大家分享了java模仿实现qq登录界面的具体代码,供大家参考,具体内容如下 这是我模仿QQ2015版界面,实现的基本功能有登陆验证,重置等,当然直接复制代码运行是不一样的,还要注意自己插入自 ...

  7. 第三方登录功能的实现之 QQ登录 - 未绑定

    目录 QQ登录 - 未绑定 - 有账号 获取QQ头像和昵称 表单校验 发送验证码 QQ绑定完成 QQ登录 - 未绑定 - 无账号 QQ登录 - 未绑定 - 有账号 如果账号是绑定的状态,手动调用一下解 ...

  8. php mysql购物车实现原理_PHP实现购物车的思路和源码分析

    这里主要是记录下自己的购物车的思路,具体功能实现,但是尚未在实际项目中用到,不对之处欢迎指正 项目中需要添加购物车. 目录说明 buy.php 点击购买之后的操作 car.php 购物车,显示购买的东 ...

  9. php mysql购物车实现原理_php购物车原理

    /* 购物车原理 在产品展示页面时(如 shop.php?id=888),点击购买或添加到购物车时,根据相应的产品标识符(如 id),查询相应的数据库,如果查询表示有此产品,用 $_SESSION 数 ...

最新文章

  1. ArrayList 集合
  2. CentOS7.3下配置 Apache2.4 + MySQL5.7 + PHP7.1.8
  3. java环境安装之不能安装exe文件
  4. go mysql 乱码_MySQL 乱码之我见
  5. 《STL源码剖析》学习-- 1.9-- 可能令你困惑的C++语法1
  6. Pygame - Python游戏编程入门(1)
  7. CCIE-LAB-第二篇-端口聚合LACP+RSTP
  8. LeetCode 452. 用最少数量的箭打破气球(贪心)
  9. HTML复古游戏官网模板
  10. 用Python在Excel里画出蒙娜丽莎
  11. J2EE框架学习经典总结
  12. vmware workstation 12 永久激活码
  13. delphi模拟键盘按键
  14. 你们那有个计算机室吗英语,关于电脑的英语作文80字
  15. 关于app的几个核心功能的设计想法
  16. Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!
  17. HDOJ 月之数 2502
  18. 拼多多开店怎么做推广?四川万顿思
  19. 禁用Chrome跟随系统的DPI缩放
  20. 漫画丨什么是边缘云?

热门文章

  1. idea淇℃伅 乱码
  2. 慎用gmtime和localtime
  3. Node 03--在Node中使用模板引擎进行渲染
  4. 安卓手机录屏高科技,为什么还有手机无法录屏,必须要知道!
  5. 圣诞节到了,教大家用 Python 绘制几棵圣诞树~
  6. if err == Error 和 if errors.Is(err, Error) 有什么区别
  7. java 报警系统_GitHub - Shadow-Java/alert-system: 嵌入式-图像检测自动报警系统
  8. python中partial库用法详解
  9. Hive UDF 开发手册
  10. android虚拟键盘InputMethodManager使用