日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

微信小程序php后台实现

發布時間:2023/12/20 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序php后台实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里簡單介紹用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());} }?>

總結

以上是生活随笔為你收集整理的微信小程序php后台实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。