微信公众号死活无法回复信息,求指点!
刚开始学习公众号开发,按照慕课网的教程,前面服务器验证部分已经成功,后面回复信息部分怎么调在微信上都无法收到回复信息,求大神帮忙看看哪儿有问题,感激不尽!
<?php
//以下为服务器验证,已经验证成功
//1. 排序
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$token = 'weixin';
$signature = $_GET['signature'];
$array = array($timestamp,$nonce,$token);
sort($array);
//2. 加密
$tmpstr = implode('',$array);
$tmpstr = sha1($tmpstr);
//3. 对比
if ($tmpstr == $signature AND $_GET['echostr']) {
echo $_GET['echostr'];
exit;
}else{
responseMsg();
}
//以下是回复信息的部分,实在不知道为什么没有反应
public function responseMsg(){
$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
$postObj = simplexml_load_string($postArr);
if (strtolower($postObj->MsgType) == 'event'){
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;
}
}
}
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
非常感谢两位的帮助,后面我发现,错误的原因是回复模板里面的叹号两边各多了一个空格,导致无法回复成功。。。。。感谢两位!
楼主你那个回复消息的函数写错位置了,不应该写在3.对比里面的else,应该写在服务器验证部分的后面
if后面的else去掉,直接调用那个函数就行了!