0 votes
in SoSci Survey (dt.) by s183177 (230 points)

Hallo,

zum Hintergrund: ich habe eine zweiwellige Erhebung geplant. Die TN werden mit einem allgemeinen Link auf die erste Umfrage zugreifen und dann am Ende ihre Email-Adresse angeben. Dann bekommen Sie mit der Serienmail-Funktion einen personalisierten Link, damit die Datensätze zuzuordnen sind.

Das Problem: Die TN werden in der ersten Erhebung mit einem Zufallsgenerator einer von 4 Gruppen zugeteilt. Diese Gruppenzurodnung würde ich gerne im zweiten Teil wieder aufgreifen. Ich habe jetzt über die Datenbank für Inhalte versucht, die Zuordnung zusammen mit CaseSerial zu speichern, und dann in der zweiten Umfrage wieder abzurufen:

$key = caseSerial();
$data = value('EX01');
dbSet($key, $data);

Das klappt leider nicht, ich bekomme immer die Warnung "In der Funktion dbSet() wurde kein gültiger Datenbank-Schlüssel angegeben" und es wird auch nichts in der Datenbank für Inhalte gespeichert.
Auch der Abruf später ist mit vom Code her noch nicht ganz klar.

Danke im Voraus!

1 Answer

+1 vote
by SoSci Survey (328k points)
selected by s183177
 
Best answer

Es funktioniert nicht, weil die Funktion caseSerial() im ersten Teil noch keinen Wert liefert - da steht im Datensatz auch keine SERIAL. Weil der Fragebogen da eben noch nicht per Serienmail-Link gestartet wurde.

Sie Lösung ist denkbar einfach:

$key = value('OO01');

Wobei Sie für OO01 die Kennung Ihrer Opt-In-Frage einsetzen, und den Code im Fragebogen natürlich hinter der Opt-In-Frage platzieren.

by s183177 (230 points)
Super, vielen Dank! :)

Für den Abruf brauche ich auch nochmal kurz Hilfe, das klappt noch nicht. Ich will also dass wenn der TN in Gruppe 1 oder 2 war, dass er dann anhand seiner Seriennummer erkannt wird und einen bestimmten Text angezeigt bekommt.

$key = caseSerial();
$data = dbGet($key);

if (($data == 1) OR ($data == 2)) {
  text('EX14');
}


Vielen Dank nochmal im Voraus!
by s183177 (230 points)
Habe es hinbekommen, hiermit:

$key = caseSerial();
$data = dbGet($key);

if (($data[0] ==1) OR ($data[0] == 2)) {
  text('EX14');
}


Danke!

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

...