【求助】PHP微信接收普通消息回复空串或success的问题

lostlkk 2017-11-29 09:06:11
发送信息到测试号,都提示‘该公众号提供的服务出现故障,请稍后再试’。。。可以使用xml自动回复,success和空字符串就一直出问题。。用微信的接口调试工具能返回success

public function index(){
if(isset($_GET['echostr'])){
echo $_GET['echostr'];
}else{
$xml_str = $GLOBALS['HTTP_RAW_POST_DATA'];//获取POST到服务器的XML信息
$xml=simplexml_load_string($xml_str,'SimpleXMLElement',LIBXML_NOCDATA);
$jsonStr = json_encode($xml);
$arr = json_decode($jsonStr,true);
switch($arr['MsgType']){
case 'text'://文本消息处理
echo $this->TextMessage($arr);
break;
case 'event'://事件类型处理
echo $this->event($arr);
break;
default:
echo $this->other($arr);
}
}
}
public function TextMessage($arr){
$data=[
'MsgId'=>$arr['MsgId'],
'ToUserName'=>$arr['ToUserName'],
'FromUserName'=>$arr['FromUserName'],
'CreateTime'=>$arr['CreateTime'],
'state'=>'未答复',
'MsgType'=>$arr['MsgType'],
'Content'=>$arr['Content']
];
//将信息存入数据库
$bool=M('info')->data($data)->add();
if($bool){
return 'success';
}else{
$str="<xml><ToUserName><![CDATA[{$data['FromUserName']}]]></ToUserName><FromUserName><![CDATA[{$data['ToUserName']}]]></FromUserName><CreateTime>".time()."</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[服务器异常,请联系管理员]]></Content></xml>";
return $str;
}
}

...全文
273 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧