0 votes
in SoSci Survey (dt.) by s208474 (225 points)
edited by SoSci Survey

Hallo,

in meinem Fragebogen verwende ich auf einer Seite einen Radomgenerator und erstelle eine interne Variable. Auf der darauf folgenden Seite möchte ich die Werte in die interne Variabe speichern UND verwende davon unabhängig die Werte auch gleichzeitig für eine If-Schleife-Filterfrage. Der Code sieht so aus:

$rd = value('RD01');
put('IV01_01',$rd);
if (($rd == 3) or ($rd == 6) or ($rd == 12)
or ($rd == 14) or ($rd == 1) or ($rd == 5)
or ($rd == 13) or ($rd == 15)) 
{
goToPage('NHS1');
}

Wenn ich im Debug-Mode teste, gibt er mir aber einen roten Warnhinweis aus:

Fehler im Fragebogen ('auf eben dieser Seite, wo der Code verwedent wird')
"Items in der nachfolgenden Fragen werden auf dieser Seite schon weiter oben angezeigt. Dies führt fast zwangsläufig zu Datenverlust! Falls Sie eine Frage mehrfach benötigen, legen Sie bitte eine Kopie der Frage an. Betroffen sind folgende Items: IV01_01."

Laut Debug-Info speichert er mir aber korrekt ab und die Filterfrage leitet auch korrekt weiter.
Dachte, es sei eine allgemeine Warnung, da er einfach generell vor dem Überschreiben von Variablen warnen will und dass ich die Warnung vl ignorieren kann, ABER...
an einer anderen Stelle im Fragebogen kommt ein weiterer Random-Generator zum Einsatz, wo ich auch mit put() arbeite, allerdings in der Grundform:
$platzhalter = value('Frage_xx');
put('Internevariable',$platzhalter);
Hier gibt es keine Fehlermeldungen. Das verunsichert mich ein wenig....
Kann ich die Fehlermeldung ignorieren, oder gibt es da was zu tun?

Eine zweite Anschlussfrage habe ich auch:
Mit put(value()) speichert mir das Programm die gezogene "Zettelnummer" des Randomgenerator in eine IV.
Gibt es einen Weg den "Inhalt der gezogenen Zettelnummer" eine IV zu speichern?
Das bräucht ich beim zweiten RD-Generator unbedingt.

Vielen lieben Dank!

1 Answer

0 votes
by SoSci Survey (327k points)

Items in der nachfolgenden Fragen werden auf dieser Seite schon weiter oben angezeigt.

Haben Sie die Frage IV01 in die Fragebogne-Seite gezogen? Wenn ja, dann entfernen Sie sie bitte von der Seite. Das Hineinziehen hat eine andere Funktion, welche sich mit dem put() ins Gehege kommen kann (Eigene Formularelemente verwenden)

Gibt es einen Weg den "Inhalt der gezogenen Zettelnummer" eine IV zu speichern?

Also nicht den Code, sondern dessen Label? Das klappt wie folgt:

$label = value('RD01', 'label');
put('IV01_02', $label);
by s208474 (225 points)
Ha! Viele Danke. Einfach IV rausnehmen und gut! :)
Das prepare_input() brauch ich anscheinend in dem Fall ja auch nicht. Falls doch bitte nochmal kurz schreiben, aber die Debug-Info gibt mir eine Speicherung an.

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

...