Rumah > pembangunan bahagian belakang > masalah PHP > Buat papan mesej yang boleh diubah suai dalam php

Buat papan mesej yang boleh diubah suai dalam php

PHPz
Lepaskan: 2023-05-07 13:47:07
asal
791 orang telah melayarinya

Dengan mempopularkan Internet secara beransur-ansur, laman web telah menjadi salah satu cara utama untuk orang ramai memperoleh maklumat, berkomunikasi dan berhibur. Sebagai salah satu alat komunikasi biasa di laman web, papan mesej telah menjadi bahagian yang sangat diperlukan dalam laman web. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk mencipta papan mesej yang boleh diubah suai.

1. Persediaan persekitaran

Untuk membuat papan mesej, anda perlu menyediakan persekitaran yang sepadan terlebih dahulu. Di sini, kami akan menggunakan XAMPP untuk menyediakan persekitaran pelayan tempatan.

Langkah-langkahnya adalah seperti berikut:

  1. Muat turun dan pasang perisian XAMPP
  2. Mulakan perkhidmatan Apache dan MySQL XAMPP
  3. Buka penyemak imbas dan masukkan localhost , selepas memilih bahasa dan kaedah pengesahan pada halaman, masukkan panel pengurusan XAMPP
  4. Dalam panel pengurusan, klik phpMyAdmin untuk memasuki halaman pengurusan pangkalan data.

2. Cipta pangkalan data dan jadual data

Buat pangkalan data dan namakannya sebagai buku tetamu. Buat jadual data bernama mesej di bawah pangkalan data Jadual data mengandungi medan berikut:

Penerangan panjang jenis nama medan
id int 11 ID mesej, kunci utama, kenaikan automatik
nama pengguna varchar 50 Nama pengguna
e-mel varchar 100 E-mel
teks mesej Kandungan mesej
masa_masa tarikh masa Mesej

3. Buat halaman papan mesej

Dalam langkah ini, kami akan membuat papan mesej halaman yang membolehkan pengguna mengisi mesej dan memaparkan mesej sedia ada.

1. Jadikan UI halaman papan mesej

Tambahkan kod berikut dalam 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>
Salin selepas log masuk

Seperti yang anda lihat, halaman papan mesej mengandungi dua bahagian, satu bahagian adalah untuk menghantar borang mesej, dan bahagian lain ialah senarai mesej sedia ada.

2. Hantar mesej

Selepas menyerahkan borang pada halaman papan mesej, data yang diserahkan perlu disimpan dalam pangkalan data.

Buat fail bernama post_message.php dalam direktori akar untuk memproses data dalam borang penghantaran mesej.

Tambahkan kod berikut dalam fail:

<?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);
?>
Salin selepas log masuk

Dalam fail ini, mula-mula sambung ke pangkalan data dan dapatkan data borang. Data tersebut kemudiannya dimasukkan ke dalam jadual data mesej.

3. Paparkan mesej

Pada halaman papan mesej, mesej terkini perlu dipaparkan. Untuk melakukan ini, anda boleh memaparkan senarai mesej daripada pangkalan data di bahagian kedua halaman papan mesej.

Dalam html, ubah suai kod berikut:

<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>
Salin selepas log masuk

Dalam kod ini, tanya jadual data mesej dalam pangkalan data dan simpan data mesej yang ditanya ke $result. Selepas itu, data mesej dilalui melalui gelung sementara dan dipaparkan pada halaman.

4. Ubah suai mesej

Dalam papan mesej, pengguna boleh mengubah suai mesej yang diserahkan.

Dalam kod html, ubah suai kod untuk memaparkan mesej seperti berikut:

<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>
Salin selepas log masuk

Seperti yang anda lihat, hiperpautan telah ditambahkan untuk mengubah suai mesej.

Dalam fail edit_message.php, tambahkan kod berikut:

<?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);
?>
Salin selepas log masuk

Dalam kod ini, mula-mula tanya maklumat mesej berdasarkan ID dan paparkan data mesej yang ditanya dalam borang. Pengguna kemudiannya boleh mengubah suai mesej pada halaman ini. Antaranya, input medan tersembunyi digunakan untuk menyimpan ID mesej supaya pangkalan data boleh dikemas kini berdasarkan ID apabila mesej disimpan nanti.

Dalam fail save_message.php, tambahkan kod berikut:

<?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);
?>
Salin selepas log masuk

Dalam fail ini, mula-mula sambung ke pangkalan data dan dapatkan data mesej dan ID mesej dalam borang. Selepas itu, data mesej dalam pangkalan data dikemas kini mengikut ID.

5. Ringkasan

Melalui pengenalan artikel ini, saya percaya pembaca telah mempelajari cara menggunakan PHP untuk mencipta papan mesej yang boleh diubah suai. Dalam proses pembangunan sebenar, papan mesej juga boleh dikembangkan dengan fungsi yang lebih kaya, seperti membalas mesej, memaparkan bilangan mesej, menyusun mengikut masa, dsb.

Atas ialah kandungan terperinci Buat papan mesej yang boleh diubah suai dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan