当前位置:首页 > PHP

php实现文章审核

2026-02-16 12:37:29PHP

PHP实现文章审核的方法

实现文章审核功能通常需要结合数据库操作、文本过滤和权限管理。以下是几种常见的实现方式:

数据库设计

在数据库中创建文章表时,添加审核状态字段:

CREATE TABLE articles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255),
    content TEXT,
    status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

提交文章时设置状态

用户提交文章时,默认设置为待审核状态:

$stmt = $pdo->prepare("INSERT INTO articles (title, content, status) VALUES (?, ?, 'pending')");
$stmt->execute([$title, $content]);

审核后台实现

创建管理员审核界面,列出待审核文章:

$pendingArticles = $pdo->query("SELECT * FROM articles WHERE status = 'pending'")->fetchAll();

审核操作处理

处理通过或拒绝操作:

if (isset($_POST['approve'])) {
    $stmt = $pdo->prepare("UPDATE articles SET status = 'approved' WHERE id = ?");
    $stmt->execute([$_POST['article_id']]);
}

if (isset($_POST['reject'])) {
    $stmt = $pdo->prepare("UPDATE articles SET status = 'rejected' WHERE id = ?");
    $stmt->execute([$_POST['article_id']]);
}

前端展示控制

根据审核状态显示不同内容:

$article = $pdo->query("SELECT * FROM articles WHERE id = $id")->fetch();
if ($article['status'] != 'approved' && !$isAdmin) {
    die('文章正在审核中');
}

敏感词过滤

在提交时进行敏感词检测:

$forbiddenWords = ['敏感词1', '敏感词2'];
foreach ($forbiddenWords as $word) {
    if (strpos($content, $word) !== false) {
        die('内容包含敏感词');
    }
}

自动审核规则

可以设置一些自动通过规则:

if (strlen($content) > 100 && !containsLinks($content)) {
    $status = 'approved';
} else {
    $status = 'pending';
}

审核日志记录

记录审核操作:

php实现文章审核

$pdo->prepare("INSERT INTO audit_logs (user_id, article_id, action, created_at) VALUES (?, ?, ?, NOW())")
    ->execute([$_SESSION['user_id'], $articleId, $action]);

这些方法可以单独使用或组合使用,根据实际需求调整审核流程的严格程度。

标签: 文章php
分享给朋友:

相关文章

php实现分类

php实现分类

PHP实现分类的方法 数据库设计 创建分类表时,通常需要包含id、名称、父级id等字段。父级id用于实现多级分类结构。 CREATE TABLE categories ( id INT AU…

php mvc实现

php mvc实现

PHP MVC 实现步骤 模型(Model)层 模型负责数据处理和业务逻辑,通常与数据库交互。创建一个基类模型,其他具体模型继承它。 class Model { protected $db;…

php实现https

php实现https

PHP 实现 HTTPS 请求 在 PHP 中实现 HTTPS 请求,可以通过多种方式完成,包括使用内置函数、cURL 扩展或第三方库。以下是几种常见的方法: 使用 file_get_content…

php 实现面包屑导航

php 实现面包屑导航

实现面包屑导航的方法 面包屑导航(Breadcrumb Navigation)是一种常见的网站导航方式,用于显示用户当前页面的路径。以下是几种在 PHP 中实现面包屑导航的方法。 基于 URL 路径…

php数据库实现

php数据库实现

PHP 连接 MySQL 数据库 使用 mysqli 扩展连接 MySQL 数据库: <?php $servername = "localhost"; $username = "usernam…

php 链表实现

php 链表实现

在 PHP 中实现链表可以通过类来模拟链表节点(Node)和链表(LinkedList)结构。以下是链表的完整实现示例,包含基础操作如插入、删除、遍历等。 链表节点类(Node) 链表的基本单元是节…