В этой статье мы делимся конкретным кодом для разработки коротких ответов на вопросы 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;
}
}
}
?>Выше приведено все содержание этой статьи. Я надеюсь, что это будет полезно для изучения каждого, и я надеюсь, что вы будете больше поддерживать разработчика.