Vielen Dank, das hat funktioniert. Jedoch kann ich in den erzeugten Daten nicht die Reihenfolge der Items sehen. Wie könnte ich mir dies zusätzlich ausgeben lassen?
Ich erhalte auch den Warnhinweis: Die von shuffle erzeugten Zufallswerte werden nicht automatisch gespeichert. Mit put bin ich aber leider bislang nicht weitergekommen. Über einen Hinweis, wie ich die Reihenfolge speichern kann, wäre ich sehr dankbar
Herzlichen Dank!
[Kurzer Hinweis was ich bereits probiert habe: Ich versuche für jeden Teilnehmenden eine interne Variable zu erzeugen und die Reihenfolge der Items in einem Textstring zu hinterlegen. Wenn ich diesen auf der entsprechenden Seite definiert habe, erhalte ich die Fehlermeldung, dass ich die Variable mehrfach referenziere. Also wäre meine Idee die Items zu Beginn des Fragebogens zu mischen, die Sortierung zu speichern und dann aus der internen Variable auszulesen
Seite 1: if (!isset($fragen)) {
// Liste aller Fragen generieren
$fragen = array_merge(
getQuestions('MM'),
getQuestions('MS'),
getQuestions('RM'),
getQuestions('SM'),
getQuestions('SS')
);
// Zufällige Reihenfolge der Fragen erzeugen
shuffle($fragen);
// Speichere die Reihenfolge der Fragen als kommagetrennte Zeichenkette
$reihenfolge = implode(",", $fragen);
// Speichere die Reihenfolge in der internen Variable "I002_01"
registerVariable('I002_01', $reihenfolge);
}
Seite 5:$reihenfolge = registerVariable('I002_01');
// Überprüfen, ob die Variable erfolgreich abgerufen wurde
if ($reihenfolge) {
// In ein Array umwandeln
$fragenArray = explode(",", $reihenfolge);
// Fragen in der gespeicherten Reihenfolge abarbeiten
foreach ($fragenArray as $frageID) {
show($frageID); // Frage anhand der ID anzeigen
}
} else {
// Fehlerbehandlung, falls die Variable nicht abgerufen werden kann
return 'Es gab ein Problem beim Abrufen der Fragen. Bitte versuchen Sie es später erneut.';
}
Das funktoniert jedoch leider auch nicht und das ist die Fehlermedlung: Der PHP-Code konnte nicht korrekt ausgeführt werden, eine genauere Fehlermeldung liegt aber leider nicht vor.