0 votes
in SoSci Survey (dt.) by s093207 (280 points)

Hey!

Ich teste gerade die Funktionalität der Unterbrecherseite. Den Link zum Post-Fragebogen habe ich auf 5 Minuten eingestellt. Leider lande ich aber immer wieder auf der Unterbrecherseite

    if (!isset($timepart1)) {
  $timepart1 = time();
  registerVariable($timepart1);

debug(value('B101'));

if($personID == value('B101')){
$zeitpunkt = strtotime('+5 minutes');

// Serienmail 3 an B101 nach 22 Tagen versenden

mailResume($personID, 3, $zeitpunkt);
} else {

$zeitpunkt = strtotime('+5 minutes');  

// Serienmail 4 an B103 nach 22 Tagen versenden

mailResume($personID, 4, $zeitpunkt);
}}


if ((time() - $timepart1) < strtotime ('+5 minutes')) {
  
  option('resume', true); 
  option('nextbutton', false); 
  text('ende1'); 
} else {

  goToPage('next');
}

Ich kann keinen Fehler finden, habe alles nach Anleitung gemacht. Können Sie mir weiterhelfen?
Dankeschön vorab

1 Answer

0 votes
by SoSci Survey (327k points)

Diese Zeile hier ist ein wenig krude:

if ((time() - $timepart1) < strtotime ('+5 minutes')) {

Sie prüfen hier, ob die vergangene Zeit (also z.B. 6 Minuten = 360 Sekunden) kleiner ist als der Zeitstempel, den Sie in 5 Minuten hätten, also z.B. 1690210117. Das wird immer der Fall sein.

Ich denke, Sie meinten:

if ((time() - $timepart1) < 5 * 60) {

Oder vielleicht auch:

if (time() < strtotime ('+5 minutes', $timepart1)) {
by s093207 (280 points)
Ich möchte dass der zweite Fragebogen nach 5 Minuten versendet wird (für den Testdurchlauf). Wenn er im Feld ist, soll er nach 21 Tagen zu öffnen sein.

1) Also welchen Code nehme ich jetzt aus Ihren Vorschlägen? Den ersten oder den zweiten?

2) Wenn ich das Ganze dann auf die 21 Tage ändere, heißt er dann wie?
by SoSci Survey (327k points)
> Den ersten oder den zweiten?

Suchen Sie sich einen aus, und testen Sie, ob er korrekt funktioniert. Meines Erachtens sollten beide funktionieren, aber es geht nichts über eine empirische Validierung ;)

> Wenn ich das Ganze dann auf die 21 Tage ändere, heißt er dann wie?

Ich bin zuversichtlich, dass Sie sowohl die Anzahl der Sekunden "5 * 60," als auch das "+5 minutes" entsprechend anpassen können. Ein Tag hat 24 * 3600 Sekunden.
by s093207 (280 points)
Hahaha alles klar, Danke :D

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

...