setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die('Connection failed: ' . $e->getMessage()); } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING); $signature = $_POST['signature'] ?? ''; $is_encrypted = isset($_POST['encrypted']) ? 1 : 0; if ($username && $message) { try { $stmt = $db->prepare('INSERT INTO messages (username, message, signature, is_encrypted) VALUES (?, ?, ?, ?)'); $stmt->execute([$username, $message, $signature, $is_encrypted]); } catch (PDOException $e) { die('Database error: ' . $e->getMessage()); } } header('Location: ' . $_SERVER['PHP_SELF']); exit; } try { $stmt = $db->query('SELECT * FROM messages ORDER BY created_at DESC LIMIT 50'); $messages = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { die('Database error: ' . $e->getMessage()); } ?>