当前位置:首页 > PHP

表白墙php实现

2026-02-16 22:19:35PHP

表白墙PHP实现

表白墙是一个允许用户匿名或公开表达爱意的平台,通常包含发布、展示、点赞等功能。以下是一个基于PHP和MySQL的简单实现方案:

数据库设计

创建名为love_wall的数据库,包含以下表结构:

表白墙php实现

CREATE TABLE `messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sender` varchar(50) DEFAULT '匿名',
  `receiver` varchar(50) NOT NULL,
  `content` text NOT NULL,
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `likes` int(11) DEFAULT '0',
  `color` varchar(20) DEFAULT '#FFC0CB',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

核心功能实现

发布功能(post.php)

表白墙php实现

<?php
header('Content-Type: text/html; charset=utf-8');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $sender = isset($_POST['sender']) ? $_POST['sender'] : '匿名';
    $receiver = htmlspecialchars($_POST['receiver']);
    $content = htmlspecialchars($_POST['content']);
    $color = isset($_POST['color']) ? $_POST['color'] : '#FFC0CB';

    $conn = new mysqli('localhost', 'username', 'password', 'love_wall');
    $stmt = $conn->prepare("INSERT INTO messages (sender, receiver, content, color) VALUES (?, ?, ?, ?)");
    $stmt->bind_param("ssss", $sender, $receiver, $content, $color);
    $stmt->execute();
    $stmt->close();
    $conn->close();

    echo json_encode(['status' => 'success']);
    exit;
}
?>

展示功能(index.php)

<?php
header('Content-Type: text/html; charset=utf-8');
$conn = new mysqli('localhost', 'username', 'password', 'love_wall');
$result = $conn->query("SELECT * FROM messages ORDER BY create_time DESC");
$messages = [];
while ($row = $result->fetch_assoc()) {
    $messages[] = $row;
}
$conn->close();
?>

<!DOCTYPE html>
<html>
<head>
    <title>校园表白墙</title>
    <style>
        .message { 
            background-color: <?php echo $message['color']; ?>;
            margin: 15px; padding: 15px; 
            border-radius: 8px; 
        }
    </style>
</head>
<body>
    <?php foreach ($messages as $message): ?>
    <div class="message">
        <h3>To: <?php echo $message['receiver']; ?></h3>
        <p><?php echo $message['content']; ?></p>
        <small>From: <?php echo $message['sender']; ?></small>
        <span>❤️ <?php echo $message['likes']; ?></span>
    </div>
    <?php endforeach; ?>
</body>
</html>

点赞功能(like.php)

<?php
header('Content-Type: application/json');
if (isset($_GET['id'])) {
    $id = intval($_GET['id']);
    $conn = new mysqli('localhost', 'username', 'password', 'love_wall');
    $conn->query("UPDATE messages SET likes = likes + 1 WHERE id = $id");
    $result = $conn->query("SELECT likes FROM messages WHERE id = $id");
    $likes = $result->fetch_assoc()['likes'];
    $conn->close();

    echo json_encode(['likes' => $likes]);
    exit;
}
echo json_encode(['error' => 'Invalid request']);
?>

安全增强措施

  1. 对所有用户输入使用htmlspecialchars()过滤
  2. 使用预处理语句防止SQL注入
  3. 对点赞操作增加频率限制
  4. 敏感词过滤机制

扩展功能建议

  1. 添加图片上传功能
  2. 实现私密表白(仅双方可见)
  3. 增加评论回复功能
  4. 用户注册登录系统
  5. 消息审核后台

实际部署时需要修改数据库连接信息,并确保服务器支持PHP和MySQL。前端可以使用Bootstrap等框架美化界面,通过AJAX实现无刷新操作。

标签: php
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用LIMIT和OFFSET进行数据库查询分页。通过计算当前页码和每页显示数量,动态生成SQL语句。 $page = isset($_GET['page']) ? (in…

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form actio…

php 路由实现

php 路由实现

PHP 路由实现方法 在 PHP 中实现路由功能有多种方式,以下是几种常见的实现方法: 使用原生 PHP 实现 通过解析 URL 并匹配对应的控制器和动作: $request = $_SERV…

php 购物车实现

php 购物车实现

数据库设计 购物车功能通常需要设计数据库表存储商品和用户信息。常见的表包括products(商品表)、users(用户表)和cart(购物车表)。cart表通常包含字段:id(主键)、user_id(…

php 实现验证码

php 实现验证码

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