<?php
// 保存留言的文件名
$filename = 'messages.txt';
// 检查是否有用户提交留言
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 获取用户提交的姓名和留言内容
$name = $_POST['name'];
$message = $_POST['message'];
// 检查是否已经存在相同的留言
$existingMessages = array();
if (file_exists($filename)) {
$content = file_get_contents($filename);
$existingMessages = explode("\n", $content);
}
$isDuplicate = false;
foreach ($existingMessages as $existingMessage) {
if (!empty($existingMessage) && strpos($existingMessage, $message) !== false) {
$isDuplicate = true;
break;
}
}
// 如果不是重复留言,则保存到文件中
if (!$isDuplicate) {
$timestamp = date('Y-m-d H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
$content = "$timestamp | $name | $ip | $message\n";
file_put_contents($filename, $content, FILE_APPEND);
}
}
// 加载保存的留言
$searchQuery = isset($_GET['q']) ? $_GET['q'] : '';
$messages = array();
if (file_exists($filename)) {
$content = file_get_contents($filename);
$messages = explode("\n", $content);
}
// 进行搜索
if (!empty($searchQuery)) {
$searchedMessages = array();
foreach ($messages as $message) {
if (strpos($message, $searchQuery) !== false) {
$searchedMessages[] = $message;
}
}
$messages = $searchedMessages;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<!-- 显示搜索表单 -->
<form method="GET">
<label for="q">搜索留言:</label>
<input type="text" name="q" id="q" value="<?php echo htmlspecialchars($searchQuery); ?>">
<input type="submit" value="搜索">
</form>
<!-- 显示留言列表 -->
<?php if (!empty($messages)): ?>
<ul>
<?php foreach ($messages as $message): ?>
<?php if (!empty($message)): ?>
<li><?php echo htmlspecialchars($message); ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<!-- 提交留言的表单 -->
<form method="POST">
<label for="name">名称:</label>
<input type="text" name="name" id="name" required><br><br>
<label for="message">留言:</label>
<textarea name="message" id="message" rows="5" cols="30" required></textarea><br><br>
<input type="submit" value="提交留言">
</form>
</body>
</html>