Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk log masuk ke papan mesej dalam php

Bagaimana untuk log masuk ke papan mesej dalam php

PHPz
PHPzasal
2023-04-24 10:47:56752semak imbas

Dengan perkembangan Internet, papan mesej merupakan salah satu bahagian penting laman web Ia menyediakan platform interaktif untuk pengguna meninggalkan mesej, berkomunikasi dan berkongsi pendapat. Dalam papan mesej, pengguna boleh log masuk dan meninggalkan maklumat mereka sendiri Bagi pembangun laman web, adalah perlu untuk melaksanakan papan mesej log masuk yang mudah dan mudah digunakan. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk log masuk ke papan mesej.

1. Persediaan persekitaran

Sebelum memulakan pembangunan, anda perlu memasang persekitaran pembangunan bersepadu PHP, seperti XAMPP, WAMP, MAMP, dll. Di sini kami mengambil XAMPP sebagai contoh Selepas pemasangan, kami perlu meletakkan fail projek dalam direktori htdocs XAMPP. Selepas itu, buka penyemak imbas dan pergi ke http://localhost/phpmyadmin/, buat pangkalan data bernama "message_board", dan buat jadual bernama "message" di dalamnya, yang sepatutnya mengandungi medan berikut: id, nama, e-mel, mesej dan cap masa. Antaranya, medan id ialah kunci utama yang meningkat secara automatik, dan medan cap masa ialah masa semasa.

2. Reka bentuk halaman

Dalam PHP, kita perlu mereka bentuk satu siri antara muka dan proses interaktif untuk log masuk ke papan mesej. Matlamat pertama kami adalah untuk mencipta halaman log masuk di mana pengguna memasukkan nama pengguna dan kata laluan mereka untuk mengesahkan dan melompat ke halaman papan mesej.

Berikut ialah kod sumber halaman log masuk mudah:

<!DOCTYPE html>
<html>
<head>
    <title>Login Page</title>
</head>
<body>
    <h2>Login Here</h2>
    <form action="login.php" method="post">
        <label>Username:</label>
        <input type="text" name="username"><br><br>
        <label>Password:</label>
        <input type="password" name="password"><br><br>
        <input type="submit" value="Login">
    </form>
</body>
</html>

Apabila pengguna mengklik butang "Log Masuk", borang akan diserahkan dan kemudian melompat ke halaman login.php. Pada halaman ini, kami perlu mengesahkan daripada pangkalan data sama ada nama pengguna dan kata laluan yang dimasukkan oleh pengguna adalah betul Jika pengesahan diluluskan, tetapkan pembolehubah sesi dan kemudian lompat ke halaman papan mesej. Jika pengesahan gagal, halaman log masuk dikembalikan dengan mesej ralat.

Berikut ialah kod sumber halaman log masuk.php:

<?php
    /*检查登录信息并跳转*/
    session_start();
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];

    /*数据库连接*/
    $servername = "localhost";
    $db_username = "root";
    $db_password = ""; /*默认密码为空*/
    $dbname = "message_board";

    $conn = new mysqli($servername, $db_username, $db_password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    /*获取用户信息*/
    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        /*验证通过,创建会话变量*/
        $_SESSION['username'] = $username;
        header("Location: message_board.php");
    } else {
        /*验证失败,返回登陆页面*/
        echo "Invalid username/password. Please try again.";
        header("Location: login.html");
    }

    $conn->close();
?>

3. Pelaksanaan papan mesej

Selepas melengkapkan halaman log masuk dan pengesahan log masuk, kami perlu untuk mereka bentuk dan melaksanakan halaman papan mesej. Halaman ini perlu memaparkan semua mesej dan menyediakan borang untuk pengguna meninggalkan mesej. Seperti halaman log masuk, apabila pengguna menghantar borang mesej, kita perlu mendapatkan semua mesej daripada pangkalan data dan memaparkannya pada halaman.

Berikut ialah kod sumber halaman papan mesej:

<?php
    /*检查会话变量并跳转*/
    session_start();

    if (!isset($_SESSION[&#39;username&#39;])) {
        header("Location: login.html");
    }

    /*数据库连接*/
    $servername = "localhost";
    $db_username = "root";
    $db_password = "";
    $dbname = "message_board";

    $conn = new mysqli($servername, $db_username, $db_password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    /*获取所有留言*/
    $sql = "SELECT * FROM messages";
    $result = $conn->query($sql);
?>

<!DOCTYPE html>
<html>
<head>
    <title>Message Board</title>
</head>
<body>
    <h2>Welcome, <?php echo $_SESSION[&#39;username&#39;]; ?></h2>
    <form action="logout.php" method="post">
        <input type="submit" value="Logout">
    </form>

    <h3>Post a message:</h3>
    <form action="post_message.php" method="post">
        <label>Name:</label>
        <input type="text" name="name"><br><br>
        <label>Email:</label>
        <input type="email" name="email"><br><br>
        <label>Message:</label>
        <textarea name="message" rows="3" cols="40"></textarea><br><br>
        <input type="submit" value="Post">
    </form>

    <h3>Messages:</h3>
    <?php
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo "<p><strong>" . $row["name"]. "</strong> (". $row["email"] ."): " . $row["message"]. " <br>[". $row["timestamp"] ."]</p>";
            }
        } else {
            echo "No messages yet. Be the first one to leave a message!";
        }
    ?>

</body>
</html>

<?php
    $conn->close();
?>

Dalam halaman ini, kami mendapat semua maklumat mesej dan memaparkannya pada halaman satu demi satu. Di samping itu, untuk memudahkan pengguna log keluar, kami telah menambah butang "Keluar" pada halaman papan mesej Apabila pengguna mengklik butang ini, semua pembolehubah sesi akan dimusnahkan dan melompat kembali ke halaman log masuk.

4. Pelaksanaan penghantaran mesej

Akhir sekali, kita perlu melaksanakan program pemprosesan borang Dalam program ini, kita akan mendapatkan maklumat mesej yang dihantar oleh pengguna dan menyimpannya dalam pangkalan data, dan kemudian lompat kembali halaman papan mesej dan memaparkan mesej yang diserahkan.

Berikut ialah kod sumber program penghantaran mesej:

<?php
    /*接收并处理留言*/
    session_start();

    /*获取表单提交信息*/
    $name = $_POST[&#39;name&#39;];
    $email = $_POST[&#39;email&#39;];
    $message = $_POST[&#39;message&#39;];

    /*数据库连接*/
    $servername = "localhost";
    $db_username = "root";
    $db_password = "";
    $dbname = "message_board";

    $conn = new mysqli($servername, $db_username, $db_password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    /*存储留言*/
    $sql = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')";
    if ($conn->query($sql) === TRUE) {
        header("Location: message_board.php");
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();
?>

Program ini akan menerima maklumat mesej dan menyimpannya dalam pangkalan data, dan melompat kembali ke halaman papan mesej. Apabila pengguna kembali ke halaman papan mesej, ia akan menyegarkan halaman secara automatik dan memaparkan mesej baharu.

Ringkasan

Dalam artikel ini, kami melaksanakan papan mesej log masuk yang ringkas dan mudah digunakan menggunakan bahasa PHP, dan memperkenalkan reka bentuk dan pelaksanaan setiap halaman secara terperinci. Sudah tentu, ini hanyalah contoh mudah Jika anda perlu membangunkan laman web atau fungsi yang lebih kompleks, anda perlu mempelajari bahasa PHP dan teknologi lain yang berkaitan dengan mendalam. Walau bagaimanapun, dengan mempelajari contoh ini, anda akan dapat menguasai pengetahuan dan kemahiran asas pemprosesan borang, operasi pangkalan data dan pengurusan sesi dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk log masuk ke papan mesej dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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