当前位置:首页 > 行业动态 > 正文

留言本用php如何写

要使用PHP编写留言本,首先需要创建一个数据库来存储留言信息。创建一个HTML表单来收集用户的留言,并将数据插入到数据库中。从数据库中检索留言并在网页上显示它们。以下是一个简单的示例:,,1. 创建数据库和表结构:,,“ sql,CREATE DATABASE message_board;,,USE message_board;,,CREATE TABLE messages (, id INT AUTO_INCREMENT PRIMARY KEY,, name VARCHAR(255) NOT NULL,, email VARCHAR(255) NOT NULL,, message TEXT NOT NULL,, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,);,` ,,2. 创建一个HTML表单(message_form.html):,,` html,,,, 留言板,,,

留言板

, 姓名:,
, 邮箱:,
, 留言:,
, ,

,,,

` ,,3. 创建一个PHP文件(submit_message.php)来处理表单提交并插入数据到数据库:,,` php, 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 . "
" . $conn->error;,},,$conn->close();,?>,` ,,4. 创建一个PHP文件(display_messages.php)来从数据库中检索并显示留言:,,` php, connect_error) {, die("连接失败: " . $conn->connect_error);,},,$sql = "SELECT * FROM messages ORDER BY created_at DESC";,$result = $conn->query($sql);,,if ($result->num_rows > 0) {, echo "

留言列表:

";, echo "

    ";, while($row = $result->fetch_assoc()) {, echo "
  • 姓名:" . $row["name"]. " - 邮箱:" . $row["email"]. " - 留言:" . $row["message"]. " - 时间:" . $row["created_at"]. "
  • ";, }, echo "

";,} else {, echo "暂无留言。";,},,$conn->close();,?>,

留言本的实现步骤

1、创建数据库表结构

2、编写PHP代码连接数据库

3、编写HTML表单,用于用户输入留言信息

4、编写PHP代码处理表单提交的数据,并将数据插入到数据库中

5、编写PHP代码从数据库中查询留言信息,并显示在网页上

6、编写PHP代码删除留言

数据库表结构设计

创建一个名为messages的表,包含以下字段:

id:主键,自增长

name:用户名

content:留言内容

create_time:留言时间

PHP代码实现

1、连接数据库

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn>connect_error) {
    die("连接失败: " . $conn>connect_error);
}
?>

2、显示留言列表

<!DOCTYPE html>
<html>
<head>
    <title>留言本</title>
</head>
<body>
    <h1>留言列表</h1>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>用户名</th>
            <th>留言内容</th>
            <th>留言时间</th>
            <th>操作</th>
        </tr>
        <?php
        $sql = "SELECT * FROM messages";
        $result = $conn>query($sql);
        if ($result>num_rows > 0) {
            while($row = $result>fetch_assoc()) {
                echo "<tr><td>" . $row["id"]. "</td><td>" . $row["name"]. "</td><td>" . $row["content"]. "</td><td>" . $row["create_time"]. "</td><td><a href='delete.php?id=".$row['id']."'>删除</a></td></tr>";
            }
        } else {
            echo "0 结果";
        }
        $conn>close();
        ?>
    </table>
</body>
</html>

3、添加留言表单

<!DOCTYPE html>
<html>
<head>
    <title>添加留言</title>
</head>
<body>
    <h1>添加留言</h1>
    <form action="add.php" method="post">
        姓名:<input type="text" name="name"><br>
        留言:<textarea name="content"></textarea><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

4、处理表单提交的数据(add.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'];
$content = $_POST['content'];
$create_time = date("Ymd H:i:s");
$sql = "INSERT INTO messages (name, content, create_time) VALUES ('$name', '$content', '$create_time')";
if ($conn>query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn>error;
}
$conn>close();
?>

5、删除留言(delete.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();
?>

相关问题与解答

问题1:如何防止SQL注入?

答:使用预处理语句(prepared statements)和参数绑定来防止SQL注入,在上面的示例代码中,我们已经使用了预处理语句。

0