微信扫码关注公共号生成上下级关系,扫码之后的流程

基本思路:

1、扫描带参数二维码时,微信会返回二维码带的参数,和扫码的微信的信息,

2、在代码中接收参数,

3,处理业务逻辑,

基本流程;

1、在哪里接收微信返回的参数?

首先要在微信公共号的基本配置里共号的基本配置里的服务器URL,这个 URL指向的文件就是微信返回参数的地方 

2、怎么接收返回的数据?

 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];  //微信返回的数据 ,

如果上一种不行则换这种 $postStr =   file_get_contents("php://input");

想要查看具体内容可以把它写入一个文件:

file_put_contents(dirname(__FILE__).'/ccc.txt', $postStr);

这样就可以在ccc.txt 文件里查看到下边的xml内容

具体内容如下:

<xml><ToUserName><![CDATA[gh_76693edca3e7]]></ToUserName>
<FromUserName><![CDATA[o8mVJ1ZQ7KlUhYeD2Z2sxdwuf-K4]]></FromUserName>
<CreateTime>1516207510</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
<EventKey><![CDATA[qrscene_10]]></EventKey>
<Ticket><![CDATA[gQE08TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyNWZUQ3NuT0JkOWwxMDAwME0wM1YAAgTPyl5aAwQAAAAA]]></Ticket>
</xml>

其中包含了扫码者的openid和参数值

openid;  <FromUserName><![CDATA[o8mVJ1ZQ7KlUhYeD2Z2sxdwuf-K4]]></FromUserName>

参数值;       <EventKey><![CDATA[qrscene_10]]></EventKey>

怎么取出这两个值呢?

创建解析xml的对象

  $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

然后去获取想要的值

$openid = (string)$postObj->FromUserName;  值为o8mVJ1ZQ7KlUhYeD2Z2sxdwuf-K4
      $parent_id = trim((string)$postObj->EventKey);值为qrscene_10

这时再用字符串拆分获取到最后的parent_id = 10

注意事项:

这里是服务返回的数据,无法把parent_id = 10 保存在session 里,可以写入数据库,进行保存

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值