// ==========================================
// CONFIGURATION: Eure Kontrollpunkte & Rätsel
// ==========================================
[
"name" => "Station 1: Der Start-Klassiker",
"hinweis" => "Fahre zum historischen Marktplatz. Suche das Gebäude mit der Jahreszahl über der Tür.",
"lat" => 51.7189, // Beispiel-Koordinaten (Paderborn)
"lon" => 8.7575,
"frage" => "Welche Jahreszahl steht über dem Portal?",
"antwort" => "1610" // Antwort MUSS exakt so eingegeben werden
],
2 => [
"name" => "Station 2: Das Kurvenparadies",
"hinweis" => "Fahre zum Aussichtspunkt an der alten Mühle im Eggegebirge.",
"lat" => 51.7310, // Beispiel-Koordinaten
"lon" => 8.8010,
"frage" => "Wie viele Flügel hat die Windmühle noch?",
"antwort" => "4"
],
3 => [
"name" => "Station 3: Das Ziel am Stammtisch",
"hinweis" => "Endspurt! Auf nach Delbrück zu Micheles Pizzeria für das verdiente Kaltgetränk.",
"lat" => 51.7650, // Beispiel-Koordinaten
"lon" => 8.5630,
"frage" => "Welche Hausnummer hat die Pizzeria?",
"antwort" => "2"
]
];
$max_stationen = count($stationen);
// Session starten, um den Fortschritt des Fahrers zu speichern
session_start();
// LOGIK 1: Anmeldung des Fahrers
if (isset($_POST['register'])) {
$_SESSION['fahrer'] = htmlspecialchars($_POST['fahrer_name']);
$_SESSION['aktuelle_station'] = 1;
$_SESSION['start_zeit'] = time();
header("Location: " . $_SERVER['PHP_SELF']);
exit;
}
// LOGIK 2: Validierung der Station (GPS + Antwort)
$error_msg = "";
if (isset($_POST['check_station'])) {
$aktuelle_id = $_SESSION['aktuelle_station'];
$eingegebene_antwort = trim($_POST['antwort']);
$gps_erfolgreich = isset($_POST['gps_ok']) && $_POST['gps_ok'] == "1";
if (!$gps_erfolgreich) {
$error_msg = "❌ Du bist laut GPS noch nicht nah genug am Kontrollpunkt!";
} elseif (strcasecmp($eingegebene_antwort, $stationen[$aktuelle_id]['antwort']) !== 0) {
$error_msg = "❌ Die Antwort auf die Rätselfrage ist leider falsch.";
} else {
// Station erfolgreich! Weiterleitung zur nächsten
if ($aktuelle_id < $max_stationen) {
$_SESSION['aktuelle_station']++;
} else {
// ZIEL ERREICHT! Ergebnis auf Server speichern
$_SESSION['aktuelle_station'] = "ZIEL";
$_SESSION['end_zeit'] = time();
$dauer_minuten = round(($_SESSION['end_zeit'] - $_SESSION['start_zeit']) / 60, 1);
// In Textdatei schreiben
$log_eintrag = date("d.m.Y H:i") . " | Fahrer: " . $_SESSION['fahrer'] . " | Zeit: " . $dauer_minuten . " Min.\n";
file_put_contents("ergebnisse.txt", $log_eintrag, FILE_APPEND);
}
header("Location: " . $_SERVER['PHP_SELF']);
exit;
}
}
// LOGIK 3: Reset (falls jemand neu starten muss)
if (isset($_GET['reset'])) {
session_destroy();
header("Location: " . $_SERVER['PHP_SELF']);
exit;
}
?>
MGC Paderborn - Ori-Fahrt
Tour abbrechen / Reset
Moto Guzzi Club Paderborn
Digital Ori-Tour 2026
Willkommen zur Orientierungsfahrt!
Bitte gib deinen Namen oder deine Startnummer ein, um die Zeitmessung zu starten.
Fahrer: | Station von
📍
Hinweis:
⏳ Warte auf GPS-Signal vor Ort...
🏁 ZIEL ERREICHT! 🏁
Klasse Leistung, !
Deine Zeit wurde registriert und an die Fahrtleitung übermittelt.
Schalte jetzt den Motor aus und hol dir dein Kaltgetränk!
Neue Fahrt starten (z.B. für nächsten Fahrer)
Tour abbrechen / Reset