0 votes
in SoSci Survey (dt.) by s142491 (140 points)

Hallo zusammen,

ich benötige leider dringend Hilfe. Ich habe schon einige Sosci-Anleitungen gelesen, werde daraus aber leider nicht wirklich schlau. Ich habe einen Zufallsgenerator angelegt und hier 16 Zettel angelegt (ich mache ein Experiment mit 16 verschiedenen Ausprägungen). Es sollen im Fragebogen alle Ausprägungen angezeigt werden. Deshalb habe ich auch bei der Anzahl der Zettel pro Interview 16 angegeben. Als Zettelname habe ich jeweils die Kennung der angelegten Frage verwendet.
Hier habe ich schon mein erstes Problem, es wird bei der Anzeige nur die Fragekennung angezeigt. Beispiel: VN16 (die Fragen gehen von VN02 bis VN17). Wie kann ich programmieren, dass der Inhalt der jeweiligen VN-Frage angezeigt wird?


Ferner sollen im Anschluss mittels PHP-Code Seiten rotieren und einige wenige Seiten gleich bleiben. Hierfür habe ich folgenden PHP-Code erstellt:

question('VN01');
$pages = valueList('VN01', 'label');
array_splice($pages, 0, 0, 'ST');
array_splice($pages, 1, 0, 'Soziodemografika1');
array_splice($pages, 8, 0, 'ES02');
array_splice($pages, 13, 0, 'Soziodemografika2');
array_splice($pages, 18, 0, 'ES01');
setPageOrder($pages, 'end');

Anbei noch ein kurzer Screen des Fragebogens:

Ich weiß nicht, ob der Code so richtig ist und es nicht funktioniert, weil ich den Zufallsgenerator falsch angelegt habe oder ob ich bei beiden versagt habe.

Ich bedanke mich schon jetzt für die Hilfe !!

LG

by SoSci Survey (329k points)
>  Wie kann ich programmieren, dass der Inhalt der jeweiligen VN-Frage angezeigt wird?

Vermutlich haben Sie im Zufallsgenerator etwas für das Feld HTML-Code eingetragen. Entfernen Sie das, denn Sie wollen ja keine Bilder o.ä. anzeigen.

Anschließend posten Sie bitte die Debug-Information, die Ihnen für die Seite mit dem PHP-Code angezeigt wird: https://www.soscisurvey.de/help/doku.php/de:create:debugging

2 Answers

0 votes
by s142491 (140 points)

Ich habe den HTML-Code gelöscht.

Anbei noch die Screens von den Debug-Informationen auf Seite 1 des Fragebogens:

Anbei noch ein Screen der roten Fehlermeldung:

by SoSci Survey (329k points)
Leider ist der Screenshot zu klein, um die Deug-Information zu lesen. Könnten Sie das bitte nochmal per Copy&Paste hier einfügen? Danke.
by s142491 (140 points)
klar:
[Information]    Interview gestartet (neue Nummer 56)
[Information]    Der Fragebogen FRB im Projekt stellenausschreibungen2021 wird verwendet
[Verarbeitung]    Erstelle Seite 1 in Fragebogen FRB
[Inhalt]    Erstelle Frage VN01
[Information]    Vom Zufallsgenerator VN01 wurden folgende Codes gezogen: 14, 4, 8, 15, 9, 12, 1, 11, 13, 16, 2, 10, 3, 6, 7, 5
[Information]    Entsprechend setPageOrder() werden nun folgende Seiten gezeigt:
1 [ST], 6 [ES02], 11 [Soziodemografika2], 16 [ES01], Ω (end)
[Inhalt]    Zeige Text Einleitungstext
0 votes
by SoSci Survey (329k points)

Danke für die Übermittlung der Debug-Informationen.

Wie Sie sehen, ist die Liste der Seiten deutlich zu kurz ... von den ganzen gezogenen Seiten wird eigentlich nur eine verwendet. Auf den zweiten Blick sah' ich dann auch den Fehler:

$pages = valueList('VN01', 'label');

Bei valueList() wird der zweite Parameter immer (!) als Variablenliste interpretiert. label ist keine gültige Liste und liefert daher wohl keine Inhalte. Bitte ändern Sie das wie folgt:

$pages = valueList('VN01', NULL, 'label');

Weshalb sich valueList() nicht über den unpassenden Parameter beschwert, muss ich noch klären.

Weiterhin denke ich, dass hier noch ein Fehler (1) liegt:

array_splice($pages, 0, 0, 'ST');
array_splice($pages, 1, 0, 'Soziodemografika1');

Die erste Zeile füge zu Beginn des Arrays die Seite "ST" ein. Danach fügt die zweite Zeile nach dem ersten Element (welches ja nun "ST" ist) die Seite "Soziodemografika1" ein. Ich denke, dass Sie hier u.U. nicht bedacht haben, dass jedes array_splice() das Array bereits verändert. Vielleicht ist die folgende Schreibweise intuitiver:

$pages2 = array_merge(
  ['ST'],
  array_slice($page, 0, 1),
  ['Soziodemografika1'],
  array_slice($page, 1, 7),
  // u.s.w.
);

Dabei wird die Liste der zufällig rotierten Seiten quasi in Stückchen geschnitten und dann zwischen den festen Seiten eingefügt.

by SoSci Survey (329k points)
> Auf Seite 14 und 4 ist jeweils der Zufallsgenerator eingebunden worden, wie auch auf alle anderen Seiten, die rotieren sollen

Bitte entfernen Sie den Zufallsgenerator von allen Seiten außer von der Seite mit dem PHP-Code.

> Anbei der Pretest-Link

Einen gültigen Pretest-Link können Sie wie folgt erstellen:
https://www.soscisurvey.de/help/doku.php/de:survey:pretest

Bitte wählen Sie dort die Vorschau mit Debug-Optionen und zum Starten die Seite mit dem obigen PHP-Code.
by s142491 (140 points)
Den Link hatte ich eigentlich genau so erstellt. Ich habe mal nochmal einen erstellt: https://www.soscisurvey.de/stellenausschreibungen2021/?act=t1lKvQXziNaU6BE14Kv5dWa1

Ich habe den Zufallsgenerator nun wie den PHP-Code auf Seite 1 (Einleitungstext) eingebunden und sonst entfernt. Es zeigt unverändert nur alle festen Seiten.
by SoSci Survey (329k points)
Wie bereits vermutet ... die Seitenabfolge funktioniert, aber die Seiten haben keinen Inhalt. Nach dem weitern Klick auf "Weiter" bekomme ich folgende Debug-Information:

[Information]    Entsprechend der vorher festgelegten Seitenabfolge wird Seite 20 [VN16] angezeigt
[Verarbeitung]    Erstelle Seite 20 in Fragebogen FRB
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 21
[Verarbeitung]    Erstelle Seite 21 in Fragebogen FRB
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 10
[Verarbeitung]    Erstelle Seite 10 in Fragebogen FRB
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 19
[Verarbeitung]    Erstelle Seite 19 in Fragebogen FRB
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 7

Deshalb nochmal meine Frage von oben: Was genau haben Sie auf Seite 20 platziert?
by s142491 (140 points)
Auf Seite 20 habe ich den Zufallsgenerator platziert gehabt. Nun hatte ich Ihn entfernt, da ich Ihn ja nur auf der Seite des PHP-Codes platzieren sollte.
Eigentlich soll auf allen Seiten ausgenommen 1,2,7,12,17 und 21 die Ausprägungen des Zufallsgenerators angezeigt werden. Soll ich diesen nun doch wieder auf eine andere Seite ziehen?

Also nochmal zusammengefasst sieht meine Fragebogenzusammenstellung derzeit so aus:
1. Seite: PHP-Code, Zufallsgenerator, Einleitungstext
Seite 2 enthält die Soziodemografika2-Fragen. Dann folgen 4 leere Seiten (Zufallsgenerator entnommen, hier sollen aber die VN-Fragen aus dem Generator rein), dann wieder fixe Fragen auf einer Slide, 4 leere Seiten usw.
by SoSci Survey (329k points)
> Eigentlich soll auf allen Seiten ausgenommen 1,2,7,12,17 und 21 die Ausprägungen des Zufallsgenerators angezeigt werden.

Um was für "Ausprägungen" geht es denn? Fragen? Texte? Ziehen Sie bitte die Fragen und/oder Texte auf die entsprechenden Seiten.

Wenn Sie Seiten rotieren, dann bitte Seiten mit Inhalt. Wenn Sie hingegen "nur" Stimuli rotieren wollten (in Ihrem Fall aufgrund der fixen Seite nur bedingt sinnvoll), hätten Sie mit loopPage() statt setPageOrder() arbeiten müssen - der Code sieht dann deutlich anders aus.

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

...