我正在尝试创建一个数学测验页面。第一页需要生成一个显示为标题的问题,询问用户将两个随机数相乘。 然后根据用户输入,它将它们带到不同的页面。 如果它们是正确的,它会显示段落“你是对的!”。 如果它们出错,则显示“您不正确”段落,并邀请用户再试一次。 如果他们输入一个字符串,则显示“我不理解您的回复”段落,并邀请用户再试一次。
到目前为止,我有以下代码,布局正确但标题不起作用,我试图显示一个新页面,但同样,它们不加载。谁知道我哪里出错?
<?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>
答案 0 :(得分:2)
在输出之前,您必须拥有header()
代码,尤其是echo
语句。
答案 1 :(得分:1)
除了在输出内容之前发送标题,我认为你的表单操作是错误的,它应该是
action="<?php echo $_SERVER['PHP_SELF']; ?>"
您正在通过FILE
协议发送POST,它不会被Web Server / PHP处理。
而且,你不是在发布“第一”和“第二”字段。