0 votes
in SoSci Survey (dt.) by s139960 (130 points)

Ich habe eine mehrweilige Befragung mit 2 Messzeitpunkten (t1,T2) erstellt. Dafür habe ich eine Opt in frage generiert die die Teilnehmer zufällig zur Experimental- & Kontrollgruppe zuweist sowie Seriennummern über SERIAL. Im Datensatz wird der gezogene Wert von dem Zufallsgenerator aber nur zum Zeitpunkt der Opt-in frage (T0) angezeigt und nicht nochmal zu T1. Als Absicherung hätte ich den Wert der Zufallsgeneratorvaribale gerne noch einmal ausgegeben im Datensatz zu Messzeitpunkt 1 und Messzeitpunkt 2 (also den 2 folgenden Fragebögen), damit ich garantiert passende SERIAL Kennungen zu passenden Teilgruppen (Experimental- vs. Kontrollgruppe) zuweisen kann.
Welche PHP Funktion muss ich da nutzen?

OI01= Opt In Frage , Teilgruppe Kontrollgruppe
OI03= Opt In Frage , Teilgruppe Experimentalgruppe
ZG = zufallsgenerator: Gezogener Code

Wie man im Screenshot sieht werden in manchen Spalten (das sind Beantwortungen der Fragebögen zu T1 & T2) keine Zahlen bei den oben genannten Variablen angezeigt. Ich würde jedoch auch hier gerne erneut nicht nur zum Zeitpunkt der Opt-In Frage, den gezogenen Code der ZG Variable angezeigt haben, um eine sichergestellte Teilgruppenzuweisung zu SERIALnummer machen zu können.

1 Answer

0 votes
by SoSci Survey (304k points)
OI01= Opt In Frage , Teilgruppe Kontrollgruppe
OI03= Opt In Frage , Teilgruppe Experimentalgruppe

Verwenden Sie im zweiten Fragebogen bitte einmal die Funktion panelData(), nachdem Sie den Fragebogen mit einem Link aus der Serienmail aufgerufen haben.

$info = panelData();
$subgroup = $info['subgroup'];
html('<p>Teilgruppe: '.$subgroup.'</p>');
if ($subgroup == 'Kontrollgruppe') {
  put('IV01_01', 1);
} elseif ($subgroup == 'Experimentalgruppe') {
  put('IV01_01', 2);
} else {
  put('IV01_01', 99);
}
by s139960 (130 points)
Ich habe den php code hinzugefügt. Als er meinte die variable IV01_01 sei nicht vorhanden, habe ich die interne Variable IV0_01 angelegt und diesen php code in den 2. Fragebogen eingefügt

$info = panelData();
$subgroup = $info['subgroup'];
html('<p>Teilgruppe: '.$subgroup.'</p>');
if ($subgroup == 'Kontrollgruppe') {
  put('IV0_01', 1);
} elseif ($subgroup == 'Experimentalgruppe') {
  put('IV0_01', 2);
} else {
  put('IV0_01', 99);
}

Wenn ich diesen mit einem Link aus der Serienmail aufrufe dann bekomme ich diese fehlermeldung (s. Bild) und mir wird die Teilgruppe im Fragebogen angezeigt. Das will ich nun aber nicht, sodnern nur dass diese im Datensatz erneut abgespeichert wird. In der inetrnen Varibale steht trotz dessen im Datensatz dann eine 99 obwohl die richtige Gruppe im Fragebogen angezeigt wurde.
by s139960 (130 points)
Hier ist die Fehlermeldung die angezeigt wird (Screenshot geht nicht einzufügen)

There is an error in the PHP code:
Questionnaire Error: Trying to access array offset on value of type null
line: 4

PHP code

001 namespace s2survey\questionnaire\environment;
002
003 $info = panelData();
004 $subgroup = $info['subgroup'];
005 html('<p>Teilgruppe: '.$subgroup.'</p>');
006 if ($subgroup == 'Kontrollgruppe') {
007   put('IV0_01', 1);
by s139960 (130 points)
Muss eventuell die Variable des Zufallgenerators erwähnt werden "ZG" da dieser ja für die Zuteilung von den Personen zu EG & KG verantwortlich ist?
by SoSci Survey (304k points)
Nein, auf den Zufallsgenerator können Sie im zweiten Fragebogen nicht mehr zugreifen. Aber die Fehlermeldung besagt, dass panelData() nicht funktioniert.

Haben Sie den Fragebogen denn über einen personalisierten Link aus einer Serienmail aufgerufen? Sonst kann panelData() nämlich keine Daten liefern.

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

...