0 votes
in SoSci Survey (dt.) by s179155 (120 points)

Ich kombiniere einen between subject mit einen within subject design. Dazu muss ich zwei Versuchsgruppen (/between subjects) später einen Zusatztext vorlegen. Wenn ich eine PHP Filterfrage bilde, bekomme ich die Fehlermeldung, dass meine interne Variable, die ich bzgl der between subject Randomisierung gebildet habe nicht. bekannt sei, obwohl sie in der Variablenliste steht.

Die interne Variable. heisst IV01 und sieht wie. folgt aus

G104_01 TextGI
G104_02 TextGE
G104_03 TextKI
G104_04 TextKE
Text/Zeichenkette

1 Answer

0 votes
by SoSci Survey (305k points)

Die interne Variable. heisst IV01 und sieht wie. folgt aus

G104_01 TextGI
G104_02 TextGE

Demnach heißt Ihre Frage "IV01" und die internen Variablen, die Sie mittels value() ansprechen können heißen "G104_01", "G104_02" u.s.w.

by s179155 (120 points)
Es klappt  leider noch nicht.  Hier die Fehlermeldung:

Questionnaire Error: Command or string (text) unfinished

A command, e.g. question() is missing a semicolon or
a string (text in quotation marks) is unclosed or
the string itself contains an apostrophe, e.g. html('Let's do it!'); – if the latter is the case, please type in a backslash (\) first.
Perhaps the opening and closing braces for the statement blocks are mismatched.
PHP code

001 namespace s2survey\questionnaire\environment;
002
003 if((value('G104_2') == 2) or (value('G104-04') == 4) {
004  goToPage('totheend'));
005 }
by SoSci Survey (305k points)
Meines Erachtens sind die Klammern in Ihrem PHP-Code falsch gesetzt. Am Ende der IF-Bedingung fehlt ein, nach dem goToPage()-Befehl ist eine zu viel.
by s179155 (120 points)
Meine  Anweisung:
if((value('G104_02') == 2) or (value('G104_04') == 4)) {
 goToPage('totheend');
}
bringt folgende Fehlermeldung:

Warning (page 10)
The variable G104_02 has not been asked on a previous page during this interview. Therefore value() cannot determine any answer, yet.
Warning (page 10)
The variable G104_04 has not been asked on a previous page during this interview. Therefore value() cannot determine any answer, yet.
by SoSci Survey (305k points)
Schwer zu beurteilen, weil ich den restlichen PHP-Code nicht kenne - insbesondere den, wo Sie etwas in die interne Variable speichern, und wo dieser sich befindet.
by s179155 (120 points)
Die interne Variable bezieht sich auf vier Texte und ist in der relevanten Rubrik ( hier G (wie Generalisierung) gespeichert. Da sind auch die anderen Variablen des FB gespeichert.
Es findet sich folgender Eintrag

[G104] Interne Variablen
IV01
G104_01 TextGI
G104_02 TextGE
G104_03 TextKI
G104_04 TextKE
Text/Zeichenkette

Die die entsprechenden Texte wurden schon erfolgreich  an früherer Stelle des Fragebogens zur Randomisierung genutzt.
if (value('R001') ==1) {
    text('TextGI');
}
elseif(value('R001')  ==2) {
    text('TextGE');
}
elseif(value('R001') ==3) {
    text('TextKI');
}
elseif(value('R001')  ==4) {
    text('TextKE');
}



Ich will  nun dort, wo ein bestimmter Text erschienen ist (Text 2 oder Text 4) nun Seiten überspringen und zur Seite "totheend" gehen.
by SoSci Survey (305k points)
In dem o.g. PHP-Code arbeiten Sie mit der Variable R001 - von G104 bzw. G104_01 kann ich dort nichts sehen?! Um eine interne Variable zu setzen, würden Sie normalerweise put(), putList() oder - nur bei der Arbeit mit Urnen - urnDraw() verwenden. Nur mit diesen Befehlen wird etwas in interne Variable gespeichert.

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

...