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

0 votes

Hallo,

ich plane gerade meine Studie für die Masterarbeit und möchte dabei Daten im Tagebuchdesign erheben.
Wie ich Fragebögen automatisiert aus SosciSurvey heraus versende, habe ich verstanden, allerdings habe ich ein Problem mit dem spezifischen Versandzeitpunkt:
Ich möchte, dass der erste Fragebogen, egal wann die Anmeldung erfolgt, immer am darauffolgenden Montag um 14 Uhr erfolgt. Gibt es einen Code für den Zeitstempel, der das ausdrücken kann?

Vielen Dank und Liebe Grüße

in SoSci Survey (dt.) by s183602 (115 points)

1 Answer

+1 vote

Bitte such Sie in der Anleitung und im Onilne-Support einmal nach mailSchedule() und strtotime().

Die Lösung könnte dann z.B. so aussehen:

mailSchedule(false, 2, strtotime('next Monday 14:00:00'));

Damit das Klappt, muss der erste Fragebogen aber bereits per Serienmail-Link geöffnet worden sein oder Sie müssen es mit einer Opt-In-Frage verzahnen.

Zum Testen, ob der Zeitstempel passt:

html('<p>Test: '.date('d.m.Y H:i', strtotime('next Monday 14:00:00')).'</p>');
by SoSci Survey (223k points)
Vielen Dank für die Antwort!

Wäre dieser Code dann richtig, wenn ich zwei Wochen lang täglich drei Fragebogen verschicken möchte (wobei Montags jeweils der erste wegfällt)?:

mailSchedule(false, 2, strtotime('next Monday 14:00:00'));
mailSchedule(false, 3, strtotime('next Monday 21:00:00'));
mailSchedule(false, 4, strtotime('next Monday 06:00:00 +1day'));
mailSchedule(false, 5, strtotime('next Monday 14:00:00 +1day'));
mailSchedule(false, 6, strtotime('next Monday 21:00:00 +1day'));
mailSchedule(false, 7, strtotime('next Monday 06:00:00 +2days'));
mailSchedule(false, 8, strtotime('next Monday 14:00:00 +2days'));
mailSchedule(false, 9, strtotime('next Monday 21:00:00 +2days'));
mailSchedule(false, 10, strtotime('next Monday 06:00:00 +3days'));
mailSchedule(false, 11, strtotime('next Monday 14:00:00 +3days'));
mailSchedule(false, 12, strtotime('next Monday 21:00:00 +3days'));
mailSchedule(false, 13, strtotime('next Monday 06:00:00 +4days'));
mailSchedule(false, 14, strtotime('next Monday 14:00:00 +4days'));
mailSchedule(false, 15, strtotime('next Monday 21:00:00 +4days'));
mailSchedule(false, 16, strtotime('next Monday 14:00:00 +7days'));
mailSchedule(false, 17, strtotime('next Monday 21:00:00 +7days'));
mailSchedule(false, 18, strtotime('next Monday 06:00:00 +8days'));
mailSchedule(false, 19, strtotime('next Monday 14:00:00 +8days'));
mailSchedule(false, 20, strtotime('next Monday 21:00:00 +8days'));
mailSchedule(false, 21, strtotime('next Monday 06:00:00 +9days'));
mailSchedule(false, 22, strtotime('next Monday 14:00:00 +9days'));
mailSchedule(false, 23, strtotime('next Monday 21:00:00 +9days'));
mailSchedule(false, 24, strtotime('next Monday 06:00:00 +10days'));
mailSchedule(false, 25, strtotime('next Monday 14:00:00 +10days'));
mailSchedule(false, 26, strtotime('next Monday 21:00:00 +10days'));
mailSchedule(false, 27, strtotime('next Monday 06:00:00 +11days'));
mailSchedule(false, 28, strtotime('next Monday 14:00:00 +11days'));
mailSchedule(false, 29, strtotime('next Monday 21:00:00 +11days'));
Auf den ersten Blick sieht das korrekt aus.

Haben Sie sich die so berechneten Daten denn mal exemplarisch angesehen, wie oben empfohlen?
Bisher noch nicht, ich war mir nicht sicher, wo genau ich den Code eintragen muss.
Es handelt sich einfach nur um ein paar Zeilen, welche den Zeitstempel anzeigen. hier nochmal etwas verständlicher:

// Der strtotime()-Ausdruck, den man prüfen will
$timestamp = strtotime('next Monday 21:00:00 +2days');
// Das Ganze im Mensch-lesbaren Format formatieren
$datum = date('d.m.Y H:i', $timestamp);
// Und anzeigen
html('<p>Datum und Uhrzeit: '.$datum.'</p>');

Sie können dafür eine beliebige Seite im Fragebogen verwenden und/oder einen eigenen Fragebogen dafür anlegen.
...