Eingegebene Wörter im Lückentext behalten

  • Hey,


    unzwar ich habe mal ein Lückentext erstellt. Und ich möchte das wenn ein fehler drin ist die ganzen eingegebenen Wörter bleiben und die felder die falsch waren rot markiert werden.


    Nun aber wenn ich mein Lückentext dann absende dann gehen alle Wörter verloren und dann wird ausgegeben: Sie haben ein Fehler gemacht....... Ich könnte theoretisch jetzt jedes feld abfragen ob das eingegeben Feld richtig oder falsch ist. Aber trotzdem gehen die Wörter verloren und wie bekommt man denn dann den roten rahmen im php dann um die fehlerhaften Felder ? Und wie bekommt man es dann hin die eingegeben wörter dann unten bei Fehlende wörter durchzu streichen also z.b. ich gebe jetzt Rotkäppchen ein und dann wird bei Fehlende Wörer Rotläppchen durchgestrichen : Rotkäpchen.


    Mein Script:



    Freue mich auf eure Hilfe.


    Gruß,
    Stef

  • Du kannst deine Formularfelder einfach so anpassen:


    PHP
    1. <input type="text" name="rotkaepchen" <?php print ($wort1 == $ltw1) ? 'value="'. $wort1 .'"' : ""; ?>>


    Oder mit if:


    PHP
    1. <input type="text" name="rotkaepchen" <?php if($wort1 == $ltw1) print 'value="'. $wort1 .'"'; ?>>
  • Hey,


    vielen Dank für die schnelle Antwort.


    Es kommen jedoch Fehlermeldungen.


    Hier ein Bild der Fehler : http://prntscr.com/c1gt8w
    Und das geht mit jedem Feld, erst wenn ich die felder ausfülle dann gehen die fehlermeldungen weg.


    Warum ist das so ? Habe doch jede Var definiert...


    Und dann noch was. Ich habe jetzt ein array erstellt der alle ausgaben beinhaltet. nun möchte ich ihn aber erst im HTML-Teil ausgeben, und da kommt immer ein error und undefined variable arr, obwohl ich doch im php teil oberhalb des HTML-Teils $arr schon definiert habe.. Und wenn ich jetzt wie bei den anderen fehlermeldungen ein feld ausfülle dann gehen die fehler weg, und es werden die ausgaben ausgegebn.


    Mein Script:



    Gruß,
    Stef

  • Hey vielen Dank habe nun mein script angepasst, auch die arrayausgabe und es funktioniert alles :)


    Hier nochmals das volle Script:



    Stef

  • Ich kann dir an der Stelle noch empfelhen das Ausrufezeichen beim Vergleichen vor die Gleichheitszeichen zu setzen:


    Code
    1. !==
    2. statt
    3. ==!


    Beide Wege funktionieren, jedoch nur in diesem einen Fall. Folgende Beispiele z. B. sind fehlerhaft:


    PHP
    1. print var_dump(!true); // Ausgabe: bool(false)
    2. print var_dump(true!); // Ausgabe: Parse error: syntax error, unexpected '!'
    PHP
    1. print var_dump(true != false); // Ausgabe: bool(true)
    2. print var_dump(true =! false); // Ausgabe: Parse error: syntax error, unexpected '!'


    So kommst du später nicht durcheinander.