Herzlichen Dank für die angebotene Hilfe,
Ich habe am WE unterrichtet und kann daher jetzt erst antworten.
Nach vielen Versuchen und tagelangem "Trail and Error" zugegeben aus mangelndem Wissen mit Gemini ai Hilfe bin ich noch nicht am Ziel.
Ich versuche das Dilemma zu beschreiben:
Seite 1: Die Intro-Seite von Sosci (leer)
Seite 2: PHP Routing
Was soll der Code können?
Ich möchte am ersten Tag eine Seite mit Willkommen haben (Datenschutz, Einverständniserklärung etc.) auf dem ein Vermerk zu sehen ist der den Tag (Tag 1) oder erster Tag der Studie ersichtlich ist. Das ist Seite 4
Erläuterung: Die Befragung soll 21 Tage täglich erfolgen.
Seite 3: Am ersten Tag sollen die Soziodaten und weiter Daten die nur einmal erhoben werden ausgefüllt werden.
Seite 5: Hier befindet sich ein Fragenblock der 21 Tage mit Skalierung ausgefüllt werden soll.
Seite 6: Hie soll ein Dank für das Ausfüllen erscheinen mit dem Hinweis den Link am nächsten Tag wider zu verwenden.
Auf der end-Seite von Sosci steht ein finaler Dank für die teilnähme. Der soll nach 21 Tagen erscheinen.
Mit den Angaben von Gemini komme ich nicht weiter.
Daher bitte ich erneut um Unterstützung. Morgen ist Abgabe.
Herzlichen Dank
PHP Seite
// PHP-Code auf SEITE 02: Datumsbasierte Tagesermittlung & Routing
$start_date_str = '2025-10-08';
$today_str = date('Y-m-d');
$start_ts = strtotime($start_date_str);
$today_ts = strtotime($today_str);
$days_diff = floor(($today_ts - $start_ts) / 86400);
$tag_nummer = $days_diff + 1;
if ($tag_nummer < 1) {
$tag_nummer = 1;
}
// *** ZAHLEN IN TEXT UMWANDELN ***
$tag_text_array = array(
1 => 'erster', 2 => 'zweiter', 3 => 'dritter', 4 => 'vierter',
5 => 'fünfter', 6 => 'sechster', 7 => 'siebter', 8 => 'achter',
9 => 'neunter', 10 => 'zehnter', 11 => 'elfter', 12 => 'zwölfter',
13 => 'dreizehnter', 14 => 'vierzehnter', 15 => 'fünfzehnter',
16 => 'sechzehnter', 17 => 'siebzehnter', 18 => 'achtzehnter',
19 => 'neunzehnter', 20 => 'zwanzigster', 21 => 'einundzwanzigster'
);
$tag_ausgabe_text = $tag_text_array[$tag_nummer] . ' Tag';
// WICHTIG: Speichert den Text in der stabilen Variablen CT01_01
put('CT01_01', $tag_ausgabe_text);
// Routing-Logik (mit Ihren bestätigten IDs: Willkommen, DAY1, PD04Prozessdaten, DailyDank, End)
if ($tag_nummer == 1) {
// TAG 1: Soziodaten MÜSSEN zuerst kommen
setPageOrder(array('Willkommen', 'DAY1', 'PD04Prozessdaten', 'DailyDank'));
} else if ($tag_nummer >= 2 && $tag_nummer <= 20) {
// TAG 2-20: Tägliche Abfolge OHNE Soziodaten
setPageOrder(array('Willkommen', 'PD04Prozessdaten', 'DailyDank'));
} else if ($tag_nummer >= 21) {
// TAG 21 UND SPÄTER: Letzter Tag, leitet zur finalen Endseite
setPageOrder(array('Willkommen', 'PD04Prozessdaten', 'DailyDank', 'End'));
} else {
// Fallback
setPageOrder(array('Willkommen', 'PD04Prozessdaten', 'DailyDank'));
}
// Löscht den Code auf den folgenden Seiten, da setPageOrder alles steuert.
unset('DAY1', 'PD04Prozessdaten', 'DailyDank');
goToPage('Willkommen');
pageStop();
Seite 05 PD04Prozessdaten
// PHP-Code am ANFANG von SEITE 06 (PD04Prozessdaten)
$tag = value('D00_01'); // KORRIGIERTE VOLLE KENNUNG
if (($tag != 7) && ($tag != 14) && ($tag != 21)) {
goToPage('DailyDank');
pageStop();
}