通过html编写一个留言板功能,带数据库
warning:
这篇文章距离上次修改已过263天,其中的内容可能已经有所变动。
为了实现一个带数据库的留言板功能,我们需要一个后端来处理数据库的交互。以下是一个简单的示例,使用PHP作为后端语言。
- 创建数据库和表:
CREATE DATABASE `guestbook`;
USE `guestbook`;
CREATE TABLE `messages` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
`email` VARCHAR(50) NOT NULL,
`message` TEXT NOT NULL,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
- 创建HTML表单:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Guest Book</title>
</head>
<body>
<h2>Guest Book</h2>
<form action="submit.php" method="post">
Name: <input type="text" name="name"><br>
Email: <input type="email" name="email"><br>
Message: <textarea name="message"></textarea><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
- 创建PHP后端脚本 (
submit.php
):
<?php
$host = 'localhost';
$db = 'guestbook';
$user = 'username';
$pass = 'password';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$stmt = $pdo->prepare("INSERT INTO messages (name, email, message) VALUES (?, ?, ?)");
$stmt->execute([$_POST['name'], $_POST['email'], $_POST['message']]);
echo "Message submitted successfully.";
}
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?>
确保替换数据库连接信息($host
, $db
, $user
, $pass
)为实际的数据库信息。
这个简单的例子展示了如何创建一个留言板,用户可以通过填写HTML表单提交留言,而这些留言将被存储到数据库中。后端PHP脚本处理数据库的插入操作。
评论已关闭