当前位置:首页 > PHP

php实现发帖

2026-02-13 16:35:05PHP

PHP 实现发帖功能

数据库表设计

创建名为 posts 的表,包含以下字段:

  • id:主键,自增
  • title:帖子标题,VARCHAR 类型
  • content:帖子内容,TEXT 类型
  • created_at:发帖时间,TIMESTAMP 类型

SQL 语句示例:

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

创建发帖表单

HTML 表单代码示例:

<form action="submit_post.php" method="post">
    <label for="title">标题:</label>
    <input type="text" id="title" name="title" required>

    <label for="content">内容:</label>
    <textarea id="content" name="content" required></textarea>

    <button type="submit">发布</button>
</form>

处理表单提交

PHP 处理代码 (submit_post.php):

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');

// 获取表单数据
$title = $_POST['title'];
$content = $_POST['content'];

// 插入数据到数据库
$stmt = $db->prepare("INSERT INTO posts (title, content) VALUES (:title, :content)");
$stmt->bindParam(':title', $title);
$stmt->bindParam(':content', $content);
$stmt->execute();

// 重定向到帖子列表页
header('Location: posts.php');
exit;
?>

显示帖子列表

PHP 显示代码 (posts.php):

php实现发帖

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');

// 查询所有帖子
$stmt = $db->query("SELECT * FROM posts ORDER BY created_at DESC");
$posts = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

<!DOCTYPE html>
<html>
<head>
    <title>帖子列表</title>
</head>
<body>
    <h1>帖子列表</h1>
    <a href="new_post.php">新建帖子</a>

    <?php foreach ($posts as $post): ?>
        <div class="post">
            <h2><?php echo htmlspecialchars($post['title']); ?></h2>
            <p><?php echo nl2br(htmlspecialchars($post['content'])); ?></p>
            <small><?php echo $post['created_at']; ?></small>
        </div>
    <?php endforeach; ?>
</body>
</html>

安全注意事项

  • 使用预处理语句防止 SQL 注入
  • 对输出内容使用 htmlspecialchars() 防止 XSS 攻击
  • 对多行文本使用 nl2br() 保持换行格式
  • 设置数据库连接字符集为 UTF-8

扩展功能建议

  • 添加用户认证系统
  • 实现帖子分类功能
  • 添加图片上传功能
  • 实现帖子编辑和删除功能

标签: 发帖php
分享给朋友:

相关文章

php实现搜索功能

php实现搜索功能

实现基本的搜索功能 在PHP中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('loc…

php实现websocket

php实现websocket

PHP 实现 WebSocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过多种方式实现 WebSocket 功能,以下是几种常见的方法: 使用 Ratc…

php 实现验证码

php 实现验证码

使用 PHP 生成验证码 验证码(CAPTCHA)用于防止自动化脚本提交表单,以下是几种常见的 PHP 实现方法。 使用 GD 库生成图片验证码 GD 库是 PHP 的图像处理扩展,可用于生成验证码…

php 函数实现

php 函数实现

PHP 函数实现基础 PHP 函数的定义使用 function 关键字,后跟函数名和参数列表。函数名不区分大小写,但建议保持一致。 function functionName($param1, $p…

php实现推送消息推送消息

php实现推送消息推送消息

PHP 实现消息推送的方法 使用 WebSocket 实现实时推送 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,适合实现实时消息推送。 安装 Ratchet 库(WebSo…

php 实现路由

php 实现路由

PHP 实现路由的方法 在 PHP 中实现路由功能可以通过多种方式完成,以下是几种常见的实现方法: 使用原生 PHP 实现简单路由 通过解析 URL 并匹配对应的处理逻辑,可以实现基本的路由功能。以…