当前位置:首页 > PHP

表白墙php实现

2026-02-16 22:19:35PHP

表白墙PHP实现

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

数据库设计

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

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
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实现

<?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 实现定时任务的方法 PHP 本身是脚本语言,通常需要借助外部工具或框架实现定时任务。以下是几种常见方法: 使用 Cron 任务 Linux 系统自带的 Cron 是常用的定时任务工具。通过编…

php实现推送消息推送消息

php实现推送消息推送消息

PHP 实现消息推送的方法 使用 WebSocket 实现实时推送 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,适合实现实时消息推送。 安装 Ratchet 库(WebSo…

php 实现md5

php 实现md5

使用 PHP 内置函数实现 MD5 PHP 提供了 md5() 函数,可以直接计算字符串的 MD5 哈希值。该函数接受一个字符串参数,返回 32 字符的十六进制哈希值。 $string = "H…

php实现进度条

php实现进度条

PHP 实现进度条的方法 使用 HTML 和 CSS 结合 PHP 实现进度条 在 PHP 中,进度条通常通过 HTML 和 CSS 实现,PHP 负责计算进度并更新前端显示。 <di…

php rsa 实现

php rsa 实现

PHP RSA 加密与解密实现 生成密钥对 使用 openssl_pkey_new 生成 RSA 密钥对,并通过 openssl_pkey_export 导出私钥。公钥可从密钥对中提取。 $conf…

php 实现长轮询

php 实现长轮询

PHP 实现长轮询的方法 长轮询(Long Polling)是一种服务器推送技术,客户端发送请求后,服务器保持连接开放直到有新数据或超时。以下是实现步骤: 基础实现代码 创建一个简单的长轮询 PHP…