0 votes
in SoSci Survey (dt.) by s187095 (330 points)

Ist es möglich, eine individuelle Fragebogen-ID über einen URL-Parameter zu akzeptieren, d. h. wenn Teilnehmende von einer anderen URL weitergeleitet werden und ihre eigene ID in der URL vermittelt wird?

Ich habe es mit diesem PHP-Code probiert:
put('ID01_01', value('id'));
html('id: ' . value('id'));

Eine interne Variable ID01_01 ist angelegt und die Test-URL ist z. B. https://www.soscisurvey.de/songbird_pretest_eltern/?id=123.

Nun bin ich leider überfragt, da die id anscheinend nicht ausgelesen wird.

Können Sie mir weiterhelfen?

1 Answer

0 votes
by SoSci Survey (348k points)

Bitte erstellen Sie eine Frage vom Typ "Gerät und übermittelte Variablen" und stellen Sie dort ein, dass Sie die GET-Variable "id" einlesen möchten. Ziehen Sie diese Frage auf die erste Seite Ihres Fragebogens.

by s187095 (330 points)
Perfekt, funktioniert! Herzlichen Dank!
by s187095 (330 points)
Hierzu noch eine Anschlussfrage: Wie schicke ich den Teilnehmer (Eltern) jetzt mit ihrer ID an die Kinder mit der gleichen ID weiter?
Also redirect('https://www.soscisurvey.de/songbird_pretest_kinder/?id=');
... und nun müsste für die id die vormals abgespeicherte GET-Variable (ID01_RV1) eingefügt werden.
by SoSci Survey (348k points)
Entweder so

replace('%id%', 'ID01_RV1', 'response');
redirect('https://www.soscisurvey.de/songbird_pretest_kinder/?id=%id%');

oder so:

redirect('https://www.soscisurvey.de/songbird_pretest_kinder/?id='.value('ID01_RV1'));

oder wenn beides im selben SoSci-Projekt liegt, dann über goToQuestionnaire() oder multiLevelDown().
by s187095 (330 points)
Toll, danke sehr für die schnelle Antwort!
by s187095 (330 points)
Doch nochmal eine Anschlussfrage...
Mit mehreren URL-Parametern funktioniert es bei mir noch nicht, also für z.B.
https://www.soscisurvey.de/songbird_pretest_eltern/?username=01&user_id=01&dev_vs_prod=01

Probiert habe ich so etwas:
redirect('https://www.soscisurvey.de/songbird_pretest_kinder/?username='.value('ID01_RV1')&user_id='.value('ID02_RV1')&dev_vs_prod='.value('ID03_RV1'));

Was stimmt hier nicht?
by SoSci Survey (348k points)
> Was stimmt hier nicht?

Die Anführungszeichen. Hier unten im Kommentar sieht man es nicht so gut, aber ab dem &-Zeichen sind Sie ja wieder im String, falsch ist daher:

..username='.value('ID01_RV1')&user_id='

Und richtig ist

..username='.value('ID01_RV1').'&user_id='

Sie bauen hier also immer die Ergebnisse der value()-Funktionen mittels Punkt-Operator (jede andere Programmsprache verwendet da ein +, aber PHP einen Punkt) mit den fixen String-Bestandteilen zusammen.
by s187095 (330 points)
Danke nochmals ganz herzlich für die schnelle 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

...