老版地址(仅作固定作用):old.jincong.net

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

本文实例为大家分享了php微信公众号二级菜单的具体代码,供大家参考,具体内容如下核心代码:$poObj=implexml_load_ig($poS,'SimpleXMLEleme',LIBXML_NOCDATA);$fomUeame=$poObj-&g;F......
以下是【金聪采编】分享的内容全文:

本文实例为大家分享了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 tokendefine("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微信公众号开发之二级菜单 ] 仅为会员分享交流,仅供学习、参考使用,请勿用于其他用途,如果想商业使用或者代理,请自行联系版权方获取授权。任何未获取授权的商业使用与本站无关,请自行承担相应责任。
本站不存储任何资源文件,敬请周知!
此资源仅供个人学习、研究使用,禁止非法转播或商业用途,请在获取后24小时内删除,如果你觉得满意,请寻求购买正版或获取授权!
免责申明:本站仅提供学习的平台,所有资料均来自于网络分享线索,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以处理。版权申诉相关说明
本网站采用 BY-NC-SA 协议进行授权 转载请注明原文链接:php微信公众号开发之二级菜单
221381
领取福利

微信扫码领取福利

微信扫码分享