+1 vote
in SoSci Survey (dt.) by s283829 (115 points)
edited by SoSci Survey

Guten Tag,

es gibt ein Problem bei der der Versendung von Serienmails zu einem bestimmten ausgewählten Datum, abhängig von der randomisierten Gruppe. Einige Probanden bekommen heute bei der Auswahl des Tages (morgen den 27.6.) alles Serienmails die für morgen vorgesehen waren (Morgen 15:00 und 21:00) heute schon direkt nach Anmeldung und Registrierung zugesandt. Alle php Codes wurden überprüft und es wurde kein Fehler gefunden. Gestern und heute lief der Versand der Serienmails wie geplant.

Wir bitten um dringende Hilfe und Lösung des Problem, um die laufende Studie nicht zu gefährden.

Anbei der Link zum Fragebogen

-snip-

Viele Grüße

1 Answer

0 votes
by SoSci Survey (320k points)

Alle php Codes wurden überprüft und es wurde kein Fehler gefunden.

Nun, irgendwo muss dennoch ein Fehler sein, denn der PHP-Code ist es vermutlich, der die Zeitpunkte festlegt. Posten Sie gerne Ihren PHP-Code, dann können wir einen Blick darauf werfen.

by s283829 (115 points)
//Anmeldung
//Gruppe 1 Rot (kein Spaziergang)
if (value('RD01') == 1 && value('DT01') == 1){
   mailSchedule(false, 4, strtotime('2024-06-23 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-24 15:00:00'), ['expire' => strtotime('2024-06-24 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-24 21:00:00'), ['expire' => strtotime('2024-06-24 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 1 && value('DT01') == 2){
   mailSchedule(false, 4, strtotime('2024-06-24 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-25 15:00:00'), ['expire' => strtotime('2024-06-25 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-25 21:00:00'), ['expire' => strtotime('2024-06-25 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 1 && value('DT01') == 3){
   mailSchedule(false, 4, strtotime('2024-06-25 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-26 15:00:00'), ['expire' => strtotime('2024-06-26 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-26 21:00:00'), ['expire' => strtotime('2024-06-26 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 1 && value('DT01') == 4){
   mailSchedule(false, 4, strtotime('2024-06-26 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-27 15:00:00'), ['expire' => strtotime('2024-06-27 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-27 21:00:00'), ['expire' => strtotime('2024-06-27 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 1 && value('DT01') == 5){
   mailSchedule(false, 4, strtotime('2024-06-30 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-01 15:00:00'), ['expire' => strtotime('2024-07-01 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-01 21:00:00'), ['expire' => strtotime('2024-07-01 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 1 && value('DT01') == 6){
   mailSchedule(false, 4, strtotime('2024-07-01 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-02 15:00:00'), ['expire' => strtotime('2024-07-02 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-02 21:00:00'), ['expire' => strtotime('2024-07-02 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 1 && value('DT01') == 7){
   mailSchedule(false, 4, strtotime('2024-07-02 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-03 15:00:00'), ['expire' => strtotime('2024-07-03 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-03 21:00:00'), ['expire' => strtotime('2024-07-03 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 1 && value('DT01') == 8){
   mailSchedule(false, 4, strtotime('2024-07-03 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-04 15:00:00'), ['expire' => strtotime('2024-07-04 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-04 21:00:00'), ['expire' => strtotime('2024-07-04 21:00:00') + (5 * 3600)]);
}

//Gruppe 2 Grün (Spaziergang)
if (value('RD01') == 2 && value('DT01') == 1){
   mailSchedule(false, 3, strtotime('2024-06-23 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-24 15:00:00'), ['expire' => strtotime('2024-06-24 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-24 21:00:00'), ['expire' => strtotime('2024-06-24 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 2 && value('DT01') == 2){
   mailSchedule(false, 3, strtotime('2024-06-24 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-25 15:00:00'), ['expire' => strtotime('2024-06-25 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-25 21:00:00'), ['expire' => strtotime('2024-06-25 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 2 && value('DT01') == 3){
   mailSchedule(false, 3, strtotime('2024-06-25 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-26 15:00:00'), ['expire' => strtotime('2024-06-26 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-26 21:00:00'), ['expire' => strtotime('2024-06-26 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 2 && value('DT01') == 4){
   mailSchedule(false, 3, strtotime('2024-06-26 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-06-27 15:00:00'), ['expire' => strtotime('2024-06-27 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-06-27 21:00:00'), ['expire' => strtotime('2024-06-27 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 2 && value('DT01') == 5){
   mailSchedule(false, 3, strtotime('2024-06-30 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-01 15:00:00'), ['expire' => strtotime('2024-07-01 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-01 21:00:00'), ['expire' => strtotime('2024-07-01 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 2 && value('DT01') == 6){
   mailSchedule(false, 3, strtotime('2024-07-01 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-02 15:00:00'), ['expire' => strtotime('2024-07-02 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-02 21:00:00'), ['expire' => strtotime('2024-07-02 21:00:00') + (5 * 3600)]);
}
if (value('RD01') == 2 && value('DT01') == 7){
   mailSchedule(false, 3, strtotime('2024-07-02 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-03 15:00:00'), ['expire' => strtotime('2024-07-03 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-03 21:00:00'), ['expire' => strtotime('2024-07-03 21:00:00') + (5 * 3600)]);
}

if (value('RD01') == 2 && value('DT01') == 8){
   mailSchedule(false, 3, strtotime('2024-07-03 15:00:00')); //Erinnerungsmail
   mailSchedule(false, 5, strtotime('2024-07-04 15:00:00'), ['expire' => strtotime('2024-07-04 15:00:00') + (5 * 3600)]);
   mailSchedule(false, 6, strtotime('2024-07-04 21:00:00'), ['expire' => strtotime('2024-07-04 21:00:00') + (5 * 3600)]);
}
by SoSci Survey (320k points)
Sie sollten sich unbedingt mal Arrays und FOR-Schleifen ansehen ;)

Die Fälle, bei denen es nicht funktionierte, haben im Datensatz bei DT01 den Wert 4?

Besteht die Möglichkeit, dass der Versand noch an anderer Stelle ausgelöst wird? Gibt es noch anderen Seiten mit PHP-Code und dem Befehl mailSchedule()? Haben Sie noch weitere Fragebögen im Projekt, ist vielleicht noch ein Fragebogen an die Opt-In-Frage gekoppelt?

Wenn Sie bei einer der Serienmail auf "Versenden" klicken, werden dort korrekt Versand-Zeitpunkte angezeigt oder nicht? Trat das Problem beim Versand-Wunsch am nächsten Tag auch wieder auf?
by s256949 (165 points)
Vielen Dank für die Rückmeldung.

DT01 ist die Auswahl eines Datums - beim Testen hat es immer mal wieder nicht geklappt bei unterschiedlichen Werten von DT01. Mal hat es nicht funktioniert und mal schon.

Es gibt keinen weiteren PHP Code und die Opt-In Frage leitet auch nur zu diesem Fragebogen hin.

Ja, wenn ich die mit die Serienmails anschaue, werden dort für viele Personen die richtigen Versandzeitpunkte angezeigt.

Stand jetzt haben wir keine weiteren Rückmeldungen mehr bekommen, dass es nicht geklappt hat, aber es ist schwer einzuschätzen, bei der Anzahl Kombinationen, ob alles klappt.
by SoSci Survey (320k points)
> Mal hat es nicht funktioniert und mal schon.

Gut, dann greifen Sie sich die Fälle (Auswahloptionen) heraus, bei denen es nicht funktioniert. Für die posten Sie bitte mal die Debug-Information der Seite mit dem PHP-Code.

Verwenden Sie zum Testen Wegwerf-Mailadressen (die Suchmaschine Ihres Vertrauens verrät Ihnen, wo es solche gibt), dann haben Sie keine Probleme damit, dass jede Serienmail an jede Mailadresse nur einmalig verschickt wird - Sie wollen nur in den Debug-Informationen sehen, was SoSci Survey für den Versand einplant.

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

...