0 votes
in SoSci Survey (dt.) by s208474 (225 points)
edited by s208474

Hallo, hab nun den Code für meine Unterbrecherseite ausgebessert und in Form gezimmert, allerdings lässt mich die Zeitschranke nicht passieren. Zum Testen im Debug-Modus hab ich das Zeitfenster auf 1 bis 3 Minuten gestellt.
Der Code der Unterbrecherseite sieht wie folgt aus:

if (!isset($t0)); {
$t0 = time();
registerVariable('t0');}
if ((time() - $t0) < 60){                               <---- jetzt zum Testen
//if ((time() - $t0) < 1166400){                   <---- für die Erhebung
 option('progress', 100);
 text ('VerabschiedungT1');
 buttonHide();
} elseif ((time() - $t0) > 180){                      <---- jetzt zum Testen
//}elseif ((time() - $t0) > 1814400){             <---- für die Erhebung
 option('progress', 'no');
 text('Ausschluss2');
 buttonHide();
} else {
goToPage(Start2);
}

Fehler wird mir keiner ausgegeben, aber er leitet mich zu keiner Zeit weiter auf die Seite 'Start2'. Sehen Sie einen Fehler im Code?

1 Answer

0 votes
by SoSci Survey (302k points)
selected by s208474
 
Best answer

Sie haben da zu viele Strichpunkte:

if (!isset($t0)); {
$t0 = time();
registerVariable('t0');}

Ich schreibe das einmal in separate Zeilen:

if (!isset($t0));
{
  $t0 = time();
  registerVariable('t0');
}

Was passiert hier? Die erste Zeile mit dem IF und isset ist mit dem Strichpunkt zu Ende. Egal, ob $t0 schon existiert oder nicht, beim Strichpunkt endet die Verarbeitung.

Die geschweifte Klammer wird anschließend immer (!) ausgeführt. Heißt, $t0 wird bei jedem Aufruf neu gesetzt. Wenn Sie den Strichpunkt entfernen, funktioniert das IF so, wie Sie es gemeint hatten.

if (!isset($t0)) {
  $t0 = time();
  registerVariable($t0);
}

Mit dem String in registerVariable() kann man machen, muss man aber schon lange nicht mehr.

by s208474 (225 points)
o.O ich glaube das hät ich frühestens in drei Tagen gesehen, nach zwei Tagen Pause.
Jetzt klappt's wunderbar. Damit steht die Mechnanik für das Projekt endlich.
Vielen, vielen Dank!

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

...