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

Hey!

Leider erhalte ich immer wieder folgenden Fehler:

Warnung (Seite 11)
Die Variable B101 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt. Daher kann die Funktion value() keinen Antwort-Wert ermitteln.

Fehler im Fragebogen (Seite 11)
Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailSchedule() den passenden Adressaten nicht ermitteln.

DEBUG Information:
[Information] Interview Nummer 291 wird fortgesetzt
[Information] Der Fragebogen base im Projekt Teilnahme_Experiment wird verwendet
[Information] Die Verweildauer auf Seite 10 war 6 Sekunden
[Verarbeitung] Lese Antworten von Seite 9+10
[Information] Ungültige Antwort für B103
[Information] Fragen bisher zu 0% vollständig beantwortet
[Verarbeitung] Erstelle Seite 11 in Fragebogen base
[Information] value("B102") = 1
[Information] value("B101") = ???

Gestern ging es noch. Ich wollte den technischen Funktionstest machen und plötzlich kann er B101 nicht mehr zuordnen...

Orientierung:

Seite 09:

Randomisiert

Seite 10:

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

Seite 11:

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

Seite 12: Unterbrecherseite + Serienmail Post-Testversand

    if (!isset($timepart1)) {
  // Zeit speichern
  $timepart1 = time();
  registerVariable($timepart1);

debug(value('B101'));

if($personID == value('B101')){
$zeitpunkt = strtotime('+22 days');

// Serienmail 3 an B101 nach 22 Tagen versenden

mailResume($personID, 3, $zeitpunkt);
} else {

$zeitpunkt = strtotime('+22 days');  

// Serienmail 4 an B103 nach 22 Tagen versenden

mailResume($personID, 4, $zeitpunkt);
}}

// Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist
if ((time() - $timepart1) < strtotime ('+22 days')) {
  // Unterbrecherseite anzeigen falls es weniger als 22 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('ende1');  // Evtl. eine Verabschiedung zum ersten Fragebogen-Teil anzeigen
} else {
  // Ist der Teilnehmer nach 7 Tagen zurückgekehrt und somit die aktuelle Zeit minus die neue Zeit-Variable
  // größer als 7 Tage ist, dann wird die Befragung auf der nächsten Seite fortgesetzt
  goToPage('next');
}

Habe das Gefühl, es ist ein Bug im Tool... DANKE im Voraus!

1 Answer

0 votes
by SoSci Survey (327k points)

Im Filter steht

if (question('B102') == 1) {

es müsste aber heißen

if (value('B102') == 1) {

Sonst kommt immer die erste Zeile, egal was der Zufallsgenerator gemacht hat, und welche Opt-In-Frage abgefragt wurde.

by s093207 (280 points)
edited by s093207
Geht leider dennoch nicht....

Stelle ich Seite 11 vor Seite 10 kommt der Fehler:

Fehler im Fragebogen (Seite 10)
Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailSchedule() den passenden Adressaten nicht ermitteln.

DEBUG Info:


[Verarbeitung]    Lese Antworten von Seite 11
[Information]    Ungültige Antwort für B101
[Information]    Fragen bisher zu 0% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 10 in Fragebogen base
[Information]    value("B102") = 1
[Information]    value("B101") = ""




Tausche ich die Seiten nicht, aber schreibe statt if(question) => if(value) kommt der Fehler:

Fehler im Fragebogen (Seite 11)
Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailSchedule() den passenden Adressaten nicht ermitteln.

DEBUG Info:

erarbeitung]    Lese Antworten von Seite 9+10
[Information]    Ungültige Antwort für B103
[Information]    Fragen bisher zu 0% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 11 in Fragebogen base
[Information]    value("B102") = 2
[Information]    value("B103") = ""
by SoSci Survey (327k points)
Also, das Problem ist, dass wir von der Opt-In-Frage (B101 bzw. B103) keine Personenkennung bekommen. Ich lese aber auch "Ungültige Antwort für B101" bzw. "Ungültige Antwort für B103". Das spricht dafür, dass entweder keine formal korrekte E-Mail-Adresse eingegeben wurde, oder dass beim Opt-In etwas anderes schief läuft.
by s093207 (280 points)
edited by s093207
Ich arbeite mit von Trash-Mail generierten Adressen. Also ich habe den Fragebogen einmal von Anfang gestartet und da kam der Fehler, obwohl die Opt-In E-mail ankam und jetzt habe ich es noch ein paar mal durchgespielt von der Mitte aus und es kommt kein Fehler.
Ich checks nicht. E-Mails kommen an und jede Gruppenzuteilung erhält automatisch ihre SERIAL.

Ich bedanke mich mal vorab, mache ein paar Testdurchläufe und schreibe wieder insofern es nicht gehen sollte. Daumen drücken :)
by SoSci Survey (327k points)
> Also ich habe den Fragebogen einmal von Anfang gestartet und da kam der Fehler

Sicher, dass derselbe Fragebogen mit derselben Opt-In-Frage zum Einsatz kam bei beiden Tests?

Ist im Datensatz bei dem Test "mit Fehler" die korrekte Personenkennung in "B103" vermerkt?

Die Seiten 9 und 10 werden gleichzeitig verarbeitet, entweder durch ein goToPage() oder weil auf Seite 9 keine Inhalte angezeigt werden. Womöglich hakt es auch dort irgendwo?

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

...