首页 >后端开发 >PHP问题 >php制作可修改的留言板

php制作可修改的留言板

PHPz
PHPz原创
2023-05-07 13:47:07795浏览

随着互联网的逐渐普及,网站已经成为人们获取信息、交流、娱乐的主要途径之一。而留言板作为网站上常见的交流工具之一,更是成为了网站不可或缺的一部分。在这篇文章中,将介绍如何使用PHP制作一个可修改的留言板。

一、环境搭建

要制作一个留言板,首先需要搭建相应的环境。在这里,我们将使用XAMPP来搭建本地服务器环境。

步骤如下:

  1. 下载并安装XAMPP软件;
  2. 启动XAMPP的Apache和MySQL服务;
  3. 打开浏览器,输入localhost,在页面上选择语言和认证方式后,进入XAMPP管理面板;
  4. 在管理面板中,点击phpMyAdmin进入数据库管理页面。

二、创建数据库和数据表

创建一个数据库,取名为guestbook。在该数据库下创建一张名为messages的数据表,该数据表包含以下字段:

字段名 类型 长度 说明
id int 11 留言ID,主键,自增
username varchar 50 用户名
email varchar 100 邮箱
message text 留言内容
post_time datetime 留言时间

三、制作留言板页面

在该步骤中,我们将制作一个留言板页面,让用户可以在该页面中填写留言,并显示已经存在的留言。

1.制作留言板页面的UI

在html中添加以下代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>可修改的留言板</title>
</head>
<body>
    <h1>留言板</h1>

    <div>
        <form method="POST" action="post_message.php">
            <h3>发布留言</h3>
            用户名:<input type="text" name="username"><br>
            邮箱:<input type="email" name="email"><br>
            留言:<br>
            <textarea name="message" rows="10" cols="50"></textarea><br>
            <input type="submit" value="发布">
        </form>
    </div>

    <div>
        <h3>最新留言</h3>
        <?php
            // 显示最新留言
        ?>
    </div>
</body>
</html>

可以看到,留言板页面包含两部分,一部分是发布留言的表单,另一部分是已经存在的留言列表。

2.提交留言

在留言板页面中提交表单后,需要将提交的数据保存到数据库中。

在根目录下创建一个名为post_message.php的文件,用于处理提交留言表单中的数据。

在该文件中添加以下代码:

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取表单数据
$username = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];
$post_time = date("Y-m-d H:i:s");

// 插入留言到数据库中
$sql = "INSERT INTO messages (username, email, message, post_time)
        VALUES ('$username', '$email', '$message', '$post_time')";
$result = mysqli_query($link, $sql);
if ($result) {
    echo "留言发布成功!";
} else {
    echo "留言发布失败:" . mysqli_error($link);
}

// 关闭数据库连接
mysqli_close($link);
?>

在该文件中,首先连接数据库,并获取表单数据。随后将数据插入到messages数据表中。

3.显示留言

在留言板页面中,需要显示最新的留言。为此,可以在留言板页面的第二部分中显示数据库中的留言列表。

在html中,修改以下代码:

<div>
    <h3>最新留言</h3>
    <?php
        // 查询留言信息
        $link = mysqli_connect("localhost", "root", "", "guestbook");
        if (!$link) {
            die("数据库连接失败:" . mysqli_connect_error());
        }
        $sql = "SELECT * FROM messages";
        $result = mysqli_query($link, $sql);
        mysqli_close($link);

        // 遍历留言数据,并显示到页面上
        while ($row = mysqli_fetch_assoc($result)) {
            ?>
            <hr>
            <div>
                <p>用户名:<?php echo $row['username']; ?></p>
                <p>邮箱:<?php echo $row['email']; ?></p>
                <p>时间:<?php echo $row['post_time']; ?></p>
                <p>留言内容:<?php echo $row['message']; ?></p>
            </div>
        <?php
        }
        ?>
</div>

在该代码中,首先查询数据库中的messages数据表,并将查询的留言数据保存到$result中。随后,通过while循环遍历留言数据,并将其显示到页面上。

四、修改留言

在留言板中,用户可以修改已经提交的留言。

在html代码中,修改显示留言的代码如下:

<div>
    <h3>最新留言</h3>
    <?php
        // 查询留言信息
        $link = mysqli_connect("localhost", "root", "", "guestbook");
        if (!$link) {
            die("数据库连接失败:" . mysqli_connect_error());
        }
        $sql = "SELECT * FROM messages";
        $result = mysqli_query($link, $sql);
        mysqli_close($link);

        // 遍历留言数据,并显示到页面上
        while ($row = mysqli_fetch_assoc($result)) {
            ?>
            <hr>
            <div>
                <p>用户名:<?php echo $row['username']; ?></p>
                <p>邮箱:<?php echo $row['email']; ?></p>
                <p>时间:<?php echo $row['post_time']; ?></p>
                <p>留言内容:<?php echo $row['message']; ?></p>
                <a href="edit_message.php?id=<?php echo $row['id']; ?>">修改</a>
            </div>
        <?php
        }
        ?>
</div>

可以看到,已经添加了一个超链接,用于修改留言。

在edit_message.php文件中,添加以下代码:

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取留言ID
$id = $_GET['id'];

// 根据ID查询留言信息
$sql = "SELECT * FROM messages WHERE id=$id LIMIT 1";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_assoc($result);

// 显示留言内容的表单
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>修改留言</title>
</head>
<body>
    <h1>修改留言</h1>

    <div>
        <form method="POST" action="save_message.php">
            <h3>修改留言</h3>
            用户名:<input type="text" name="username" value="<?php echo $row['username']; ?>"><br>
            邮箱:<input type="email" name="email" value="<?php echo $row['email']; ?>"><br>
            留言:<br>
            <textarea name="message" rows="10" cols="50"><?php echo $row['message']; ?></textarea><br>
            <input type="hidden" name="id" value="<?php echo $row['id']; ?>">
            <input type="submit" value="保存">
        </form>
    </div>
</body>
</html>

<?php
// 关闭数据库连接
mysqli_close($link);
?>

在该代码中,首先根据ID查询留言信息,并将查询到的留言数据显示到form表单中。随后用户就可以在该页面中修改留言。其中,隐藏域input用于保存留言ID,以便后面保存留言时可以根据ID更新数据库。

在save_message.php文件中,添加以下代码:

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取表单数据
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];

// 更新留言
$sql = "UPDATE messages SET username='$username', email='$email', message='$message' WHERE id=$id";
$result = mysqli_query($link, $sql);
if ($result) {
    echo "留言更新成功!";
} else {
    echo "留言更新失败:" . mysqli_error($link);
}

// 关闭数据库连接
mysqli_close($link);
?>

在该文件中,首先连接数据库,并获取表单中的留言数据和留言ID。随后,根据ID更新数据库中的留言数据。

五、总结

通过本文的介绍,相信读者已经了解到如何使用PHP制作可修改的留言板。在实际开发过程中,还可以对留言板进行更丰富的功能扩展,如留言的回复、显示留言数、按时间排序等。

以上是php制作可修改的留言板的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn