0 votes
in SoSci Survey (dt.) by s124274 (140 points)

Hallo,

ich komme leider trotz anderer Einträge nicht weiter: Es geht um eine mehrwellige Befragung (Opt-in, Pseudonym) und nach einer bestimmten Zeit soll der Link nicht mehr funktionieren, da dies die Daten verfälschen würde (Entwicklung über bestimmten Zeitraum wird abgefragt). Ich habe nun auf der ersten Seite des Fragebogens Folgendes eingegeben:

$info = panelData();
if ($info) {
  $sent = $info['mailsent'];
  if ($sent < strtotime('-2 minutes')) {
    text('Sehr geehrte Damen und Herren, leider müssen für den Fragebogen bestimmte Zeitpunkte eingehalten werden. Sie können darum leider nicht mehr die Teilnahme an der Studie fortsetzen. Wir bitten um Ihr Verständnis!'); //  
    buttonHide();
    pageStop();
  }
}

Dennoch funktioniert der Link nach 2 Minuten noch (ist nur zur Probe). Wie kann ich das hinkriegen? Wahrscheinlich ist es ganz einfach, aber ich bin leider nicht so fit im Programmieren. Danke!

by SoSci Survey (328k points)
Fangen wir doch einmal mit der Fehlersuche an.

Bitte erstellen Sie einen Adress-Eintrag in der Adressliste ("Adresse einzeln hinzufügen") für Ihre E-Mail-Adresse und setzen Sie das Häkchen für "Fragebogen im Debugging-Modus starten".

Im Fragebogen ergänzen Sie unter der ersten Zeile wie folgt:

$info = panelData();
debug($info);
debug(time());

Dann schicken Sie sich eine Einladung, warten kurz und klicken auf den Link in der Einladung. Die Debug-Information, die Ihnen dann angezeigt wird, posten Sie bitte hier.
by s124274 (140 points)
Da kommt leider nichts. Habe es jetzt mehrmals versucht, aber es läuft alles ganz normal und ohne Fehlermeldung/Info ab. Ich schau morgen nochmal, ob ich das Problem finde
by SoSci Survey (328k points)
Wenn Sie im (neuen) Adresseintrag das Häkchen gesetzt haben und dann mit dem Link in der Einladung den Fragebogen starten, sollten sie eigentlich die gelbe Debug-Leiste bekommen. Und debug() sollte eine gelbe Box mit zusätzlichen Infos liefern.
by s124274 (140 points)
So, ich glaube jetzt gehts:

$info = panelData();
if ($info) {
  $sent = $info['mailsent'];
  if ($sent < strtotime('-2 minutes')) {
    text('Sehr geehrte Damen und Herren, leider müssen für den Fragebogen bestimmte Zeitpunkte eingehalten werden. Sie können darum leider nicht mehr die Teilnahme an der Studie fortsetzen. Wir bitten um Ihr Verständnis! Vielen Dank! ');  // Info-Text, wo das Problem ist
    buttonHide();
    pageStop();
  }
}


Aber ist es normal, dass dann der Text als Fehlermeldung angezeigt wird (wenden sie sich an Projektleiter, Im Befragungsprojekt existiert kein Text  mit der Kennung....)? Oder muss ich den Text selbst nicht oben einsetzen sondern nur als Kennung? Das hatte ich zuerst, aber wie bekomme ich es dann hin, dass der Text nicht regulär angezeigt wird?

Vielen lieben Dank für die stets schnelle Hilfe!

1 Answer

0 votes
by SoSci Survey (328k points)

Sie haben die Ausgabe der Debug-Information nicht mehr gepostet - insofern gehe ich davon aus, dass es inzwischen Funktioniert mit der Kontrolle des Zeitraums.

Die Funktion text() erwartet nicht den Text, sondern die Kennung eines Textes, den Sie im Fragebogenkatalog mit "Neuer Text" anlegen. Daher aktuell noch die Fehlermeldung. Korrekt wäre dann z.B. text('AB01');

by s124274 (140 points)
Genau, es kam keine Debug Info, die ich hier reinschreiben hätte können. Kennung des Textes und Textbaustein habe ich eingefügt. Jetzt ist eigentlich nur die Frage auf welcher Seite der Textbaustein stehen muss, damit er nicht regulär angezeigt wird sobald der Link (innerhalb des Zeitraumes) geöffnet wird. Ausblenden kann ich ihn ja nur durch eine Filterfrage, die es hier ja nicht gibt. Könnten Sie mir dazu bitte nochmal weiterhelfen? Dankeschön!
by SoSci Survey (328k points)
>  Jetzt ist eigentlich nur die Frage auf welcher Seite der Textbaustein stehen muss

Gar nirgends ... text() zeigt den Baustein bei Bedarf an. text() und das Hineinziehen des Textes in die Fragebogen-Seite sind äquivent. Macht man beides, sieht man den Text doppelt.

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

...