Use PHP for development and use sample code, but cannot receive xml forms such as questions,
I'm trying to use PHP for public account development,
The sample code is used,
TOKEN verification successful,
You can receive "Welcome to wechat world !" This reply,
But why cannot I receive xml forms?
Or is the xml form invisible?
So how can I get the content on the form?
valid(); $wechatObj->responseMsg();class wechatCallbackapiTest{public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() {//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post dataif (!empty($postStr)){ /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection, the best way is to check the validity of xml by yourself */ libxml_disable_entity_loader(true); $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $textTpl = "
%s
%s
%s
%s
%s
0
"; if(!empty( $keyword )) { $msgType = "text"; $contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit; } }private function checkSignature(){ // you must define TOKEN by yourself if (!defined("TOKEN")) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN;$tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rulesort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}}?>
Reply to discussion (solution)
When you implement this interface, xml document information will be returned, and no xml document will be returned directly.
Your reply is forwarded to you through the server, and the server will parse the xml you sent to find the corresponding recipient. Content is %s Content in
When you implement this interface, xml document information will be returned, and no xml document will be returned directly.
So how can we not reply directly ??
Your reply is forwarded to you through the server, and the server will parse the xml you sent to find the corresponding recipient. Content is %s Content in
What should I do if I want to get the content in the xml file?
When you implement this interface, xml document information will be returned, and no xml document will be returned directly.
So how can we not reply directly ??
After a long time, you will understand it slowly!
When you implement this interface, xml document information will be returned, and no xml document will be returned directly.
So how can we not reply directly ??
After a long time, you will understand it slowly!
I probably know what it means ~ Thank you ~