表白墙php实现
表白墙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
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']);
?>
安全增强措施
- 对所有用户输入使用
htmlspecialchars()过滤 - 使用预处理语句防止SQL注入
- 对点赞操作增加频率限制
- 敏感词过滤机制
扩展功能建议
- 添加图片上传功能
- 实现私密表白(仅双方可见)
- 增加评论回复功能
- 用户注册登录系统
- 消息审核后台
实际部署时需要修改数据库连接信息,并确保服务器支持PHP和MySQL。前端可以使用Bootstrap等框架美化界面,通过AJAX实现无刷新操作。






