Ich habe folgende Re-direct Links vom Panelanbieter erhalten:
Complete / Screenout / Quotafull
https://gateway.gapfish.com/routings/participation_id/finish/completed
https://gateway.gapfish.com/routings/participation_id/finish/screenout
https://gateway.gapfish.com/routings/participation_id/finish/quota_full
Mein Umfragelink lautet:
https://www.soscisurvey.de/forschungsprojekt09102023/?r=[panelID]
Im PHP Code habe ich die Links wie folgt angepasst:
https://gateway.gapfish.com/routings/%reference%/finish/completed
https://gateway.gapfish.com/routings/%reference%/finish/screenout
https://gateway.gapfish.com/routings/%reference%/finish/quota_full
Der Panelanbieter sollte folgende re-direct Link erhalten:
https://www.soscisurvey.de/forschungsprojekt09102023/?r=test123
--> https://gateway.gapfish.com/routings/test123/finish/screenout
Es kommt dann folgender Link und Fehlermeldung:
https://gateway.gapfish.com/routings/generic_error?original_url=https%3A%2F%2Fgateway.gapfish.com%2Froutings%2Ftest123%2Ffinish%2Fscreenout&report_error=no
Die Nummer r= wird auch im Datensatz unter REF abgespeichert.
Was habe ich falsch gemacht?
Ich habe folgenden PHP Code mit Quotierung auf S. 2:
$quota = [
'1-1' => 7, '1-2' => 8, // 7 Frauen und 8 Männer für die Altersgruppe 1
'2-1' => 13, '2-2' => 13, // 13 Personen pro Geschlecht für die Altersgruppe 2
'3-1' => 13, '3-2' => 14, // 13 Frauen und 14 Männer für die Altersgruppe 3
'4-1' => 13, '4-2' => 14, // 13 Frauen und 14 Männer für die Altersgruppe 4
'5-1' => 15, '5-2' => 15 // 15 Personen pro Geschlecht für die Altersgruppe 5
];
// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD03');
if ($age < 18) {
$ageGroup = 1;
} elseif ($age <= 25) {
$ageGroup = 2;
} elseif ($age <= 35) {
$ageGroup = 3;
} elseif ($age <= 45) {
$ageGroup = 4;
} elseif ($age <= 64) {
$ageGroup = 5;
}
// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 3 und 2 wird hier '3-2'
$demGroup = $ageGroup.'-'.$gender;
// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'SD20_01, 2', $demGroup);
// Screenout
if (!array_key_exists($demGroup, $quota)) {
redirect('https://gateway.gapfish.com/routings/%reference%/finish/screenout');
}
// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];
// Quotenstopp
if ($cases >= $maxPerGroup) {
redirect('https://gateway.gapfish.com/routings/%reference%/finish/quota_full');
}
Und folgenden PHP-Code auf der Vorletzten Seite:
// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD03');
if ($age < 18) {
$ageGroup = 1;
} elseif ($age <= 25) {
$ageGroup = 2;
} elseif ($age <= 35) {
$ageGroup = 3;
} elseif ($age <= 45) {
$ageGroup = 4;
} elseif ($age <= 64) {
$ageGroup = 5;
}
// Definition einer Variable mit Altersgruppe und Geschlecht
// Aus 3 und 2 wird hier '3-2'
$demGroup = $ageGroup.'-'.$gender;
// Speichern der Gruppenzugehörigkeit in der internen Variable SD20_01
put('SD20_01, 2', $demGroup);
// Speeder Screenout
if (caseTime('begin') < 200) {
redirect('https://gateway.gapfish.com/routings/%reference%/finish/screenout');
}
// Complete-Redirect
redirect('https://gateway.gapfish.com/routings/%reference%/finish/completed');