热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信发送模板消息为什么手机上会受到二十几条消息?

如题,代码如下。首次用手机微信关注时,会收到正确的模板消息,但是会收到二十几条,这是为什么呀?求解答,谢谢<?php发送模板消息classclass_weixin{
如题,代码如下。首次用手机微信关注时,会收到正确的模板消息,但是会收到二十几条,这是为什么呀?求解答,谢谢


//发送模板消息

class class_weixin
{

public function valid()
    {
        $echoStr = $_GET["echostr"];

        //valid signature , option
        if($this->checkSignature()){
         echo $echoStr;
         exit;
        }
    }

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;
}
}

public function send_template_message($data)
{
$access_token='TB51ZSi_tr0LqkaC6tbPycuWJzmBLs-MZfbL4-bNisM4kmLKivYITlN628mMocaugWJPJzUYaPBKqKHxI7vYk_TZ2q4-3PEx6IPJB9ceOfVgUGiQ-XGOqpRs9XIxDMIfADAVEA';
$url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$access_token ";
    var_dump($url);//var_dump函数可以直接输出一个变量的值
$res=$this->http_request($url,$data);
return json_decode($res,true);
}
//https请求
protected function http_request($url,$data=NULL)
{
$ch=curl_init();//初始化一个curl会话
curl_setopt($ch, CURLOPT_URL, $url);//设置curl的参数
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($data)){
  curl_setopt($ch,CURLOPT_POST,1);
  curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output=curl_exec($ch);//执行一个curl会话
curl_close($ch);
return $output;
}
    
}

$template=array(
                'touser'=>"ovx4Xw8ppIX5ZcsZNP7DtdD5rcGE",
'template_id'=>"VCc3eWTJR0Z5k0Z5slofgNAlAAtveW9LOMr1yEjM",
                //'url'=>"http://weixin.qq.com/",
'topcolor'=>"#FF0000",

'data'=>array('first'=>array('value'=>urlencode("您好!"),
                     'color'=>"",
                    ),
              'keyword1'=>array('value'=>urlencode("您有一项消息"),
                          'color'=>"",
                              ),
      'keyword2'=>array('value'=>urlencode("2016年11月19日"),
                'color'=>"",
                    ),
      'keyword3'=>array('value'=>urlencode("北京"),
               'color'=>"",
                    ),
      'remark'=>array('value'=>urlencode("\\n要快哦!"),
                'color'=>"",
                    ),
            )



);
//调用SDK发送
//require_once('weixin.class.php');
define("TOKEN", "weixin");
$weixin = new class_weixin();

//$weixin->valid();
//var_dump($weixin->send_template_message(urldecode(json_encode($template))));
$weixin->send_template_message(urldecode(json_encode($template)));
?>


4 个解决方案

#1


找到原因了么?我也碰到相同的问题

#2


因为微信服务器还会给你返回消息,如果是这个地址的话,就会造成死循环!

#3


问题有解决吗

#4


该回复于2018-01-24 09:27:44被管理员删除

推荐阅读
author-avatar
小爬虫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有