当前位置:首页 > PHP

php评论功能怎么实现

2026-02-14 04:58:51PHP

数据库设计

创建评论表存储评论数据,基本字段包括评论ID、用户ID、内容、创建时间、关联文章ID等。使用MySQL示例:

CREATE TABLE comments (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    article_id INT NOT NULL,
    FOREIGN KEY (article_id) REFERENCES articles(id)
);

前端表单

HTML表单用于提交评论内容,需包含内容输入框和提交按钮:

<form action="submit_comment.php" method="post">
    <textarea name="content" required></textarea>
    <input type="hidden" name="article_id" value="<?php echo $article_id; ?>">
    <button type="submit">提交评论</button>
</form>

后端处理

创建PHP脚本处理表单提交,验证数据并存入数据库:

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

    $stmt = $pdo->prepare("INSERT INTO comments (user_id, content, article_id) VALUES (?, ?, ?)");
    $stmt->execute([$_SESSION['user_id'], $content, $article_id]);

    header("Location: article.php?id=$article_id");
    exit;
}
?>

显示评论

从数据库查询评论并显示在页面上:

<?php
$stmt = $pdo->prepare("SELECT * FROM comments WHERE article_id = ? ORDER BY created_at DESC");
$stmt->execute([$article_id]);
$comments = $stmt->fetchAll();

foreach ($comments as $comment) {
    echo '<div class="comment">';
    echo '<p>' . htmlspecialchars($comment['content']) . '</p>';
    echo '<small>Posted on ' . $comment['created_at'] . '</small>';
    echo '</div>';
}
?>

安全措施

防止SQL注入和XSS攻击:

  • 使用预处理语句处理数据库查询
  • 对用户输入使用htmlspecialchars()转义
  • 验证用户权限和输入数据

扩展功能

实现回复功能可添加parent_id字段标识父评论:

ALTER TABLE comments ADD parent_id INT DEFAULT NULL;

前端增加回复按钮并传递父评论ID:

php评论功能怎么实现

function replyTo(commentId) {
    document.getElementById('parent_id').value = commentId;
}

标签: 功能php
分享给朋友:

相关文章

php实现验证码

php实现验证码

PHP实现验证码的方法 使用GD库生成验证码 GD库是PHP中处理图像的扩展,可用于生成验证码图片。 <?php session_start(); $width = 120; $height…

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE…

php实现留言板功能

php实现留言板功能

PHP 留言板功能实现 数据库设计 创建数据库表 messages,包含以下字段: id:自增主键 name:留言者姓名(VARCHAR) email:留言者邮箱(VARCHAR) content:…

原生实现vue功能

原生实现vue功能

原生 JavaScript 实现 Vue 核心功能 使用原生 JavaScript 模拟 Vue 的核心功能(如数据绑定、虚拟 DOM、响应式更新等),可以通过以下方式实现: 数据响应式系统 通过…

php实现博客

php实现博客

使用PHP实现博客系统 数据库设计 创建数据库表存储博客文章和用户信息。常见的表包括posts(文章)和users(用户)。 CREATE TABLE users ( id INT AUTO…

php 实现下载

php 实现下载

PHP 实现文件下载的方法 使用 PHP 实现文件下载可以通过设置 HTTP 头信息,强制浏览器将文件作为附件下载而非直接打开。 基本下载实现 $file_path = 'path/to/your/…