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

0 votes

Hallo,

ich habe einen Fragebogen, in dem 4 Zeitungsüberschriften hinsichtlich ihrer Wirkung bewertet werden sollen. Diese sollen auf 4 verschiedenen Seiten angezeigt und randomisiert werden, was auch mit folgendem PHP-Code funktioniert:

if (!isset($seiten)) {
  $seiten = array('TP02', 'TP04', 'TP03', 'TP06');
  shuffle($seiten);
  $seiten[] = 'Wue';
  registerVariable($seiten);
}

put('IV01_01', array_search('TP02', $seiten) + 1);
put('IV01_02', array_search('TP03', $seiten) + 1);
put('IV01_03', array_search('TP04', $seiten) + 1);
put('IV01_04', array_search('TP06', $seiten) + 1);

setPageOrder($seiten);

Nun möchte ich danach nochmals diese Überschriften, jedoch mit einer anderen Fragestellung, randomisiert anzeigen lassen. Ich habe nun wieder diesen PHP-Code eingegeben und die Bezeichnung der internen Variablen (um die Reihenfolge zu speichern) und die Bezeichnung der Items(?) passend verändert:

if (!isset($seiten)) {
  $seiten = array('K203', 'K205', 'K206', 'K207');
  shuffle($seiten);
  $seiten[] = 'GB';
  registerVariable($seiten);
}

put('IV02_01', array_search('K203', $seiten) + 1);
put('IV02_02', array_search('K205', $seiten) + 1);
put('IV02_03', array_search('K206', $seiten) + 1);
put('IV02_04', array_search('K207', $seiten) + 1);

setPageOrder($seiten);

Damit werden aber die 4 Schlagzeilen aus der ersten Randomisierung (TP02-TP06) in einem Loop angezeigt und auf der Antwortskala der Frage sind die Werte schon ausgewählt, die man beim ersten Mal angeklickt hat.

Ich selbst erkenne leider nicht, wo hier der Fehler liegt. Vielleicht gibt es hier jemanden, der mir erklären kann, wie man zwei Randomisierungsprozesse hintereinander schalten kann.

LG

in SoSci Survey (dt.) by s164891 (135 points)
edited by SoSci Survey

1 Answer

0 votes
 
Best answer

Das Problem ist folgende Zeile:

if (!isset($seiten))

Die Funktion isset() prüft, ob eien Variable schon vorher definiert wurde. Für die Variable $seiten ist das der Fall, weil Sie die ja schon im ersten Code verwenden.

Einfache Lösung: Wählen Sie einen anderen Namen für die Variable, z.B. $seiten2.

by SoSci Survey (199k points)
selected by s164891
Jetzt klappt es. Vielen Dank. (:
...