Hallo,
ich arbeite zur Zeit an einem Vokabelabfrageprogramm, dieses funktioniert nur leider bloß bis zur Hälfte.
Die Stelle, die nicht funktioniert, habe ich im Quelltext gekennzeichnet! Es kommt keine Fehlermeldung heraus, es wird einfach nicht ausgeführt.
Edit: Thema hat sich erledigt! Der Fehler bestand darin, dass ich vergessen habe, dem Submit-Button das Attribut name="submit" zuzuweisen! (grr...)
ich arbeite zur Zeit an einem Vokabelabfrageprogramm, dieses funktioniert nur leider bloß bis zur Hälfte.
PHP:
<form class="abfragen" action="abfragen.php" method="post">
<?php
error_reporting(E_ALL);
include('zugriff.inc.php');
if (!isset($_POST['submit'])) {
// Hier werden Zufallsvokabeln nach einer bestimmten Häufigkeit ausgelesen
// (je höher die Zahl in der Datenbank, umso häufiger die Vokabel)
$frequenz = rand(4,8);
if ($frequenz == 4) {
$frequenz = rand(2,5);
}
if ($frequenz <= 3) {
$frequenz = rand(1,4);
}
$sql = "SELECT latein, deutsch FROM `vokabeln` WHERE frequenz >= ".$frequenz." ORDER BY RAND() LIMIT 1";
$result = mysql_query($sql);
$vokabel = mysql_fetch_assoc($result);
echo "
<p><label for=\"vokabel\">".$vokabel['latein']."</label> = <input type=\"text\" id=\"vokabel\" name=\"deutsch\" /></p>
<p><input type=\"hidden\" name=\"latein\" value=\"".$vokabel['latein']."\" /><input type=\"submit\" style=\"display:none\" value=\"Prüfen\" /></p>
";
} elseif (isset($_POST['submit'])) {
// Ab hier funktioniert es nicht mehr...
$sql ="SELECT * FROM vokabeln WHERE latein = '".$_POST['latein']."' LIMIT 1";
$result = mysql_query($sql);
$vokabel = mysql_fetch_assoc($result);
// Prüfen, ob mehrere Bedeutungen (durch Komma getrennt) gespeichert sind...
$kommas = substr_count($vokabel['deutsch'], ', ');
// wenn ja...
if ($kommas > 0) {
$richtig = false;
$weitere = true;
$array = explode(", ",$vokabel['deutsch'], $kommas);
if (in_array($_POST['deutsch'],$array)) {
$richtig = true;
}
} else { // wenn nein...
$richtig = false;
$weitere = false;
if ($_POST['deutsch'] == $vokabel['deutsch']) {
$richtig = true;
}
}
if ($richtig && $weitere) {
echo "<p class=\"green\">Richtig!! Alle Bedeutungen: ".$vokabel['deutsch']." </p>\n<p><input type=\"submit\" name=\"weiter\" value=\"Weiter\" /></p>\n";
} elseif ($richtig && !$weitere) {
echo "<p class=\"green\">Richtig!!</p>\n<p><input type=\"submit\" name=\"weiter\" value=\"Weiter\" /></p>\n";
} else {
echo "<p class=\"red\">Falsch!</p>\n<p><input type=\"submit\" name=\"weiter\" value=\"Weiter\" /></p>\n";
}
}
?>
</form>
Edit: Thema hat sich erledigt! Der Fehler bestand darin, dass ich vergessen habe, dem Submit-Button das Attribut name="submit" zuzuweisen! (grr...)
Zuletzt bearbeitet: