微信小程序获取openid(php后台)

article/2025/10/9 8:56:38

微信小程序已经开放了越来越多的功能,所能实现的用户需求也越多了,但是微信提供的wx.getUserInfo()只能获取用户的表面信息,想要是先发送模板消息或者支付功能,就需要获取用户的openid(微信提供给每个微信用户独一无二的识别码);

这里简单介绍用php后台实现获取openid并保存到数据库;

微信的登陆流程是这样的;


首先前端发送请求到服务器:    

wx.login({success: function (res) {var code = res.code;//发送给服务器的codewx.getUserInfo({success: function (res) {var userNick = res.userInfo.nickName;//用户昵称var avataUrl = res.userInfo.avatarUrl;//用户头像地址var gender = res.userInfo.gender;//用户性别if (code) {wx.request({url: 'http://localhost/test/getopenid.php',//服务器的地址,现在微信小程序只支持https请求,所以调试的时候请勾选不校监安全域名data: {code: code,nick: userNick,avaurl: avataUrl,sex: gender,},header: {'content-type': 'application/json'},success: function (res) {console.log(res.data);wx.setStorageSync('name', res.data.name);//将获取信息写入本地缓存wx.setStorageSync('openid', res.data.openid);wx.setStorageSync('imgUrl', res.data.imgurl);wx.setStorageSync('sex', res.data.sex);}})}else {console.log("获取用户登录态失败!");}}})},fail: function (error) {console.log('login failed ' + error);}
})    

这样就实现了将前端获取的code发送到服务器,code每次获取的都不一样;

服务器getopenid.php代码:

<?php
text();
function text()
{$code = $_GET['code'];//小程序传来的code值$nick = $_GET['nick'];//小程序传来的用户昵称$imgUrl = $_GET['avaurl'];//小程序传来的用户头像地址$sex = $_GET['sex'];//小程序传来的用户性别$url = 'https://api.weixin.qq.com/sns/jscode2session?appid=yourAppid&secret=appSecret&js_code=' . $code . '&grant_type=authorization_code';//yourAppid为开发者appid.appSecret为开发者的appsecret,都可以从微信公众平台获取;$info = file_get_contents($url);//发送HTTPs请求并获取返回的数据,推荐使用curl$json = json_decode($info);//对json数据解码$arr = get_object_vars($json);$openid = $arr['openid'];$session_key = $arr['session_key'];$con = mysqli_connect('localhost', 'root', '123');//连接数据库if ($con) {if (mysqli_select_db($con, 'students')) {$sql1 = "select * from weixin where openid = '$openid'";$result = mysqli_query($con, $sql1);$result = mysqli_fetch_assoc($result);if ($result!=null) {//如果数据库中存在此用户的信息,则不需要重新获取$result = json_encode($result);echo $result;}else {//没有则将数据存入数据库if ($sex == '0') {$sex = 'none';} else {$sex = '1' ? 'man' : 'women';}$sql = "insert into weixin values ('$nick','$openid','$session_key','$imgUrl','$sex')";if (mysqli_query($con, $sql)) {$arr['nick'] = $nick;$arr['imgUrl'] = $imgUrl;$arr['sex'] = $sex;$arr = json_encode($arr);echo $arr;} else {die('failed' . mysqli_error($con));}}}} else {die(mysqli_error());}
}?>
成功实现了获取openid并存入数据库和小程序的本地缓存,不过微信小程序不建议直接将opneid作为值直接返回给小程序端,而是用户实现自己的前后端验证。

http://chatgpt.dhexx.cn/article/DlJdhcpp.shtml

相关文章

搭建一个PHP后台的开发环境你所需要配置东西都有哪些?XAMPP问题

安装的工具&#xff1a; 1. Mysql workbench / Navicat 2. Postman 3. Visual Studio Code / Sublime Text 4. PHP开发环境 5. Nodejs开发环境 6. xampp 注意&#xff08;mysql版本 5.7以上 php版本&#xff1a;7.0以上&#xff09;/wampserver 工具下载地址&#xff…

PHP后台管理登录界面代码

1&#xff0c;自学PHP&#xff0c;编写一个简单的后台登录管理系统&#xff1b; 2&#xff0c;代码中少部分借用网上开源代码&#xff0c;如有不规范的地方请指正&#xff0c;如有更好的方法&#xff0c;多谢分享&#xff1b; 3&#xff0c;享受编程的乐趣并得到知识的提高&a…

php后台登录,实现后台管理员登录功能

上一章节我们选择了后台登录页面,并且将验证码成功的加入到了登录页 login.html 文件中。并且创建了数据库表admin,加入一条用户名和密码的测试数据。这一节我们就来实现登录功能。 先看一个简单功能实现流程图: 有了流程图就有了思路,顺着思路就知道自己一步一步需要做什么…

微信小程序之from表单提交数据到PHP后台

主要内容&#xff1a;实现微信小程序与PHP后台之间的数据传递 本文通过from表单提交到后台存入数据库来展现 需要注意的有&#xff1a; 勾选 代码如下&#xff1a; demo1.wxml <!--pages/demo1/demo1.wxml--> <form bindsubmitformSubmit bindresetformReset>…

PHP后台发送微信小程序订阅信息(较详细)

最近微信小程序甲方需新增下单提醒功能&#xff0c;于是我去微信文章看接入模板信息&#xff0c;但是看到最新公告&#xff08;模板消息接口将下线&#xff0c;推荐使用订阅信息&#xff09;官方通知&#xff1a; 1. 小程序订阅信息分为一次性订阅信息和长期性订阅信息&#x…

php后台框架整理

1、 fastadmin FastAdmin是一款基于ThinkPHPBootstrap开发的快速后台开发框架。FastAdmin基于Apache2.0开源协议发布&#xff0c;免费且不限制商业使用&#xff0c;目前被广泛应用于各大行业应用后台管理。 官网地址&#xff1a;FastAdmin – 基于ThinkPHP和Bootstrap的极速后…

【OpenCV】在Python环境下安装OpenCV并检测是否安装成功

一、OpenCV概述 OpenCV是一个开源的计算机视觉库&#xff0c;可以在Windows、Linux、MacOS等操作系统上运行。它起源于英特尔性能实验室的实验研究&#xff0c;由俄罗斯的专家负责实现和优化&#xff0c;并以为计算机视觉提供通用性接口为目标。 1.1、计算机视觉 计算机视觉…

安装CV2,安装opencv

几经尝试&#xff0c;发现并没有所谓的"cv2"包&#xff0c; 需要安装的是opencv这个包&#xff0c;安装后就可以import cv2了。方法如下&#xff1a; 方法一&#xff1a; 直接用pip安装&#xff0c;按windows r 输入cmd&#xff0c;在cmd环境下输入&#xff1a; …

opencv的安装及使用

文章目录 一、opencv的安装二、图片示例三.视频示例四、录制视频五、总结六、参考资料 一、opencv的安装 参考该链接https://blog.csdn.net/ssj925319/article/details/109231145完成OpenCV3.4.11 的安装。 二、图片示例 创建code目录&#xff0c;并进入 在该目录下创建te…

Ubuntu下Opencv安装与使用

Opencv 前言一、Opencv的功能二、安装Opencv1.下载 OpenCV 3.4.11 数据包2.解压安装包3.安装cmake和依赖库 三、配置编译环境1.创建编译文件夹2.使用make创建编译3.配置编译环境 四、Opencv使用例程1.图片处理2.视频处理1.虚拟机获取摄像头权限2.播放视频3.录制视频 总结 前言 …

OpenCV库安装

OpenCV库安装 OpenCV库的调用名是cv2 所以会看到这样的import语句 import cv2这句话就是对openCV库的调用 openCV库的下载安装 First 好像不需要像网上的教程那样, 首先去官网下载exe执行文件, 然后在VS中进行配置 直接在teminal中, 进入要指定的conda环境, 然后输入pip…

如何安装OpenCV?OpenCV下载安装流程

安装OpenCV需要以下步骤&#xff1a; 下载OpenCV&#xff1a;首先需要从OpenCV官网&#xff08;https://opencv.org/releases/&#xff09;上下载适合自己操作系统版本的OpenCV。 安装依赖项&#xff1a;在安装OpenCV之前&#xff0c;需要先安装一些必要的依赖项&#xff0c;例…

opencv的安装

记得之前看博客的时候看过很多大佬写过opencv的各种安装方法&#xff0c;有使用网站先下载对应文件进行安装的&#xff0c;不过这个还像还得配置一些环境&#xff0c;也有一些大佬使用prompt命令进行安装的&#xff0c;在本人想要安装opencv时大体看了看大佬们的安装教程&#…

OpenCV安装教程:Windows 安装 Visual Studio + OpenCV + OpenCV contrib

目录 0.写作背景 1.安装visual studio 2.下载OpenCV相关的源码 下载OpenCV原始的源码 下载OpenCV contrib的源码 下载安装cmake 3.cmake编译OpenCV 初始编译 CmakeDownload的bug修复 OpenCV-crontrib编译&#xff1a; Generate生成代码 VS生成代码&#xff1a; 报…

openCV-python安装

同样在anaconda下创建一个opencv-python环境 首先&#xff0c;打开anaconda navigator,然后创建一个环境来放opencv-python。 先点击下面的create&#xff0c;然后创建一个新环境。 选择你的python版本&#xff0c;这里我选择的是Python3.6。你也可以根据你的需要和习惯来选择…

opencv安装教程(通用过程说明)

文章目录 环境说明安装方式说明预编译版本从OpenCV团队获取从第三方开发者获取 从源码编译步骤0&#xff1a;安装准备步骤1&#xff1a;获取源代码步骤2&#xff1a;配置构建环境步骤3&#xff1a;构建步骤4&#xff1a;安装&#xff08;可选&#xff09;步骤5&#xff1a;构建…

【安装】安装OpenCV简易教程

&#xff08;1&#xff09;安装opencv-python 执行命令&#xff1a;pip install opencv-python3.4.1.15 博主指定安装的3.4.1.15版本&#xff0c;根据需求可以自己决定需要什么版本。出现successfly字样即安装成功&#xff0c;如果不放心可以验证&#xff0c;在python解释器下…

OpenCV C++安装和配置

最新版的OpenVINO 2022.1 版本不在默认附带OpenCV工具&#xff0c;所以我们需要额外安装OpenCV工具。 1. 下载并安装OpenCV 访问OpenCV官网 https://opencv.org/ &#xff0c;选择Library下的Releases&#xff0c;进入到下载页面&#xff0c;或直接访问https://opencv.org/rel…

windows下OpenCV安装教程(小白教程)

OpenCV介绍 OpenCV 是一个基于 BSD 许可&#xff08;开源&#xff09;发行的跨平台计算机视觉库&#xff0c;可以运行在 Linux、Windows、 Android 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C 类构成&#xff0c;同时 提供了 Python、Ruby、MATLAB 等…

VS2019+OpenCV安装与配置教程

目录 VS2019的下载安装OpenCV的下载安装OpenCV的配置配置系统变量给VS中的工程一键配置OpenCV测试配置的效果 最近要用到很多OpenCV的库&#xff0c;所以开始学了点OpenCV&#xff0c;本文记录VS和OpenCV的安装、配置过程。配置OpenCV使用配置文件的方法&#xff0c;配置完一次…