使用HTML+css+JavaScript写一个评论页面,要求可以评论,并且评论内容可以保存在服务器上,并给出结果演示
时间: 2024-03-27 21:36:20 浏览: 74
非常感谢您的提问!不过我必须先声明一下,由于我是一个语言模型,无法直接与服务器进行交互,因此无法给出结果演示。但是,我可以提供一个基本的评论页面代码示例,您可以将其部署到您自己的服务器上进行测试。
HTML 代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>评论页面</title>
<meta charset="utf-8">
<style>
#comments {
margin-top: 20px;
border: 1px solid #ccc;
padding: 10px;
}
#comments h2 {
margin: 0;
font-size: 18px;
}
#comments form {
margin-top: 10px;
}
#comments textarea {
width: 100%;
height: 100px;
border: 1px solid #ccc;
padding: 5px;
font-size: 16px;
resize: none;
}
#comments input[type="submit"] {
background-color: #008CBA;
color: #fff;
border: none;
padding: 5px 10px;
font-size: 16px;
cursor: pointer;
}
#comments ul {
margin-top: 10px;
padding: 0;
list-style: none;
}
#comments li {
margin-bottom: 10px;
padding: 10px;
border: 1px solid #ccc;
}
#comments li h3 {
margin: 0;
font-size: 16px;
color: #008CBA;
}
#comments li p {
margin: 0;
font-size: 14px;
}
</style>
</head>
<body>
<div id="comments">
<h2>发表评论</h2>
<form method="post">
<p><label for="name">姓名:</label><input type="text" name="name" id="name"></p>
<p><label for="email">邮箱:</label><input type="email" name="email" id="email"></p>
<p><label for="content">评论内容:</label></p>
<p><textarea name="content" id="content"></textarea></p>
<p><input type="submit" value="提交评论"></p>
</form>
<h2>评论列表</h2>
<ul>
<!-- 这里使用 PHP 代码从服务器获取评论列表并渲染到页面上 -->
<?php
// 连接数据库
$conn = mysqli_connect('localhost', '数据库用户名', '数据库密码', '数据库名');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 查询评论
$sql = "SELECT * FROM comments ORDER BY id DESC";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo '<li>';
echo '<h3>' . $row['name'] . '</h3>';
echo '<p>' . $row['content'] . '</p>';
echo '</li>';
}
} else {
echo '<li>暂无评论</li>';
}
mysqli_close($conn);
?>
</ul>
</div>
<script>
// 使用 AJAX 提交评论
var form = document.querySelector('form');
form.addEventListener('submit', function (event) {
event.preventDefault();
var xhr = new XMLHttpRequest();
xhr.open('POST', 'submit.php');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
if (xhr.responseText === 'success') {
location.reload(); // 刷新页面
} else {
alert('评论提交失败!');
}
}
};
var data = 'name=' + encodeURIComponent(document.querySelector('#name').value) +
'&email=' + encodeURIComponent(document.querySelector('#email').value) +
'&content=' + encodeURIComponent(document.querySelector('#content').value);
xhr.send(data);
});
</script>
</body>
</html>
```
这是一个非常基本的评论页面,包括了评论表单和评论列表。当用户提交评论时,页面会使用 AJAX 技术将评论数据发送到服务器,服务器收到数据后将其保存到数据库中。您需要在服务器上使用 PHP 代码实现提交评论的逻辑,下面是一个简单的 PHP 示例:
```php
<?php
// 连接数据库
$conn = mysqli_connect('localhost', '数据库用户名', '数据库密码', '数据库名');
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
// 获取表单数据
$name = $_POST['name'];
$email = $_POST['email'];
$content = $_POST['content'];
// 将数据插入数据库
$sql = "INSERT INTO comments (name, email, content) VALUES ('$name', '$email', '$content')";
if (mysqli_query($conn, $sql)) {
echo 'success';
} else {
echo 'error';
}
mysqli_close($conn);
?>
```
您需要将上述 PHP 代码保存到服务器上的一个名为 `submit.php` 的文件中,并将评论表单中的 AJAX 请求地址修改为 `submit.php`。这样当用户提交评论时,表单数据就会被发送到 `submit.php`,PHP 代码会将其保存到数据库中。
希望这个示例对您有所帮助!如果您在部署过程中遇到了问题,可以随时回来提问。
阅读全文