Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan komen tanpa nama dalam php (dengan kod)

Bagaimana untuk melaksanakan komen tanpa nama dalam php (dengan kod)

PHPz
PHPzasal
2023-04-04 13:58:571462semak imbas

Dengan pembangunan rangkaian sosial, orang ramai semakin gemar untuk mengambil bahagian dalam perbincangan dan mengulas tanpa nama, yang merupakan salah satu sebab penting mengapa banyak tapak web menyediakan fungsi ulasan tanpa nama. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi ulasan tanpa nama untuk menjadikan tapak web anda lebih mesra pengguna.

Sebelum bermula, kita perlu memahami konsep penting - Sesi. Sesi ialah teknologi yang menyimpan maklumat pengguna di bahagian pelayan Apabila pengguna melawat tapak web untuk kali pertama, pelayan akan mencipta ID Sesi yang unik untuk dia mengenal pasti pengguna. ID Sesi disimpan dalam penyemak imbas pengguna dalam bentuk kuki Pada kali seterusnya anda melawat, penyemak imbas akan menghantar ID ini secara automatik kepada pelayan Pelayan akan mencari Sesi yang sepadan berdasarkan ID dan membaca atau menulis maklumat yang berkaitan .

Baiklah, sekarang mari kita mula melaksanakan fungsi ulasan tanpa nama!

Langkah pertama ialah membuat borang ulasan

Mula-mula, kita perlu menambah borang ulasan pada halaman hadapan untuk pengguna memasukkan kandungan ulasan. Dalam borang ini, kami hanya perlu menyediakan kandungan ulasan, kerana kami memerlukan pengguna meninggalkan ulasan tanpa nama, jadi pengguna tidak perlu mengisi maklumat peribadi yang lain.

<form method="post" action="comment.php">
  <label for="content">发表评论:</label><br>
  <textarea id="content" name="content" rows="5" cols="50"></textarea><br>
  <input type="submit" value="提交">
</form>

Di sini, kami menyimpan kandungan ulasan ke dalam pembolehubah POST bernama "kandungan" dan kemudian menyerahkan borang ke halaman comment.php.

Langkah kedua ialah memproses data ulasan

Apabila pengguna menyerahkan ulasan, kami perlu memproses kandungan ulasan di bahagian pelayan. Dalam halaman comment.php, kita boleh menyemak dahulu sama ada pengguna telah log masuk. Jika ya, gunakan nama pengguna log masuk untuk menyiarkan ulasan Jika tidak, buat nama pengguna tanpa nama secara rawak untuk ulasan.

session_start();
if(isset($_SESSION['username'])) {
  $username = $_SESSION['username'];
} else {
  $username = '匿名用户' . rand(1000,9999);
}

$content = $_POST['content'];
// 此处可以将评论内容保存到数据库中,并加上用户名和时间戳等信息

Dalam kod ini, kami menggunakan fungsi session_start() untuk membuka Sesi, dan kemudian menentukan sama ada pengguna telah log masuk. Jika maklumat nama pengguna wujud dalam Sesi (iaitu, pengguna telah log masuk), gunakan nama pengguna itu jika tidak, buat nama pengguna rawak untuk pengguna. Di sini kami menggunakan fungsi rand() PHP untuk menjana nombor rawak sebagai sebahagian daripada nama pengguna tanpa nama. Akhir sekali, kami menggunakan $_POST['content'] untuk mendapatkan kandungan ulasan dalam borang dan menyimpannya dalam pembolehubah $content.

Di sini, kita boleh memilih untuk menyimpan kandungan ulasan ke pangkalan data, atau mengeluarkannya terus ke halaman. Di sini kami menggunakan kaedah "simpan ke pangkalan data" untuk mencapainya.

// 连接到数据库
$conn = mysqli_connect($db_host, $db_username, $db_password, $db_name);

// 插入评论数据
$sql = "INSERT INTO comments (username, content, timestamp) VALUES ('$username', '$content', NOW())";
$result = mysqli_query($conn, $sql);

// 关闭数据库连接
mysqli_close($conn);

Di sini, kami menggunakan perpustakaan mysqli terbina dalam PHP untuk menyambung ke pangkalan data dan melaksanakan pernyataan SQL untuk memasukkan data ulasan ke dalam jadual data bernama "komen". Antaranya, nama pengguna dan lajur kandungan masing-masing menyimpan nama pengguna dan kandungan ulasan, dan lajur cap masa menyimpan cap masa semasa. Selepas melengkapkan operasi memasukkan data, gunakan fungsi mysqli_close() untuk menutup sambungan pangkalan data.

Langkah ketiga, paparkan senarai komen

Langkah terakhir, kita perlu paparkan senarai komen pada halaman supaya pengguna dapat melihat komen pengguna lain. Dalam contoh ini, kami menggunakan cara mudah untuk mengeluarkan senarai ulasan, tetapi anda boleh melaraskannya mengikut keperluan anda.

// 连接到数据库
$conn = mysqli_connect($db_host, $db_username, $db_password, $db_name);

// 查询评论数据
$sql = "SELECT * FROM comments ORDER BY timestamp DESC";
$result = mysqli_query($conn, $sql);

// 遍历每个评论并输出
while ($row = mysqli_fetch_assoc($result)) {
  $username = $row['username'];
  $content = $row['content'];
  $timestamp = $row['timestamp'];
  echo "<div><span>$username</span><span>$timestamp</span><br><p>$content</p></div>";
}

// 关闭数据库连接
mysqli_close($conn);

Di sini, kami menggunakan pernyataan SELECT untuk menanyakan semua data ulasan daripada jadual ulasan dan mengisihnya dalam tertib menurun mengikut cap masa. Kemudian, gunakan fungsi mysqli_fetch_assoc() untuk menukar setiap baris data kepada tatasusunan bersekutu, dan lelaran dan keluarkan nama pengguna, cap masa dan kandungan ulasan setiap ulasan. Akhir sekali, gunakan fungsi mysqli_close() untuk menutup sambungan pangkalan data.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi ulasan tanpa nama, termasuk membuat borang ulasan, memproses data ulasan dan memaparkan senarai ulasan. Melalui contoh ini, anda boleh belajar tentang konsep asas Sesi, perpustakaan mysqli terbina dalam PHP dan beberapa operasi pangkalan data asas. Sudah tentu, ini hanyalah pelaksanaan yang mudah, dan anda boleh melaraskan serta mengoptimumkannya mengikut keperluan anda.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan komen tanpa nama dalam php (dengan kod). 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