PHP简单的数学测验程序

时间:2014-01-30 21:09:11

标签: php html math

我正在尝试创建一个数学测验页面。第一页需要生成一个显示为标题的问题,询问用户将两个随机数相乘。 然后根据用户输入,它将它们带到不同的页面。 如果它们是正确的,它会显示段落“你是对的!”。 如果它们出错,则显示“您不正确”段落,并邀请用户再试一次。 如果他们输入一个字符串,则显示“我不理解您的回复”段落,并邀请用户再试一次。

到目前为止,我有以下代码,布局正确但标题不起作用,我试图显示一个新页面,但同样,它们不加载。谁知道我哪里出错?

<?php
$first = Rand(1,10);
$second = Rand(1,10);

echo <h1>"What is " . $first . "times " . $second . "?"</h1>;

if(is_int($_POST['answer']) == 1){
     if($_POST['first']*$_POST['second'] == $_POST['answer']){
        header("Location: correct.html");

        exit();  
    }
    else{
        header("Location: incorrect.html");

        exit();     
    }   
}
else if(is_string($_POST['answer']) == 1) {
    header("Location: response.html");

        exit();     
}

 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Maths Quiz</title>
 </head>

 <body>
 <form method="POST" action="<?php echo $_SERVER['file:///X|/Software Development/PHP_SELF']; ?>">
 <p>Answer<br/>
 <input type="text" id="answer" name="answer" /></p>
 <p></p>
 <button type="submit" name="submit" value="send">Submit</button>
 <input type="hidden" name="answer" value="<?php echo $answer; ?>"/></p>
 </form>
 </body>
 </html>

2 个答案:

答案 0 :(得分:2)

在输出之前,您必须拥有header()代码,尤其是echo语句。

答案 1 :(得分:1)

除了在输出内容之前发送标题,我认为你的表单操作是错误的,它应该是

action="<?php echo $_SERVER['PHP_SELF']; ?>"

您正在通过FILE协议发送POST,它不会被Web Server / PHP处理。

而且,你不是在发布“第一”和“第二”字段。