Merge pull request #10 from jasonMPM/claude/isp-website-docker-EB8pB
Add contact form DB storage and hidden staff inbox
This commit is contained in:
@@ -1,21 +1,33 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/../includes/db.php';
|
||||
|
||||
$success = false;
|
||||
$errors = [];
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$name = trim(htmlspecialchars($_POST['name'] ?? '', ENT_QUOTES));
|
||||
$email = trim(htmlspecialchars($_POST['email'] ?? '', ENT_QUOTES));
|
||||
$phone = trim(htmlspecialchars($_POST['phone'] ?? '', ENT_QUOTES));
|
||||
$subject = trim(htmlspecialchars($_POST['subject'] ?? '', ENT_QUOTES));
|
||||
$message = trim(htmlspecialchars($_POST['message'] ?? '', ENT_QUOTES));
|
||||
// Store raw values; htmlspecialchars is applied only at output time
|
||||
$name = trim($_POST['name'] ?? '');
|
||||
$email = trim($_POST['email'] ?? '');
|
||||
$phone = trim($_POST['phone'] ?? '');
|
||||
$subject = trim($_POST['subject'] ?? '');
|
||||
$message = trim($_POST['message'] ?? '');
|
||||
|
||||
if (!$name) $errors[] = 'Name is required.';
|
||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) $errors[] = 'A valid email is required.';
|
||||
if (!$message) $errors[] = 'Message is required.';
|
||||
if (!$name) $errors[] = 'Name is required.';
|
||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) $errors[] = 'A valid email is required.';
|
||||
if (!$message) $errors[] = 'Message is required.';
|
||||
|
||||
if (empty($errors)) {
|
||||
// TODO: swap for DB insert + email once credentials are configured
|
||||
$success = true;
|
||||
try {
|
||||
$db = get_db();
|
||||
$stmt = $db->prepare(
|
||||
"INSERT INTO contacts (name, email, phone, subject, message)
|
||||
VALUES (?, ?, ?, ?, ?)"
|
||||
);
|
||||
$stmt->execute([$name, $email, $phone, $subject, $message]);
|
||||
$success = true;
|
||||
} catch (PDOException $e) {
|
||||
$errors[] = 'Sorry, we could not save your message right now. Please try again.';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user