-2

如果答案正确,我想将提交按钮重定向到下一个问题 url。

    <html>
    <head>
    <title>PHP Test</title>
    </head>
    <body>
    <p>
    Answer the question.
    </p>
    CLUE: The base is rotated
    <br/></body>

    <form action="" method="post">
    Answer: <input type="text" name="number" /><br />

    <input name="submit" type="submit">
    </form>

    </html>
4

4 回答 4

1

与此类似的内容放在您的 html 标记之前:

<?php
if (isset($_POST['number']) && $_POST['number'] == 12345) {
    header('Location: /next/page/');
}
?>
于 2013-10-14T15:36:04.633 回答
0

由于它会返回到同一页面,因此您可以添加一个隐藏的输入字段。

<?php if (isset($_POST[number]){

        if ($_POST['number'] == $answer){
            $_SESSION['answer1'] == $answer;
            header("Location: /next/page");
        }
    }

?>

将其保存为会话变量,以便您可以在测验结束时轻松访问它们或其他任何内容。

于 2013-10-14T15:38:39.007 回答
0

您可以创建一个包含答案的隐藏字段,并创建一个新脚本来检查文本字段中的答案与隐藏字段 ($answer) 中的答案并重定向到新页面。

假设我们将此脚本称为 checkanswer.php -> 那么您的表单操作应为<form action="checkanswer.php" method="post">

checkanswer.php 看起来像:

<?php
  if(isset($_POST['number'])
    {
     if ($_POST['number'] == $answer)
       { echo "Correct!";
         header("location:nextquestion.php");
       }
         else
         { echo "That is not the right answer, try again!"; }
 ?>
于 2013-10-14T15:45:11.810 回答
0

这是一个非常基本的方法来检查是否给出了正确的答案,并header用于重定向到另一个页面。

如果用户answer在您的表单字段中键入单词,那么它将被设置为TRUE.

如果答案不正确,将显示Sorry, wrong answer.

<?php

if(isset($_POST['submit'])) {
$answer = "answer";

if($_POST['number'] == $answer) {

// echo "Correct"; 

header("Location: correct.php"); 

} else { 
die("Sorry, wrong answer.");
}

}

?>

使用会话方法:

<?php
session_start();

if (!isset($_SESSION['name'])) {
$_SESSION['name'] = "correct";
}

if(isset($_POST['submit'])) {
$answer = "answer";

if($_POST['number'] == $answer) {
header("Location: correct.php"); 
} else { 
die("Sorry, wrong answer");
}

}

else {
die("You cannot access this page from here.");
}
?>

正确的.php

<?php
session_start();

if (!isset($_SESSION['name'])) {
die("Sorry, session not set.");
}

else {
echo "Correct answer.";
}

?>
于 2013-10-14T16:17:09.313 回答