0 votes
ago in SoSci Survey (dt.) by s199762 (170 points)

Guten Abend,

ich soll der Kontrollgruppe, sofern diese Lust hat, nach dem Zeitraum meine Intervention zukommen lassen. Ich habe jetzt einfach auf S.1 die E-Mail-Adressen dann erhoben (Opt-In) und dann auf die neue Seite die Intervention gepackt (Seite 2). Darunter folgender PHP-Code:

$tomorrow = strtotime('tomorrow 17:00:00');
if (value('RA01') == 1) {
$person = value('KO01');
mailSchedule($person, 1, $tomorrow);
mailSchedule($person, 2, strtotime('+1 day', $tomorrow));
mailSchedule($person, 3, strtotime('+2 days', $tomorrow));
mailSchedule($person, 4, strtotime('+3 days', $tomorrow));
mailSchedule($person, 5, strtotime('+4 days', $tomorrow));
mailSchedule($person, 6, strtotime('+5 days', $tomorrow));
mailSchedule($person, 7, strtotime('+6 days', $tomorrow));
mailSchedule($person, 8, strtotime('+7 days', $tomorrow));
mailSchedule($person, 9, strtotime('+8 days', $tomorrow));
mailSchedule($person, 10, strtotime('+9 days', $tomorrow));
mailSchedule($person, 11, strtotime('+10 days', $tomorrow));
mailSchedule($person, 12, strtotime('+11 days', $tomorrow));
mailSchedule($person, 13, strtotime('+12 days', $tomorrow));
mailSchedule($person, 14, strtotime('+13 days', $tomorrow));
mailSchedule($person, 15, strtotime('+14 days', $tomorrow));
mailSchedule($person, 16, strtotime('+15 days', $tomorrow));
mailSchedule($person, 17, strtotime('+16 days', $tomorrow));
mailSchedule($person, 18, strtotime('+17 days', $tomorrow));
mailSchedule($person, 19, strtotime('+18 days', $tomorrow));
mailSchedule($person, 20, strtotime('+19 days', $tomorrow));
mailSchedule($person, 21, strtotime('+20 days', $tomorrow));
mailSchedule($person, 22, strtotime('+21 days', $tomorrow));
mailSchedule($person, 23, strtotime('+22 days', $tomorrow));
mailSchedule($person, 24, strtotime('+23 days', $tomorrow));
mailSchedule($person, 25, strtotime('+24 days', $tomorrow));
mailSchedule($person, 26, strtotime('+25 days', $tomorrow));
mailSchedule($person, 27, strtotime('+26 days', $tomorrow));
mailSchedule($person, 28, strtotime('+27 days', $tomorrow));
mailSchedule($person, 57, strtotime('+27 days + 15 hours', $tomorrow));
}

Wie muss ich diesen abändern, damit alle, die die Mail angeben, dann automatisch auch 21 Tage lang den Interventionsfragebogen zugesendet bekommen?
Gibt es eine leichtere Variante?
In diesem Fall brauche ich die Daten ja nicht mehr, sondern will einfach, dass die VP 21 Tage lang die eine Seite bekommen mit der Intervention (quasi eine normale Fragebogenseite, in der Stichworte angegeben werden). Danke!

1 Answer

0 votes
ago by SoSci Survey (364k points)

Wie muss ich diesen abändern, damit alle, die die Mail angeben, dann automatisch auch 21 Tage lang den Interventionsfragebogen zugesendet bekommen?

Wenn das zusätzliche E-Mails (abseits der 27 schon geplanten) sein soll, müssten sie noch 21 Serienmails erstellen und nochmal 21-mal mailSchedule() aufrufen.

Gibt es eine leichtere Variante?

Für das Erstellen der Serienmails nicht (natürlich kann man diese einfach duplizieren).

Für Ihre Code ja. Und zwar würden sie in einem Array die Serienmail-ID und den Zeitpunkt definieren und dann eine FOR-Schleife verwenden, um das zu terminieren.

$mails = [
  // MailID => Tage
  1 => '',
  2 => '+1 day',
  3 => '+2 days',
  4 => '+3 days',
  5 => '+4 days',
  ...
  57 => '+27 days + 15 hours'
];

$tomorrow = strtotime('tomorrow 17:00:00');
foreach ($mails as $id => $time) {
    mailSchedule($person, $id, strtotime($time, $tomorrow));
}

In diesem Fall brauche ich die Daten ja nicht mehr, sondern will einfach, dass die VP 21 Tage lang die eine Seite bekommen mit der Intervention (quasi eine normale Fragebogenseite, in der Stichworte angegeben werden). Danke!

Ob Sie Daten sammeln oder nicht, macht technisch keinen Unterschied, wenn Sie eine Fragebogen-Seite anzeigen.

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

...