64 lines
1.9 KiB
PHP
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();
|
|
?>
|