当前位置:首页 > PHP

php实现新闻发布系统

2026-02-13 18:02:04PHP

PHP实现新闻发布系统的基本步骤

使用PHP和MySQL可以构建一个基础的新闻发布系统。以下为关键实现步骤:

数据库设计

创建数据库表存储新闻数据,基本字段包括:

CREATE TABLE news (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    author VARCHAR(100),
    publish_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    category VARCHAR(50)
);

数据库连接

建立PHP与MySQL的连接:

$conn = new mysqli('localhost', 'username', 'password', 'news_db');
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

新闻发布功能

创建表单提交新闻内容:

<form action="publish_news.php" method="post">
    <input type="text" name="title" placeholder="新闻标题">
    <textarea name="content" placeholder="新闻内容"></textarea>
    <input type="text" name="author" placeholder="作者">
    <select name="category">
        <option value="政治">政治</option>
        <option value="经济">经济</option>
    </select>
    <button type="submit">发布</button>
</form>

处理提交的PHP脚本:

$title = $_POST['title'];
$content = $_POST['content'];
$author = $_POST['author'];
$category = $_POST['category'];

$stmt = $conn->prepare("INSERT INTO news (title, content, author, category) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $title, $content, $author, $category);
$stmt->execute();

新闻展示功能

从数据库获取新闻并显示:

$result = $conn->query("SELECT * FROM news ORDER BY publish_date DESC");
while($row = $result->fetch_assoc()) {
    echo "<h3>".$row['title']."</h3>";
    echo "<p>".$row['content']."</p>";
    echo "<small>作者: ".$row['author']." 发布于: ".$row['publish_date']."</small>";
}

新闻编辑和删除

实现编辑功能:

// 更新新闻
$stmt = $conn->prepare("UPDATE news SET title=?, content=?, author=?, category=? WHERE id=?");
$stmt->bind_param("ssssi", $newTitle, $newContent, $newAuthor, $newCategory, $id);

实现删除功能:

$stmt = $conn->prepare("DELETE FROM news WHERE id=?");
$stmt->bind_param("i", $id);
$stmt->execute();

安全措施

添加基本安全防护:

// 防止SQL注入
$title = $conn->real_escape_string($_POST['title']);
// 防止XSS
echo htmlspecialchars($row['content'], ENT_QUOTES, 'UTF-8');

分页功能

实现新闻列表分页:

$per_page = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$start = ($page - 1) * $per_page;
$result = $conn->query("SELECT * FROM news ORDER BY publish_date DESC LIMIT $start, $per_page");

文件上传

允许上传新闻相关图片:

php实现新闻发布系统

if(isset($_FILES['image'])) {
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["image"]["name"]);
    move_uploaded_file($_FILES["image"]["tmp_name"], $target_file);
}

以上代码提供了新闻发布系统的基本框架,可根据实际需求进行扩展和完善。建议使用PDO代替mysqli以获得更好的安全性和可移植性,并考虑实现用户认证系统来控制发布权限。

分享给朋友:

相关文章

css制作新闻内容

css制作新闻内容

使用CSS制作新闻内容 新闻内容的CSS设计需要考虑排版清晰、可读性强以及视觉层次分明。以下是一些关键方法和样式示例: 布局与容器样式 设置新闻容器的宽度、边距和背景色,确保内容居中且易于阅读:…

php实现新闻发布系统

php实现新闻发布系统

PHP 新闻发布系统实现要点 数据库设计 创建 news 表,字段建议包含: id(主键,自增) title(新闻标题,VARCHAR) content(新闻内容,TEXT) aut…

uniapp新闻系统

uniapp新闻系统

开发UniApp新闻系统的基本步骤 项目初始化 使用HBuilderX创建UniApp项目,选择适合的模板。确保开发环境配置正确,包括Node.js和npm的安装。 页面结构设计 创建新闻列表页、新…

vue实现新闻

vue实现新闻

Vue实现新闻功能 使用Vue框架实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等核心模块。以下是具体实现方案: 新闻列表组件 创建NewsList.vue组件展示新闻列表: <te…

css新闻列表制作

css新闻列表制作

CSS新闻列表制作方法 使用无序列表 <ul> 和 <li> 标签创建新闻列表的基本结构,通过CSS控制样式和布局。 <ul class="news-list">…

php实现新闻

php实现新闻

PHP实现新闻系统的核心步骤 数据库设计 创建新闻表(news)包含字段:id(主键)、title(标题)、content(内容)、author(作者)、publish_time(发布时间)、cate…