当前位置:首页 > 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 函数实现基础 PHP 函数的定义使用 function 关键字,后跟函数名和参数列表。函数名不区分大小写,但建议保持一致。 function functionName($param1, $p…

php 实现跳转

php 实现跳转

PHP 实现页面跳转的方法 在PHP中,实现页面跳转可以通过多种方式完成,以下是几种常用的方法: 使用header函数 header函数是PHP中最常用的跳转方法,通过发送HTTP头部信息实现跳转。…

vue实现粘贴功能

vue实现粘贴功能

实现粘贴功能的基本方法 在Vue中实现粘贴功能通常涉及监听paste事件,并处理剪贴板数据。以下是一个基础实现示例: <template> <div @paste="handl…

php https实现

php https实现

PHP 中实现 HTTPS 的方法 在 PHP 中实现 HTTPS 主要通过配置服务器和编写代码来确保通信的安全性。以下是几种常见的方法: 配置服务器支持 HTTPS 确保服务器已安装 SSL/T…

php实现评论功能

php实现评论功能

数据库设计 创建评论表(示例结构): CREATE TABLE `comments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id`…

php 实现排名

php 实现排名

PHP 实现排名的方法 在 PHP 中实现排名功能通常涉及对数据进行排序、计算排名以及输出结果。以下是几种常见的实现方式: 基本数组排序排名 $scores = [85, 92, 78, 95, 8…