Wahrscheinlich gab es einfach zu viele Datensätze für die andere E-Mail-Adresse
SoSci Survey unterscheidet mit Ihrem Code ja nach Personenkennungen (SERIAL), nicht nach Mailadresse. Die Frage ist also, ob es für den anderen Adresseintrag (man kann je mehrere davon für dieselbe Mailadresse anlegen) noch andere Fragebögen ausgefüllt wurden.
Außerdem speichert Ihr Code in Slots, die vom Tag abhängen. Der Tag wird dabei ab dem 20.02.2023 gezählt. Das Ausfüllen von heute wurde also für Tag -32 (minus!) gespeichert:
Inhalt: 0:1, -32:1
Unschlüssig erscheint mir, dass auch für den Tag 0 ein Wert vorliegt. Das dürfte aber daran liegen, dass dbSet() nur positive Indexwerte erlaubt. Ich befürchte, bei der erneuten Verwendung dieses Codes steht dann folgendes in der Variable:
Inhalt: 0:1, 1:1
Testen Sie daher bitte mit einem Referenzzeitpunkt, welcher in der Vergangenheit liegt.
Ein Problem habe ich aber noch. Ich habe eine Frage zu Beginn des Fragebogens, die nur in der ersten Erhebungswelle angezeigt werden soll und dann nicht mehr kommen soll. In dieser erzeuge ich einen eigenen individuellen Code, damit ich die Daten mit anderen Erhebungsverfahren verknüpfen kann.
Kann man machen ... welches ist denn das andere Erhebungsverfahren? Vielleicht kann man die ohnehin vorhandene SERIAL ja für diesen Zweck nutzen.
Gibt es hier auch einen PHP-Code oder eine andere Möglichkeit, sodass diese Frage nur in der ersten Erhebungswelle angezeigt wird?
Im einfachsten Fall erstellen Sie eine Kopie des Fragebogens für die erste Welle. Sie können ja für jede Serienmail festlegen, welchen Fragebogen diese starten soll.
Natürlich können sie auch über die Datenbank für Inhalte gehen. Dann müssten Sie aber sicherstellen, dass die Einträge für die Tage sauber erstellt werden. Also keine negativen Zahlen.