基本思路:
1、掃描帶參數(shù)二維碼時,微信會返回二維碼帶的參數(shù),和掃碼的微信的信息,
2、在代碼中接收參數(shù),
3,處理業(yè)務(wù)邏輯,基本流程;
1、在哪里接收微信返回的參數(shù)?首先要在微信公共號的基本配置里共號的基本配置里的服務(wù)器URL,這個 URL指向的文件就是微信返回參數(shù)的地方
2、怎么接收返回的數(shù)據(jù)? $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //微信返回的數(shù)據(jù) ,
想要查看具體內(nèi)容可以把它寫入一個文件:file_put_contents(dirname(__FILE__).'/ccc.txt', $postStr);這樣就可以在ccc.txt 文件里查看到下邊的xml內(nèi)容
具體內(nèi)容如下:
<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和參數(shù)值
openid; <FromUserName><![CDATA[o8mVJ1ZQ7KlUhYeD2Z2sxdwuf-K4]]></FromUserName>
參數(shù)值; <EventKey><![CDATA[qrscene_10]]></EventKey>
怎么取出這兩個值呢?
創(chuàng)建解析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
注意事項:
這里是服務(wù)返回的數(shù)據(jù),無法把parent_id = 10 保存在session 里,可以寫入數(shù)據(jù)庫,進(jìn)行保存基本思路:
1、掃描帶參數(shù)二維碼時,微信會返回二維碼帶的參數(shù),和掃碼的微信的信息,
2、在代碼中接收參數(shù),
3,處理業(yè)務(wù)邏輯,
基本流程;
1、在哪里接收微信返回的參數(shù)?
首先要在微信公共號的基本配置里共號的基本配置里的服務(wù)器URL,這個 URL指向的文件就是微信返回參數(shù)的地方
具體內(nèi)容如下:
<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和參數(shù)值
openid; <FromUserName><![CDATA[o8mVJ1ZQ7KlUhYeD2Z2sxdwuf-K4]]></FromUserName>
參數(shù)值; <EventKey><![CDATA[qrscene_10]]></EventKey>
怎么取出這兩個值呢?
創(chuàng)建解析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
注意事項:
這里是服務(wù)返回的數(shù)據(jù),無法把parent_id = 10 保存在session 里,可以寫入數(shù)據(jù)庫,進(jìn)行保存