0 votes
in SoSci Survey (dt.) by s299638 (130 points)

Liebes Support Team

Für eine Befragung arbeiten wir mit einem Panelanbieter zusammen und ich habe folgende Redirect Links in den Fragebogen integriert:

Screenout: https://survey.maximiles.com/screenout?p=127759_ce70f388&m=%reference%
Quality Check: https://survey.maximiles.com/quality?p=127759&m=%reference%
Complete: https://survey.maximiles.com/complete?p=127759_aff6f77c&m=%reference%

Der Link zum Fragebogen lautet:
https://psy-sowi-web.uzh.ch/soscisurvey/ernaehrung24/

Ich habe eine Interne Variable angelegt und auf der ersten Seite des Fragebogens folgenden Code platziert, um die Panel-ID (in diesem Fall 'm') auszulesen:

// Referenznummer auslesen
$id = readGET('m');
put('IV01_01', $id);

Beispiel Screenout - Auf der Seite nach der Frage mit dem Screenout (z.B Einwilligung zur Teilnahme an der Studie) habe ich folgenden Code platziert:

// Screenout Einwilligung
$SO01 = value('TX17');
if ((value('TX17') == 02)) {
setNextPage('repeat');
redirect('https://survey.maximiles.com/screenout?p=127759_ce70f388&m=%reference%', true);
}

Wenn ich nun aber eine Test-ID am Ende des Links einfüge, z.B. so:
https://psy-sowi-web.uzh.ch/soscisurvey/ernaehrung24/?p=127759_aff6f77c&m=Test123
dann wird die Test-ID "Test123" nicht beim Screenout-Redirekt übermittelt und ich verstehe nicht wieso.

Es wird beim Screenout dann folgender Link angezeigt:
https://survey.maximiles.com/screenout?p=127759_ce70f388&m=

Ich möchte aber, dass der Link so aussieht:
https://survey.maximiles.com/screenout?p=127759_ce70f388&m=Test123

Woran könnte das liegen? Hat das etwas mit den Einstellungen am Fragebogen zu tun? Oder ist etwas am Code falsch? Auch nachdem ich im Online-Handbuch nachgelesen habe sehe ich nicht, wo der Fehler liegt. In vorherigen Umfragen habe ich den gleichen Code verwendet und da hat das Auslesen der IDs immer funktioniert, nur jetzt macht es Probleme.

Vielen Dank für eure Hilfe!
LG

1 Answer

0 votes
by SoSci Survey (348k points)

Ich empfehle dringend, dass Sie mit dem Fragetyp "Gerät und übermittelte Variablen" arbeiten und nicht mit readGET(). Bei Verwendung von readGET() und put() wird der eingelesene Wert z.B. überschrieben, wenn die Seite aufgrund einer fehlenden Antwort erneut angezeigt wird.

Wichtig ist, dass sowohl readGET() als auch die o.g. Frage auf der ersten Seite stehen müssen, denn nur beim ursprünglichen Aufruf kann SoSci Survey den GET-Parameter aus der Adresszeile auslesen.

Am besten testen Sie im Debug-Modus, ob der Wert überhaupt eingelesen wird. Sie können das &m=12345 einfach an den Debug-Link in der Adresszeile anhängen. Ein wenig zusätzliche Debugging-Code ist auch hilfreich:

$id = readGET('m');
debug($id);

Die Frage zum Einlesen von Variablen zeigt automatisch eine Info in der Debug-Information (rechts oben), ebenso das put().

by s299638 (130 points)
Vielen Dank für die schnelle Antwort. Ich habe den Fragetyp "Gerät und übermittelte Variablen" auf der ersten Seite eingefügt und das Auslesen der ID scheint nun zu funktionieren. Kann ich denn beides, also den Fragetyp "Gerät und übermittelte Variablen" und readGET(), verwenden? Oder besser nur den Fragetyp "Gerät und übermittelte Variablen"?

Im Debug-Modus wird mir Folgendes angezeigt:

Debug-Information für $id:
$id = false (boolean)
by SoSci Survey (348k points)
> Kann ich denn beides, also den Fragetyp "Gerät und übermittelte Variablen" und readGET(), verwenden?

Können Sie, aber ich sehe darin keinen Vorteil.

> Im Debug-Modus wird mir Folgendes angezeigt

Das bedeutet, dass readGET('m') in Ihrem Test keinen Wert (Rückgabewert: false) findet. Ohne genaueren Kontext kann ich die Ursache dafür allerdings nicht einschätzen.

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

...