当前位置:首页 > 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创建留言表:

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基础模板:

<!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中添加基础安全防护:

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
分享给朋友:

相关文章

idea如何创建java项目

idea如何创建java项目

创建Java项目步骤 打开IntelliJ IDEA,点击欢迎界面上的"New Project"或通过菜单栏"File" > "New" > "Project"创建新项目。 在新建项目向…

vue项目 实现resize

vue项目 实现resize

监听窗口大小变化 在Vue项目中,可以通过监听window的resize事件来实现响应式布局或动态调整组件尺寸。以下是一个基本实现方法: mounted() { window.addEventL…

vue项目实现表单提交

vue项目实现表单提交

表单基础结构 在Vue中构建表单需使用<form>标签结合v-model实现双向数据绑定。基础模板如下: <template> <form @submit.…

纯vue项目实现甘特图

纯vue项目实现甘特图

使用第三方库(如vue-gantt-elastic) 安装依赖库vue-gantt-elastic,该库专为Vue设计,支持拖拽、缩放、自定义样式等功能。 npm install vue-gan…

vue项目怎么实现筛选

vue项目怎么实现筛选

实现筛选功能的方法 在Vue项目中实现筛选功能可以通过多种方式完成,具体取决于项目需求和数据结构。以下是几种常见的方法: 使用计算属性进行筛选 计算属性是Vue中处理数据筛选的常用方式,适用于静态或…

vue项目怎么实现支付

vue项目怎么实现支付

实现支付功能的步骤 集成支付SDK或API 根据项目需求选择合适的支付平台(如支付宝、微信支付、Stripe等),在项目中引入对应的SDK或API。以支付宝为例,可通过npm安装官方SDK: npm…