prepare('SELECT id, title, scheduled_at FROM webinars WHERE id = ?'); $stmt->execute([$webinar_id]); $webinar = $stmt->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { error_log("Webinar fetch error: " . $e->getMessage()); // Don't expose error details to user } } // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = trim($_POST['name'] ?? ''); $email = filter_var(trim($_POST['email'] ?? ''), FILTER_VALIDATE_EMAIL); $submitted_webinar_id = filter_input(INPUT_POST, 'webinar_id', FILTER_VALIDATE_INT); if (!$name || !$email || !$submitted_webinar_id) { $feedback = ['type' => 'error', 'message' => 'Please fill in all fields with valid information.']; } else { try { $stmt = $pdo->prepare('INSERT INTO attendees (webinar_id, name, email) VALUES (?, ?, ?)'); $stmt->execute([$submitted_webinar_id, $name, $email]); $feedback = ['type' => 'success', 'message' => 'Thank you for registering! A confirmation has been sent to your email.']; // In a real app, you would trigger an email here. } catch (PDOException $e) { error_log("Registration error: " . $e->getMessage()); if ($e->errorInfo[1] == 1062) { // Duplicate entry $feedback = ['type' => 'error', 'message' => 'This email address has already been registered for this webinar.']; } else { $feedback = ['type' => 'error', 'message' => 'An error occurred during registration. Please try again.']; } } } } ?>
You are registering for: = htmlspecialchars($webinar['title']) ?>
The requested webinar could not be found.
← Back to Webinars