1、首先到微信开放平台申请https://open.weixin.qq.com/ 获取到appid和APPSECRET,前台显示页面如下

html>

var obj = new WxLogin({

id: "login_container",

appid: "wxed782be999f86e0e",

scope: "snsapi_login",

redirect_uri: encodeURIComponent("http://" + window.location.host + "/login.php"),

state: Math.ceil(Math.random()*1000),

style: "black",

href: ""});

2、PHP处理代码页面

/*

require_once('weixin.class.php');

$weixin = new class_weixin();

*/

define('APPID', "wx19ba77624e083e08");

define('APPSECRET', "c1a56a5c4247dd44c320c9719c5ceb90");

class class_weixin

{

var $appid = APPID;

var $appsecret = APPSECRET;

//构造函数,获取Access Token

public function __construct($appid = NULL, $appsecret = NULL)

{

if($appid && $appsecret){

$this->appid = $appid;

$this->appsecret = $appsecret;

}

//扫码登录不需要该Access Token, 语义理解需要

//1. 本地写入

$res = file_get_contents('access_token.json');

$result = json_decode($res, true);

$this->expires_time = $result["expires_time"];

$this->access_token = $result["access_token"];

if (time() > ($this->expires_time + 3600)){

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret;

$res = $this->http_request($url);

$result = json_decode($res, true);

$this->access_token = $result["access_token"];

$this->expires_time = time();

file_put_contents('access_token.json', '{"access_token": "'.$this->access_token.'", "expires_time": '.$this->expires_time.'}');

}

}

/*

* PART1 网站应用

*/

/*

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

require_once('wxopen.class.php');

$weixin = new class_weixin();

if (!isset($_GET["code"])){

$redirect_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$jumpurl = $weixin->qrconnect($redirect_url, "snsapi_login", "123");

Header("Location: $jumpurl");

}else{

$oauth2_info = $weixin->oauth2_access_token($_GET["code"]);

$userinfo = $weixin->oauth2_get_user_info($oauth2_info['access_token'], $oauth2_info['openid']);

var_dump($userinfo);

}

*/

//生成扫码登录的URL

public function qrconnect($redirect_url, $scope, $state = NULL)

{

$url = "https://open.weixin.qq.com/connect/qrconnect?appid=".$this->appid."&redirect_uri=".urlencode($redirect_url)."&response_type=code&scope=".$scope."&state=".$state."#wechat_redirect";

return $url;

}

//生成OAuth2的Access Token

public function oauth2_access_token($code)

{

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$this->appid."&secret=".$this->appsecret."&code=".$code."&grant_type=authorization_code";

$res = $this->http_request($url);

return json_decode($res, true);

}

//获取用户基本信息(OAuth2 授权的 Access Token 获取 未关注用户,Access Token为临时获取)

public function oauth2_get_user_info($access_token, $openid)

{

$url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";

$res = $this->http_request($url);

return json_decode($res, true);

}

演示下载地址:http://www.erdangjiade.com/php/1034.html

php实现微信登录详细教程,[文档教程]PHP实现微信开放平台扫码登录源码下载 - 技术编程 - 极思维...相关推荐

  1. python文档Word助手转换pdf目录页码获取统计等源码

    在PyCharm中运行<Word助手>即可进入如图1所示的系统主界面.在该界面中,通过顶部的工具栏可以选择所要进行的操作. 具体的操作步骤如下: (1)实现Word转PDF.在Word助手 ...

  2. 最新ChatGPT GPT-4 NLU实战之文档问答类ChatPDF功能(附ipynb与python源码及视频)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(五)

    目录 前言 最新ChatGPT GPT-4 自然语言理解NLU实战之文档问答类ChatPDF功能 引言 ChatGPT 接口 Qdrant数据库Embedding存储 核心代码 测试 其它NLU应用及 ...

  3. python使用微信设置-微信 python 接口 -- itchat 文档

    itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...

  4. atitit.微信支付的教程文档 attilax总结

    atitit.微信支付的教程文档 attilax总结 1. 支付流程概览 1 2. 设置支付起始目录   host/app/paydir/ 1 3. 设置oauth验证域名 1 4. 测试目录 可以使 ...

  5. 活动现场大屏幕互动系统(微信墙)修复版完美PHP源码,带完整素材包和详细使用文档

    源码收集于网络,觉得不错,2022-11-18亲测了源码,顺手修复了原来的几处bug.网上的这个源码有个重大bug,就是后台系统配音没法上传音乐文件.我理了一下代码,修复了这个问题,现在后台可以分别给 ...

  6. 白鹭引擎开发微信小游戏进阶教程文档

    注意: •    因为小游戏特殊机制,涉及到的小游戏接口主要逻辑都需要写在小游戏逻辑代码内,但是可以通过 Egret 代码来调用 •    后续版本 Egret 将会提供调用小游戏接口模板,届时大家可 ...

  7. 阿里云建站教程文档汇总(详细指南)

    阿里云建站零基础入门 选择服务器(推荐阿里云ECS) 购买和备案域名(时间比较长,建议购买完服务器就做这一步) 部署网站 解析域名(将域名和自身网站挂钩) 本篇汇总教程为使用阿里云建站的新用户介绍了搭 ...

  8. 【干货】求之不得的 Java 文档教程大汇总!

    已收录至免费编程资源大全:https://github.com/liyupi/free-programming-resources 大家好,今天分享几个 GitHub 上非常实用的 Java 文档教程 ...

  9. 微信小程序_文档_01_入门

    小程序API文档地址: https://developers.weixin.qq.com/miniprogram/dev/ 微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序.小程序 ...

  10. 【转】(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components

    原创至上,移步请戳:(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components 4.Interaction Components 本节涵盖了处 ...

最新文章

  1. 哈夫曼树实现压缩文件
  2. java外观设计修改_Java设计模式之外观模式和装饰器模式的设计(精选)
  3. 问题 D: 回文数(n进制加法,模拟)
  4. mysql相关文献及翻译_MySQL数据库管理外文翻译文献中英文.doc
  5. 【C++grammar】名字隐藏与重定义
  6. 基于STC89C52的韦根数据接收
  7. css默认的font-size是什么意思,常用的css属性:font-size等
  8. 20155207王雪纯 《Java程序设计》实验一报告
  9. 电脑老是自动重启怎么回事??
  10. servlet+jsp面试题
  11. IDE、SATA、SCSI、SAS、iSCSI
  12. 打游戏经常有人喷,刷个B站还是有?Python实现在网站上自动评论!键盘侠都喷不赢你!
  13. 人体动作捕捉与SMPL模型 (mocap and SMPL model)
  14. 论文解读:Missing data imputation with adversarially-trained graph convolutional network
  15. ios 页面即将消失_20个即将推出的页面介绍及如何正确处理它们
  16. 数位dp【模板 + 老年康复】
  17. Java期末考试程序设计—井字棋
  18. android画图之贝塞尔曲线讲解
  19. 数据结构溢彩加强版——(二)算法篇
  20. ansys添加力矩_ANSYS转矩施加三种方法

热门文章

  1. ubuntu硬盘安装及启动,menu.lst
  2. 很值得学习的java 画图板源码
  3. 流行的php面试题及答案
  4. ZOJ Problem Set - 1292 Integer Inquiry
  5. 【转】javascript 只允许输入数字总结
  6. 2020-11-01
  7. Atitit springboot 全局异常处理 1.1.@ControllerAdvice 不起作用 public class ExceptionHandle { @ExceptionHand
  8. Atitit 编程语言语言规范总结 目录 1. 语言规范 3 2. Types 3 2.1.1. Primitive types 3 2.1.2. Compound types 4 3. State
  9. Atitit fsm有限状态机概念与最佳实践 目录 1. 概念组成与原理成分 1 1.1. 1、状态机的要素 4个要素,即现态、条件、动作、次态 2 1.2. 状态表 2 2. 性状 2 2.1.
  10. Atitit  ocr识别原理 与概论 attilax总结