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

Hallo liebes SoSci Survey Team,
meine Tagebuchstudie läuft wie folgt: die Teilnehmer kommen über einen Link zu einem Fragebogen in dem ihre Mail abgefragt wird und diese dann in einer Variablen gespeichert wird:

put('A105_03', value('A101'));

Dann wird noch eine Mail zum allgemeinen Fragebogen (den alle Gruppen bekommen) raus geschickt (ID 1):

if (value('A102') == 1) {
\die Zuordnung der Versuchsgruppen
mailSchedule(value('A101'), 1);

Bis hier funktioniert alles. Dann im allgemeinen kommt dann der folgende Befehl:

if (value('A105_02') == 1) {
$id = value('A105_03');
for ($i=1; $i<=3; $i++) {

$mail = $i + 1;
mailSchedule($id, $mail, strtotime('+'.$i.' day'));

}
//+1 durch ID ersätzen
} elseif (value('A105_02') == 2) {
$id = value('A105_03');
for ($i=11; $i<=13; $i++) {

$mail = $i + 1;
mailSchedule($id, $mail, strtotime('+'.$i.' day'));

}
} elseif (value('A105_02') == 3) {
$id = value('A105_03');
for ($i=21; $i<=23; $i++) {

$mail = $i + 1;
mailSchedule($id, $mail, strtotime('+'.$i.' day'));

}
}

und ab hier werden keine Mails gesendet.....
hat jemand eine Idee?

VD Luten

PS:Wie sind gerade in der Pretest Phase, daher die merkwürdigen Zahlen bei den ID´s

1 Answer

0 votes
by SoSci Survey (305k points)

Das erste put() können Sie m.E. streichen, Sie haben ja bereits die Variable A101.

In Ihrer IF-FOR-Kombination könnten Sie dementsprechend schreiben:

$id = value('A101');

ab hier werden keine Mails gesendet.....

Was zeigt denn die Debug-Information für diese Seite? Welchen Wert hat speziell A105_02? Wenn es kein Wert zwischen 1 und 3 ist, dann führt der IF-Filter nichts aus.

by s109880 (200 points)
Jetzt brauche ich aber immer noch die Mail Adressen für den Code. Wie rufe ich die jetzt ab?:

>if (value('A102') == 1) {
  $id = value('A105_03');
  for ($i=1; $i<=3; $i++) {
    $mail = $i + 1;
    mailSchedule($id, $mail, strtotime('+'.$i.' day'));
  }
} elseif (value('A102') == 2) {
$id = value('A105_03');
  for ($i=11; $i<=13; $i++) {
    $mail = $i + 1;
    mailSchedule($id, $mail, strtotime('+'.$i.' day'));
  }
} elseif (value('A102') == 3) {
$id = value('A105_03');
  for ($i=21; $i<=23; $i++) {
    $mail = $i + 1;
    mailSchedule($id, $mail, strtotime('+'.$i.' day'));
  }
}
by SoSci Survey (305k points)
Stellen Sie in den drei Opt-In-Fragen A101, A104 und A103 bitte dire unterschiedliche Teilgruppen ein. Im zweiten Fragebogen bekommen Sie die Teilgruppe dann über panelData(), welches ein Array liefert.

Ach ja ... wie waren schnell: Wenn Sie auf www.soscisurvey.de die Opt-In-Frage im Debug-Modus ausfüllen, dann sind sie auch nach dem Aufruf des Opt-In-Links im Debug-Modus. Sie können also einmal debug(panelData()) im zweiten Fragebogen ausprobieren.

> Jetzt brauche ich aber immer noch die Mail Adressen für den Code.

Nein, benötigen Sie nicht. Ersetzen Sie $id einfach durch false. SoSci Survey weiß ja hier schon, mit wem es zu tun hat.
by s109880 (200 points)
Aber wenn ich jetzt die Gruppenzuweisung erst im zweiten Fragebogen vornehme, dann brauche ich ja am Angang nur einen opt-in. korrekt? Das macht das ganze ja doch ein bisschen einfacher und ich hab trotzdem alle Daten.
by SoSci Survey (305k points)
Ja. Zumindest wenn Sie die Teilgruppe in Fragebogen 1 nicht benötigen und auch nicht für den manuellen Versand einzelner Einladungen (z.B. unterschiedliche Debriefings für unterschiedliche Experimentalgruppen, manuell versendet nach Studienende).
by s109880 (200 points)
perfekt, dann guck ich mal ob das alles so funktioniert! Vielen dank für ihre Hilfe :)

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

...