+1 vote
in SoSci Survey (dt.) by s279167 (135 points)

Hallo,

ich habe erst vor ein paar Tagen angefangen, mich mit SoSci auseinanderzusetzten und habe jetzt meinen Fragebogen erstellt. Jedoch möchte ich 4 Bilder randomisieren, d. h. 4 Gruppen erstellen, die jeweils zufällig ein anderes Bild bekommen. Ich habe mir alle Videos und Blogs und Einträge angeschaut, kenne mich aber überhaupt nicht mit Codes und dergleichen aus. Ich habe jetzt diesen Code verwendet:

if (value('RA01') == 1) {
text('SD20');
} elseif (value('RA01') == 2) {
text('SD21');
} elseif (value('RA01') == 3) {
text('SD22');
} elseif (value('RA01') == 4) {
text('SD23');
}

aber es funktioniert nicht.

Ich kann gut Englisch, jedoch ist mir das Video, in dem diese Schritt erklärt werden, wahrscheinlich auf deutsch schon zu schwer, wäre schön, wenn es ein Tutorial auf deutsch geben würde.

Ich hoffe Sie können mir weiterhelfen, ich bin gerade sehr verwirrt, was der Unterschied zwischen Urnen- Ziehung und Zufallsgenerator ist und was ein PHP oder HTML Code ist.

Danke schon mal im Voraus!

by SoSci Survey (327k points)
Sieht eigentlich schon gut aus. Was funktioniert denn genau nicht?

> ich bin gerade sehr verwirrt, was der Unterschied zwischen Urnen- Ziehung und Zufallsgenerator ist

Der Zufallsgenerator ist als Fragetyp verfügbar, es handelt sich um eine Weiterentwicklung der schwerer zu bedienenden Urnen-Funktion.

> und was ein PHP oder HTML Code ist.

PHP-Code läuft auf dem Server und kann zum Beispiel so etwas wie wenn-dann (IF-ELSE), Regelon ausführen. HTML-Code beschreibt hingegen Internet-Dokumente (aka Websites). PHP-Code kann HTML-Code erzeugen.

1 Answer

0 votes
by s279167 (135 points)

Es werden alle Bilder angezeigt und nicht nur ein einzelnes. Bzw. jetzt wird mir das angezeigt "Die Variable SD26 gibt es in diesem Projekt nicht (siehe Variablen-Übersicht). Daher kann kein Antwort-Wert dafür ermittelt werden."
Aber ich habe die Variable SD26 auf die Seite hinzugefügt.

Die Debug- Informationen sind diese:

[Information] Interview gestartet (neue Nummer 75)
[Information] Der Fragebogen Social_Media im Projekt test411962 wird verwendet
[Verarbeitung] Erstelle Seite 3 in Fragebogen Social_Media
[Inhalt] Erstelle Frage SD24
[Information] Vom Zufallsgenerator SD24 wurden folgende Codes gezogen: 5
[Information] value("SD26") = ""
[Information] value("SD26") = ""
[Inhalt] Erstelle Frage SD25
[Inhalt] Erstelle Frage SD26
[Inhalt] Erstelle Frage SD27
[Inhalt] Erstelle Frage SD28

by SoSci Survey (327k points)
> Es werden alle Bilder angezeigt und nicht nur ein einzelnes

Bitte stellen Sie sicher, dass Sie die Elemente SD25 bis SD28 nicht auf die Seite ziehen.

Außerdem hat Ihr Zufallsgenerator den Code 5 gezogen - aber Ihr PHP-Code sieht nur die Codes 1 bis 4 vor. Bitte prüfen Sie die Codes im Zufallsgenerator.
by s279167 (135 points)
Wo soll ich dann die Elemente SD25- SD28 hinmachen? Kommen die auf die extra Seite vom Zufallsgenerator oder zu den anderen Fragen im Fragebogen?
by SoSci Survey (327k points)
Die Elemente werden direkt durch die Funktion text() eingebunden. Es ist gleichwertig, ob Sie im PHP-Code den Befehl text('AB01') aufrufen oder den Text AB01 in die Seite ziehen. Platzieren Sie die Elemente daher bitte gar nicht im Fragebogen.
by s279167 (135 points)
Achso okay. Aber es klappt leider immer noch nicht mit dem PHP- Code. Ich möchte ja, dass wenn die Person vorher z. B. dem Geschlecht "Männlich" zugeordnet hat, dass dann eins der zwei Bilder eines Mannes gezeigt werden. Diese zwei Bilder sollen aber randomisiert angezeigt werden, aber immer auf das vorherige Geschlecht bezogen.
Jetzt habe ich diesen Code hergestellt, aber mir wird ein Fehler in der 3. Zeile gesagt:

Im PHP-Code trat ein Fehler auf.

Fehler im Fragebogen: Uncaught Error: Undefined constant "s2survey\questionnaire\environment\SD01" in /var/www/s2survey/html/s2survey/phpcode/PHPCodeExecutor.php(548) : eval()'d code:3 Stack trace: #0 /var/www/s2survey/html/s2survey/phpcode/PHPCodeExecutor.php(548): eval() #1 /var/www/s2survey/html/s2survey/questionnaire/php/PHPCodeExecutorQnr.php(71): s2survey\phpcode\PHPCodeExecutor->runCode() #2 /var/www/s2survey/html/inc/QuestionnairePHP.php(613): s2survey\questionnaire\php\PHPCodeExecutorQnr->runCode() #3 /var/www/s2survey/html/s2survey/questionnaire/QuestionnaireElement.php(494): QuestionnairePHP->runElement() #4 /var/www/s2survey/html/s2survey/questionnaire/QnrPage.php(1584): s2survey\questionnaire\QuestionnaireElement->run() #5 /var/www/s2survey/html/s2survey/questionnaire/QnrPage.php(1650): s2survey\questionnaire\QnrPage->runContent() #6 /var/www/s2survey/html/inc/InterviewCase.php(1561): s2survey\questionnaire\QnrPage->runCreate() #7 /var/www/s2survey/html/inc/Interviewer.php(665): InterviewCase->createQuestionnairePage() #8 /var/www/s2survey/html/inc/Interviewer.php(840): Interviewer->handleCreate() #9 /var/www/s2survey/html/inc/Interviewer.php(1969): Interviewer->handleInterview() #10 /var/www/s2survey/html/test411962/index.php(4): Interviewer::run() #11 {main} thrown
Zeile: 3

PHP-Code

001 namespace s2survey\questionnaire\environment;
002
003 if (SD01 == 1) {
004   replace('<img src="Frau_dick.jpg">', 'stimulus1.png');
005 } elseif (SD58 == 2) {
006   replace('<img src="Mann_duenn.jpg">', 'stimulus2.png');
by SoSci Survey (327k points)
Ihr Filter ist fehlerhaft programmiert.

if (SD01 == 1)

müsste heißten

if (value('SD01') == 1)

Ähnlich im zweiten Teil.

Mehr dazu s. https://www.soscisurvey.de/help/doku.php/de:create:php-filters

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

...