微信调试问题
微信回复关键字 服务器接收 这里的逻辑怎么输出?? 比方说我收到了 xml数据 然后输出 但有时候我这里需要写个数组 然后输出 怎么做
如果写入文件和数据库表只能输出xml和字符串 不能输出数组
------解决思路----------------------
fromusername;
$tousername = $postobj->tousername;
$keyword = trim($postobj->content);
$key=$msg->match($rule,$keyword);
#循环开始,判断用户所发送过来的消息,参数作用在下面的方法介绍里面
switch ( $key )
{
case 竞猜:
$msg->picmsg($fromusername,$tousername,合创盈丰上线有礼:免费竞猜四位数,就中话费300元!,http://www.hcyf07.com/weixin/sdd2.jpg,'竞猜',http://www.hcyf07.com);
exit();
case 竞猜送话费:
$msg->picmsg($fromusername,$tousername,合创盈丰上线有礼:免费竞猜四位数,就中话费300元!,http://www.hcyf07.com/weixin/sdd2.jpg,'竞猜送话费',http://www.hcyf07.com);
exit();
case 送话费:
$msg->picmsg($fromusername,$tousername,合创盈丰上线有礼:免费竞猜四位数,就中话费300元!,http://www.hcyf07.com/weixin/sdd2.jpg,'送话费',http://www.hcyf07.com);
exit();
case 竞猜白银:
$msg->picmsg($fromusername,$tousername,合创盈丰上线有礼:免费竞猜四位数,就中话费300元!,http://www.hcyf07.com/weixin/sdd2.jpg,'竞猜白银',http://www.hcyf07.com);
exit();
default:
$msg->txtmsg($fromusername,$tousername,$default);
}
if(!empty( $keyword ))
{
$msgtype = text;
//入库试一下
//在这里可以判断接收到的keyword
echo $resultstr;
}else{
if($event==subscribe){//首次关注
$msgtype = text;
$url = http://www.bjcy07.com/;
$contentstr = 您好,感谢关北京合创盈丰商品经营有限公司,北京合创盈丰商品经营有限公司是北京大宗商品交易所会员单位(会员席位号为007号),以现货白银等贵金属的销售、回购为主要经营项目,实行24小时买卖报价交易,同时提供贵金属投资咨询服务。.$url;
$resultstr = sprintf($texttpl, $fromusername, $tousername, $time, $msgtype, $contentstr);
echo $resultstr;
}
echo input something...;
}
/* class of msg */
class msg
{
public function valid()
{
$echostr = $_get[echostr];
//valid signature , option
if($this->checksignature()){
echo $echostr;
exit;
}
}
#依次为 来源用户,发送到用户,时间,标题,图片地址,简介,点击微信消息时候的链接,当然你可以修改这个顺序
function picmsg($fromusername,$tousername,$title,$picurl,$discription,$url)
{
//get post data, may be due to the different environments
$poststr = $globals[http_raw_post_data];
$time = time();
$texttpl =
%s
1
1
;
$resultstr = sprintf($texttpl,$fromusername,$tousername,$time,$title,$discription,$picurl,$url);
echo $resultstr;
}
function txtmsg($fromusername,$tousername,$contentstr)
{
$poststr = $globals[http_raw_post_data];
$time = time();
$texttpl =
%s
0
;
$resultstr = sprintf($texttpl, $fromusername, $tousername, $time, $contentstr);
echo $resultstr;
}
private function checksignature()
{
$signature = $_get[signature];
$timestamp = $_get[timestamp];
$nonce = $_get[nonce];
$token = token;
$tmparr = array($token, $timestamp, $nonce);
sort($tmparr);
$tmpstr = implode( $tmparr );
$tmpstr = sha1( $tmpstr );
if( $tmpstr == $signature ){
return true;
}else{
return false;
}
}
#匹配用户关键字
function match($rule,$keyword){
$num=count($rule)+1;
for($i=0;$i