当前位置:首页 > 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:

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

php评论功能怎么实现

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

相关文章

vue实现考试多选功能

vue实现考试多选功能

Vue实现考试多选功能 数据绑定与选项渲染 使用v-model绑定用户选择的答案数组,结合v-for循环渲染选项列表。示例代码: <template> <div>…

php实现打印功能

php实现打印功能

PHP 实现打印功能的方法 PHP 可以通过多种方式实现打印功能,具体取决于打印的目标(如打印机、PDF、网页等)和需求(如直接打印、生成打印预览等)。以下是几种常见的实现方式: 使用 JavaSc…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

php记住密码怎么实现

php记住密码怎么实现

使用Cookie实现记住密码功能 在PHP中,可以通过设置Cookie来记住用户的登录状态。以下是一个简单的实现方式: // 用户登录验证成功后 if ($login_success) {…

uniapp实现选项卡功能

uniapp实现选项卡功能

实现选项卡功能的基本方法 在uniapp中实现选项卡功能通常需要使用uni-segmented-control组件或自定义样式结合swiper组件。以下是两种常见实现方式: 使用uni-se…

vue实现收货功能

vue实现收货功能

实现收货功能的基本思路 在Vue中实现收货功能通常涉及前端界面交互、后端API调用以及状态管理。以下是关键步骤和代码示例: 页面布局与数据绑定 使用Vue的模板语法构建收货表单,包含收货人、联系方…