0 votes
in SoSci Survey (dt.) by s093207 (280 points)
closed by SoSci Survey

Bezugnehmend zu meiner ursprünglichen Frage hat das Zurücksetzen des Zufallsgenerators glaube ich zum teilweisen funktionieren beigetragen.

Ich versuche aber nun zusätzlich auf meiner Unterbrecherseite der Gruppe 1 zwei "Zwischenmails" zukommen zu lassen (Serienmail 6 und 7), also zwischen Prä- und Postmessung, die mittels mailSchedule zum Fragebogen leitet. Mail 6 und 7 sind nur Erinnerungen dass bald der Posttest kommt.

Ich versuche es ständig folgendermaßen, aber es klappt leider nicht und die Mails kommen nicht an:

   if (!isset($timepart1)) {
      $timepart1 = time();
      registerVariable($timepart1);
    
    debug(value('B101'));
    
    if($personID == value('B101')){
    $zeitpunkt = strtotime('+15 minutes');
    
    // Serienmail Post-Test Experimentalgruppe Mail 3 an B101 nach 15 Minuten versenden
    
    mailResume($personID, 3, $zeitpunkt);

// Serienmail 6 nach 5 Minuten versenden
        mailSchedule(false, 6, strtotime('+5 minutes'));

  // Serienmail 7 nach 10 Minuten versenden
        mailSchedule(false, 7, strtotime('+10 minutes'));
    } else {
    
    $zeitpunkt = strtotime('+10 minutes');  
    
    // Serienmail Post-Test Kontrollgruppe Mail 4 an B103 nach 15 Minuten versenden
    
    mailResume($personID, 4, $zeitpunkt);
    }}
    
    
    // Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist
    
    if (time() < strtotime ('+15 minutes', $timepart1)) {
      
    // Unterbrecherseite anzeigen falls es weniger als 15 Minuten sind
    
      option('resume', true); 
      option('nextbutton', false); 
      text('ende3'); 
    } else {
    
      goToPage('next');
    }
related to an answer for: Randomisierung schlägt fehl
closed with the note: Das Problem wurde mit den Kommentaren wahrscheinlich gelöst?!
by SoSci Survey (327k points)
Was zeigt die Debug-Information denn an?
by s093207 (280 points)
[Information]    Interview Nummer 781 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt Teilnahme_Experiment wird verwendet
[Information]    Die Verweildauer auf Seite 11 war 38 Sekunden
[Verarbeitung]    Lese Antworten von Seite 10+11
[Information]    Antwort auf B101 = ECZ11X52VU
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 12 in Fragebogen base
[Information]    value("B102") = 1
[Information]    value("B101") = "ECZ11X52VU"
[Information]    Versand der Serienmail 5 (Einladung) geplant für bedeutendidealerstrauss@dsgvo.party (umgehend versenden).
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 13
[Verarbeitung]    Erstelle Seite 13 in Fragebogen base
[Information]    value("B101") = "ECZ11X52VU"
debug()    Inhalt: value('B101') = ECZ11X52VU (string)
[Information]    value("B101") = "ECZ11X52VU"
[Information]    Versand der Serienmail 3 (Interview fortsetzen) geplant für bedeutendidealerstrauss@dsgvo.party (08.01.2024, 11:07).
[Inhalt]    Zeige Text ende3


Ich wurde Experimentalgruppe B101 zugeordnet, super. Serienmail 3 (fortsetzen des Fragebogens) wird vorbereitet, aber Zwischen-E-Mails 6 und 7 hat er nicht auf dem Schirm.
Bekomme nach Eingabe der Mailadresse auch noch folgende Debug-Info:

Hinweis (Seite 13)
Debug-Information für value('B101'):
value('B101') = ECZ11X52VU (string)
by SoSci Survey (327k points)
Hier werden lt. Debug-Information zwei Seiten verarbeitet, 12 und 13. Ich vermute, oben sehe ich (nur) den PHP-Code der Unterbrecherseite von Seite 13?

Ein wesentlicher Unterschied zwischen dem mailResume()-Aufruf für Mail 3 und den beiden mailSchedule()-Aufrufen für die Mails 6 und 7 ist, dass Sie nur beim ersten den Adressaten über die $personID spezifizieren. Bei mailSchedule() tun Sie das nicht.

Wird der Fragebogen über einen personalisierten Link gestartet, oder fragen Sie die Mailadresse erst in einer Opt-In-Frage (ich tippe auf B101) ab? Im zweiteren Fall müssten Sie das $personID auch bei mailSchedule() ergänzen. Und wir müssen eine Debug-Meldung ergänzen, wenn aufgrund der fehlenden Personenzuordnung keine Mail verschickt werden kann.
by s093207 (280 points)
- Ich vermute, oben sehe ich (nur) den PHP-Code der Unterbrecherseite von Seite 13?
Genau. Sie sehen nur die Unterbrechseite 13.

- Wird der Fragebogen über einen personalisierten Link gestartet, oder fragen Sie die Mailadresse erst in einer Opt-In-Frage (ich tippe auf B101) ab?
Die Mailadresse wird durch eine Opt-In-Frage auf Seite Seite 10 abgefragt.

Danach folgt Seite 11 mit folgendem Code:

if (value('B102') == 1) {
  question('B101');
} else {
  question('B103');
}

Und Seite 12:

if (value('B102') == 1) {
  $personID = value('B101');
  mailSchedule($personID, 5);
    
} else {
  $personID = value('B103');
  mailSchedule($personID, 2);
    
}
//debug($personID);
registerVariable($personID);

=>Auf Seite 12 wird die $personID ja eigentlich mit mailSchedule() verbunden
by SoSci Survey (327k points)
> =>Auf Seite 12 wird die $personID ja eigentlich mit mailSchedule() verbunden

Die Serienmail 5 (oder 2) wird ja deshalb auch verschickt.

Das hat aber keinen Einfluss auf die mailSchedule()-Aufrufe auf Seite 13.
by s093207 (280 points)
Okay. Auf Seite 13 gibt es nur mailResume(), kein mailSchedule()...

Dann bitte teilen Sie mir doch bitte mit, an welcher Stelle und wie ich das jetzt einbinde, dass es funktioniert. Dankeschön
by SoSci Survey (327k points)
Oben in dem Code, den Sie gepostet haben, steht:

// Serienmail 6 nach 5 Minuten versenden
mailSchedule(false, 6, strtotime('+5 minutes'));

Ich ging davon aus, dass das Ihre Seite 13 ist. In dem Fall müsste es heißen:

mailSchedule($personID, 6, strtotime('+5 minutes'));

Wenn sich der Code inzwischen geändert hat, erklären Sie bitte nochmal, welche Serienmails nicht ankommen, und posten Sie den PHP-Code, welcher diese eigentlich versenden sollte.

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

...