Рубрики
Uncategorized

Краткий ответ на разработку Php Wechat Общедоступный Номер

Автор оригинала: David Wong.

В этой статье мы делимся конкретным кодом для разработки коротких ответов на вопросы PHP Wechat Public Number для вашей справки. Подробности заключаются в следующем.

Короткие Вопросы С Ответами

  • Массив (“страница 5, слово 1″=> “Ван”, “страница 8, слово 1″=> “Ли”, “страница 30, слово 1″=> “Чжоу”)
  • array_rand($массив,1)
  • Создание дополнительного меню в базе данных

Основной код выглядит следующим образом:

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 = "
              
              
              %s
              
              %s
              0
              "; 
        include("coon.php");      

        if($keyword=="8")
        {
          Array = array ("page 5, word 1"=> "king", "page 8, word 1"=> "Li", "page 30, word 1"=> "week");
          $a=array_rand($array,1);
          $b=$array[$a];
          $contentStr=$a. "What is it? ";
          $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= "Your answer is correct, the download address of video code is...";
            }
            else
            {
              ContentStr= "Your answer is incorrect, please buy the Wechat Public Platform Construction and Development Disclosure";
            }
          }
          else 
          {
            $contentStr= "Please enter 8 first";
          }
        }
        $msgType="text";
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
        echo $resultStr;
    }
  }

Coon.php: Подключитесь к коду базы данных следующим образом:

Общий код для index.php заключается в следующем:

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 = "
              
              
              %s
              
              %s
              0
              "; 
        include("coon.php");      

        if($keyword=="8")
        {
          Array = array ("page 5, word 1"=> "king", "page 8, word 1"=> "Li", "page 30, word 1"=> "week");
          $a=array_rand($array,1);
          $b=$array[$a];
          $contentStr=$a. "What is it? ";
          $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= "Your answer is correct, the download address of video code is...";
            }
            else
            {
              ContentStr= "Your answer is incorrect, please buy the Wechat Public Platform Construction and Development Disclosure";
            }
          }
          else 
          {
            $contentStr= "Please enter 8 first";
          }
        }
        $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;
    }
  }
}

?>

Выше приведено все содержание этой статьи. Я надеюсь, что это будет полезно для изучения каждого, и я надеюсь, что вы будете больше поддерживать разработчика.