Ja, das habe ich gemacht entsprechend der Anleitung. Ich habe den Redirect deaktiviert und mir die Quotenzählung anzeigen lassen. Das ist mein modifizierter PHP-Code dafür, bei welchem ich die obigen Debug-Informationen erhalte. Wenn ich den Redirect wieder aktiviere, erhalte ich die Meldung, dass ich nicht zu der gesuchten Befragungsgruppe gehöre:
"Vielen Dank für Ihre Teilnahme! Leider gehören Sie bei dieser Umfrage nicht zur gesuchten Zielgruppe."
Ich habe ebenfalls den Panel-Provider kontaktiert und dieser meinte, dass die Redirects bei solch einer Meldung scheinbar noch nicht richtig implementiert sind.
PHP-Code (Fehleranzeige)
$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 = [
2 => 494, // 494 Personen in Bildungsgruppe 1 (Haupt- und Mittlerer Schulabschluss)
3 => 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 <= 2) {
$educationGroup = 1;
} elseif ($education <= 4) {
$educationGroup = 2;
} elseif ($education = 5) {
$educationGroup = 3;
} else {
$educationGroup = 4;
}
// 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);
// 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%');
}
// Auslesen der Quoten für die angegeben Merkmale
$maxPerAge = $quotaAge[$ageGroup];
$maxPerGender = $quotaGender[$gender];
$maxPerEducation = $quotaEducation[$educationGroup];
$maxPerRegion = $quotaRegion[$region];
// Zusätze Informationen anzeigen
debug($casesAge);
debug($maxPerAge);
debug($casesGender);
debug($maxPerGender);
debug($casesEducation);
debug($maxPerEducation);
debug($casesRegion);
debug($maxPerRegion);
// 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();
}
PHP-Code (ohne redirect deaktiviert)
$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 = [
2 => 494, // 494 Personen in Bildungsgruppe 1 (Haupt- und Mittlerer Schulabschluss)
3 => 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 <= 2) {
$educationGroup = 1;
} elseif ($education <= 4) {
$educationGroup = 2;
} elseif ($education = 5) {
$educationGroup = 3;
} else {
$educationGroup = 4;
}
// 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);
// 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%');
}
// Auslesen der Quoten für die angegeben Merkmale
$maxPerAge = $quotaAge[$ageGroup];
$maxPerGender = $quotaGender[$gender];
$maxPerEducation = $quotaEducation[$educationGroup];
$maxPerRegion = $quotaRegion[$region];
// Zusätze Informationen anzeigen
debug($casesAge);
debug($maxPerAge);
debug($casesGender);
debug($maxPerGender);
debug($casesEducation);
debug($maxPerEducation);
debug($casesRegion);
debug($maxPerRegion);
// 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%');
}