当前位置:首页 > 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实现新闻编辑页

vue实现新闻编辑页

Vue 新闻编辑页实现步骤 基础项目搭建 使用 Vue CLI 或 Vite 创建项目,安装必要依赖: npm install vue-router axios quill 路由配置 在 route…

vue实现新闻导航栏

vue实现新闻导航栏

Vue实现新闻导航栏 使用Vue实现新闻导航栏可以通过组件化开发方式,结合路由和动态数据绑定完成。以下是具体实现方法: 基础结构搭建 创建Vue组件NewsNav.vue,包含导航栏HTML结构和…

css制作新闻

css制作新闻

使用CSS制作新闻页面 新闻页面的CSS设计需要注重可读性、布局清晰和响应式适配。以下是关键步骤和代码示例: 基础布局结构 新闻页通常采用多栏布局,主内容区宽度较大,侧边栏可放置次要信息。使用Fle…

js实现新闻

js实现新闻

JavaScript 实现新闻功能 获取新闻数据 使用 fetch 或 axios 从 API 获取新闻数据。例如: fetch('https://newsapi.org/v2/top-headli…

js实现新闻列表

js实现新闻列表

实现新闻列表的JavaScript方法 新闻列表的实现通常需要结合HTML、CSS和JavaScript,以下是一个完整的实现方案。 基本HTML结构 创建一个简单的HTML结构来承载新闻列表:…

css新闻列表制作

css新闻列表制作

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