• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php微信公众号开发之二级菜单

    本文实例为大家分享了php微信公众号二级菜单的具体代码,供大家参考,具体内容如下

    核心代码:

    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
     $fromUsername = $postObj->FromUserName;
     $toUsername = $postObj->ToUserName;
     $MsgType=$postObj->MsgType;
     $keyword = trim($postObj->Content);
     $time = time();
     $textTpl = "xml>
        ToUserName>![CDATA[%s]]>/ToUserName>
         FromUserName>![CDATA[%s]]>/FromUserName>
         CreateTime>%s/CreateTime>
          MsgType>![CDATA[text]]>/MsgType>
          Content>%s/Content>
         FuncFlag>0/FuncFlag>
        /xml>";    
    
       //用 户 名 : $user
       //密  码 : $pwd
       //主库域名 : $host
       //从库域名 : SAE_MYSQL_HOST_S
       //端  口 : $port
       //数据库名 : $dbname
    
         $dbname = "app_dq095";
         $host = "w.rdc.sae.sina.com.cn";
         $port = "3306";
         $user = "4k514n103z";
         $pwd = "2402314li2j1i5im1xy2xizj5y332w2x41k2z203";
    
         /*接着调用mysql_connect()连接服务器*/
         // 连主库
         $db = mysql_connect($host,$user,$pwd);
    
         if(!$db){
          die("Connect Server Failed: " . mysql_error($db));
         }
    
         /*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/
         if (!mysql_select_db($dbname)) {
          die("Select Database Failed: " . mysql_error($db));
         }
    
          mysql_query("set names utf-8",$db); 
         /*至此连接已完全建立,就可对当前数据库进行相应的操作了*/
         /*!!!注意,无法再通过本次连接调用mysql_select_db来切换到其它数据库了!!!*/
         /* 需要再连接其它数据库,请再使用mysql_connect+mysql_select_db启动另一个连接*/
    
         /**
          * 接下来就可以使用其它标准php mysql函数操作进行数据库操作
          */
    
        if($keyword=="天气")
        {
         $content="请输入地区";
         $sql="INSERT INTO `weather`(`id`,`user`,`keyword`) VALUES (NULL,'{$fromUsername}','{$keyword}')";
         mysql_query($sql); 
        }
        else
        {
         $sql="SELECT `keyword` FROM `weather` WHERE `user`= '" . $fromUsername . "'";
         $query=mysql_query($sql);
         $rs=mysql_fetch_array($query);
         $c= $rs['keyword'];
         echo $c;
         if($c=="天气")
         {
          $url="http://api.map.baidu.com/telematics/v2/weather?location={$keyword}ak=1a3cde429f38434f1811a75e1a90310c";
    
           $fa=file_get_contents($url);
           $f=simplexml_load_string($fa);
           $city=$f->currentCity;
           $da1=$f->results->result[0]->date;
           $da2=$f->results->result[1]->date;
           $da3=$f->results->result[2]->date;  
           $w1=$f->results->result[0]->weather;
           $w2=$f->results->result[1]->weather;
           $w3=$f->results->result[2]->weather;  
           $p1=$f->results->result[0]->wind;
           $p2=$f->results->result[1]->wind;
           $p3=$f->results->result[2]->wind;
           $q1=$f->results->result[0]->temperature;
           $q2=$f->results->result[1]->temperature;
           $q3=$f->results->result[2]->temperature; 
           $d1=$city.$da1.$w1.$p1.$q1;
           $d2=$city.$da2.$w2.$p2.$q2;
           $d3=$city.$da3.$w3.$p3.$q3;
           $content=$d1.$d2.$d3;
           if (empty($content))
           {
            $content="你输入的地区有误";}
           }
       else{
      $content="请先输入天气";
       } 
     }        
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$content);
    echo $resultStr;
    

    index.php 整体代码如下:

    ?php
    /**
     * wechat php test
     */
    
    //define your token
    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    $wechatObj->responseMsg();
    
    class wechatCallbackapiTest
    {
     public function valid()
     {
      $echoStr = $_GET["echostr"];
    
      //valid signature , option
      if($this->checkSignature()){
       echo $echoStr;
       exit;
      }
     }
    
     public function responseMsg()
     {
      //get post data, May be due to the different environments
      $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    
      //extract post data
      if (!empty($postStr)){
    
    
        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $fromUsername = $postObj->FromUserName;
        $toUsername = $postObj->ToUserName;
        $MsgType=$postObj->MsgType;
        $keyword = trim($postObj->Content);
        $time = time();
        $textTpl = "xml>
           ToUserName>![CDATA[%s]]>/ToUserName>
           FromUserName>![CDATA[%s]]>/FromUserName>
           CreateTime>%s/CreateTime>
            MsgType>![CDATA[text]]>/MsgType>
            Content>%s/Content>
            FuncFlag>0/FuncFlag>
           /xml>";    
    
         //用 户 名 : $user
         //密  码 : $pwd
         //主库域名 : $host
         //从库域名 : SAE_MYSQL_HOST_S
         //端  口 : $port
         //数据库名 : $dbname
    
         $dbname = "app_dq095";
         $host = "w.rdc.sae.sina.com.cn";
         $port = "3306";
         $user = "4k514n103z";
         $pwd = "2402314li2j1i5im1xy2xizj5y332w2x41k2z203";
    
         /*接着调用mysql_connect()连接服务器*/
         // 连主库
         $db = mysql_connect($host,$user,$pwd);
    
         if(!$db){
          die("Connect Server Failed: " . mysql_error($db));
         }
    
         /*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/
         if (!mysql_select_db($dbname)) {
          die("Select Database Failed: " . mysql_error($db));
         }
    
          mysql_query("set names utf-8",$db); 
         /*至此连接已完全建立,就可对当前数据库进行相应的操作了*/
         /*!!!注意,无法再通过本次连接调用mysql_select_db来切换到其它数据库了!!!*/
         /* 需要再连接其它数据库,请再使用mysql_connect+mysql_select_db启动另一个连接*/
    
         /**
          * 接下来就可以使用其它标准php mysql函数操作进行数据库操作
          */
    
        if($keyword=="天气")
        {
         $content="请输入地区";
         $sql="INSERT INTO `weather`(`id`,`user`,`keyword`) VALUES (NULL,'{$fromUsername}','{$keyword}')";
         mysql_query($sql); 
        }
        else
        {
         $sql="SELECT `keyword` FROM `weather` WHERE `user`= '" . $fromUsername . "'";
         $query=mysql_query($sql);
         $rs=mysql_fetch_array($query);
         $c= $rs['keyword'];
         echo $c;
         if($c=="天气")
         {
          $url="http://api.map.baidu.com/telematics/v2/weather?location={$keyword}ak=1a3cde429f38434f1811a75e1a90310c";
    
           $fa=file_get_contents($url);
           $f=simplexml_load_string($fa);
           $city=$f->currentCity;
           $da1=$f->results->result[0]->date;
           $da2=$f->results->result[1]->date;
           $da3=$f->results->result[2]->date;  
           $w1=$f->results->result[0]->weather;
           $w2=$f->results->result[1]->weather;
           $w3=$f->results->result[2]->weather;  
           $p1=$f->results->result[0]->wind;
           $p2=$f->results->result[1]->wind;
           $p3=$f->results->result[2]->wind;
           $q1=$f->results->result[0]->temperature;
           $q2=$f->results->result[1]->temperature;
           $q3=$f->results->result[2]->temperature; 
           $d1=$city.$da1.$w1.$p1.$q1;
           $d2=$city.$da2.$w2.$p2.$q2;
           $d3=$city.$da3.$w3.$p3.$q3;
           $content=$d1.$d2.$d3;
           if (empty($content))
           {
            $content="你输入的地区有误";}
           }
         else{
          $content="请先输入天气";
         } 
        }        
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$content);
        echo $resultStr;
    
      }else {
       echo "";
       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;
      }
     }
    }
    
    ?>

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • PHP实现微信公众号企业号自定义菜单接口示例
    • PHP实现创建微信自定义菜单的方法示例
    • php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
    • php微信开发之自定义菜单实现
    • php微信开发之自定义菜单完整流程
    • php微信开发自定义菜单
    • 微信自定义菜单的创建/查询/取消php示例代码
    • 微信利用PHP创建自定义菜单的方法
    • php实现微信公众平台账号自定义菜单类
    • php实现微信公众平台账号自定义菜单类
    上一篇:php微信公众号开发之音乐信息
    下一篇:php微信公众号开发之校园图书馆
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php微信公众号开发之二级菜单 php,微信,公众,号开,发之,