Super, vielen Dank!
Ich habe jetzt die Seite mit der Opt-In Frage kurz vor Abschluss des ersten Teil des Hauptfragebogens platziert, also kurz vor der Unterbrecherseite. Zwischen Opt-In und Unterbrecherseite habe ich die beiden folgenden Codes platziert:
mailSchedule(value('EM01'), 1, 1);
mailSchedule(value('EM01'), 2, strtotime('+4 weeks'));
Der obere für die Serienmail die im Hintergrund verschickt wird, aber nie wirklich verschickt wird und der untere für die Serienmail mit Link zum zweiten Hauptfragebogenteil. Stimm das denn so? :)
Dann gelange ich automatisch zur Verabschiedung nach der Opt-in Frage. Dabei kommt folgende Fehlermeldung:
Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailResume() den passenden Adressaten nicht ermitteln.
Dies ist mein verwendeter PHP Code:
// Die Zeit des ersten Aufrufs der Unterbrecherseite wird in Variable $timepart1 gespeichert
// isset() und registerVariable() verhindern, dass diese Zeit beim erneuten Aufruf der Seite (z.B. Neuladen der Seite) geändert wird und/oder dass E-Mails doppelt geplant werden
if (!isset($timepart1)) {
// Zeit speichern
$timepart1 = time();
registerVariable($timepart1);
// Einladung mit der Serienmail ID 2 zum zweiten Messzeitpunkt nach 28 Tagen senden
// Der Zeitabstand wird jeweils in Sekunden angegeben: 28 x 24 x 3600 Sekunden = 28 Tage
mailResume(false, 2, 28 * 24 * 3600);
// Erste Erinnerungsmail mit Serienmail ID 3 nach 32 Tagen senden
// (d.h. vier Tage nach der ersten Einladung zum zweiten Messzeitpunkt)
mailResume(false, 3, 32 * 24 * 3600); array(
'status' => 'no-response'
);
// Zweite Erinnerungsmail mit Serienmail ID 4 nach 40 Tagen senden
// (d.h. zwölf Tage nach der ersten Einladung)
mailResume(false, 4, 40 * 24 * 3600); array(
'status' => 'no-response'
);
}
// Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist
if ((time() - $timepart1) < 28 * 24 * 3600) {
// Unterbrecherseite anzeigen falls es weniger als 28 Tage sind,
// damit Teilnehmer nicht schon früher die Fragen des zweiten Messzeitpunkts sehen können.
option('resume', true); // Kein Hinweis, dass das Interview fortgesetzt wird
option('nextbutton', false); // Weiter-Knopf ausblenden (Interview unterbrechen)
text('T002'); // Evtl. eine Verabschiedung zum ersten Fragebogen-Teil anzeigen
} else {
// Ist der Teilnehmer nach 28 Tagen zurückgekehrt und somit die aktuelle Zeit minus die neue Zeit-Variable
// größer als 28 Tage ist, dann wird die Befragung auf der nächsten Seite fortgesetzt
goToPage('next');
}
Passt da was nicht?
Vielen lieben Dank für die Hilfe!