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

Guten Tag,

ich bin gerade an derselben Baustelle dran wie in der vorherigen Frage beschrieben.
Bei mir geht es darum, einen Verständnischeck zur Instruktion durchzuführen. Ich habe also drei Aussagen, die der TN ankreuzen soll, wenn diese zutrifft.

Ich habe also auf einer Seite diesen Check eingefügt. Auf der nächsten Seite habe ich folgenden PHP-Code eingebunden, um bei Inkorrrektheit der Angaben die Seite, sowie die Instruktion zu wiederholen:

$mc01_01 = value('MC01_01');
$mc01_02 = value('MC01_02');
$mc01_03 = value('MC01_03');
if ($mc01_01 == 1) {
  repeatPage("MC_failed");
} elseif ($mc01_02 == 2) {
  repeatPage("MC_failed");
} elseif ($mc01_03 == 1) {
  repeatPage("MC_failed");
}

auf der darauf folgenden Seite diesen PHP-Code, um zu zählen, wie oft eine Person die falschen Aussagen angekreuzt hat:

$fragen = [
    'MC01' => [01 => 2, 02 => 1, 03 => 2]
];
// Prüfung aller Fragen in einer Schleife
foreach ($fragen as $frageKenn => $antworten) {
  // Für diese Frage den Fehlerzähler auf 0 setzen
  $fehler = 0;
  foreach ($antworten as $itemKenn => $vorgabe) {
    // Kennung des Items zusammenbauen
    $kennung = $frageKenn.'_'.$itemKenn;
    // Antwort des Teilnehmers abfragen
    $antwort = value($kennung);
    // Antwort auf Richtigkeit (eigentlich: Falschheit) prüfen
    if ($antwort != $vorgabe) {
      // Bei Abweichung einen Fehler zählen
      $fehler++;
    }
  }
}
put('MC03_01', $fehler);

Im Debug Modus funktioniert auch alles einwandfrei (außer eine kleine Warnung bzgl. der Itemkennung?!).
In meinen erhobenen Daten erscheint mir nur leider der Output meiner internen Variablen (MC03_01), welche die Anzahl an fehlerhaften Antworten zählt, nicht korrekt.
Fast immer erscheint eine 0 (1x auch eine 3), obwohl mein Antwortverhalten auf dem Check-Item anders ist.

Fällt Ihnen vielleicht etwas auf, weshalb es nicht so klappt?
Hier mein Pretest-Link:
https://www.soscisurvey.de/sd_assess/?act=cwExdtcqtlnts5E6T1cosrlA

(betroffene Seiten: 6-8)

Vielen Dank schonmal im Voraus!

by SoSci Survey (327k points)
Wenn ich es richtig verstehe, dann wiederholen Sie die Seite mit der Instruktion und den Kontrollfragen so lange, bis alles korrekt beantwortet ist? Dann sollten Sie - wenn Sie auf der nächsten Seite die Fehler zählen - immer 0 bekommen, weil dann dort ja (nach den Korrekturen) alles korrekt beantwortet wurde.
by s178438 (230 points)
genau. mein Ziel ist es jedoch zu zählen, wie oft die Seite wiederholt werden musste (aufgrund von falschen Antworten).
Haben Sie eine Idee, wie sich dies umsetzen lässt?

1 Answer

0 votes
by SoSci Survey (327k points)

mein Ziel ist es jedoch zu zählen, wie oft die Seite wiederholt werden musste

Zählen Sie dafür einfach bei jedem Aufruf eine interne Variable um eins hoch. Der folgende PHP-Code wäre auf der wiederholten Seite.

if (getRoute() == 'repeat') {
  $n = (int)value('IV01_01');
  put('IV01_01', $n+);
}
by s178438 (230 points)
Vor ein paar Wochen hatte dieser Befehl problemlos geklappt. Nun habe ich den Fragebogen erneut durchgeklickt und es erscheint eine Fehlermeldung bei meinem Manipulation Check (1. und 2. Seite), obwohl ich nichts verändert habe. Die interne Variable IV01_01 ist nach wie vor angelegt.

Fällt Ihnen hierzu vielleicht etwas auf, woran es liegen könnte?
Hier der Pre-Test link:
https://www.soscisurvey.de/sd_assess/?act=1cs5FXhjhtU7HcHe2Dk6cZHr

Vielen Dank schonmal!
by SoSci Survey (327k points)
Meines Erachtens ist das $n+ in der Klammer falsch. Ein einfaches Plus-Zeichen (es handelt sich dabei um einen Operator) erwartet auf der anderen Seite einen Parameter, was addiert werden soll. Das fehlt hier.

Meinten Sie vielleicht

put('IV01_01', $n++);

oder

put('IV01_01', $n+1);

> Vor ein paar Wochen hatte dieser Befehl problemlos geklappt.

Im Karteireiter "interner Code" können Sie nachsehen, wann zuletzt etwas am Fragebogen geändert wurde. Und was.

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

...