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

Ich möchte für meinen Fragebogen Quoten erstellen, Alter in Verbindung mit Geschlecht. z.B. 37 Personen pro Geschlecht für Altersgruppe 1. Ich habe insgesamt 6 Altersgruppen und 2 Geschlechter die ich abfrage. Habe meinen Code geschrieben und im DebugModus ausprobiert, bekommen jedoch einen 404:

$quota = [
  '1-1' => 37, '1-2' => 37,  // 37 Personen pro Geschlecht für die Altersgruppe 1
  '2-1' => 16, '2-2' => 16,  // 16 Personen pro Geschlecht für die Altersgruppe 2  
  '3-1' => 30, '3-2' => 30,  // 30 Personen pro Geschlecht für die Altersgruppe 3
  '4-1' => 30, '4-2' => 30,  // 30 Personen pro Geschlecht für die Altersgruppe 4
  '5-1' => 42, '5-2' => 42,  // 42 Personen pro Geschlecht für die Altersgruppe 5
  '6-1' => 38,  '6-2' => 38    //  38 Personen pro Geschlecht für die Altersgruppe 6
];
// Geschlecht wird direkt ausgelesen
$gender = value('SO01');
// Alter wird direkt ausgelesen
$age = value('SO03');
// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 6 und 2 wird hier '6-2'
$demGroup = $ageGroup.'-'.$gender;

// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'IV01_01', $demGroup);
 
// Screenout
if (!array_key_exists($demGroup, $quota)) {
redirect('end');
}
 
// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];
 
// Quotenstopp
if ($cases >= $maxPerGroup) {
redirect('end');
}

Vor der End-Seite habe ich dies noch eingefügt:

// Speichern der Gruppenzugehörigkeit in der internen Variable IV01_01
put('IV01_01', $demGroup);

// Geschlecht wird direkt ausgelesen
$gender = value('SO01');
// Das Alter wird umkodiert
$age = value('SO03');

// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 6 und 2 wird hier '6-2'
$demGroup = $age.'-'.$gender;

// Speichern der Gruppenzugehörigkeit in der internen Variable IV01_01
put('IV01_01', $demGroup);
 
// Complete-Redirect
redirect('end');

Könnte mir einer helfen ?

Danke

1 Answer

0 votes
by SoSci Survey (302k points)

bekommen jedoch einen 404:

Das dürfte an folgender Zeile (mehrfach) liegen:

redirect('end');

Die Internetadresse "end" gibt es einfach nicht. Wenn Sie die Teilnehmer zum Ende des Fragebogens schicken möchten, verwenden Sie stattdessen bitte:

goToPage('end');
by s129547 (110 points)
Danke ! Ich habe das jetzt angepasst, bekomme jetzt keinen 404 sondern er springt automatisch von Seite 2 zum "end" ohne, dass ich die Fragen von Seite 2 beantworten kann.
by SoSci Survey (302k points)
Ja - der Code mit dem goToPage() oder auch redirect() darf erst auf der Seite stehen, wo um- bzw. weitergeleitet werden soll. In Ihrem Fall also vermutlich auf Seite 3.

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

...