0 votes
in Methoden-Fragen by s299132 (170 points)

Hallo,
ich möchte für eine Umfrage prüfen, ob jemand, mit einem bestimmten userID nicht mehrfach die Umfrage ausgefüllt hat.
Ich weiß, dass es diese Option bei der Steuerung gibt. Jedoch, bräuchte ich ein redirect einbetten (die Seite des externen Panel-Anbieters mitteilt, dass man gemerkt hat, dass eine Person zweimal ausgefüllt hat).
Ich habe eine interne Variable T001_RV1, wo ich immer die "Incoming" userIDs speichere. Wie sag ich meine Umfrage, dass es eine redirect() machen sollte, sobald zweimal das gleiche userID (unter den ausgefüllten Fragebögen) vorhanden ist.
Unter https://www.soscisurvey.de/help/doku.php/de:survey:unique-respondents habe ich dazu leider nichts gefunden.
Danke schön im Voraus für Ihre Rückmeldung!

1 Answer

0 votes
by SoSci Survey (327k points)

Geben Sie die User-ID nicht ohnehin im Redirect an den Panel-Anbieter zurück?`Dann wäre es nämlich dessen Job, sich um doppelte Teilnahmen zu kümmern, und Sie müssten nur in der Auswertung entsprechend filtern.

In SoSci Survey fallen mir spontan zwei Möglichkeiten ein:

  1. Sie können mit statistic() arbeiten und damit abzählen, wie viele Fälle mit diesem Code es schon gibt oder
  2. Sie können mit der Datenbank für Inhalte arbeiten, und dort die Codes als Schlüssel abspeichern, und später prüfen, ob es schon so einen Schlüssel gibt.
by s299132 (170 points)
Es scheint leider nicht der Fall zu sein, also ich muss prüfen.

Wäre Vorschlag 1 dann so eine Lösung, dass man eine internal ID-Sammler-Variable an der letzte Seite hat.

Vorletzte Seite
$idnr=value('T001_RV1')
$countID= statistic('count', 'QU01_06', $idnr);
if ($countID==1){
redirect (LINK);
}

Letzter Seite
$idnr=value('T001_RV1')
put('QU01_06', $idnr);


Und könnten Sie etwa genauer was zu der Version 2 schreiben, habe ich nicht ganz verstanden.
Danke schön

valu
by SoSci Survey (327k points)
> Und könnten Sie etwa genauer was zu der Version 2 schreiben

Das könnte wie folgt aussehen ...

// ID mit der Interview-ID
$key = 'id'.value('T001_RV1');

if (!isset($visit)) {
  $visit = true; // Nur einmal pro Interview ausführen
  registerVariable($visit);
  // Prüfung, ob es schon einen Eintrag gibt
  $data = dbGet($key);
  if ($data) {
    redirect('SCHON VORHANDEN');
    $data[0] = $data[0] + 1;
  } else {
    $data = [0];
  }
  dbSet($key, $data);
}

$data = dbGet($key);
$count = $data[0];
if ($count > 1) {
  redirect('DOPPELT');
}

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

...