怎么用php做留言板
时间 : 2023-03-31 11:55:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

制作留言板通常需要以下步骤:

1. 创建一个数据库,用于存储留言的信息。

2. 创建一个表格,用于存储留言的各种信息,例如留言人的名字、邮箱、留言内容、留言时间等等。

3. 创建一个界面,允许用户查看已有留言和提交新留言。

4. 编写相应的代码,实现上述功能。

下面是一个简单的实现留言板的例子:

1. 创建数据库和表格

在 MySQL 中创建一个名为 guestbook 的数据库,然后创建一个名为 messages 的表格,该表格包含以下字段:

- id:主键,自增长的数字;

- name:留言人的名字;

- email:留言人的邮箱;

- message:留言内容;

- created_at:留言的时间,使用 MySQL 的 datetime 格式存储。

CREATE DATABASE `guestbook`;

USE `guestbook`;

CREATE TABLE `messages` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(255) NOT NULL,

`email` varchar(255) NOT NULL,

`message` text NOT NULL,

`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2. 创建留言界面和提交页面

在界面上,我们需要提供一个表单,允许用户输入留言内容。提交页面将用户输入的信息存储到数据库中。

留言界面:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>留言板</title>

</head>

<body>

<h1>留言板</h1>

<h2>已有留言</h2>

<?php

// 显示已有留言

$link = mysqli_connect("localhost", "root", "password", "guestbook") or die("连接失败");

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

$result = mysqli_query($link, $query) or die("查询失败");

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

echo "<p><strong>{$row['name']}:</strong> {$row['message']}

";

}

mysqli_free_result($result);

mysqli_close($link);

?>

<h2>添加留言</h2>

<form method="post" action="submit.php">

<label>姓名:</label>

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

<label>邮箱:</label>

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

<label>留言:</label>

<textarea name="message" rows="4" required></textarea><br>

<input type="submit" value="提交">

</form>

</body>

</html>

提交页面:

&lt;?php

$link = mysqli_connect("localhost", "root", "password", "guestbook") or die("连接失败");

$name = mysqli_real_escape_string($link, $_POST['name']);

$email = mysqli_real_escape_string($link, $_POST['email']);

$message = mysqli_real_escape_string($link, $_POST['message']);

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

mysqli_query($link, $query) or die("添加失败");

mysqli_close($link);

header("Location: index.php");

?>

3. 编写相应的代码

在留言界面中,我们通过 MySQLi 函数连接数据库,并且查询 messages 表格中的所有数据,然后使用 while 循环遍历每一条留言,并将其显示在页面上。在添加新留言时,我们将使用 SQL 插入语句,将用户输入的信息插入到 messages 表格中。

在提交页面中,我们使用 $_POST 数组获取用户的输入,并且使用 mysqli_real_escape_string 函数,将数据进行过滤和转义,以防止 SQL 注入攻击。然后,我们使用 SQL 插入语句将数据存储到数据库中,并使用 header 函数将页面重定向回留言界面。

以上是一个简单的实现留言板的例子,适合初学者。实际上,真正的留言板还需要更多的功能和安全措施,如用户身份验证、分页、删除留言等等。

好的,下面是使用PHP创建留言板的步骤:

步骤一:创建数据库

在MySQL中创建一个数据库,以及存储用户名、密码和主题的数据表。在本例中,我们使用了以下查询语句来创建表:

CREATE TABLE message_board (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(255) NOT NULL,

password varchar(255) NOT NULL,

title varchar(255) NOT NULL,

message text NOT NULL,

post_date datetime NOT NULL,

PRIMARY KEY (id)

);

步骤二:创建HTML表单

创建包含以下字段的HTML表单:

- 姓名

- 密码

- 主题

- 留言

步骤三:创建PHP脚本

将以下PHP代码插入到HTML表单的“action”属性中:

&lt;?php

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

$name = $_POST['name'];

$password = $_POST['password'];

$title = $_POST['title'];

$message = $_POST['message'];

$post_date = date('Y-m-d H:i:s');

$servername = "localhost";

$db_username = "root";

$db_password = "your_password";

$dbname = "message_board";

$conn = mysqli_connect($servername, $db_username, $db_password, $dbname);

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

$sql = "INSERT INTO message_board (name, password, title, message, post_date) VALUES ('$name', '$password', '$title', '$message', '$post_date')";

if (mysqli_query($conn, $sql)) {

echo "Your message has been posted successfully.";

} else {

echo "Error: " . $sql . "<br>" . mysqli_error($conn);

}

mysqli_close($conn);

}

?>

*注意:在此代码中,请更改$servername、$db_username、$db_password和$dbname为您的MySQL数据库的真实信息。

步骤四:创建PHP脚本以显示留言

创建一个PHP脚本来显示留言列表。此脚本应该从数据库中检索所有留言,并将它们以表单的形式输出。

&gt;?php

$servername = "localhost";

$db_username = "root";

$db_password = "your_password";

$dbname = "message_board";

$conn = mysqli_connect($servername, $db_username, $db_password, $dbname);

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

$sql = "SELECT name, title, message, post_date FROM message_board ORDER BY post_date DESC";

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

if (mysqli_num_rows($result) > 0) {

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

echo "&lt;div class='message'&gt;";

echo "&lt;p class='name'&gt;" . $row['name'] . "&lt;/p&gt;";

echo "&lt;p class='title'&gt;" . $row['title'] . "&lt;/p&gt;";

echo "&lt;p class='message'&gt;" . $row['message'] . "&lt;/p&gt;";

echo "&lt;p class='post_date'&gt;" . $row['post_date'] . "&lt;/p&gt;";

echo "&lt;/div&gt;";

}

} else {

echo "No messages posted yet.";

}

mysqli_close($conn);

?>

步骤五:创建CSS样式表

创建一个CSS样式表来修饰留言列表和表单。

.message {

margin-bottom: 20px;

padding: 10px;

border: 1px solid #ccc;

}

.name {

font-weight: bold;

}

.title {

font-style: italic;

}

.message {

margin-top: 10px;

}

.post_date {

font-size: 0.8em;

color: #999;

}

步骤六:将上述代码组合到一个文件中,保存为PHP文件

将HTML表单、PHP脚本(步骤三和步骤四)、CSS样式表组合到一个文件中,保存为PHP文件。现在您已准备好在Web浏览器中运行该文件,添加留言,并查看留言列表。

总结

上述步骤为您介绍了如何使用PHP创建一个简单的留言板。注意,在实际的Web应用程序中,您需要对用户提交的数据进行一些数据验证和安全性检查,防止恶意注入和未经授权的访问。