Error' . '
Provider ID is missing or invalid.
'; exit; } // API base URL $api_base = 'http://127.0.0.1:5000'; // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Collect submitted data $payload = [ 'name' => $_POST['name'] ?? '', 'age' => (int)($_POST['age'] ?? 0), 'photo' => $_POST['photo'] ?? '', 'phone' => $_POST['phone'] ?? '', 'rates' => json_decode($_POST['rates'] ?? 'null', true) ?? [], 'private' => isset($_POST['private']) && $_POST['private'] === 'on', ]; // Send PUT request to API $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_base . '/providers/' . $provider_id); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode >= 400) { $error = json_decode($response, true)['error'] ?? 'Update failed'; echo '' . htmlspecialchars($error) . '
'; } else { // Success: redirect back to provider list header('Location: list_providers.php'); exit; } } // Fetch current provider details for the form (GET request) $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_base . '/providers?id=' . $provider_id); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode >= 400) { echo 'Could not load provider details.
'; exit; } $provider = json_decode($response, true); // API may return array for GET by id if (is_array($provider) && count($provider) > 0 && isset($provider[0])) { $provider = $provider[0]; } ?>