lpzwebnb 2023-12-06 11:46 采纳率: 0%
浏览 7
已结题

php获取微信小程序手机号

1、初步踏入php
2、改朋友的代码改到头大
3、希望有朋友们帮忙改下
需要实现的结果:微信小程序登录,后端php得到手机号并存入数据库。
现遇到的问题:php代码中地址也加入了,前端一直提示报错,appid,secret也都加入了

img


前端:

<button 
    class="authbtn" 
    open-type="getPhoneNumber" 
    type="primary" 
    bindgetphonenumber="myGetPhone">获取手机号</button>

前端js:


myGetPhone(e) {
    //console.log(e.deatil.code)
    wx.request({
      url: `http://ceshi.cn/index.php?phone_code=${e.detail.code}`,
      success: (res) => {
        console.log(res)
        this.setData({
          phone: res.data.phone
        })
      }
    })

后端php:

<?php
/**
 *
 * 接收前端传参
 *
 */

$appid = "";
$secret = '';

$code['openid_code'] = $_REQUEST['openid_code'];
$code['phone_code'] = $_REQUEST['phone_code'];

// 请求手机号和access_token
if (!empty($code['phone_code'])) {
    $rs = getPhoneNumber($code['phone_code'], $appid, $secret);
    echo json_encode($rs);
    exit;
}
// 获取access_token
// return string
function getWxToken($appid, $secret)
{
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $secret;

    $token = json_decode(file_get_contents($url, true), true);

    $token = $token['access_token'];

    return $token;
}

// 获取手机号 和access_token
// return array
function getPhoneNumber($code, $appid, $secret)
{
    $token = getWxToken($appid, $secret);
    $url = 'https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=' . $token;

    $data = json_encode(["code" => $code]);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, true);        // 发送post请求
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // 传入post参数

    $res = curl_exec($ch);
    curl_close($ch);

    $arr = [
        'access_token' => $token,
        'phone' => json_decode($res,true)['phone_info']
    ];
    return $arr;
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月14日
    • 创建了问题 12月6日

    悬赏问题

    • ¥15 python提取.csv文件中的链接会经常出现爬取失败
    • ¥15 数据结构中的数组地址问题
    • ¥15 LD衰减怎么根据纵坐标计算横坐标的值
    • ¥15 maya的mel里,怎样先选择模型A,然后利用mel脚本自动选择有相同名字的模型B呢。
    • ¥15 Python题,根本不会啊
    • ¥15 会会信号与系统和python的来
    • ¥15 关于#python#的问题
    • ¥20 oracle RAC 怎么配置啊,配置
    • ¥15 excel 日常使用中出现问题
    • ¥20 pdusession建立失败