基本思路:
1、掃描帶參數二維碼時,微信會返回二維碼帶的參數,和掃碼的微信的信息,
2、在代碼中接收參數,
3,處理業務邏輯,基本流程;
1、在哪里接收微信返回的參數?首先要在微信公共號的基本配置里共號的基本配置里的服務器URL,這個 URL指向的文件就是微信返回參數的地方
2、怎么接收返回的數據? $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //微信返回的數據 ,
想要查看具體內容可以把它寫入一個文件: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 里,可以寫入數據庫,進行保存基本思路:
1、掃描帶參數二維碼時,微信會返回二維碼帶的參數,和掃碼的微信的信息,
2、在代碼中接收參數,
3,處理業務邏輯,
基本流程;
1、在哪里接收微信返回的參數?
首先要在微信公共號的基本配置里共號的基本配置里的服務器URL,這個 URL指向的文件就是微信返回參數的地方
具體內容如下:
<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 里,可以寫入數據庫,進行保存