• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Vokabelabfrageprogramm

fiedel

Mitglied
Hallo,
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&uuml;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>
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...)
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben