0 votes
in SoSci Survey (dt.) by s163318 (110 points)

Hallo,

ich möchte vor Studienteilnahme (die Versuchspersonen haben also noch keine Seriennummer oder anderweitige Referenz) den Teilnehmern einen individuellen von mir generierten 8-stelligen Code per Mail oder SMS zukommen lassen. Diesen benötigen die Teilnehmer, um ihre Einwilligungserklärungen postalisch versenden zu können (online ist in unserem Fall leider nicht ausreichend) und soll nicht in Zusammenhang mit den später erhobenen Daten stehen. Am besten sollten die Kontaktdaten auch nicht gespeichert werden.

Folgendes Vorgehen habe ich mir überlegt:
1. Anlegen einer Datenbank mit den generierten Codes.
2. Frage "E-Mail an persönlichen Kontakt" anlegen. Hier sollen die Teilnehmenden angeben, an welche Mailadresse ihnen der Code gesendet werden soll.
3. Im Mailtext einen Platzhalter einführen, der in der versendeten Mail einen Code aus der Datenbank anzeigt.
4. Am besten soll über dbSet() der entsprechende Eintrag direkt gelöscht werden, da alle Codes nur ein Mal verwendet werden können.

Gibt es dafür ein besseres Vorgehen? Bzw. wie genau greife ich auf einen Eintrag aus der Datenbank zu, wenn ich keine Seriennummer oder anderweitige Referenz des Teilnehmenden habe?

Über Hilfe bei meinem Problem würde ich mich sehr freuen :)
Viele Grüße

1 Answer

0 votes
by SoSci Survey (305k points)

Am besten soll über dbSet() der entsprechende Eintrag direkt gelöscht werden, da alle Codes nur ein Mal verwendet werden können.

Also im Prinzip kann man das machen - aber (wesentlich) einfacher und weniger fehleranfällig ist es, den Code via Zufallsgenerator zu ziehen. Nach dem Versand können Sie den Code dann per dropValue() aus dem Datensatz löschen, sofern gewünscht.

Ich habe gerade nochmal getestet: Wenn Sie vor Verwendung der "E-Mail an persönlichen Kontakt" Frage mittels replace() einen Platzhalter vorbereiten, dann können Sie diesen einfach im Mailtext verwenden.

Bzw. wie genau greife ich auf einen Eintrag aus der Datenbank zu, wenn ich keine Seriennummer oder anderweitige Referenz des Teilnehmenden habe?

Wenn Sie partout nicht den Zufallsgenerator verwenden möchten, dann könnten Sie mittels dbKeys() eine Liste der verfügbaren Schlüssel (z.B. eben Codes) abrufen, diese mittels shuffle() mischen und dann aus der gemischten Liste den ersten Eintrag verwenden. Den speichern Sie in einen Platzhalter und entfernen den Schlüssel dann mittels dbSet(..., false).

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

...