weixin微信公众号一站到底游戏代码(有点普通)
生活随笔
收集整理的這篇文章主要介紹了
weixin微信公众号一站到底游戏代码(有点普通)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近弄了一個一站到底的代碼,說明:不是本人原創(chuàng),是別人弄好的,感覺有點古老,還是貼上來再說吧。
這個我是在bae平臺上測試的,因為我的空間到期了,所以用百度的,下面開始詳解:
文件有兩個:
一個是index.php 另一個是conn.php 還有三個sql數(shù)據(jù)表:分別是question_bank.sql、question_user.sql、user.sql
一:index.php代碼
<?php
//define your tokendefine("TOKEN", "你的token");$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 dataif (!empty($postStr)){????????????????????????????$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);???????????????$fromUsername = $postObj->FromUserName;???????????????$toUsername = $postObj->ToUserName;???????????????$keyword = trim($postObj->Content);???????????????$time = time();$openid=$fromUsername;$date=date('Y-m-d');$time=date('H:i:s');???????????????$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content>{begin-context}<![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>"; ????????????if(!empty( $keyword ))???????????????{?????????????????include_once('conn.php');?????????????????$str1 = $keyword;$arr = array();for($i = 0, $len = strlen($str1); $i < $len; ++$i)?{??if(!count($arr) || $arr[count($arr) - 1] !== ' ' || $str1{$i} !== ' ')???{??$arr[] = $str1{$i};??} ???} ??$keyword= implode('', $arr);??$myarr_str=explode(" ",$keyword);//關(guān)鍵詞的分割,以空格分割出來??$keyword=$myarr_str[0];//得到分割后的第一個數(shù)組//==============================================================================switch($keyword){??case '一站到底':???????????????????????????$sql2="select `name` from `user` where `openid`='{$openid}'" ;$query2=mysql_query($sql2);$rs= mysql_num_rows($query2);$rs_name= mysql_fetch_array($query2);if(!empty($rs)&&$rs==1){$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_num_u=mysql_num_rows($query_u);if($rs_num_u==0||empty($rs_num_u)){$sql_into_u="INSERT INTO `question_user`(`id`, `openid`, `qid`, `reply_num`, `right_num`, `score`, `lastdate`) VALUES (null,'{$openid}','{$rs_q[id]}','1','0','0',now())";$query_into_u=mysql_query($sql_into_u);}else{???????????????????????????????????$rs_u=mysql_fetch_array($query_u);?????????????????????????????????if($rs_u[lastdate]<$date){??$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='0',`right_num`='0',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);}else{???????????????????????????????????????if($rs_u[reply_num]>=10)???????????????????????????????????????{?????????????????????????????????????$str="你今天已經(jīng)回答了10道題了,請明天再來哦!";???????????????????????????????????????break;??????????????????????????????????}else??????????????????????????????????{??????????????????????????????????????$reply_num=$rs_u[reply_num]+1;???$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);??????????????????????????????????}??}??}switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;}???????????????????????????????????????????????????????$str="分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!跳過請再輸入【一站到底】";}else{$str="請輸入【綁定 姓名】進行綁定,如:【綁定 張三】。一定要在中間加空格哦!綁定能參與積分排名哦!";}break;???????????????????????????case '綁定':$sql_named="select `name` from `user` where `openid`='{$openid}'" ;$query_named=mysql_query($sql_named);$rs_named= mysql_fetch_array($query_named);if(($rs_named)&&$rs_named>=1){??$str="你的名字已綁定,需要更改綁定的名字,請發(fā)送我要更改名字的綁定,管理員看到消息會馬上為你處理!";}else{$srt_len=count($myarr_str);if($srt_len>2){unset($myarr_str[0]);foreach($myarr_str as $value){$name=$name.' '.$value;}}else?{$name=$myarr_str[1];} ???????????????????$sql3="INSERT INTO `user` (id,name,openid,integral) VALUES ?(null,'{$name}','{$openid}',0) " ;??????????????$query3=mysql_query($sql3);???????????????????????????????????$sql_name="select `name` from `user` where `openid`='{$openid}' " ;???????????????????????????????????$query_name=mysql_query($sql_name);???????????????????????????????????$rs_name= mysql_fetch_array($query_name);???????????????????????????????????$str="綁定成功,你的名字是:$rs_name[name];請輸入一站到底,參與答題!";//這里是綁定成功,進行的提示????????????????????????????????.}break;//綁定的結(jié)束case '答案':$num_a=count($myarr_str);if($num_a==2){$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_num_u=mysql_num_rows($query_u);???????????????????????????????$rs_u=mysql_fetch_array($query_u);if($rs_num_u==0||empty($rs_num_u)||$rs_u[qid]==0){$str="親,你還沒有拿到題目哦!請先輸入【一站到底】";}else{$preg = '[AaBbCcDdEeFf]+';if(preg_match("/$preg/",$myarr_str[1])){??$myarr_str[1]=strtoupper($myarr_str[1]);??????????????????????????????$sql="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$sql="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";??$query=mysql_query($sql);??$rs=mysql_fetch_array($query);??$starr=strtotime($rs[lastdate]);??$etarr=time();??$t_num=$etarr-$starr;??if($t_num<=60)??{$sql_a="SELECT * FROM `question_bank` WHERE `id`='{$rs_u[qid]}'";$query_a=mysql_query($sql_a);$rs_a=mysql_fetch_array($query_a);$an_arr=str_split($rs_a[answer]);for($i=0;$i<$rs_a[option_num];$i++){if($an_arr[$i]==1){switch($i){case '0':$an.=A;break;case '1':$an.=B;break;case '2':$an.=C;break;case '3':$an.=D;break;case '4':$an.=E;break;case '5':$an.=F;break;}}??????}??????if($myarr_str[1]==$an)??????{$right_num=$rs_u[right_num]+1;$score=$rs_u[score]+$rs_a[figure];$sql_up_u="UPDATE `question_user` SET `qid`='',`right_num`='{$right_num}',`score`='{$score}',`lastdate`=now() WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);$sql_sco="SELECT * FROM `user` WHERE `openid`='{$openid}'";$query_sco=mysql_query($sql_sco);$rs_sco=mysql_fetch_array($query_sco);$score=$rs_a[figure]+$rs_sco[integral];$sql_up_tu="UPDATE `user` SET `integral`='{$score}' WHERE `openid`='{$openid}'";$query_up_tu=mysql_query($sql_up_tu);??????????????????????????????????????????$str_r="恭喜你!猜對了!加".$rs_a[figure]."分,你現(xiàn)在的分?jǐn)?shù)為:".$score;??//==================$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_u=mysql_fetch_array($query_u);??????????if($rs_u[reply_num]>=10)??????????{????????????????????????????????????????????$str=$str_r."你今天已經(jīng)回答了10道題了,請明天再來哦!你目前的得分是{$rs_sco[integral]}分!";??????????????????????????????????????????????break;??????????????????????????????????????????}else??????????????????????????????????????????{?$reply_num=$rs_u[reply_num]+1;??$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;??????????????}??if($rs_u[reply_num]==10)??{??????????????????????????????????????$str=$str_r;??????????????????????????????????}else??????????????????????????????????{??????$str=$str_r."\n———————————-——\n"."分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!請在一分鐘內(nèi)做答,跳過請再輸入【一戰(zhàn)到底】";??}}//================= ???????}else??????{$reply_num=$rs_u[reply_num]+1;$sql_up_u="UPDATE `question_user` SET `qid`='',`lastdate`=now() WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);$sql_sco="SELECT * FROM `user` WHERE `openid`='{$openid}'";$query_sco=mysql_query($sql_sco);$rs_sco=mysql_fetch_array($query_sco);??????????????????????????????????$str_r="這題你答錯了!正確答案是:{$an}\n你現(xiàn)在的分?jǐn)?shù)為:{$rs_sco[integral]}";??//==================$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_u=mysql_fetch_array($query_u);??if($rs_u[reply_num]>=10)??{?????????????????????????????????????$str=$str_r."你今天已經(jīng)回答了10道題了,請明天再來哦!你目前的得分是{$rs_sco[integral]}分!";??????????????????????????????????????break;??????????????????????????????????}else??????????????????????????????????{??$reply_num=$rs_u[reply_num]+1;???$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;??????}??????????????????????????????????????if($rs_u[reply_num]==10)??????????????????????????????????????{??????????????????????????????????????????$str=$str_r;??????????????????????????????????????}else??????????????????????????????????????{??????????$str=$str_r."\n———————————-——\n"."分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!請在一分鐘內(nèi)做答,跳過請再輸入【一戰(zhàn)到底】";??????????????????????????????????????}??} ?//=================??????}??????}else??????{??$reply_num=$rs_u[reply_num]+1;??$sql_up_u="UPDATE `question_user` SET `qid`='',`lastdate`=now() WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);$query_up_u=mysql_query($sql_up_u);$sql_sco="SELECT * FROM `user` WHERE `openid`='{$openid}'";$query_sco=mysql_query($sql_sco);$rs_sco=mysql_fetch_array($query_sco);??????$str_r="你已經(jīng)超時,進入下一題";????//==================$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_u=mysql_fetch_array($query_u);??????if($rs_u[reply_num]>=10)??????{?????????????????????????????????????$str="你今天已經(jīng)回答了10道題了,請明天再來哦!你目前的得分是{$rs_sco[integral]}分!";??????????????????????????????????????break;??????????????????????????????????????}else??????????????????????????????????????{??$reply_num=$rs_u[reply_num]+1;???$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;}$str=$str_r."\n———————————-——\n"."分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!請在一分鐘內(nèi)做答,跳過請再輸入【一戰(zhàn)到底】";??} ???????//=================??}??}else??{??$str="你輸入的是非法字符,請重新輸入";??????}}//===}else{$str="你的輸入有誤,請重新輸入,格式【答案 A】或【答案 ACD】";}break;??case "退出":???????????????????????$contentStr = "{end-context}退出成功";???????????????????$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, "text", $contentStr);???????????????????echo $resultStr;???????????????????????break;??????????????????}??//==============================================================================?????????????$msgType = "text";???????????????$contentStr =$str;???????????????$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);???????????????echo $resultStr;??????????????}else??????????????{???????????????echo "Input something...";??????????????}
??????????}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;}}}
?> 二、conn.php代碼 <?php?
$dbname = '你的數(shù)據(jù)庫';//這里填寫你BAE數(shù)據(jù)庫的名稱?$host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');?$port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');?$user = getenv('HTTP_BAE_ENV_AK');?$pwd = getenv('HTTP_BAE_ENV_SK');?$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);?if(!$link) {?die("Connect Server Failed: " . mysql_error($link));}?if(!mysql_select_db($dbname,$link)) {?die("Select Database Failed: " . mysql_error($link));}//以上連接數(shù)據(jù)庫session_start();
//以上是連接數(shù)據(jù)庫,如果你的數(shù)據(jù)庫是自己的空間,就按照你自己連接數(shù)據(jù)庫的方式連接?>
數(shù)據(jù)表里有大約五萬多條題目,下載地址在我的百度網(wǎng)盤:http://pan.baidu.com/s/1tFxFx 數(shù)據(jù)
<?php
//define your tokendefine("TOKEN", "你的token");$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 dataif (!empty($postStr)){????????????????????????????$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);???????????????$fromUsername = $postObj->FromUserName;???????????????$toUsername = $postObj->ToUserName;???????????????$keyword = trim($postObj->Content);???????????????$time = time();$openid=$fromUsername;$date=date('Y-m-d');$time=date('H:i:s');???????????????$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content>{begin-context}<![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>"; ????????????if(!empty( $keyword ))???????????????{?????????????????include_once('conn.php');?????????????????$str1 = $keyword;$arr = array();for($i = 0, $len = strlen($str1); $i < $len; ++$i)?{??if(!count($arr) || $arr[count($arr) - 1] !== ' ' || $str1{$i} !== ' ')???{??$arr[] = $str1{$i};??} ???} ??$keyword= implode('', $arr);??$myarr_str=explode(" ",$keyword);//關(guān)鍵詞的分割,以空格分割出來??$keyword=$myarr_str[0];//得到分割后的第一個數(shù)組//==============================================================================switch($keyword){??case '一站到底':???????????????????????????$sql2="select `name` from `user` where `openid`='{$openid}'" ;$query2=mysql_query($sql2);$rs= mysql_num_rows($query2);$rs_name= mysql_fetch_array($query2);if(!empty($rs)&&$rs==1){$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_num_u=mysql_num_rows($query_u);if($rs_num_u==0||empty($rs_num_u)){$sql_into_u="INSERT INTO `question_user`(`id`, `openid`, `qid`, `reply_num`, `right_num`, `score`, `lastdate`) VALUES (null,'{$openid}','{$rs_q[id]}','1','0','0',now())";$query_into_u=mysql_query($sql_into_u);}else{???????????????????????????????????$rs_u=mysql_fetch_array($query_u);?????????????????????????????????if($rs_u[lastdate]<$date){??$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='0',`right_num`='0',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);}else{???????????????????????????????????????if($rs_u[reply_num]>=10)???????????????????????????????????????{?????????????????????????????????????$str="你今天已經(jīng)回答了10道題了,請明天再來哦!";???????????????????????????????????????break;??????????????????????????????????}else??????????????????????????????????{??????????????????????????????????????$reply_num=$rs_u[reply_num]+1;???$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);??????????????????????????????????}??}??}switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;}???????????????????????????????????????????????????????$str="分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!跳過請再輸入【一站到底】";}else{$str="請輸入【綁定 姓名】進行綁定,如:【綁定 張三】。一定要在中間加空格哦!綁定能參與積分排名哦!";}break;???????????????????????????case '綁定':$sql_named="select `name` from `user` where `openid`='{$openid}'" ;$query_named=mysql_query($sql_named);$rs_named= mysql_fetch_array($query_named);if(($rs_named)&&$rs_named>=1){??$str="你的名字已綁定,需要更改綁定的名字,請發(fā)送我要更改名字的綁定,管理員看到消息會馬上為你處理!";}else{$srt_len=count($myarr_str);if($srt_len>2){unset($myarr_str[0]);foreach($myarr_str as $value){$name=$name.' '.$value;}}else?{$name=$myarr_str[1];} ???????????????????$sql3="INSERT INTO `user` (id,name,openid,integral) VALUES ?(null,'{$name}','{$openid}',0) " ;??????????????$query3=mysql_query($sql3);???????????????????????????????????$sql_name="select `name` from `user` where `openid`='{$openid}' " ;???????????????????????????????????$query_name=mysql_query($sql_name);???????????????????????????????????$rs_name= mysql_fetch_array($query_name);???????????????????????????????????$str="綁定成功,你的名字是:$rs_name[name];請輸入一站到底,參與答題!";//這里是綁定成功,進行的提示????????????????????????????????.}break;//綁定的結(jié)束case '答案':$num_a=count($myarr_str);if($num_a==2){$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_num_u=mysql_num_rows($query_u);???????????????????????????????$rs_u=mysql_fetch_array($query_u);if($rs_num_u==0||empty($rs_num_u)||$rs_u[qid]==0){$str="親,你還沒有拿到題目哦!請先輸入【一站到底】";}else{$preg = '[AaBbCcDdEeFf]+';if(preg_match("/$preg/",$myarr_str[1])){??$myarr_str[1]=strtoupper($myarr_str[1]);??????????????????????????????$sql="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$sql="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";??$query=mysql_query($sql);??$rs=mysql_fetch_array($query);??$starr=strtotime($rs[lastdate]);??$etarr=time();??$t_num=$etarr-$starr;??if($t_num<=60)??{$sql_a="SELECT * FROM `question_bank` WHERE `id`='{$rs_u[qid]}'";$query_a=mysql_query($sql_a);$rs_a=mysql_fetch_array($query_a);$an_arr=str_split($rs_a[answer]);for($i=0;$i<$rs_a[option_num];$i++){if($an_arr[$i]==1){switch($i){case '0':$an.=A;break;case '1':$an.=B;break;case '2':$an.=C;break;case '3':$an.=D;break;case '4':$an.=E;break;case '5':$an.=F;break;}}??????}??????if($myarr_str[1]==$an)??????{$right_num=$rs_u[right_num]+1;$score=$rs_u[score]+$rs_a[figure];$sql_up_u="UPDATE `question_user` SET `qid`='',`right_num`='{$right_num}',`score`='{$score}',`lastdate`=now() WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);$sql_sco="SELECT * FROM `user` WHERE `openid`='{$openid}'";$query_sco=mysql_query($sql_sco);$rs_sco=mysql_fetch_array($query_sco);$score=$rs_a[figure]+$rs_sco[integral];$sql_up_tu="UPDATE `user` SET `integral`='{$score}' WHERE `openid`='{$openid}'";$query_up_tu=mysql_query($sql_up_tu);??????????????????????????????????????????$str_r="恭喜你!猜對了!加".$rs_a[figure]."分,你現(xiàn)在的分?jǐn)?shù)為:".$score;??//==================$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_u=mysql_fetch_array($query_u);??????????if($rs_u[reply_num]>=10)??????????{????????????????????????????????????????????$str=$str_r."你今天已經(jīng)回答了10道題了,請明天再來哦!你目前的得分是{$rs_sco[integral]}分!";??????????????????????????????????????????????break;??????????????????????????????????????????}else??????????????????????????????????????????{?$reply_num=$rs_u[reply_num]+1;??$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;??????????????}??if($rs_u[reply_num]==10)??{??????????????????????????????????????$str=$str_r;??????????????????????????????????}else??????????????????????????????????{??????$str=$str_r."\n———————————-——\n"."分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!請在一分鐘內(nèi)做答,跳過請再輸入【一戰(zhàn)到底】";??}}//================= ???????}else??????{$reply_num=$rs_u[reply_num]+1;$sql_up_u="UPDATE `question_user` SET `qid`='',`lastdate`=now() WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);$sql_sco="SELECT * FROM `user` WHERE `openid`='{$openid}'";$query_sco=mysql_query($sql_sco);$rs_sco=mysql_fetch_array($query_sco);??????????????????????????????????$str_r="這題你答錯了!正確答案是:{$an}\n你現(xiàn)在的分?jǐn)?shù)為:{$rs_sco[integral]}";??//==================$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_u=mysql_fetch_array($query_u);??if($rs_u[reply_num]>=10)??{?????????????????????????????????????$str=$str_r."你今天已經(jīng)回答了10道題了,請明天再來哦!你目前的得分是{$rs_sco[integral]}分!";??????????????????????????????????????break;??????????????????????????????????}else??????????????????????????????????{??$reply_num=$rs_u[reply_num]+1;???$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;??????}??????????????????????????????????????if($rs_u[reply_num]==10)??????????????????????????????????????{??????????????????????????????????????????$str=$str_r;??????????????????????????????????????}else??????????????????????????????????????{??????????$str=$str_r."\n———————————-——\n"."分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!請在一分鐘內(nèi)做答,跳過請再輸入【一戰(zhàn)到底】";??????????????????????????????????????}??} ?//=================??????}??????}else??????{??$reply_num=$rs_u[reply_num]+1;??$sql_up_u="UPDATE `question_user` SET `qid`='',`lastdate`=now() WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);$query_up_u=mysql_query($sql_up_u);$sql_sco="SELECT * FROM `user` WHERE `openid`='{$openid}'";$query_sco=mysql_query($sql_sco);$rs_sco=mysql_fetch_array($query_sco);??????$str_r="你已經(jīng)超時,進入下一題";????//==================$sql_q="SELECT * FROM `question_bank` ORDER BY RAND() LIMIT 1";$query_q=mysql_query($sql_q);$rs_q=mysql_fetch_array($query_q);$sql_u="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";$query_u=mysql_query($sql_u);$rs_u=mysql_fetch_array($query_u);??????if($rs_u[reply_num]>=10)??????{?????????????????????????????????????$str="你今天已經(jīng)回答了10道題了,請明天再來哦!你目前的得分是{$rs_sco[integral]}分!";??????????????????????????????????????break;??????????????????????????????????????}else??????????????????????????????????????{??$reply_num=$rs_u[reply_num]+1;???$date=date('Y-m-d H:i:s',time());$sql_up_u="UPDATE `question_user` SET `qid`='{$rs_q[id]}',`reply_num`='{$reply_num}',`lastdate`='{$date}' WHERE `openid`='{$openid}'";$query_up_u=mysql_query($sql_up_u);switch($rs_q[option_num]){case '2':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]}";break;case '3':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]}";break;case '4':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]}";break;case '5':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]}";break;case '6':$str="問題:\n{$rs_q[question]}\n選項:\nA、{$rs_q[optionA]} B、{$rs_q[optionB]} C、{$rs_q[optionC]} D、{$rs_q[optionD]} E、{$rs_q[optionE]} F、{$rs_q[optionF]}";break;}$str=$str_r."\n———————————-——\n"."分值為:".$rs_q[figure]."分的".$str."\n———————————-——\n回答請輸入【答案 X】如【答案 A】或【答案 ACD】!請在一分鐘內(nèi)做答,跳過請再輸入【一戰(zhàn)到底】";??} ???????//=================??}??}else??{??$str="你輸入的是非法字符,請重新輸入";??????}}//===}else{$str="你的輸入有誤,請重新輸入,格式【答案 A】或【答案 ACD】";}break;??case "退出":???????????????????????$contentStr = "{end-context}退出成功";???????????????????$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, "text", $contentStr);???????????????????echo $resultStr;???????????????????????break;??????????????????}??//==============================================================================?????????????$msgType = "text";???????????????$contentStr =$str;???????????????$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);???????????????echo $resultStr;??????????????}else??????????????{???????????????echo "Input something...";??????????????}
??????????}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;}}}
?> 二、conn.php代碼 <?php?
$dbname = '你的數(shù)據(jù)庫';//這里填寫你BAE數(shù)據(jù)庫的名稱?$host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');?$port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');?$user = getenv('HTTP_BAE_ENV_AK');?$pwd = getenv('HTTP_BAE_ENV_SK');?$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);?if(!$link) {?die("Connect Server Failed: " . mysql_error($link));}?if(!mysql_select_db($dbname,$link)) {?die("Select Database Failed: " . mysql_error($link));}//以上連接數(shù)據(jù)庫session_start();
//以上是連接數(shù)據(jù)庫,如果你的數(shù)據(jù)庫是自己的空間,就按照你自己連接數(shù)據(jù)庫的方式連接?>
數(shù)據(jù)表里有大約五萬多條題目,下載地址在我的百度網(wǎng)盤:http://pan.baidu.com/s/1tFxFx 數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的weixin微信公众号一站到底游戏代码(有点普通)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决maven内存溢出
- 下一篇: poj 2079(旋转卡壳)