Bei der vorherigen Ausgabe habe ich vergessen den Screenout und Pagestopp auszukommentieren. Wenn ich die html()-Befehle wieder einfüge, erhalte ich wieder den Redirect Screenout mit den folgenden Debug-Informationen:
[Information]    Interview Nummer 451 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt milkalternatives wird verwendet
[Information]    Die Verweildauer auf Seite 3 war 12 Sekunden
[Verarbeitung]    Lese Antworten von Seite 3
[Information]    Antwort auf SD01 = 1
[Information]    Keine Antwort für SD01_04
[Information]    Antwort auf SD02_01 = 23
[Information]    Antwort auf SD03 = 3
[Information]    Keine Antwort für SD03_06
[Information]    Antwort auf SD04 = 5
[Information]    Keine Antwort für SD04_10
[Information]    Antwort auf SD05 = 2
[Information]    Antwort auf SD06 = 3
[Information]    Antwort auf SD07 = 2
[Information]    Keine Antwort für SD07_04
[Information]    Bedingung in Filter SD07/1 ist nicht erfüllt.
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 4 in Fragebogen base
[Information]    value("SD01") = 1
[Information]    value("SD05") = 2
[Information]    value("SD02_01") = 23
[Information]    value("SD03") = 3
debug()    Inhalt: $gender = 1 (string)
debug()    Inhalt: $region = 2 (string)
debug()    Inhalt: $ageGroup = 2 (integer)
debug()    Inhalt: $educationGroup = 1 (integer)
[Inhalt]    Die Verarbeitung der Seite wurde durch pageStop() beendet
PHP-Code
$quotaAge = [
  1 => 380,  // 380 Personen in Altersgruppe 1 (18-22 Jahre)
  2 => 380,  // 380 Personen in Altersgruppe 2 (23-26 Jahre)
];
$quotaGender = [
  1 => 380,  // 380 Frauen (Code 1)
  2 => 380   // 380 Männer (Code 2)
];
$quotaEducation = [
  1 => 494,  // 494 Personen in Bildungsgruppe 1 (Kein, Haupt- und Mittlerer Schulabschluss) 
  2 => 380   // 380 Personen in Bildungsgruppe 2 (Fachhochschul- oder Hochschulreife)
];
$quotaRegion = [
  1 => 167,  // 167 aus NRW (Code 10)
  2 => 121,   // 121 aus BAY (Code 2)
  3 => 106,   // 106 aus BAWÜ (Code 1)
  4 => 76,   // 76 aus NDS (Code 9)
  5 => 61,   // 61 aus HS Männer (Code 7)
  6 => 38,   // 38 aus RLP (Code 11)
  7 => 34,   // 34 aus SACH (Code 14)
  8 => 34,   // 34 aus BER (Code 3)
  9 => 27,   // 27 aus SH (Code 15)
  10 => 15,   // 15 aus BB (Code 4)
  11 => 15,   // 15 aus SA (Code 13)
  12 => 15,   // 15 aus TH (Code 2)
  13 => 19,   // 19 aus HH (Code 6)
  14 => 15,   // 15 aus MV (Code 8)
  15 => 8,   // 8 aus SL (Code 12)
  16 => 8,   // 8 aus BRE (Code 5)
];
// Gender wird direkt ausgelesen
$gender = value('SD01');
// Region wird direkt ausgelesen
$region = value('SD05');
// Das Alter wird umkodiert
$age = value('SD02_01');
if ($age <= 22) {
  $ageGroup = 1;
} else {
  $ageGroup = 2;
}
// Die Education wird umkodiert
$education = value('SD03');
if ($education <= 4) {
  $educationGroup = 1;
} elseif ($education = 5) {
  $educationGroup = 2;
} else {
  $educationGroup = 3;
}
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$casesAge    = statistic('count', 'SD10_01', $ageGroup);
$casesGender = statistic('count', 'SD09_01', $gender);
$casesEducation = statistic('count', 'SD11_01', $educationGroup);
$casesRegion = statistic('count', 'SD12_01', $region);
debug($gender);
debug($region);
debug($ageGroup);
debug($educationGroup);
// Screenout
if (!array_key_exists($ageGroup, $quotaAge) || !array_key_exists($gender, $quotaGender) || !array_key_exists($educationGroup, $quotaEducation) || !array_key_exists($region, $quotaRegion)) {
  redirect('
https://survey.maximiles.com/screenout?p=128822_07358555&m=%SPM_PANELIST_ID%');
}
html('<p>Redirect Screenout</p>');
pageStop();
// Auslesen der Quoten für die angegeben Merkmale
$maxPerAge    = $quotaAge[$ageGroup];
$maxPerGender = $quotaGender[$gender];
$maxPerEducation    = $quotaEducation[$educationGroup];
$maxPerRegion = $quotaRegion[$region];
// Quotenstopp
if (($casesAge >= $maxPerAge) || ($casesGender >= $maxPerGender) || ($casesEducation >= $maxPerEducation)|| ($casesRegion >= $maxPerRegion)) {
  // redirect('
https://survey.maximiles.com/quotasfull?p=128822_5898d2e3&m=%SPM_PANELIST_ID%');
}
html('<p>Redirect ausgelöst</p>');
  pageStop();