最近弄了一个一站到底的代码,说明:不是本人原创,是别人弄好的,感觉有点古老,还是贴上来再说吧。
这个我是在bae平台上测试的,因为我的空间到期了,所以用百度的,下面开始详解:
文件有两个:
一个是index.php 另一个是conn.php 还有三个sql数据表:分别是question_bank.sql、question_user.sql、user.sql
一:index.php代码
<?php
//define your token
define("TOKEN", "你的token");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();
class wechatCallbackapiTest
{
public function valid()
<wbr><wbr>{</wbr></wbr>
<wbr><wbr><wbr><wbr>$echoStr = $_GET["echostr"];</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>//valid signature , option</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>if($this->checkSignature()){</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>echo $echoStr;</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>exit;</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
<wbr><wbr>}</wbr></wbr>
<wbr><wbr>public function responseMsg()</wbr></wbr>
<wbr><wbr>{</wbr></wbr>
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
<wbr><wbr><wbr>//extract post data</wbr></wbr></wbr>
if (!empty($postStr)){
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$fromUsername = $postObj->FromUserName;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$toUsername = $postObj->ToUserName;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$keyword = trim($postObj->Content);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$time = time();</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
$openid=$fromUsername;
$date=date('Y-m-d');
$time=date('H:i:s');
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$textTpl = "<xml></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<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>"; <wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
if(!empty( $keyword ))
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>include_once('conn.php');</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str1 = $keyword;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
$arr = array();
for($i = 0, $len = strlen($str1); $i < $len; ++$i)<wbr></wbr>
{
<wbr><wbr>if(!count($arr) || $arr[count($arr) - 1] !== ' ' || $str1{$i} !== ' ')<wbr></wbr></wbr></wbr>
<wbr><wbr>{</wbr></wbr>
<wbr><wbr>$arr[] = $str1{$i};</wbr></wbr>
<wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr>
} <wbr><wbr></wbr></wbr>
$keyword= implode('', $arr);
<wbr></wbr>
<wbr><wbr>$myarr_str=explode(" ",$keyword);//关键词的分割,以空格分割出来</wbr></wbr>
<wbr><wbr>$keyword=$myarr_str[0];//得到分割后的第一个数组</wbr></wbr>
<wbr>//==============================================================================</wbr>
switch($keyword)
{
<wbr><wbr>case '一站到底':</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$sql2="select `name` from `user` where `openid`='{$openid}'" ;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
$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
{
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$rs_u=mysql_fetch_array($query_u);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
if($rs_u[lastdate]<$date)
{
<wbr><wbr>$date=date('Y-m-d H:i:s',time());</wbr></wbr>
$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
{
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if($rs_u[reply_num]>=10)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str="你今天已经回答了10道题了,请明天再来哦!";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>break;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$reply_num=$rs_u[reply_num]+1;<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>$date=date('Y-m-d H:i:s',time());</wbr></wbr>
$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);
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>}</wbr></wbr>
<wbr><wbr>}</wbr></wbr>
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;
}
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str="分值为:".$rs_q[figure]."分的".$str."\n———————————-——\n回答请输入【答案 X】如【答案 A】或【答案 ACD】!跳过请再输入【一站到底】";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
}else
{
$str="请输入【绑定 姓名】进行绑定,如:【绑定 张三】。一定要在中间加空格哦!绑定能参与积分排名哦!";
}
break;
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>case '绑定':</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
$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)
{
<wbr><wbr>$str="你的名字已绑定,需要更改绑定的名字,请发送我要更改名字的绑定,管理员看到消息会马上为你处理!";</wbr></wbr>
}else
{
$srt_len=count($myarr_str);
if($srt_len>2)
{
unset($myarr_str[0]);
foreach($myarr_str as $value)
{
$name=$name.' '.$value;
}
<wbr></wbr>
}else<wbr></wbr>
{
$name=$myarr_str[1];
} <wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$sql3="INSERT INTO `user` (id,name,openid,integral) VALUES <wbr>(null,'{$name}','{$openid}',0) " ;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$query3=mysql_query($sql3);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$sql_name="select `name` from `user` where `openid`='{$openid}' " ;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$query_name=mysql_query($sql_name);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$rs_name= mysql_fetch_array($query_name);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str="绑定成功,你的名字是:$rs_name[name];请输入一站到底,参与答题!";//这里是绑定成功,进行的提示</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>.}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
break;//绑定的结束
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);
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$rs_u=mysql_fetch_array($query_u);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
if($rs_num_u==0||empty($rs_num_u)||$rs_u[qid]==0)
{
$str="亲,你还没有拿到题目哦!请先输入【一站到底】";
}else
{
$preg = '[AaBbCcDdEeFf]+';
if(preg_match("/$preg/",$myarr_str[1]))
{
<wbr><wbr>$myarr_str[1]=strtoupper($myarr_str[1]);</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$sql="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
$sql="SELECT * FROM `question_user` WHERE `openid`='{$openid}'";
<wbr><wbr>$query=mysql_query($sql);</wbr></wbr>
<wbr><wbr>$rs=mysql_fetch_array($query);</wbr></wbr>
<wbr><wbr>$starr=strtotime($rs[lastdate]);</wbr></wbr>
<wbr><wbr>$etarr=time();</wbr></wbr>
<wbr><wbr>$t_num=$etarr-$starr;</wbr></wbr>
<wbr><wbr>if($t_num<=60)</wbr></wbr>
<wbr><wbr>{</wbr></wbr>
$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;
}
}
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>if($myarr_str[1]==$an)</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr>
$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);
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str_r="恭喜你!猜对了!加".$rs_a[figure]."分,你现在的分数为:".$score;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>//==================</wbr></wbr>
$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);
<wbr><wbr><wbr><wbr><wbr><wbr>if($rs_u[reply_num]>=10)</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str=$str_r."你今天已经回答了10道题了,请明天再来哦!你目前的得分是{$rs_sco[integral]}分!";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>break;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>$reply_num=$rs_u[reply_num]+1;<wbr></wbr></wbr>
<wbr>$date=date('Y-m-d H:i:s',time());</wbr>
$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;
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>if($rs_u[reply_num]==10)</wbr></wbr>
<wbr><wbr>{</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str=$str_r;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>$str=$str_r."\n———————————-——\n"."分值为:".$rs_q[figure]."分的".$str."\n———————————-——\n回答请输入【答案 X】如【答案 A】或【答案 ACD】!请在一分钟内做答,跳过请再输入【一战到底】";</wbr></wbr></wbr></wbr>
<wbr><wbr>}</wbr></wbr>
<wbr></wbr>
}
//================= <wbr></wbr>
<wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr>
$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);
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str_r="这题你答错了!正确答案是:{$an}\n你现在的分数为:{$rs_sco[integral]}";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>//==================</wbr></wbr>
$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);
<wbr><wbr>if($rs_u[reply_num]>=10)</wbr></wbr>
<wbr><wbr>{</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str=$str_r."你今天已经回答了10道题了,请明天再来哦!你目前的得分是{$rs_sco[integral]}分!";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>break;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>$reply_num=$rs_u[reply_num]+1;<wbr></wbr></wbr></wbr>
<wbr><wbr>$date=date('Y-m-d H:i:s',time());</wbr></wbr>
$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;
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if($rs_u[reply_num]==10)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str=$str_r;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>$str=$str_r."\n———————————-——\n"."分值为:".$rs_q[figure]."分的".$str."\n———————————-——\n回答请输入【答案 X】如【答案 A】或【答案 ACD】!请在一分钟内做答,跳过请再输入【一战到底】";</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>} <wbr></wbr></wbr></wbr>
//=================
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr>
<wbr><wbr>$reply_num=$rs_u[reply_num]+1;</wbr></wbr>
<wbr><wbr>$sql_up_u="UPDATE `question_user` SET `qid`='',`lastdate`=now() WHERE `openid`='{$openid}'";</wbr></wbr>
$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);
<wbr><wbr><wbr><wbr>$str_r="你已经超时,进入下一题";</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr>//==================</wbr></wbr></wbr>
$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);
<wbr><wbr><wbr><wbr>if($rs_u[reply_num]>=10)</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$str="你今天已经回答了10道题了,请明天再来哦!你目前的得分是{$rs_sco[integral]}分!";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>break;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>$reply_num=$rs_u[reply_num]+1;<wbr></wbr></wbr></wbr>
<wbr><wbr>$date=date('Y-m-d H:i:s',time());</wbr></wbr>
$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】!请在一分钟内做答,跳过请再输入【一战到底】";
<wbr><wbr>} <wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>//=================</wbr></wbr></wbr></wbr>
<wbr><wbr>}</wbr></wbr>
<wbr><wbr>}else</wbr></wbr>
<wbr><wbr>{</wbr></wbr>
<wbr><wbr>$str="你输入的是非法字符,请重新输入";</wbr></wbr>
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
}//===
}else
{
$str="你的输入有误,请重新输入,格式【答案 A】或【答案 ACD】";
}
break;
<wbr><wbr>case "退出":</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$contentStr = "{end-context}退出成功";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, "text", $contentStr);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>echo $resultStr;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>break;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr></wbr></wbr>
<wbr>//==============================================================================</wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>$msgType = "text";</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$contentStr =$str;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>echo $resultStr;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>echo "Input something...";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>}else<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>echo "";</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>exit;</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
private function checkSignature()
{
<wbr><wbr><wbr><wbr>$signature = $_GET["signature"];</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>$timestamp = $_GET["timestamp"];</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>$nonce = $_GET["nonce"];</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
$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<wbr></wbr>
<wbr>$dbname = '<span style="color:#F91207;word-wrap: normal; word-break: normal;">你的数据库</span>';//这里填写你BAE数据库的名称</wbr>
<wbr></wbr>
<wbr></wbr>
<wbr>$host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');</wbr>
<wbr>$port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');</wbr>
<wbr>$user = getenv('HTTP_BAE_ENV_AK');</wbr>
<wbr>$pwd = getenv('HTTP_BAE_ENV_SK');</wbr>
<wbr></wbr>
<wbr></wbr>
<wbr>$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);</wbr>
<wbr>if(!$link) {</wbr>
<wbr>die("Connect Server Failed: " . mysql_error($link));</wbr>
<wbr>}</wbr>
<wbr></wbr>
<wbr>if(!mysql_select_db($dbname,$link)) {</wbr>
<wbr>die("Select Database Failed: " . mysql_error($link));</wbr>
<wbr>}</wbr>
<wbr>//以上连接数据库</wbr>
<wbr>session_start();</wbr>
//以上是连接数据库,如果你的数据库是自己的空间,就按照你自己连接数据库的方式连接
?>
数据表里有大约五万多条题目,下载地址在我的百度网盘:
http://pan.baidu.com/s/1tFxFx
数据