Ich erstelle zurzeit einen Wissenstest und möchte, dass die Teilnehmenden am Ende jeder Fragebogenseite sehen, wieviele Punkte sie auf jede Frage bekommen haben. Ich habe mich hierfür an der Website orientiert und diesen Code gemacht:
$fragen = [question ('GM02'=>4); // Global Schüler*inbezug
question ('GM05'=>2); // Herausforderungen
question ('GM03'=>2); // Fehler
question ('GM04'=>2); // Niedrige Leistungen
];
// Initialisierung einer Zähler-Variable
$points = 0;
// Prüfung aller Fragen in einer Schleife
foreach ($fragen as $variable=>correct) {
$answer = value($variable);
if ($answer == $correct) {
$points++;}
}
// Das Ergebnis anzeigen ...
html('
Sie haben '.$points.' Punkte erzielt.
');
Diesen habe ich dann in das flexible Element 'PHP-Code' und bekomme dann immer die Fehlermeldung:
Im PHP-Code trat ein Fehler auf.
Fehler im Fragebogen: Befehl oder String (Text) nicht abgeschlossen
Hinter einem Befehl wie z.B. question() steht kein Strichpunkt oder
ein String (Text in Anführungszeichen) ist nicht abgeschlossen oder
im String selbst kommt ein Anführungszeichen vor, z.B. html('Mach's besser!'); – in diesem Fall stellen Sie dem Anführungszeichen einen Backslash () voran.
Möglicherweise stimmen die öffnenenden und schließenden geschweiften Klammern für Anweisungsblöcke auch nicht überein.
PHP-Code
001 namespace s2survey\questionnaire\environment;
002
003 $fragen = [question ('GM02'=>4);
004 question ('GM05'=>2);
005 question ('GM03'=>2);
006 question ('GM04'=>2);
Ich sitze jetzt schon sehr lange daran und weiß mir einfach nicht mehr zu helfen. Das sind auch noch die einfachen Fragen, es kommen dann noch MC-Fragen.
Ich bedanke mich schonmal für die Hilfe!