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

 我来答
双子二代妖精
2017-03-14 · 超过74用户采纳过TA的回答
知道答主
回答量:303
采纳率:0%
帮助的人:64.9万
展开全部
  //***方法一
  获取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 = "公众号在微信的app secret";
  $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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式