0 votes
ago in SoSci Survey (dt.) by u000752 (150 points)

Betreff: PHP-Routing: Warnungsfreie Umleitung ab Tag 2 nicht möglich (pageSetNext/responseSend nicht bekannt)

Sehr geehrte Damen und Herren,

Ich arbeite an einer mehrtägigen Tagebuchstudie und versuche, Teilnehmer ab Tag 2 von der Startseite Seite 2 (PHPROUTINGSTART) direkt zu den täglichen Fragen auf Seite 4 umzuleiten. Die Seite 3 (Initialfragen) soll dabei übersprungen werden.

Mein Code auf Seite 2 setzt die Variable Tage und prüft, ob value('Tage') > 1 ist.

Das Problem:

Ich habe alle gängigen Methoden zur Beendigung der Seite und Erzwingung der Umleitung probiert, erhalte aber entweder eine Funktionswarnung oder die Warnung, dass die Funktion unbekannt ist.
Versuchte Methode Code-Snippet Ergebnis (Warnung)
1. Standard (mit exit) goToPage(...) + exit(); Warnung: exit() ist nicht zur Verwendung freigegeben.
2. Sauberes SoSci-Routing goToPage(...) + responseSend(); Warnung: responseSend() ist nicht bekannt.
3. Interne Steuerung pageSetNext(...) + html_stop(); Warnungen: pageSetNext() ist nicht bekannt. und html_stop() ist nicht bekannt.

Da ich alle gängigen Lösungen probiert habe und diese entweder gesperrt oder unbekannt sind, bitte ich um die offiziell empfohlene, warnungsfreie Methode für das Routing/die Umleitung in meiner aktuellen Projektumgebung.

Vielen Dank im Voraus für die Hilfe!

1 Answer

0 votes
ago by SoSci Survey (355k points)

Teilnehmer ab Tag 2 von der Startseite Seite 2 (PHPROUTINGSTART) direkt zu den täglichen Fragen auf Seite 4 umzuleiten.

Bitte verwenden Sie dafür die Funktion goToPage().

Wenn Sie für Seite 4 z.B. die Seitenkennung "daily" vergeben habem dann könnte es so aussehen:

if (...) {
  goToPage('daily');
}

Das ... muss natürlich durch die geeignete Bedingung ersetzt werden. Also z.B.

if (value('Tage') > 1) {
  goToPage('daily');
}

Die Seite 3 (Initialfragen) soll dabei übersprungen werden.

Diesen PHP-Code könnten Sie direkt zu Beginn von Seite 3 platzieren.

  1. Standard (mit exit) goToPage(...) + exit(); Warnung: exit() ist nicht zur Verwendung freigegeben.

Der Befehl exit darf im PHP-Code nicht verwendet werden. Er würde SoSci Survey daran hindern, die Seite zu erzeugen, sodass die Befragten nur noch eine weiße Seite sehen würden.

  1. Sauberes SoSci-Routing goToPage(...) + responseSend(); Warnung: responseSend() ist nicht bekannt.

Es gibt in SoSci Survey neben der Funktion goToPage() noch setNextPage(). Eine Funktion responseSend() gibt es nicht und gab es noch nie, diese hat die KI wohl nur halluziniert.

Interne Steuerung pageSetNext(...) + html_stop(); Warnungen: pageSetNext() ist nicht bekannt. und html_stop() ist nicht bekannt.

Was es in SoSci Survey gibt, wäre die Funktionen setNextPage() und pageStop(). Für Ihren Anwendungsfall benötigen Sie diese m.E. aber nicht.

Da ich alle gängigen Lösungen probiert habe

Bei PHP-Code muss man zwischen den Befehlen unterscheiden, welche die Programmiersprache PHP selbst mitbringt, und zusätzlichen Befehlen, welche ein Framework wie SoSci Survey bereitstellt.

Die Programmiersprache PHP kennt erstmal keine Seite und kein HTML. Entsprechend gibt es keine "gängigen" Befehle für so eine Steuerung. Diese Strukturen bringt erst SoSci Survey mit. Die "gängen" Befehle für SoSci Survey sind hier gelistet und erklärt: PHP-Funktionen

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

...