当前位置:首页 > PHP

php实现发帖

2026-02-27 15:20:28PHP

PHP 实现发帖功能

数据库准备

创建数据库表存储帖子信息,例如:

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

表单设计

创建发帖表单页面(post_form.php):

<form action="submit_post.php" method="post">
    <input type="text" name="title" placeholder="标题" required>
    <textarea name="content" placeholder="内容" required></textarea>
    <button type="submit">发布</button>
</form>

处理提交

创建处理提交的PHP文件(submit_post.php):

php实现发帖

<?php
// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database_name');

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

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

// 防止SQL注入
$title = $conn->real_escape_string($title);
$content = $conn->real_escape_string($content);

// 插入数据
$sql = "INSERT INTO posts (title, content) VALUES ('$title', '$content')";

if ($conn->query($sql) === TRUE) {
    echo "发帖成功";
} else {
    echo "错误: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

显示帖子

创建显示帖子的页面(view_posts.php):

<?php
$conn = new mysqli('localhost', 'username', 'password', 'database_name');

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

$sql = "SELECT * FROM posts ORDER BY created_at DESC";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<h3>" . htmlspecialchars($row['title']) . "</h3>";
        echo "<p>" . nl2br(htmlspecialchars($row['content'])) . "</p>";
        echo "<small>" . $row['created_at'] . "</small><hr>";
    }
} else {
    echo "暂无帖子";
}

$conn->close();
?>

安全增强

php实现发帖

使用预处理语句防止SQL注入:

$stmt = $conn->prepare("INSERT INTO posts (title, content) VALUES (?, ?)");
$stmt->bind_param("ss", $title, $content);
$stmt->execute();

文件上传

如需支持图片上传:

<form enctype="multipart/form-data">
    <input type="file" name="image">
</form>

PHP处理上传:

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

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

相关文章

vue发帖实现

vue发帖实现

Vue 发帖功能实现 在 Vue 中实现发帖功能通常涉及前端表单处理、数据提交和后端 API 交互。以下是关键步骤: 表单设计与数据绑定 使用 Vue 的 v-model 实现表单数据双向绑定,确保…

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE ord…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素(不移除…

php验证码的实现

php验证码的实现

PHP 验证码实现方法 使用 GD 库生成基础验证码 创建画布并生成随机字符串作为验证码内容: session_start(); $width = 120; $height = 40; $image…

php实现跳转

php实现跳转

PHP 实现页面跳转的方法 在 PHP 中实现页面跳转有多种方式,以下是常见的几种方法及其适用场景: 使用 header() 函数 通过 header() 函数发送 HTTP 头部信息实现跳转。注意…

php实现静态

php实现静态

静态化实现方法 PHP实现静态化主要通过生成HTML文件或缓存机制来减少服务器动态解析的开销。以下是几种常见方法: 生成静态HTML文件 通过file_put_contents()将动态内容保存为H…