0 votes
in SoSci Survey (dt.) by s209390 (110 points)
edited by SoSci Survey

Hallo :)
Wir möchten in unserer Studie gerne mehrere voneinander unabhängige Timer erstellen, dass es die Teilnehmer*innen bei mehreren Aufgaben nach ca. 15s automatisch zur nächsten Seite leitet. Bei der ersten Seite klappt das auch.

PHP-Code:

if (!isset($time0)) {
  $time0 = time();
  registerVariable($time0);  // Die Variable $time0 auch nach Ende des PHP-Codes aufbewahren
}
// Prüfung, ob die Zeit schon abgelaufen ist
// (z.B. weil der Teilnehmer die Seite neu geladen hat)
$timer = 15;  // Der Teilnehmer hat 0.25 Minute (15 Sekunden) Zeit zur Bearbeitung
if (time() >= $time0 + $timer) {
  goToPage('next');
}
// Die verbleibende Zeit muss auch dem JavaScript-Code bekannt gemacht werden
$remain = $time0 + $timer - time();
replace('%remain%', $remain);

Jetzt müsste ich die Variable $time0 umbenennen, allerdings weiss ich nicht wie. Kann mir da jemand weiter helfen?

Vielen Dank für die Antwort
Freundliche Grüsse

1 Answer

0 votes
by SoSci Survey (305k points)

Jetzt müsste ich die Variable $time0 umbenennen, allerdings weiss ich nicht wie.

Ersetzen Sie auf der nächsten Seite einfach alle $time0 im Code gegen $time1.

Oder lassen Sie den ganzen PHP-Code weg, den Sie nur brauchen, wenn Sie den Timer über mehrere Seiten laufen lassen oder wenn Sie ein Umgehen des Timers durch Neu-Laden der Seite vermeiden möchten. Das reduziert den Code auf folgender Zeile:

show('XY01', ['%remain%' => 15]);

Wobei Sie das XY01 noch durch die ID des Textes mit dem passenden JavaScript ersetzen müssen.

by s209390 (110 points)
Okay, haben Sie vielen Dank. Leider klappt das nicht mit dem Einsetzen von $time1 für alle $time0. Das habe ich bereits gestern Nachmittag versucht. Ist mit XY01 die Kennung der Frage gemeint? Wie komme ich zum passenden JavaScript? Haben Sie vielen Dank für die Antwort.
by SoSci Survey (305k points)
> Ist mit XY01 die Kennung der Frage gemeint?

Damit ist die Kennung des Textbausteins gemeint, in welchem Sie den JavaScript-Code abgelegt haben.

> Okay, haben Sie vielen Dank. Leider klappt das nicht mit dem Einsetzen von $time1 für alle $time0.

Was passiert dann denn?

> Wie komme ich zum passenden JavaScript?

Wenn der Timer auf der ersten Seite funktioniert, müssen Sie irgendwo bereits JavaScript haben. Ohne JavaScript (welches natürlich in der Anleitung steht und von dort nur kopiert werden muss) funktionieren die Timer generell nicht.

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

...