Guten Tag,
Ich habe ein Problem bei einem Quiz - Script.
Das ist der Code. Mein Problem ist, das wenn man etwas falsch ausgewählt hat, einfach auf den Zürück-Button klickt und dies Berichtigt. Wie kann man da eine Speere einfügen?
Gruß und danke für jeden Beitrag
Ich habe ein Problem bei einem Quiz - Script.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Quiz</title>
<script type="text/javascript">
function antwort_auswahl(){
antworten = document.Form.antwort.length;
ok = false;
for (zaehler = 0; zaehler < antworten; zaehler++){
if (document.Form.antwort[zaehler].checked) {
ok = true;
}
}
if (ok == false) {
switch (antworten) {
case 2:
Zahl = "zwei";
break;
case 3:
Zahl = "drei";
break;
case 4:
Zahl = "vier";
break;
case 5:
Zahl = "fünf";
break;
case 6:
Zahl = "sechs";
break;
default:
Zahl = "";
break;
}
alert ("Bitte wählen Sie eine der " + Zahl + " Antworten aus!");
return false;
}
else{
return true;
}
}
</script>
</head>
<body style="font-family: Verdana, Arial; font-size: 12px;">
<h4><b>Quiz</b> / <a href="bestenliste.php">Bestenliste</a></h4>
<?php
/* Quiz
Das Script stammt von Werner Zenk
Homepage: www.homepage-total.de
E-Mail: webmaster@homepage-total.de
Das Script darf frei genutzt werden,
solange dieser Text nicht entfernt wird! */
error_reporting(E_ALL);
# Ab wieviel Punkte in die Bestenliste eintragen lassen?
$max_punkte = 4;
$quizfrage = file("quizfragen.txt");
$fragenanzahl = count($quizfrage);
$quiz_nr = ((isset($_GET["quiz_nr"])) ? $_GET["quiz_nr"] : 0);
echo "<form name=\"Form\" action=\"" . $_SERVER['PHP_SELF'] . "?quiz_nr=" . ($quiz_nr + 1) . "\"";
echo " method=\"post\" onSubmit=\"return antwort_auswahl();\">\n";
if ($quiz_nr > 0) {
$punkte = ((isset($_POST["punkte"])) ? $_POST["punkte"] : 0);
$antwort = ((isset($_POST["antwort"])) ? $_POST["antwort"] : "");
$letzte_frage = explode("|", $quizfrage[($quiz_nr - 1)]);
if ($antwort == $letzte_frage[7]) {
echo "Die Antwort zu der Frage <em>„$letzte_frage[1]“</em> ist richtig!\n";
$punkte++;
}
else {
echo "Die Antwort zu der Frage <em>„$letzte_frage[1]“</em> ist falsch!<br>\n";
echo "<b>Richtig ist:</b> <i>" . $letzte_frage[($letzte_frage[7] + 1)] . "</i>\n";
}
echo "<input type=\"hidden\" name=\"punkte\" value=\"$punkte\"><hr>\n";
}
if ($quiz_nr < $fragenanzahl) {
list($nr, $frage) = explode("|", $quizfrage[$quiz_nr]);
echo "<strong>Nr:</strong> $nr/$fragenanzahl<br>\n<strong>Frage:</strong> <em>$frage</em><br><br>\n";
$antwort = explode("|", $quizfrage[$quiz_nr]);
for ($zaehler = 2; $zaehler <= 6; $zaehler++) {
if ($antwort[$zaehler] != "-") {
$zahl = $zaehler - 1;
echo "<input type=\"radio\" value=\"$zahl\" name=\"antwort\" id=\"marke$zahl\">";
echo " <label for=\"marke$zahl\">$antwort[$zaehler]</label><br>\n";
}
}
echo "<br><input type=\"submit\" value=\"Weiter...\">\n</form>\n";
}
else {
echo "</form>\n";
if ($punkte != 0) {
echo "Sie haben <b>$punkte</b> ". ($punkte == 1 ? "Frage" : "Fragen") ." von <b>$fragenanzahl</b> richtig beantwortet.<br><br>\n";
}
else {
echo "Sie haben <b>keine</b> Frage richtig beantwortet.<br><br>\n";
}
echo "<a href=\"quiz.php\">Quiz neu starten!</a>";
// In die Bestenliste eintragen
if ($punkte >= $max_punkte) {
echo "
<br><br><b>In die Bestenliste eintragen</b><br>
<form action=\"bestenliste.php\" method=\"post\">
Name: <input type=\"text\" name=\"Name\" maxlength=\"18\">
<input type=\"hidden\" name=\"punkte\" value=\"$punkte\">
<input type=\"submit\" value=\"Eintragen\">
</form>";
}
}
?>
</body>
</html>
Das ist der Code. Mein Problem ist, das wenn man etwas falsch ausgewählt hat, einfach auf den Zürück-Button klickt und dies Berichtigt. Wie kann man da eine Speere einfügen?
Gruß und danke für jeden Beitrag