当前位置:首页 > PHP

php 实现评论

2026-04-02 22:10:03PHP

PHP 实现评论功能

评论功能是网站常见的交互模块,可以通过PHP结合数据库实现。以下是一个基础的实现方案:

数据库设计

需要创建评论表存储数据,基本字段包括:

php 实现评论

  • id:主键,自增
  • content:评论内容
  • user_id:用户ID
  • article_id:关联文章ID
  • created_at:创建时间

SQL创建语句示例:

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

评论表单

前端HTML表单示例:

php 实现评论

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

处理提交

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

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');

// 获取表单数据
$content = $_POST['content'];
$article_id = $_POST['article_id'];
$user_id = $_SESSION['user_id']; // 假设用户已登录

// 插入数据库
$stmt = $db->prepare("INSERT INTO comments (content, user_id, article_id) VALUES (?, ?, ?)");
$stmt->execute([$content, $user_id, $article_id]);

// 重定向回文章页
header("Location: article.php?id=$article_id");
?>

显示评论

在文章页显示评论:

<?php
// 获取文章ID
$article_id = $_GET['id'];

// 查询评论
$stmt = $db->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>发布于 ' . $comment['created_at'] . '</small>';
    echo '</div>';
}
?>

安全注意事项

  1. 使用预处理语句防止SQL注入
  2. 输出内容时使用htmlspecialchars()防止XSS攻击
  3. 对用户权限进行验证
  4. 实现CSRF防护

扩展功能

  1. 评论回复功能:添加parent_id字段实现嵌套评论
  2. 评论审核:添加status字段管理评论状态
  3. 富文本编辑:集成编辑器如TinyMCE
  4. 分页显示:实现评论分页加载

以上实现提供了基础评论功能的核心代码,可根据实际需求进行扩展和优化。

标签: php
分享给朋友:

相关文章

php实现上传

php实现上传

PHP 文件上传实现 HTML 表单设置 创建一个包含文件上传字段的 HTML 表单,确保表单的 enctype 属性设置为 multipart/form-data,这是文件上传必需的设置。 <…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php实现异步

php实现异步

PHP 实现异步的方法 PHP 本身是同步执行的脚本语言,但可以通过以下方法模拟异步操作或实现异步效果: 使用多进程(pcntl_fork) 通过 pcntl_fork 创建子进程实现异步,适用于…

php实现聊天

php实现聊天

实现 PHP 聊天功能的方法 使用 WebSocket 和 PHP 实现实时聊天 WebSocket 是一种全双工通信协议,适合实现实时聊天功能。PHP 可以通过 Ratchet 库实现 WebSo…

php 实现队列

php 实现队列

PHP 实现队列的方法 PHP 可以通过多种方式实现队列功能,以下是几种常见的实现方法: 使用数组实现队列 PHP 数组可以通过 array_push 和 array_shift 函数模拟队列的先进…

php实现扫码登录

php实现扫码登录

PHP 实现扫码登录的方案 扫码登录通常基于以下流程:用户访问网页生成二维码(含唯一标识),手机扫码后确认登录,服务器验证并完成登录状态同步。以下是具体实现方法: 生成二维码与唯一标识 使用 PHP…