Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
de:create:feedback-correct [30.08.2021 17:42] – admin | de:create:feedback-correct [03.03.2023 15:06] – [Prüfen der Antwort] admin | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
Der Abgleich zwischen der gegebenen Antwort und der korrekten Antwort hängt von zwei Faktoren ab: | Der Abgleich zwischen der gegebenen Antwort und der korrekten Antwort hängt von zwei Faktoren ab: | ||
- | | + | |
* Zum einen das Antwortformat, | * Zum einen das Antwortformat, | ||
* Zum anderen ist für die Implementierung wichtig, ob das Feedback nur für eine Handvoll Fragen benötigt wird oder ob es um einen längeren Fragenkatalog geht. Im zweiten Fall ist es zielführend, | * Zum anderen ist für die Implementierung wichtig, ob das Feedback nur für eine Handvoll Fragen benötigt wird oder ob es um einen längeren Fragenkatalog geht. Im zweiten Fall ist es zielführend, | ||
Zeile 76: | Zeile 76: | ||
<code php> | <code php> | ||
- | $answer | + | $antwort |
- | $correct | + | $korrekt |
if ($antwort == $korrekt) { | if ($antwort == $korrekt) { | ||
text(' | text(' | ||
Zeile 95: | Zeile 95: | ||
<code php> | <code php> | ||
- | $answer | + | $antwort |
- | $correct | + | $korrekt |
if ($antwort == $korrekt) { | if ($antwort == $korrekt) { | ||
text(' | text(' | ||
Zeile 134: | Zeile 134: | ||
Die Reaktion auf eine richtige oder falsche Antwort kann ganz unterschiedlich gestaltet werden. Wesentliche Bausteine sind: | Die Reaktion auf eine richtige oder falsche Antwort kann ganz unterschiedlich gestaltet werden. Wesentliche Bausteine sind: | ||
- | * Die PHP-Funktion '' | + | * Die PHP-Funktion '' |
* Die PHP-Funktion '' | * Die PHP-Funktion '' | ||
* Die PHP-Funktion '' | * Die PHP-Funktion '' | ||
* Die PHP-Funktionen '' | * Die PHP-Funktionen '' | ||
+ | |||
+ | |||
+ | ==== Einen Text anzeigen ==== | ||
+ | |||
+ | Die einfachste Variante, nämlich einen Text "Ihre Antwort war richtig" | ||
+ | |||
+ | Wenn Sie im Fragenkatalog in eine Rubrik Ihrer Wahl einen //Text hinzufügen// | ||
+ | |||
+ | Wenn Sie den Text etwas ansprichsvoller gestalten möchten, wählen bei // | ||
+ | |||
+ | <code html> | ||
+ | <div style=" | ||
+ | Ihre Antwort ist richtig. | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Zur weiteren Gestaltung können Sie auch Bilder verwenden, siehe [[: | ||
+ | |||
+ | Die Einbindung des Textes erfolgt, wie oben gezeigt, mittels '' | ||
+ | |||
+ | Die [[: | ||
+ | |||
+ | <code php> | ||
+ | if ($allRight) { | ||
+ | text(' | ||
+ | } else { | ||
+ | text(' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Weiter-Knopf blockieren ==== | ||
+ | |||
+ | Mit der Funktion '' | ||
+ | |||
+ | <code php> | ||
+ | if ($allRight) { | ||
+ | text(' | ||
+ | } else { | ||
+ | text(' | ||
+ | option(' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Direkt zur vorigen Seite springen ==== | ||
+ | |||
+ | Mit der Funktion '' | ||
+ | |||
+ | <code php> | ||
+ | if (!$allRight) { | ||
+ | repeatPage(' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Die positive Meldung wäre in diesem Fall obsolet. | ||
+ | |||
+ | |||
+ | ===== Detailliertes Feedback ===== | ||
+ | |||
+ | Etwas aufwändiger ist es, wenn man die Frage und die falschen und richtigen Antworten direkt als Feedback zeigen möchte. Der folgende PHP-Code prüft zunächst die Antworten auf unterschiedliche Fragen " | ||
+ | |||
+ | <code php> | ||
+ | // Hier die Fragen und die korrekten Antworten eintragen | ||
+ | $antworten = [ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ]; | ||
+ | |||
+ | // Hier folgt der PHP-Code für die Anzeige | ||
+ | foreach ($antworten as $frage => $correct) { | ||
+ | html(' | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | '); | ||
+ | $antwort = value($frage); | ||
+ | if ($antwort == $correct) { | ||
+ | html('< | ||
+ | } else { | ||
+ | html('< | ||
+ | html('< | ||
+ | } | ||
+ | html('</ | ||
+ | } | ||
+ | |||
+ | // Hier das Layout | ||
+ | pageCSS(' | ||
+ | div.question { margin-bottom: | ||
+ | div.question div.text { font-weight: | ||
+ | div.question div.correct { margin-bottom: | ||
+ | div.question div.wrong { margin-bottom: | ||
+ | div.question div.better { margin-bottom: | ||
+ | '); | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Viele Fragen ===== | ||
+ | |||
+ | Wenn eine größere Anzahl Fragen auf einzelnen Seiten präsentiert werden soll, dann kommt die Funktion '' | ||
+ | |||
+ | Im Fragebogen werden zwei Seiten benötigt. Die erste Seite bekommt im folgenden Beispiel die [[: | ||
+ | |||
+ | Auf der Seite " | ||
+ | |||
+ | <code php> | ||
+ | $fragen = [ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ]; | ||
+ | registerVariable($fragen); | ||
+ | |||
+ | $i = loopToPage(' | ||
+ | |||
+ | // Frage anzeigen | ||
+ | $frageIDs = array_keys($fragen); | ||
+ | $frageID = $frageIDs[$i]; | ||
+ | question($frage); | ||
+ | </ | ||
+ | |||
+ | Auf der zweiten Seite " | ||
+ | |||
+ | <code php> | ||
+ | $i = loopIndex(); | ||
+ | $frageIDs = array_keys($fragen); | ||
+ | $frageID = $frageIDs[$i]; | ||
+ | |||
+ | $correct = $fragen[$frageID]; | ||
+ | $answer | ||
+ | if ($answer == $correct) { | ||
+ | text(' | ||
+ | } else { | ||
+ | text(' | ||
+ | } | ||
+ | </ |