$message = trim((string) ($_POST['message'] ?? '')); $trap = (string) ($_POST['website'] ?? ''); if (!hash_equals($_SESSION['gc_csrf'], $token)) { $feedback = 'Your session expired. Please refresh the page and try again.'; $feedbackType = 'error'; } elseif ($trap !== '') { $feedback = 'Thank you for your message.'; $feedbackType = 'success'; } elseif (!$contactEnabled) { $feedback = 'Contact requests are not configured yet. Please contact the site administrator.'; $feedbackType = 'error'; } elseif ($name === '' || mb_strlen($name) > 100 || !filter_var($email, FILTER_VALIDATE_EMAIL) || mb_strlen($email) > 254 || $message === '' || mb_strlen($message) > 3000) { $feedback = 'Enter a name, valid email, and message (up to 3,000 characters).'; $feedbackType = 'error'; } else { $subject = 'GameChanger website inquiry'; $body = "Name: {$name}\nEmail: {$email}\n\nMessage:\n{$message}\n"; $headers = [ 'From' => $contactEmail, 'Reply-To' => $email, 'Content-Type' => 'text/plain; charset=UTF-8', ]; if (mail($contactEmail, $subject, $body, $headers)) { $feedback = 'Message submitted. We will get back to you as soon as possible.'; $feedbackType = 'success'; $_SESSION['gc_csrf'] = bin2hex(random_bytes(32)); } else { $feedback = 'Message delivery is unavailable right now. Please try again later.'; $feedbackType = 'error'; } } } ?>