当前位置:首页 > PHP

PHP实现小项目

2026-02-16 04:57:33PHP

以下是一个简单的PHP小项目实现方案,以创建一个留言板系统为例:

环境准备

确保已安装PHP环境(如XAMPP/WAMP/MAMP)和MySQL数据库。项目目录结构建议:

/project
  /includes
    config.php
    functions.php
  /templates
    header.php
    footer.php
  index.php
  add_message.php

数据库配置

config.php中设置数据库连接:

<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'message_board');
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

创建数据表

执行SQL创建留言表:

PHP实现小项目

CREATE TABLE messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100),
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

核心功能实现

functions.php中添加基础功能:

function getAllMessages() {
    global $conn;
    $sql = "SELECT * FROM messages ORDER BY created_at DESC";
    $result = $conn->query($sql);
    return $result->fetch_all(MYSQLI_ASSOC);
}

function addMessage($name, $email, $content) {
    global $conn;
    $stmt = $conn->prepare("INSERT INTO messages (name, email, content) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $name, $email, $content);
    return $stmt->execute();
}

页面模板

header.php基础模板:

PHP实现小项目

<!DOCTYPE html>
<html>
<head>
    <title>PHP留言板</title>
    <style>
        body { font-family: Arial; max-width: 800px; margin: 0 auto; }
        .message { border-bottom: 1px solid #eee; padding: 10px; }
    </style>
</head>
<body>
<h1>留言板</h1>

主页面展示

index.php显示留言列表:

<?php
require_once 'includes/config.php';
require_once 'includes/functions.php';
require_once 'templates/header.php';

$messages = getAllMessages();
foreach ($messages as $message) {
    echo "<div class='message'>";
    echo "<h3>{$message['name']}</h3>";
    echo "<p>{$message['content']}</p>";
    echo "<small>{$message['created_at']}</small>";
    echo "</div>";
}

require_once 'templates/footer.php';
?>

添加留言功能

add_message.php处理表单提交:

<?php
require_once 'includes/config.php';
require_once 'includes/functions.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name = htmlspecialchars($_POST['name']);
    $email = htmlspecialchars($_POST['email']);
    $content = htmlspecialchars($_POST['content']);

    if (addMessage($name, $email, $content)) {
        header("Location: index.php");
    } else {
        echo "留言提交失败";
    }
}

require_once 'templates/header.php';
?>
<form method="POST" action="add_message.php">
    <input type="text" name="name" placeholder="姓名" required>
    <input type="email" name="email" placeholder="邮箱">
    <textarea name="content" placeholder="留言内容" required></textarea>
    <button type="submit">提交</button>
</form>
<?php require_once 'templates/footer.php'; ?>

安全增强

config.php中添加基础安全防护:

// 防止XSS攻击
function sanitizeInput($data) {
    return htmlspecialchars(strip_tags(trim($data)));
}

// 防止SQL注入
function prepareQuery($sql, $params = []) {
    global $conn;
    $stmt = $conn->prepare($sql);
    if (!empty($params)) {
        $types = str_repeat('s', count($params));
        $stmt->bind_param($types, ...$params);
    }
    return $stmt;
}

这个项目包含了PHP开发的基本要素:数据库操作、表单处理、模板分离和安全防护。可根据需求扩展用户认证、分页功能或富文本编辑等特性。

标签: 项目PHP
分享给朋友:

相关文章

java如何创建项目

java如何创建项目

使用IDE创建Java项目(以IntelliJ IDEA为例) 打开IntelliJ IDEA,选择“New Project”。 在左侧菜单中选择“Java”,确保已配置JDK(若无需手动添加)。 勾…

如何导入java项目

如何导入java项目

导入Java项目的方法 使用IDE导入(如IntelliJ IDEA或Eclipse) 打开IDE后选择导入现有项目,导航至项目根目录(包含pom.xml或build.gradle的文件位置)。IDE…

vue项目实现方法

vue项目实现方法

Vue 项目实现方法 初始化项目 使用 Vue CLI 或 Vite 创建项目。Vue CLI 适合传统项目,Vite 适合现代轻量级项目。安装依赖后,通过命令行工具运行开发服务器。 # Vue C…

vue项目实现登录

vue项目实现登录

实现登录功能的基本流程 在Vue项目中实现登录功能通常需要结合前端和后端的协作。前端负责收集用户输入、发送请求并处理响应,后端负责验证用户信息并返回认证结果。 前端登录表单设计 创建一个登录表单组…

vue实现论坛项目教程

vue实现论坛项目教程

Vue 实现论坛项目教程 项目初始化 使用 Vue CLI 创建项目,安装必要依赖。推荐选择 Vue 3 和 Vue Router 作为基础模板。 命令示例: npm install -g @v…

vue实现项目的渲染

vue实现项目的渲染

Vue 项目渲染的实现方式 Vue.js 提供了多种渲染项目的方式,包括客户端渲染(CSR)、服务端渲染(SSR)和静态站点生成(SSG)。以下是常见的实现方法: 客户端渲染(CSR) Vue 的…