一个简单的php博客

发布于:2025-02-10 ⋅ 阅读:(20) ⋅ 点赞:(0)

一个简单的 PHP 博客的示例代码:

收起

php

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "blog_db";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: ". $conn->connect_error);
}

// 查询文章
$sql = "SELECT id, title, content, created_at FROM articles ORDER BY created_at DESC";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "<h2>".$row["title"]."</h2>";
        echo "<p>".$row["content"]."</p>";
        echo "<small>发布于: ".$row["created_at"]."</small><br><br>";
    }
} else {
    echo "没有文章";
}

// 关闭连接
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的博客</title>
</head>
<body>
    <h1>欢迎来到我的博客</h1>
    <!-- 显示文章 -->
    <?php echo $articles;?>
    <hr>
    <h2>发布新文章</h2>
    <form action="post_article.php" method="post">
        <label for="title">标题:</label><br>
        <input type="text" id="title" name="title"><br>
        <label for="content">内容:</label><br>
        <textarea id="content" name="content"></textarea><br><br>
        <input type="submit" value="发布">
    </form>
</body>
</html>

代码解释:

  1. 数据库连接
    • 首先,使用 mysqli 类建立与数据库的连接。这里假定数据库服务器是 localhost,用户名为 root,密码为空,数据库名为 blog_db。你可以根据实际情况修改这些信息。
    • 检查连接是否成功,如果失败,使用 die() 函数终止脚本并输出错误信息。
  2. 查询文章
    • 使用 SELECT 语句从 articles 表中查询文章,按 created_at 字段降序排列。
    • 使用 query() 方法执行 SQL 语句,并将结果存储在 result 中。
    • 如果结果集中有数据,使用 fetch_assoc() 方法逐行读取,并将文章的标题、内容和创建时间输出到页面。
    • 如果结果集没有数据,输出 “没有文章”。
  3. 页面显示
    • 输出 HTML 页面的基本结构,包括页面标题、欢迎信息等。
    • 显示查询到的文章,通过 <?php echo $articles;?> 输出文章内容。
    • 包含一个表单,用户可以输入标题和内容,通过 post_article.php 提交新文章。

你需要创建一个 post_article.php 文件来处理文章的发布,以下是一个简单的示例:

收起

php

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "blog_db";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: ". $conn->connect_error);
}

// 获取用户输入
$title = $_POST["title"];
$content = $_POST["content"];
$created_at = date("Y-m-d H:i:s");

// 插入文章
$sql = "INSERT INTO articles (title, content, created_at) VALUES ('$title', '$content', '$created_at')";
if ($conn->query($sql) === TRUE) {
    echo "文章发布成功";
} else {
    echo "Error: ". $sql. "<br>". $conn->error;
}

// 关闭连接
$conn->close();
?>

代码解释:

  1. 数据库连接
    • 同样,先建立与数据库的连接,使用与上面相同的数据库配置。
  2. 获取用户输入
    • 通过 $_POST 超全局变量获取用户在表单中输入的标题和内容,并使用 date() 函数获取当前时间作为文章的创建时间。
  3. 插入文章
    • 使用 INSERT INTO 语句将用户输入的文章信息插入到 articles 表中。
    • 如果插入成功,输出 “文章发布成功”,否则输出错误信息。

请注意,以上代码只是一个简单的示例,在实际应用中,你需要考虑更多的安全因素,如防止 SQL 注入(使用预处理语句)、数据验证、用户认证和授权等。同时,代码结构也可以进一步优化,例如使用面向对象的编程风格、将数据库操作封装到类中,以提高代码的可维护性和可扩展性。

为了让这个博客运行,你需要:

  1. 确保你已经安装了 PHP 和 MySQL。
  2. 创建一个名为 blog_db 的数据库,并在其中创建一个名为 articles 的表,表结构可以如下:

收起

sql

CREATE TABLE articles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

  1. 将上述的 PHP 文件保存并部署到你的 PHP 服务器上。

这样,一个简单的 PHP 博客就可以开始运行了,用户可以查看已有的文章,并通过表单发布新的文章。随着学习的深入,你可以添加更多的功能,如文章编辑、删除、分类、评论等。