手机版

php微信公众号开发之答题连闯三关

时间:2021-08-29 来源:互联网 编辑:宝哥软件园 浏览:

本文实例为大家分享了服务器端编程语言(专业超文本预处理器的缩写)微信公众号开发之答题闯关的具体代码,供大家参考,具体内容如下

连闯三关

内爆(',',数组)数组变字符串数组无法保存到数据库中去分解(',',字符串)字符串变数组array_rand($arr,n)随机取出数组中n个单项

核心代码如下:

公共函数responseMsg(){//获取邮政数据,可能是由于环境不同$ PostStr=$ GLOBALS[' HTTP _ RAW _ POST _ DATA '];//提取帖子数据if(!empty($ PostStr)){ $ PostObj=simple XML _ load _ string($ PostStr,' SimpleXMLElement ',LIBXML _ NocDATa);$ from username=$ PostObj-from username;$ touser name=$ PostObj-touser name;$ type=$ PostObj-MSgtype;$ customevent=$ PostObj-Event;$ latitude=$ PostObj-Location _ X;$经度=$ PostObj-Location _ Y;$关键字=trim($ PostObj-Content);$ time=time();$textTpl='xml ToUserName![CData[% s]]/从用户名使用用户名![CData[% s]]/来自用户名创建时间% s/创建时间MsgType![CData[% s/MSgtype Content % s/Content func flag 0/func flag/XML];包括(' coon。PHP’);$array=array('河北'='石家庄','山西'='太原','广东'='广州','黑龙江'='哈尔滨','广西'='南宁','浙江'='杭州','江苏'='南京','山东'='济南','河南'='郑州');if($关键字=='8') { $a=array_rand($array,3);$contentStr='第一题$a[0].省会是哪里?$ a=内爆(',',$ a);$ sql=' SELECT * FROM `menu2 ',其中` user `=' { $ from username } $ query=MySQL _ query($ SQL);$ RM=MySQL _ fetch _ array($ query);$ user=$ RM[' user '];if(空($ user)){ $ SQL=' INSERT INTO ' men U2 `(' id `、' user `、' sec `、'答案`、' num`)VALUES (NULL,' {$fromUsername} '、' 8 '、' {$a} '、' 0 ');MySQL _ query($ SQL);} else { $ SQL=' UPDATE ` men U2 ' SET ` sec `=' 8 ','答案`='{$a} ',' num`='0 '其中用户`=' { $ from username } MySQL _ query($ SQL);} } else { $ sql=' SELECT * FROM `menu2 ',其中` user `=' { $ from username } $ query=MySQL _ query($ SQL);$ RM=MySQL _ fetch _ array($ query);$ sec=$ RM[' sec '];$答案=$rm['答案'];$答案=explode(',',$答案);$ num=$ RM[' num '];if($ sec==' 8 '){ if($ num==' 0 '){ if($ key==$ array[$ answer[0]]){ $ content str='恭喜你,答对了\n。第二题。$答案[1]。'省会是哪里?';$sql='UPDATE `menu2` SET `num`='1 ',其中` user `=' { $ FromUserName }MySQL _ query($ SQL);} else { $contentStr='很遗憾,你错了,重新来玩吧。';$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} } else if($ num==' 1 '){ if($关键字==$ array[$ answer[1]]){ $ ContentStr='恭喜你,答对了\n。第三题。$答案[2]。'省会是哪里?$sql='UPDATE `menu2` SET `num`='2 ',其中` user `=' { $ FromUserName }MySQL _ query($ SQL);} else { $contentStr='很遗憾,再努力一把,重新来玩吧。';$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} } else if($ num==' 2 '){ if($关键字==$ array[$ answer[2]]){ $ ContentStr='恭喜你,连闯三关!$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} else { $contentStr='很遗憾,就差一步,重新来玩吧。';$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} } } else { $contentStr='请先输入8';} } $ msgType=' text $ resultStr=sprintf($ text TPL,$fromUsername,$toUsername,$time,$ msgType,$ content str);echo $ resultStr} }menu2.sql数据库代码如下:

- phpMyAdmin SQL转储-版本3 . 3 . 8 . 1-http://www . phpmyadmin . net-主机: w . RDC。SAE。新浪。com。cn :3307生成日期: 2018 年08 月26 日14:10 - 服务器版本: 5.6.23 - PHP版本: 5 .3 .3设置SQL _ MODE=' NO _ AUTO _ VALUE _ ON _ ZERO ';/*!40101 SET @[电子邮件保护]@ CHARACTER _ SET _ CLIENT */;/*!40101 SET @[电子邮件保护]@ CHARACTER _ SET _ RESULTS */;/*!40101 SET @[电子邮件保护]@ COORTION _ CONNECTION */;/*!40101 SET NAMES utf8 */;-数据库: `app_dq095` -表的结构` menu2` -如果不存在则创建表` men U2 `(` id ' int(3)NOT NULL AUTO _ INCREMENT,` user ' varchar(255)NOT NULL,` sec ' int(1)NOT NULL,'答案varchar(10)不为空,` num ' int(4)不为空,主键(` id `) ENGINE=Innodb DEFAULT CHARSET=utf8 AUTO _ INVENTION=3;-转存表中的数据` menu2` - INSERT INTO `menu2` (`id `、` user `、` sec `、` answer `、` num`) VALUES(1,' ooD-ow-c8zigaihscjn 54 awpu2g ',8 '广东,江苏,山东,1),(2,' ooD-ow-c8zigaihscjn 54 aw pu2g ',8 '广东,江苏,山东', 1);coon.php连接数据库代码如下:

?php /用户名:美元用户/密码:美元pwd /主库域名:美元主机/从库域名: SAE_MYSQL_HOST_S //端口:美元端口/数据库名: $ db name $ db name=' app _ dq 095 ';$ host=' w . RDC。SAE。新浪。com。cn ';$ port=' 3306 $ user=' 4k 514n 103 z $ pwd=' 2402314 i2j 1i 5 im1x y2xizj 5y 332 w2x 41 k2z 203 ';/*接着调用mysql_connect()连接服务器*///连主库$db=mysql_connect($host,$user,$ pwd);if(!$db){ die('连接服务器失败: '。MySQL _ error($ db));} /*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/if(!MySQL _ Select _ db($ dbname)){ die('选择数据库失败: ' .MySQL _ error($ db));} MySQL _ query(' set name utf-8 ',$ db);/*至此连接已完全建立,就可对当前数据库进行相应的操作了*//*!注意,无法再通过本次连接调用mysql_select_db来切换到其它数据库了!*//* 需要再连接其它数据库,请再使用mysql_connect mysql_select_db启动另一个连接*//** * 接下来就可以使用其它标准视频教程函数操作进行数据库操作*/index.php整体代码如下:

?php/** *微信PHP测试*///定义你的tokendefine('TOKEN ',' weixin ');$微信bj=新微信callbackapitet();$微信对象响应消息();班级微信callbackapist { public function valid(){ $ echoStr=$ _ GET[' echoStr '];//有效签名,选项if($ this-CheckSignature()){ echo $ echoStr;退出;} }公共函数responseMsg(){//获取邮政数据,可能是由于环境不同$ PostStr=$ GLOBALS[' HTTP _ RAW _ POST _ DATA '];//提取帖子数据if(!empty($ PostStr)){ $ PostObj=simple XML _ load _ string($ PostStr,' SimpleXMLElement ',LIBXML _ NocDATa);$ from username=$ PostObj-from username;$ touser name=$ PostObj-touser name;$ type=$ PostObj-MSgtype;$ customevent=$ PostObj-Event;$ latitude=$ PostObj-Location _ X;$经度=$ PostObj-Location _ Y;$关键字=trim($ PostObj-Content);$ time=time();$textTpl='xml ToUserName![CData[% s]]/从用户名使用用户名![CData[% s]]/来自用户名创建时间% s/创建时间MsgType![CData[% s/MSgtype Content % s/Content func flag 0/func flag/XML];包括(' coon。PHP’);$array=array('河北'='石家庄','山西'='太原','广东'='广州','黑龙江'='哈尔滨','广西'='南宁','浙江'='杭州','江苏'='南京','山东'='济南','河南'='郑州');if($关键字=='8') { $a=array_rand($array,3);$contentStr='第一题$a[0].省会是哪里?$ a=内爆(',',$ a);$ sql=' SELECT * FROM `menu2 ',其中` user `=' { $ from username } $ query=MySQL _ query($ SQL);$ RM=MySQL _ fetch _ array($ query);$ user=$ RM[' user '];if(空($ user)){ $ SQL=' INSERT INTO ' men U2 `(' id `、' user `、' sec `、'答案`、' num`)VALUES (NULL,' {$fromUsername} '、' 8 '、' {$a} '、' 0 ');MySQL _ query($ SQL);} else { $ SQL=' UPDATE ` men U2 ' SET ` sec `=' 8 ','答案`='{$a} ',' num`='0 '其中用户`=' { $ from username } MySQL _ query($ SQL);} } else { $ sql=' SELECT * FROM `menu2 ',其中` user `=' { $ from username } $ query=MySQL _ query($ SQL);$ RM=MySQL _ fetch _ array($ query);$ sec=$ RM[' sec '];$答案=$rm['答案'];$答案=explode(',',$答案);$ num=$ RM[' num '];if($ sec==' 8 '){ if($ num==' 0 '){ if($ key==$ array[$ answer[0]]){ $ content str='恭喜你,答对了\n。第二题。$答案[1]。'省会是哪里?';$sql='UPDATE `menu2` SET `num`='1 ',其中` user `=' { $ FromUserName }MySQL _ query($ SQL);} else { $contentStr='很遗憾,你错了,重新来玩吧。';$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} } else if($ num==' 1 '){ if($关键字==$ array[$ answer[1]]){ $ ContentStr='恭喜你,答对了\n。第三题。$答案[2]。'省会是哪里?$sql='UPDATE `menu2` SET `num`='2 ',其中` user `=' { $ FromUserName }MySQL _ query($ SQL);} else { $contentStr='很遗憾,再努力一把,重新来玩吧。';$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} } else if($ num==' 2 '){ if($关键字==$ array[$ answer[2]]){ $ ContentStr='恭喜你,连闯三关!$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} else { $contentStr='很遗憾,就差一步,重新来玩吧。

;$sql='UPDATE `menu2` SET `sec`=',其中` user `=' { $ from username } MySQL _ query($ SQL);} } } else { $contentStr='请先输入8';} } $ msgType=' text $ resultStr=sprintf($ text TPL,$fromUsername,$toUsername,$time,$ msgType,$ content str);echo $ resultStr} }私有函数check signature(){ $ signature=$ _ GET[' signature '];$时间戳=$_GET['时间戳'];$ nonce=$ _ GET[' nonce '];$ TOKEN=TOKEN $ TMParr=array($ TOKEN,$timestamp,$ nonce);sort($ TMParr);$tmpStr=内爆($ TMParr);$ TMPstr=sha1($ TMPstr);if($ TMPstr==$ signature){ 0返回true}否则{返回false} }?以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:php微信公众号开发之答题连闯三关是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐