ApiDrkDdl/GetData.php
2025-01-24 21:08:32 +01:00

64 lines
1.9 KiB
PHP

<?php
// Die Konfigurationsdatei einbinden
require_once('config.php');
// API-Schlüssel aus dem Header abrufen
$apiKey = isset($_SERVER['HTTP_X_API_KEY']) ? $_SERVER['HTTP_X_API_KEY'] : '';
// Überprüfen, ob der API-Schlüssel korrekt ist
if ($apiKey !== API_KEY) {
// Wenn der API-Schlüssel falsch ist oder fehlt, eine Fehlermeldung senden
header("HTTP/1.1 403 Forbidden");
echo json_encode(array("message" => "Unbefugter Zugriff - Falscher API-Schlüssel"));
exit;
}
// Verbindung zur MySQL-Datenbank herstellen
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// Überprüfen, ob die Verbindung erfolgreich war
if ($conn->connect_error) {
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
// Bestimmen des Endpunkts basierend auf der Anfrage
$endpoint = isset($_GET['endpoint']) ? $_GET['endpoint'] : '';
// Die Antwort wird standardmäßig als leeres Array gesetzt
$response = array();
switch ($endpoint) {
case 'GetFahrzeuge':
$sql = "SELECT id, typ, funkrufname, kennzeichen, bild FROM fahrzeuge";
break;
default:
$response = array("message" => "Ungültiger Endpunkt. Verfügbare Endpunkte: GetFahrzeuge.");
echo json_encode($response);
$conn->close();
exit;
}
// SQL-Abfrage ausführen und prüfen, ob es Ergebnisse gibt
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Ein leeres Array zum Speichern der Ergebnisse
$dataList = array();
// Durch alle Datensätze iterieren und in ein Array einfügen
while($row = $result->fetch_assoc()) {
// Je nach Endpunkt den jeweiligen Namen einfügen
$dataList[] = $row;
}
// Rückgabe der Ergebnisse als JSON
echo json_encode($dataList);
} else {
echo json_encode(array("message" => "Keine Daten gefunden"));
}
// Verbindung schließen
$conn->close();
?>