0 votes
in SoSci Survey (dt.) by s247941 (140 points)

Hallo,

Ich habe einen mehrwelligen Fragebogen über die Serienmail-Funktion. Ich möchte, dass Personen den Fragebogen anfangen können (also der öffentliche Link nicht mehr zum ersten Fragebogen führt), aber die Personen, die bereits angefangen haben, den Fragebogen noch zu Ende führen können.

Dafür habe ich den Zugriff auf den ersten Fragebogen, von "öffentlich" auf "intern/gesperrt" gesetzt. Allerdings hat das dazu geführt, dass jetzt beim letzten Fragebogen eine Fehlermeldung kam. Dieser greift über folgenden Code auf den zweiten Fragebogen zurück.

A2:
$mean = valueMean('EX01');
$mean_rounded = round($mean, 2);

$data = array ($mean_rounded);
$key = caseSerial();

dbSet($key, $data);

Letzter Fragebogen:
$key = caseSerial();
$data = dbGet($key);

$mean_numeric = floatval($data[0]);

Jetzt habe ich mich gefragt, ob man den letzten Tag der Befragung auf heute setzen kann und dass dann heute niemand mehr anfangen kann, aber trotzdem noch alle Serienmails bis zum Schluss versendet werden. Ist das so? Wenn nicht, welche Möglichkeit gibt es, ein mehrwelliges Befragungsprojekt zu beenden?

Vielen Dank im Voraus!

by SoSci Survey (327k points)
Wie lautet denn die Fehlermeldung? Der PHP Code in Ihrer Frage funktioniert unabhgängig davon, welchen Zugriffsmodus der erste Fragebogen hat.

> dass dann heute niemand mehr anfangen kann

Sehen Sie sich bitte mal diese Anleitung an:
https://www.soscisurvey.de/help/doku.php/de:survey:publish#anpassung_pro_fragebogen
by s247941 (140 points)
Davon waren ich auch ausgegangen, war dann aber irritiert, weil bisher bei über 100 Personen keine Fehlermeldung kam und kurz nach dem Schließen schon. Aber dann war das Zufall:)

Die Fehlermeldung lautet: "Im PHP-Code trat ein Fehler auf. Fehler im Fragebogen: Trying to access array offset on false. Zeile: 6".

1 Answer

0 votes
by SoSci Survey (327k points)

Fehler im Fragebogen: Trying to access array offset on false. Zeile: 6

Damit ist ziemlich sicher das $data[0] gemeint.

Wenn dbGet() in der Zeile darüber keine Daten findet, liefert es false. Das wiederum heißt, dass es zu der betroffenen SERIAL offenbar keinen Eintrag in der Datenbank gibt.

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

...