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

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);

实现删除功能:

php实现新闻发布系统

$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");

文件上传

允许上传新闻相关图片:

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以获得更好的安全性和可移植性,并考虑实现用户认证系统来控制发布权限。

分享给朋友:

相关文章

vue js 实现新闻列表

vue js 实现新闻列表

实现新闻列表的步骤 创建Vue项目 使用Vue CLI或Vite创建一个新的Vue项目。确保已安装Node.js和npm/yarn。 npm init vue@latest news-list cd…

用vue实现新闻更新

用vue实现新闻更新

使用Vue实现新闻更新功能 搭建基础结构 安装Vue和相关依赖,创建项目结构。使用Vue CLI快速初始化项目: vue create news-app cd news-app npm instal…

css新闻制作

css新闻制作

CSS新闻制作方法 使用CSS制作新闻页面需要结合HTML结构和样式设计。以下是一些关键方法和技巧: 新闻列表布局 新闻列表通常采用无序列表<ul>或<div>容器实现。C…

css新闻列表制作

css新闻列表制作

CSS新闻列表制作 新闻列表是网页中常见的元素,通过CSS可以轻松实现美观的排版效果。以下是几种常见的新闻列表制作方法: 基础新闻列表样式 使用无序列表 <ul> 和 <li…

php实现新闻发布系统

php实现新闻发布系统

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

php实现新闻

php实现新闻

PHP实现新闻系统的方法 使用PHP构建新闻系统需要结合数据库、前端展示和管理后台。以下是关键实现步骤: 数据库设计 创建新闻数据表,基本字段应包括: CREATE TABLE news (…