0 votes
in SoSci Survey (dt.) by s101963 (110 points)
edited by SoSci Survey

Hallo,
ich möchte gern einen Filter einsetzen, der es mir erlaubt, Befragungsteilnehmende zufällig in drei Gruppen einzuteilen, die dann jeweils andere Seiten des Fragebogens angezeigt bekommen. Dazu habe ich folgenden PHP-Code geschrieben:

$zahl = value('VH10');  
if ($zahl == 1) {
  setPageOrder('VH Lisa Start-VH Lisa Sicherheit', 'Kenntn SG');
} elseif ($zahl == 2) {
  setPageOrder('VH Bruder Start-VH Bruder Sicherheit', 'Kenntn SG');
} elseif ($zahl == 3) {
  setPageOrder('VH 20 Jaehriger-VH 20Jaehr Sicherheit', 'Kenntn SG');
}

"VH10" wurde unter Zufallsgenerator erstellt und hat 3 Ausprägungen.

Die Randomisierung funktioniert nicht wie gewünscht. Wo liegt der Fehler?

Vielen Dank für die Unterstützung!
Viele Grüße,
B.

1 Answer

0 votes
by SoSci Survey (328k points)

Die Randomisierung funktioniert nicht wie gewünscht. Wo liegt der Fehler?

Die Funktion setPageOrder() erwartet, dass die Seiten-Kennungen durch Kommata getrennt werden, also z.B.

setPageOrder('VH, Lisa, Start-VH, Lisa, Sicherheit', 'Kenntn SG');

Dann haben SIe aber immer noch die Seite "Lisa" doppelt - ich bin nicht sicher, ob das beabsichtigt ist?

Falls es daran nicht lag, ergänzen Sie Ihre Frage bitte unbedingt (!) um eventuelle Fehlermeldungen, die angezeigt werden. Eine Aussage wie "funktioniert nicht" ist denkbar wenig hilfreich bei der Fehlersuche :)

by s101963 (110 points)
Vielen Dank für die schnelle Antwort!
Die Seitenbezeichnungen sind korrekt ("VH Lisa Start", "VH Lisa Sicherheit", etc.).
Eine Fehlermeldung zum PHP-Code wird mir nicht angezeigt.
"Funktioniert nicht" heißt hier: Ich habe den Fragebogen mehrfach via Pretest-Link getestet. Ich hatte erwartet, dass in jedem Durchlauf mir eine der drei Optionen dargeboten wird (und die beiden anderen nicht) und dass die dargebotene Option in weiteren Durchläufen je variiert (also mal die 2te Option angezeigt wird, mal die 3te etc.). Stattdessen wird mir im ersten Durchlauf die erste Option dargeboten und in weiteren Durchläufen keine der Optionen.
Wie kann ich sicherstellen, dass meine Randomisierung wie gewünscht funktioniert (wenn es kein Fehler im PHP-Code ist)?
Danke nochmals!
B.
by SoSci Survey (328k points)
> Die Seitenbezeichnungen sind korrekt ("VH Lisa Start", "VH Lisa Sicherheit", etc.).

Auch dann fehlte im o.g. Code noch mindestens ein Komma.

> Ich hatte erwartet, dass in jedem Durchlauf mir eine der drei Optionen dargeboten wird

Was der Zufallsgenerator macht, können Sie am besten im Debug-Modus nachvollziehen: https://www.soscisurvey.de/help/doku.php/de:create:debugging - einschließlich der Seitenabfolge.
by s101963 (110 points)
Über den Debug Modus habe ich es gefunden: Es war kein Fehler im PHP-Code (auch das Komma war nicht das Thema). Ich habe im Debug Modus erst gesehen, dass beim wiederholten Testen so lange keine neue Zufallszahl gezogen wurde, wie ich mich noch im bestehenden Testdurchlauf befand (bspw. über "Zurück"-Button). Erst in einem neuen Test wurde eine neue Zahl gezogen und dann wurde mir auch eine neue Option angeboten. Zum Testen des Zufallsgenerators also immer besser den Debug Modus verwenden anstelle eines Pretest-Links. Danke für die Hilfe!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...