Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membangunkan ruang sembang dalam talian yang mudah menggunakan PHP

Bagaimana untuk membangunkan ruang sembang dalam talian yang mudah menggunakan PHP

王林
王林asal
2023-09-21 08:39:111111semak imbas

Bagaimana untuk membangunkan ruang sembang dalam talian yang mudah menggunakan PHP

Bagaimana untuk membangunkan bilik sembang dalam talian yang mudah menggunakan PHP?

Dengan perkembangan pesat Internet, komunikasi antara manusia semakin bergantung kepada Internet. Sebagai alat sosial biasa, bilik sembang dalam talian telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian orang ramai. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa PHP untuk membangunkan ruang sembang dalam talian yang mudah dan memberikan contoh kod khusus.

  1. Persediaan awal
    Sebelum anda bermula, pastikan persekitaran operasi PHP dan pelayan Apache telah dipasang pada komputer anda. Anda boleh membina persekitaran pembangunan PHP melalui alatan seperti XAMPP atau WAMP. Pada masa yang sama, anda juga perlu mengetahui pengetahuan asas HTML, CSS dan JavaScript.
  2. Buat pangkalan data dan jadual
    Pertama, buat jadual dalam pangkalan data anda untuk menyimpan rekod sembang. Anda boleh menggunakan penyataan SQL berikut untuk membuat jadual:

    CREATE TABLE chat (
      id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      username VARCHAR(30) NOT NULL,
      message TEXT NOT NULL,
      created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    )

    Jadual ini mengandungi ID yang ditambah secara automatik, nama pengguna pengirim, kandungan mesej dan masa mesej dihantar.

  3. Buat halaman sembang
    Buat fail bernama index.php dalam direktori projek anda. Fail ini akan berfungsi sebagai halaman sembang kami. Import gaya dan skrip berikut dalam fail:

    <link rel="stylesheet" href="style.css">
    <script src="jquery.min.js"></script>
    <script src="script.js"></script>

    Dalam halaman, cipta elemen div untuk memaparkan sejarah sembang:

    <div id="chat-box"></div>

    Pada masa yang sama, tambahkan borang untuk memasukkan nama pengguna dan menghantar mesej:

    <form id="chat-form">
      <input type="text" id="username" placeholder="用户名" required>
      <input type="text" id="message" placeholder="消息" required>
      <button type="submit">发送</button>
    </form>
  4. Tulis kod Pemprosesan bahagian belakang
    Buat fail bernama chat.php dalam direktori yang sama untuk mengendalikan penyimpanan dan pembacaan rekod sembang. Mula-mula, sambung ke pangkalan data:

    <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "chatroom";
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) {
      die("连接失败: " . $conn->connect_error);
    }
    ?>

    Seterusnya, tulis fungsi untuk menyimpan mesej:

    <?php
    function saveMessage($username, $message)
    {
      global $conn;
      
      $sql = "INSERT INTO chat (username, message) VALUES ('$username', '$message')";
      
      if ($conn->query($sql) === TRUE) {
     return true;
      } else {
     return false;
      }
    }
    ?>

    Kemudian, buat fungsi untuk mendapatkan rekod sembang:

    <?php
    function getChatHistory()
    {
      global $conn;
      
      $sql = "SELECT * FROM chat";
      $result = $conn->query($sql);
      
      if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
       echo "<p>{$row['username']}: {$row['message']}</p>";
     }
      }
    }
    ?>

    Akhir sekali, tambah kod berikut pada fail chat.php dengan Untuk memproses data borang yang dihantar oleh bahagian hadapan:

    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
      $username = $_POST["username"];
      $message = $_POST["message"];
      
      if (saveMessage($username, $message)) {
     echo "消息发送成功!";
      } else {
     echo "消息发送失败!";
      }
    }
    ?>
  5. Tulis skrip bahagian hadapan
    Buat fail bernama script.js dalam direktori projek untuk menghantar data borang dan mendapatkan rekod sembang. Gunakan kaedah ajax jQuery untuk memproses:

    $(document).on("submit", "#chat-form", function(e) {
      e.preventDefault();
      
      var username = $("#username").val();
      var message = $("#message").val();
      
      $.ajax({
     url: "chat.php",
     method: "POST",
     data: { username: username, message: message },
     success: function(response) {
       $("#message").val("");
     }
      });
    });
    
    function getChatHistory() {
      $.ajax({
     url: "chat.php",
     method: "GET",
     success: function(response) {
       $("#chat-box").html(response);
     }
      });
    }
    
    setInterval(getChatHistory, 1000);
  6. Gaya penulisan
    Buat fail bernama style.css dalam direktori projek untuk menggayakan halaman sembang:

    body {
      background: #f2f2f2;
      font-family: Arial, sans-serif;
      margin: 0;
      padding: 0;
    }
    
    #chat-box {
      background: #fff;
      border: 1px solid #ccc;
      border-radius: 5px;
      height: 200px;
      margin: 20px auto;
      overflow: auto;
      padding: 10px;
      width: 400px;
    }
    
    #chat-form {
      display: flex;
      margin: 0 auto;
      width: 400px;
    }
    
    #chat-form input[type="text"] {
      flex: 1;
      padding: 5px;
    }
  7. Jalankan projek
    Buka dalam fail php pelayar anda. kini boleh memasukkan nama pengguna anda dan menghantar mesej. Mesej anda akan disimpan dalam pangkalan data dan dipaparkan pada halaman sembang dalam masa nyata.

Melalui langkah di atas, kami membangunkan ruang sembang dalam talian yang mudah menggunakan PHP. Sudah tentu, ini hanyalah pelaksanaan peringkat permulaan, dan anda boleh terus membangunkan dan mengoptimumkannya mengikut keperluan anda sendiri. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk membangunkan ruang sembang dalam talian yang mudah menggunakan 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