0 votes
in SoSci Survey (dt.) by s109880 (200 points)

Hallo zusammen,
Ich möchte für eine Untersuchung eine Tagebuchstudie durchführen und bin dank diesem Forum auch schon weitergekommen, verzweifel aber an einer Aufgabe:
Die Probanden werden über einen Link rekrutiert und dann müssen sie sich über ein opt.In anmelden. Zuvor werden sie noch einer Gruppe zugewiesen (KG; EG gut; EG schlecht) und bekommen dementsprechend einen anderen Opt.In, damit sie unterschieden werden können. Anschließend sollen sie eine Einladung zu einer allgemeinen Umfrage bekommen, was ich soweit hinbekommen habe.
Danach sollen sie aber jeden Tag eine Einladung (für 14 Tage), passend zu ihrere Gruppe, bekommen, in der sie dann ihr "Tagebuch" führen. Daran scheitre ich momentan...

Vielen Dank für die Hilfe im voraus.

1 Answer

0 votes
by SoSci Survey (323k points)

Danach sollen sie aber jeden Tag eine Einladung (für 14 Tage), passend zu ihrere Gruppe, bekommen, in der sie dann ihr "Tagebuch" führen. Daran scheitre ich momentan...

Die Funktion mailSchedule() haben Sie bereits gefunden? Im Prinzip müssen Sie nach dem Opt-In nur 14-mal diese Befehl aufrufen und jeweils den Versand für eine andere Serienmail planen. Details gerne, wenn Sie die Problematik spezifizieren.

by SoSci Survey (323k points)
Also ... wenn Sie das mailSchedule() direkt nach der Opti-In-Frage platzieren (also auf der Seite danach, hoffe ich), dann müssen Sie auch die Personenkennung mit reinnehmen. Sonst klappt es nicht.

if (value('A102') == 1) {
  $id = value('A101');
  for ($i=1; $i<=14; i++) {
    $mail = $i + 1;
    mailSchedule($id, $mail, strtotime('+'.$i.' day'));
  }
} elseif (value('A102') == 2) {
// u.s.w.
by s109880 (200 points)
Vielen vielen dank!

Letzte Frage: "+1" muss ich dann durch die erste ID der Serienmail ersetzen?
by SoSci Survey (323k points)
Die Variable $i zählt von 1 bis 14. Wenn Sie +1 rechnen, bekommen Sie die Nummern 2 bis 15 als Serienmail-IDs. Wenn die erste Serienmail der zweiten Gruppe die Nummer 1 hat, würden Sie in Gruppe 2 also +15 rechnen.
by s109880 (200 points)
Aber dann macht die Definition von $i davor ja keinen Sinn. Wenn ich das richtig verstehe definiert "for ($i=1; $i<=14; i++)" $i ja nur bis 14. Also wäre ID 14 ja gar nicht möglich? Ich kann "ihn" doch einfach hochzählen lassen, von 2-15 und dann für Gruppe 2 16-30 usw.... Wofür brauche ich jetzt die "+1". Die verkompliziert das ganz doch nur.
by SoSci Survey (323k points)
> Wofür brauche ich jetzt die "+1". Die verkompliziert das ganz doch nur.

Sie brauchen ja nicht nur die ID der Serienmail, sondern auch die Tage. Das $i wird deshalb auch im strtotime() verwendet.

> ja nur bis 14. Also wäre ID 14 ja gar nicht möglich?

Ähm ... doch, wenn $i=13 ist, dann ist $i+1=14. Was nicht möglich ist, ist die ID 1. Wenn ich Ihren Code oben korrekt interpretiere, dann haben Sie diese anderweitig verwendet.

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

...