当前位置:首页 > PHP

php实现简单留言板

2026-04-03 12:33:44PHP

数据库设计

创建一个MySQL数据库表存储留言信息,表结构可设计如下:

CREATE TABLE messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

前端表单

构建HTML表单用于提交留言:

<form method="post" action="submit.php">
    <input type="text" name="username" placeholder="您的姓名" required>
    <textarea name="content" placeholder="留言内容" required></textarea>
    <button type="submit">提交留言</button>
</form>

处理提交数据

创建submit.php处理表单提交:

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username = htmlspecialchars($_POST['username']);
    $content = htmlspecialchars($_POST['content']);

    $conn = new mysqli('localhost', 'username', 'password', 'database_name');
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }

    $stmt = $conn->prepare("INSERT INTO messages (username, content) VALUES (?, ?)");
    $stmt->bind_param("ss", $username, $content);
    $stmt->execute();
    $stmt->close();
    $conn->close();

    header("Location: index.php");
}
?>

显示留言列表

创建index.php显示所有留言:

<?php
$conn = new mysqli('localhost', 'username', 'password', 'database_name');
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$result = $conn->query("SELECT * FROM messages ORDER BY created_at DESC");
while ($row = $result->fetch_assoc()) {
    echo '<div class="message">';
    echo '<h3>' . htmlspecialchars($row['username']) . '</h3>';
    echo '<p>' . htmlspecialchars($row['content']) . '</p>';
    echo '<small>' . $row['created_at'] . '</small>';
    echo '</div>';
}
$conn->close();
?>

安全增强

添加CSRF防护和输入验证:

session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
        die("CSRF验证失败");
    }

    // 其他验证逻辑...
}
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));

样式优化

添加基础CSS美化留言板:

php实现简单留言板

.message {
    border: 1px solid #ddd;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 5px;
}
form {
    margin-bottom: 20px;
}
textarea {
    width: 100%;
    min-height: 100px;
}

标签: 留言板简单
分享给朋友:

相关文章

css简单php制作

css简单php制作

CSS 与 PHP 结合的基础方法 CSS 用于样式设计,PHP 用于服务器端逻辑处理。两者结合可以创建动态样式的网页。以下是一些基本方法: 内联样式结合 PHP 在 HTML 标签中直接使用 PH…

php实现简单留言板

php实现简单留言板

创建数据库表结构 使用MySQL创建一个名为messages的表,包含id、name、email、content和created_at字段: CREATE TABLE messages (…

php简单实现

php简单实现

PHP 简单实现 PHP 是一种广泛使用的服务器端脚本语言,适合快速开发动态网页。以下是一些基础功能的简单实现示例。 基础语法 PHP 代码通常嵌入在 HTML 中,以 <?php 开始,以…

js简单的实现继承

js简单的实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js留言板实现显示时间

js留言板实现显示时间

实现留言板显示时间的方法 在JavaScript留言板中显示时间,可以通过以下方式实现: 获取当前时间 const currentTime = new Date(); 格式化时间显示 funct…

uniapp简单项目

uniapp简单项目

uniapp 简单项目创建步骤 确保已安装 HBuilderX(官方推荐的开发工具)和 Node.js 环境。HBuilderX 提供了一键创建项目的功能,简化了初始化流程。 打开 HBuilder…