string|false readGET(string Kennung, [boolean Warnung])
Die Funktion readGET()
erlaubt das Einlesen einer Variable, die via POST oder GET an den Fragebogen übermittelt wurde.
true
– (standard) Warnung anzeigen (die Warnung ist nur für den Projektleiter sichtbar, nicht für den Teilnehmer)false
– Warnung ausblenden, der Projektleiter weiß, was er tut
Der Rückgabewert der Funktion ist jener String, der mittels POST oder GET im Aufruf des Fragebogens übermittelt wurde. Falls die Variable nicht übermittelt wurde, wird false
zurückgegeben.
option('resume', true)
auf eine Unterbrechung vorbereitet wurde oder wenn der Projektleiter durch einen geeigneten Link dafür sorgt, dass die Variable übermittelt wird.readGET()
, ob nicht bereits ein Wert gespeichert wurde. In den Beispielen unten werden dafür isset()
oder getRoute()
verwendet. Falls Sie z.B. auf der ersten Seite im Fragebogen eine Pflichtfrage einsetzen, wird die erste Seite (bei fehlenden Antworten) erneut angezeigt, aber readGET()
kann keinen Wert mehr einlesen. Dieses „kein Wert“ würde den bereits korrekt hinterlegten Wert überschreiben.
Wurde z.B. die Variable panelID
mit dem Wert „12345“ übermittelt (z.B. https://www.soscisurvey.de/demo/?panelID=12345), so kann man den Wert „12345“ mit readGET('panelID')
ermitteln.
Die Verwendung von isset()
stellt sicher, dass der eingelesene Wert nicht überschrieben wird, wenn die Seite später erneut aufgerufen wird (z.B. nach Verwendung des Zurück-Knopfes oder bei Wiederholung wg. fehlender Angaben).
if (!isset($id)) { $id = readGET('panelID'); // Variable zur späteren Verwendung registrieren registerVariable($id); }
Im folgenden Code-Beispiel werden auf der ersten Seite des Fragebogens zwei Variablen tic
und pid
eingelesen und als interne Variablen gespeichert. Die internen Variablen IV01_01
und IV01_02
müssen vorab im Fragenkatalog angelegt werden.
Zusätzlich wird die Kennung aus pid
als Platzhalter %pid%
vorbereitet, so dass sie später in einem Redirect-Link verwendet werden kann (z.B. https://www.panelanbieter.com/redirect.php?user=%pid%)
Hier wird mittels getRoute()
sichergestellt, dass das Einlesen und vor allem das put()
nur zu Beginn des Interviews durchgeführt wird.
if (getRoute() == 'start') { $tic = readGET('tic'); put('IV01_01', $tic); $pid = readGET('pid'); put('IV01_02', $pid); // pid zusätzlich als Platzhalter für einen Redirect vorbereiten replace('%pid%', $pid); }