用PHP做微信开发用微信示例代码但是收不到xml表单

WBOY
Freigeben: 2016-06-23 13:12:49
Original
816 Leute haben es durchsucht

如题,
我在尝试用PHP做微信公众号的开发,
用的是微信示例代码,
TOKEN验证成功,
可以收到“Welcome to wechat world!”这个回复,
但是收不到xml表单是为什么?
还是说xml表单本来就是看不到的?
那我要如何获得表单上的内容?

<?php/**  * wechat php test  *///define your tokendefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();//$wechatObj->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 data		if (!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 = "<xml>							<ToUserName><![CDATA[%s]]></ToUserName>							<FromUserName><![CDATA[%s]]></FromUserName>							<CreateTime>%s</CreateTime>							<MsgType><![CDATA[%s]]></MsgType>							<Content><![CDATA[%s]]></Content>							<FuncFlag>0</FuncFlag>							</xml>";             				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 rule		sort($tmpArr, SORT_STRING);		$tmpStr = implode( $tmpArr );		$tmpStr = sha1( $tmpStr );				if( $tmpStr == $signature ){			return true;		}else{			return false;		}	}}?>
Nach dem Login kopieren


回复讨论(解决方案)

微信这块你实现他的接口的时候返回值会有xml文档信息,直接回复没有xml文档

你的回复是通过微信服务器转发给你的,微信服务器会解析你发送的xml找到对应的接收人。内容就是中的内容

微信这块你实现他的接口的时候返回值会有xml文档信息,直接回复没有xml文档


那怎样才不是直接回复啊??

你的回复是通过微信服务器转发给你的,微信服务器会解析你发送的xml找到对应的接收人。内容就是中的内容


那如果想获得xml文件里面的内容应该要怎么做呢?


微信这块你实现他的接口的时候返回值会有xml文档信息,直接回复没有xml文档


那怎样才不是直接回复啊??
做微信久了,就会慢慢理解了!


微信这块你实现他的接口的时候返回值会有xml文档信息,直接回复没有xml文档


那怎样才不是直接回复啊??
做微信久了,就会慢慢理解了!
我大概知道什么意思了~谢谢~
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage