php微信公众号开发之简答题


Posted in PHP onOctober 20, 2018

本文实例为大家分享了php微信公众号开发简答题的具体代码,供大家参考,具体内容如下

简答题

  • array("第5页 第1个字" => "王","第8页 第1个字" => "李","第30页 第1个字" => "周",)
  • array_rand($array,1)
  • 数据库建立二级菜单

php微信公众号开发之简答题

php微信公众号开发之简答题

核心代码如下:

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;
        $type = $postObj->MsgType;
        $customevent = $postObj->Event;
        $latitude = $postObj->Location_X;
        $longitude = $postObj->Location_Y;
        $keyword = trim($postObj->Content);
        $time = time();
        $textTpl = "<xml>
              <ToUserName><![CDATA[%s]]></ToUserName>
              <FromUserName><![CDATA[%s]]></FromUserName>
              <CreateTime>%s</CreateTime>
              <MsgType><![CDATA[%s]]></MsgType>
              <Content>%s</Content>
              <FuncFlag>0</FuncFlag>
              </xml>"; 
        include("coon.php");      

        if($keyword=="8")
        {
          $array=array("第5页第1个字"=>"王","第8页第1个字"=>"李","第30页第1个字"=>"周");
          $a=array_rand($array,1);
          $b=$array[$a];
          $contentStr=$a."是什么?";
          $sql="INSERT INTO `menu2` (`id` ,`user` ,`sec`,`answer`)VALUES (NULL , '{$fromUsername}', '8','{$b}')";
          mysql_query($sql);
        }  
        else
        {
          $sql="SELECT * FROM `menu2` where `user`= '{$fromUsername}'";
          $query=mysql_query($sql);
          $rm=mysql_fetch_array($query);
          $sec=$rm['sec'];
          $answer=$rm['answer'];   
          if($sec=="8")
          {
            if($keyword==$answer)
            {
              $contentStr="你的答案是正确的,视频代码下载地址为....";
            }
            else
            {
              $contentStr="你的答案不正确,请购买《微信公众平台搭建与开发揭秘》";
            }
          }
          else 
          {
            $contentStr="请先输入8";
          }
        }
        $msgType="text";
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
        echo $resultStr;
    }
  }

coon.php:连接数据库代码如下:

<?php


    //用 户 名 : $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函数操作进行数据库操作
    */

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;
        $type = $postObj->MsgType;
        $customevent = $postObj->Event;
        $latitude = $postObj->Location_X;
        $longitude = $postObj->Location_Y;
        $keyword = trim($postObj->Content);
        $time = time();
        $textTpl = "<xml>
              <ToUserName><![CDATA[%s]]></ToUserName>
              <FromUserName><![CDATA[%s]]></FromUserName>
              <CreateTime>%s</CreateTime>
              <MsgType><![CDATA[%s]]></MsgType>
              <Content>%s</Content>
              <FuncFlag>0</FuncFlag>
              </xml>"; 
        include("coon.php");      

        if($keyword=="8")
        {
          $array=array("第5页第1个字"=>"王","第8页第1个字"=>"李","第30页第1个字"=>"周");
          $a=array_rand($array,1);
          $b=$array[$a];
          $contentStr=$a."是什么?";
          $sql="INSERT INTO `menu2` (`id` ,`user` ,`sec`,`answer`)VALUES (NULL , '{$fromUsername}', '8','{$b}')";
          mysql_query($sql);
        }  
        else
        {
          $sql="SELECT * FROM `menu2` where `user`= '{$fromUsername}'";
          $query=mysql_query($sql);
          $rm=mysql_fetch_array($query);
          $sec=$rm['sec'];
          $answer=$rm['answer'];   
          if($sec=="8")
          {
            if($keyword==$answer)
            {
              $contentStr="你的答案是正确的,视频代码下载地址为....";
            }
            else
            {
              $contentStr="你的答案不正确,请购买《微信公众平台搭建与开发揭秘》";
            }
          }
          else 
          {
            $contentStr="请先输入8";
          }
        }
        $msgType="text";
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $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;
    }
  }
}

?>

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

PHP 相关文章推荐
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
PHP加密解密类实例代码
Jul 20 PHP
php 二维数组时间排序实现代码
Nov 19 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
Apr 23 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 PHP
PHP7 foreach() 函数修改
Mar 09 PHP
php微信公众号开发之快递查询
Oct 20 #PHP
php微信公众号开发之翻页查询
Oct 20 #PHP
php微信公众号开发之校园图书馆
Oct 20 #PHP
php微信公众号开发之二级菜单
Oct 20 #PHP
php微信公众号开发之音乐信息
Oct 20 #PHP
php微信公众号开发之欢迎老朋友
Oct 20 #PHP
php微信公众号开发之秒杀
Oct 20 #PHP
You might like
Phpbean路由转发的php代码
2008/01/10 PHP
php array_search() 函数使用
2010/04/13 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
php数组转成json格式的方法
2015/03/09 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
php中使用websocket详解
2016/09/23 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
自写的一个jQuery圆角插件
2010/10/26 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
Javascript实现单例模式
2016/01/24 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
你应该知道的python列表去重方法
2017/01/17 Python
Python 专题一 函数的基础知识
2017/03/16 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
基于Python实现天天酷跑功能
2021/01/06 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
华为慧通面试题
2012/09/11 面试题
超市开店计划书
2014/09/15 职场文书
关于保护环境的建议书
2019/06/24 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server