为了账号安全,请及时绑定邮箱和手机立即绑定

关注公众号事件没反应

	public function index(){
		//获得参数 signature nonce token timestamp echostr
		$nonce     = $_GET['nonce'];
		$token     = 'weixin';
		$timestamp = $_GET['timestamp'];
		$echostr   = $_GET['echostr'];
		$signature = $_GET['signature'];
		//形成数组,然后按字典序排序
		$array = array();
		$array = array($nonce, $timestamp, $token);
		sort($array);
		//拼接成字符串,sha1加密 ,然后与signature进行校验
		$str = sha1( implode( $array ) );
		if( $str  == $signature && $echostr ){
			//第一次接入weixin api接口的时候
			echo  $echostr;
			exit;
		}else{
			$this->reponseMsg();
		}
	}
	// 接收事件推送并回复
	public function reponseMsg(){
		//1.获取到微信推送过来post数据(xml格式)
		$postArr = file_get_contents('php://input');
		$postObj = simplexml_load_string($postArr);
		//判断该数据包是否是订阅的事件推送
		if( strtolower( $postObj->MsgType) == 'event'){
			//如果是关注 subscribe 事件
			if( strtolower($postObj->Event == 'subscribe') ){
				//回复用户消息(纯文本格式)	
				$toUser   = $postObj->FromUserName;
				$fromUser = $postObj->ToUserName;
				$time     = time();
				$msgType  =  'text';
				$content  = '欢迎关注我们的微信公众账号';
				$template = "<xml>
							<ToUserName><![CDATA[%s]]></ToUserName>
							<FromUserName><![CDATA[%s]]></FromUserName>
							<CreateTime>%s</CreateTime>
							<MsgType><![CDATA[%s]]></MsgType>
							<Content><![CDATA[%s]]></Content>
							</xml>";
				$info     = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);
				echo $info;
			}
		}
	}//reponseMsg end

这是我的代码,微信新关注用户没有回复,同学们帮我看看吧

正在回答

4 回答

现在解决了吗,我也是这么敲的,跟你几乎一模一样。搞了两天了还是没解决

0 回复 有任何疑惑可以回复我~
#1

Mr_hee

先看看你用的TP框架是那个版本,TP5需要判断echostr
2017-08-15 回复 有任何疑惑可以回复我~

半年过去了,我还是没有解决此问题。。。。我觉得我可能得改行

0 回复 有任何疑惑可以回复我~

初学者表示遇到同样的问题,请问你的是怎么解决的

0 回复 有任何疑惑可以回复我~

新手的我表示看不出来。。抱歉

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关注公众号事件没反应

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号