当前位置:首页 > 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
分享给朋友:

相关文章

uniapp项目简历

uniapp项目简历

uniapp项目简历的构建方法 项目经验展示 在简历中单独列出uniapp开发经验,描述项目名称、开发周期、技术栈(如Vue.js、uni-ui等)。突出跨平台特性(iOS/Android/Web多端…

vue ui实现创建vue项目

vue ui实现创建vue项目

使用 Vue UI 创建 Vue 项目的步骤 Vue CLI 提供了一个图形化界面(Vue UI)来创建和管理 Vue 项目。以下是详细的操作步骤: 安装 Vue CLI 确保已安装 Node.js…

vue项目 实现resize

vue项目 实现resize

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

jquery项目

jquery项目

jQuery项目简介 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。尽管现代前端框架(如React、Vue)逐渐流行,jQuery仍广泛用…

Vue项目实现rem

Vue项目实现rem

Vue 项目中实现 rem 适配方案 在 Vue 项目中实现 rem 适配,主要目的是让页面元素根据屏幕尺寸自动调整大小。以下是几种常见方法: 使用 postcss-pxtorem 插件 安装 po…

vue项目实现跳转

vue项目实现跳转

实现页面跳转的方法 在Vue项目中,可以通过多种方式实现页面跳转,主要依赖于vue-router。以下是几种常见的跳转方式: 使用router-link组件 router-link是Vue Rou…