0 votes
in SoSci Survey (dt.) by s109993 (13.4k points)

ist es möglich, gleichzeitig mit dem Zugriff "Teilnahmecode (anonym)" zu arbeiten und eine Datenbank für Inhalte zu haben, bei der ein Wert aus Index [0] in einer Internen Variable abgespeichert wird? Oder sind die beiden Einstellungen nicht zusammen

1 Answer

0 votes
by SoSci Survey (378k points)
selected by s109993
 
Best answer

Die beiden Funktionen sind voneinander unabhängig.

Die Frage ist, wofür Sie die Datenbank für Inhalte nutzen möchten? Wenn Sie dort personenspezifische Daten ablegen möchten, dann wird das nicht funktionieren, denn welche Person gerade teilnimmt, das merkt sich SoSci Survey bei der Zugriffsvariante "Teilnahmecode (anonym)" nicht.

In solchen Fällen könnte ein Workaround darin bestehen, dass Sie den Teilnahmecode zunächst speichern (also die nicht-anonyme Variante wählen), dann die Daten zuspielen, und den Teilnahmecode dann mittels dropValue('SERIAL') aus dem Datensatz löschen.

by s109993 (13.4k points)
folgendes Vorgehen war geplant:

1. Login mit Serial, die nicht abgespeichert wird
2. Abspeichern des Bundeslands in interner Variable. Das Bundesland ist zusammen mit der Serial in der Datenbank für Inhalt abgespeichert

Das hat allerdings nicht funktioniert. Als ich dann die Einstellung auf "Teilnahme Code abspeichern" geändert hatte, wurde das Bundesland wie gewohnt abgespeichert. Der Workaround mit dem löschen der Serial funktioniert auch- nur wäre eben der bessere Weg über "Teilnahmecode (anonym)" - falls ich das hinbekomme. Ich benutze den folgenden Code zum abspeichern des Bundeslands. Das hat eigentlich immer wunderbar funktioniert. Muss ich ggf. da etwas ändern, wenn ich "Teilnahmecode (anonym)" verwende?

$key = caseSerial();
$preload = dbGet($key);
if ($preload !== false) {               // 0 = nein -- 1 = ja  
    put('X002_01', $preload[0]);    // BL
}
by SoSci Survey (378k points)
> Muss ich ggf. da etwas ändern, wenn ich "Teilnahmecode (anonym)" verwende?

Wenn Sie "Teilnahmecode (anonym)" verwenden, wird caseSerial() keinen Code liefern, womit Ihr PHP-Code arbeiten könnte. Denn caseSerial() liest einfach die Variable SERIAL aus dem Datensatz aus.

Daher mein Hinweis auf den Workaround mit "Teilnahmecode" (ohne "anonym"), Speichern des Bundeslandes, und anschließend löschen der SERIAL.
by s109993 (13.4k points)
ok, macht Sinn :) Dann mach ich es wie geplant über das Löschen der Serial.

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

...