php怎么测试微信openid是否成功

2022-03-21 科技 137阅读
  //***方法一
  获取code
  这里是你的公众号的APPID&redirect_uri=
  用户点击确认登录,自动跳转下面地址得到code
  这个是你自己的跳转地址
  ?code=0064f7afef7af7b395147bfe8b51f7bf&state=123
  后面的这个?code=……123是微信自动跳转添加的,不是你自己加的
  下面是PHP语言,写在getcode这个页面里
  $code=$_GET['code'];//获取code
  $weixin=file_get_contents("这里是你的APPID&secret=这里是你的SECRET&code=".$code."&grant_type=authorization_code");//通过code换取网页授权access_token
  $jsondecode=json_decode($weixin);//对JSON格式的字符串进行编码
  $array=get_object_vars($jsondecode);//转换成数组
  $openid=$array['openid'];//输出openid
  //***方法二
  $appid="公众号在微信的appid";
  $secret="公众号在微信的appsecret";
  $code=$_GET["code"];
  $get_token_url=''.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
  $ch=curl_init();
  curl_setopt($ch,CURLOPT_URL,$get_token_url);
  curl_setopt($ch,CURLOPT_HEADER,0);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
  $res=curl_exec($ch);
  curl_close($ch);
  $json_obj=json_decode($res,true);
  //根据openid和access_token查询用户信息
  $access_token=$json_obj['access_token'];
  $openid=$json_obj['openid'];
  $get_user_info_url=''.$access_token.'&openid='.$openid.'&lang=zh_CN';
  $ch=curl_init();
  curl_setopt($ch,CURLOPT_URL,$get_user_info_url);
  curl_setopt($ch,CURLOPT_HEADER,0);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
  $res=curl_exec($ch);
  curl_close($ch);
  //解析json
  $user_obj=json_decode($res,true);
  $_SESSION['user']=$user_obj;
  print_r($user_obj);
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com