prepare($sql_user)) { $stmt_user->bind_param("s", $api_key); $stmt_user->execute(); $result_user = $stmt_user->get_result(); if ($result_user->num_rows === 1) { $user_id = $result_user->fetch_assoc()['id']; } $stmt_user->close(); } if ($user_id === null) { http_response_code(401); // Unauthorized die('Error: Invalid API Key.'); } // --- Pflanzen-Zugehörigkeit prüfen --- $sql_plant = "SELECT id FROM plants WHERE id = ? AND user_id = ?"; if ($stmt_plant = $mysqli->prepare($sql_plant)) { $stmt_plant->bind_param("ii", $plant_id, $user_id); $stmt_plant->execute(); if ($stmt_plant->get_result()->num_rows === 0) { http_response_code(403); // Forbidden die('Error: Plant does not belong to user.'); } $stmt_plant->close(); } // --- Sensor-Typ mappen --- $sensor_map = [ 'temp' => 'Temperatur', 'tmp' => 'Temperatur', 'temperatur' => 'Temperatur', 'feuchtigkeit' => 'Feuchtigkeit', 'humidity' => 'Feuchtigkeit', 'feucht' => 'Feuchtigkeit' ]; if (!array_key_exists($sensor_key, $sensor_map)) { http_response_code(400); die('Error: Unknown sensor type. Use temp or humidity.'); } $db_sensor_type = $sensor_map[$sensor_key]; // --- Daten in die Datenbank einfügen --- $sql_insert = "INSERT INTO sensor_data (plant_id, sensor_type, value) VALUES (?, ?, ?)"; if ($stmt_insert = $mysqli->prepare($sql_insert)) { $stmt_insert->bind_param("isd", $plant_id, $db_sensor_type, $value); if ($stmt_insert->execute()) { http_response_code(200); echo "OK"; } else { http_response_code(500); die("Error: Could not save data."); } $stmt_insert->close(); } $mysqli->close(); ?>