[[readGET()]]
Übersetzungen dieser Seite:
 

readGET()

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.

  • Kennung
    Name der übermittelten Variable
  • Warnung
    Soll eine Warnung angezeigt werden, wenn der Befehl auf einer anderen als der ersten Seite verwendet wird?
    • 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.

Anmerkungen

  • Das Einlesen funktioniert nur auf der ersten Seite des Fragebogens oder auf einer Seite, die mittels option('resume', true) auf eine Unterbrechung vorbereitet wurde oder wenn der Projektleiter durch einen geeigneten Link dafür sorgt, dass die Variable übermittelt wird.
  • Einige Variablen haben eine besondere Bedeutung und sollten nicht für die Übermittlung benutzerdefinierter Daten verwendet werden sollten, s. Der Link zum Fragebogen.
  • Prüfen Sie vor der Verwendung von 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.

Beispiel 1

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);
}

Beispiel 2

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);
}
de/create/functions/readget.txt · Zuletzt geändert: 17.01.2019 17:03 von joerg.sovinz
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki