用php怎么写留言板
时间 : 2023-03-26 17:12:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

要实现一个留言板,我们需要以下步骤:

1. 建立数据库表,保存留言信息。

留言数据需要保存在数据库中,为此我们需要建立对应的表结构。以MySQL为例,以下是一个基本的留言表结构:

CREATE TABLE `messages` (

`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

`name` varchar(255) NOT NULL,

`email` varchar(255) NOT NULL,

`message` text NOT NULL,

`datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP

);

2. 建立留言板页面。

页面需要包含以下内容:

- 留言列表

- 留言表单

留言列表需要从数据库中获取数据,然后以列表的形式展示出来。留言表单是用户输入留言信息的地方,提交留言信息时需要将数据保存到数据库中。

以下是一个基本的留言板页面实现:

<!DOCTYPE html>

<html>

<head>

<title>留言板</title>

<meta charset="utf-8">

</head>

<body>

<?php

// 连接数据库

$conn = mysqli_connect('localhost', 'username', 'password', 'database');

// 检查连接状态

if (!$conn) {

die("连接失败:" . mysqli_connect_error());

}

// 处理留言提交

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

$name = $_POST['name'];

$email = $_POST['email'];

$message = $_POST['message'];

// 插入留言数据

$sql = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')";

mysqli_query($conn, $sql);

// 重新加载页面

header('Location: ' . $_SERVER['PHP_SELF']);

die();

}

// 获取留言数据

$sql = "SELECT * FROM messages ORDER BY datetime DESC";

$result = mysqli_query($conn, $sql);

// 渲染留言列表

if (mysqli_num_rows($result) > 0) {

echo '<ul>';

while($row = mysqli_fetch_assoc($result)) {

echo '<li>';

echo '<strong>' . $row['name'] . '</strong>(' . $row['email'] . ')于 ' . $row['datetime'] . ' 留言:';

echo '<br>';

echo $row['message'];

echo '</li>';

}

echo '</ul>';

} else {

echo '暂无留言';

}

?>

<hr>

<h3>发表留言</h3>

<form method="post">

<p>

<label>姓名:</label>

<input type="text" name="name">

<p>

<label>Email:</label>

<input type="email" name="email">

<p>

<label>留言:</label>

<textarea name="message"></textarea>

<button type="submit">发表</button>

</form>

</body>

</html>

3. 代码解释

- 先连接数据库,这里需要替换成你的数据库连接信息。

- 如果用户提交了留言内容,则将它插入到数据库中。

- 查询数据库中的留言数据,并以列表的形式展示。

- 编写一个表单,实现留言数据提交功能。

以上便是基本的PHP编写留言板的实现方法,当然这只是一个简易版本的留言板,你需要在这个基础上添加更多的功能,例如用户验证,数据的过滤和验证,以及安全性的提升等等。

要实现一个基本的留言板,需要以下几个步骤:

1.创建数据库和表

首先需要创建一个数据库和表来存储留言信息。以下是一个简单的留言信息表:

CREATE TABLE messages (

id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(30) NOT NULL,

email VARCHAR(50) NOT NULL,

message TEXT NOT NULL,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

)

2.创建前端页面

创建一个简单的HTML表单页面,让用户可以填写留言信息。

<form action="add_message.php" method="POST">

<label for="name">Name</label>

<input type="text" name="name" required>

<label for="email">Email</label>

<input type="email" name="email" required>

<label for="message">Message</label>

<textarea name="message" required></textarea>

<button type="submit">Submit</button>

</form>

3.创建后端处理页面

创建一个处理留言表单提交的PHP页面,用来将留言信息保存到数据库中。

<?php

//连接数据库

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

//检验连接是否成功

if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

//插入留言信息

$name = $_POST['name'];

$email = $_POST['email'];

$message = $_POST['message'];

$sql = "INSERT INTO messages (name, email, message)

VALUES ('$name', '$email', '$message')";

if ($conn->query($sql) === TRUE) {

echo "留言成功";

} else {

echo "Error: " . $sql . "<br>" . $conn->error;

}

$conn->close();

?>

4.展示留言

创建一个页面来展示所有留言,以及一个可以删除留言的功能。

<?php

//连接数据库

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

//检验连接是否成功

if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

//查询留言信息

$sql = "SELECT * FROM messages ORDER BY created_at DESC";

$result = $conn->query($sql);

if ($result->num_rows > 0) {

// 输出数据

while($row = $result->fetch_assoc()) {

echo "<div class='message'>";

echo "<span class='name'>" . $row["name"] . "</span>";

echo "<span class='email'>" . $row["email"] . "</span>";

echo "<p class='message-text'>" . $row["message"] . "

";

echo "<span class='created-at'>" . $row["created_at"] . "</span>";

echo "<a href='delete_message.php?id=" . $row["id"] . "'>删除留言</a>";

echo "</div>";

}

}

$conn->close();

?>

5.删除留言

创建一个PHP页面来删除留言信息。

<?php

//连接数据库

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

//检验连接是否成功

if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

//删除留言信息

$id = $_GET['id'];

$sql = "DELETE FROM messages WHERE id=$id";

if ($conn->query($sql) === TRUE) {

echo "留言删除成功";

} else {

echo "Error deleting record: " . $conn->error;

}

$conn->close();

?>

这样,一个简单的留言板就完成了。需要注意的是,这只是一个基本的版本,还有很多细节和安全性问题需要考虑,例如防止SQL注入攻击,设置留言是否需要审核等等。