当前位置:首页 > PHP

php实现简单留言板

2026-02-14 04:33:08PHP

创建数据库表

留言板需要一个数据库表存储留言信息,通常包含字段如id、用户名、留言内容、留言时间等。以下为MySQL创建表的SQL语句:

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

连接数据库

使用PDO连接MySQL数据库,确保在PHP中配置正确的数据库信息:

$host = 'localhost';
$dbname = 'message_board';
$username = 'root';
$password = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("数据库连接失败: " . $e->getMessage());
}

提交留言功能

创建一个HTML表单用于提交留言,后端处理表单数据并存入数据库:

php实现简单留言板

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

    $stmt = $pdo->prepare("INSERT INTO messages (username, content) VALUES (?, ?)");
    $stmt->execute([$username, $content]);
}

显示留言列表

从数据库中查询留言并按时间倒序显示:

$stmt = $pdo->query("SELECT * FROM messages ORDER BY created_at DESC");
$messages = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($messages as $message) {
    echo "<div class='message'>";
    echo "<h3>" . htmlspecialchars($message['username']) . "</h3>";
    echo "<p>" . nl2br(htmlspecialchars($message['content'])) . "</p>";
    echo "<small>" . $message['created_at'] . "</small>";
    echo "</div>";
}

前端界面

简单的HTML表单和CSS样式可以提升用户体验:

php实现简单留言板

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

<style>
    .message {
        border: 1px solid #ddd;
        padding: 10px;
        margin-bottom: 10px;
    }
    textarea {
        width: 100%;
        height: 100px;
    }
</style>

安全增强

对输入数据进行过滤和转义,防止XSS攻击。使用预处理语句防止SQL注入。可以添加验证码防止垃圾留言。

// 示例:简单的长度验证
if (strlen($content) > 500) {
    die("留言内容过长");
}

分页功能

当留言数量较多时,添加分页功能:

$perPage = 5;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $perPage;

$stmt = $pdo->prepare("SELECT * FROM messages ORDER BY created_at DESC LIMIT ? OFFSET ?");
$stmt->bindValue(1, $perPage, PDO::PARAM_INT);
$stmt->bindValue(2, $offset, PDO::PARAM_INT);
$stmt->execute();

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

相关文章

实现简单的vue

实现简单的vue

创建Vue项目 使用Vue CLI快速初始化项目,确保已安装Node.js和npm/yarn: npm install -g @vue/cli vue create my-vue-app cd my…

vue实现简单对话

vue实现简单对话

Vue实现简单对话功能 数据绑定与列表渲染 使用Vue的v-for指令渲染对话列表,结合v-model实现输入框双向绑定: <template> <div> &l…

简单css制作

简单css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; } 例如: p { color: blue; font-siz…

css简单php制作

css简单php制作

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

简单css特效制作

简单css特效制作

CSS 文字阴影效果 为文字添加阴影效果可以通过 text-shadow 属性实现。该属性接受水平偏移、垂直偏移、模糊半径和颜色值。 .text-shadow { text-shadow: 2p…

留言板实现php

留言板实现php

留言板实现(PHP) 使用PHP实现一个简单的留言板功能,包含留言发布、显示和存储功能。以下是核心实现步骤和代码示例。 数据库准备 创建一个MySQL数据库表用于存储留言信息: CREATE TA…