Heim > Backend-Entwicklung > PHP-Tutorial > 关于微信开发模式的PHP代码

关于微信开发模式的PHP代码

WBOY
Freigeben: 2016-06-23 13:58:20
Original
947 Leute haben es durchsucht

<?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)){                              	$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);                $fromUsername = $postObj->FromUserName;                $toUsername = $postObj->ToUserName;				$type =$postObj->MsgType;				$customevent = $postObj->Event;				$latitude =$postObj->Location_X;				$longitude =$postObj->Location_Y;                $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>";             			switch($type)			{			case "event";			if($customevent == "subscribe")			{$contentStr = "感谢关注"}			break;			case "image"			$contentStr ="图片很棒";		    break;			case "location";			$contentStr ="{$latitude},{longitude}";			break;			case "text";			switch($keyword)			{case "1"			 $contentStr="1"			 break;			 case "2"			 $contentStr ="2"			 break;			 default;			 $contentStr= "hi";}			 break;			 }			 $msgType = "text";			 $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);			 echo $resultStr;			 }else             	              {        	echo "";        	exit;        }    }			private function checkSignature()	{        $signature = $_GET["signature"];        $timestamp = $_GET["timestamp"];        $nonce = $_GET["nonce"];	        				$token = TOKEN;		$tmpArr = array($token, $timestamp, $nonce);		sort($tmpArr, SORT_STRING);		$tmpStr = implode( $tmpArr );		$tmpStr = sha1( $tmpStr );				if( $tmpStr == $signature ){			return true;		}else{			return false;		}	}}?>
Nach dem Login kopieren

代码检查了N遍但是功能一个都不能实现 !球大神帮帮~另外怎么也做不出来微信调用百度地图来实现导航如果能一起帮助就更好了


回复讨论(解决方案)

$keyword
输出看看

public function valid()    {        $echoStr = $_GET["echostr"];         //valid signature , option        if($this->checkSignature()){            echo $echoStr;            exit;        }    }
Nach dem Login kopieren
这代码是为了填写url 通过验证, 通过之后 ,可以把这个代码改了。如改成
public function valid()    {        $echoStr = $_GET["echostr"];         //valid signature , option        if($this->checkSignature()){            //echo $echoStr;            //exit;		responseMsg();        }    }
Nach dem Login kopieren
就行了、

微信公众账号,只能看作一种特殊的能识别用户身份的浏览器,你想要识现的功能,大多都像你做网站一下,只是入口不同而已,如果想要百度的导航,就要你的网站接入百度接口 http://api.map.baidu.com/lbsapi/cloud/webservice-placeapi.htm 只是用户的当前位置,可以让用户发地理位置消息。

如果微信 要做菜单,可以看这里 http://pan.baidu.com/s/1eQd12wy

代码有问题啊,case “1”:应该是冒号而不是读号啊,其他的没什么问题

 switch($type)            {            case "event":            if($customevent == "subscribe")            {$contentStr = "感谢关注";}            break;            case "image":            $contentStr ="图片很棒";            break;            case "location":            $contentStr ="{$latitude},{longitude}";            break;            case "text":            switch($keyword)            {case "1":             $contentStr="1";             break;             case "2":             $contentStr ="2";             break;             default;             $contentStr= "hi";}             break;             }
Nach dem Login kopieren

也要改下

default:
$contentStr= "hi";
             

Verwandte Etiketten:
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