Cara menggunakan PHP dan CGI untuk melaksanakan sistem ulasan dan suka laman web

WBOY
Lepaskan: 2023-07-22 16:54:01
asal
853 orang telah melayarinya

Cara menggunakan PHP dan CGI untuk melaksanakan sistem komen dan suka di laman web

Dengan perkembangan pesat media sosial, sistem komen dan suka di laman web telah menjadi fungsi penting. Artikel ini akan memperkenalkan cara menggunakan PHP dan CGI (Antara Muka Gerbang Biasa) untuk melaksanakan sistem ulasan dan suka tapak web, dan melampirkan contoh kod yang berkaitan.

  1. Reka bentuk pangkalan data

Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan data yang berkaitan dengan komen dan suka. Kita boleh membuat dua jadual: "komen" dan "suka". Jadual ulasan mengandungi medan: id (ID ulasan, kunci utama yang ditambah secara automatik), nama (nama pengulas), e-mel (alamat e-mel pengulas), kandungan (kandungan ulasan) dan create_at (jadual sukaan mengandungi medan: id (titik Suka ID, kunci utama yang ditambah secara automatik), comment_id (ID ulasan, kunci asing, medan id yang dikaitkan dengan jadual ulasan), ip_address (alamat IP pengguna) dan created_at (seperti masa penciptaan).

Buat dua jadual ini menggunakan pernyataan SQL berikut:

CREATE TABLE comments (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) NOT NULL,
  content TEXT NOT NULL,
  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE likes (
  id INT AUTO_INCREMENT PRIMARY KEY,
  comment_id INT NOT NULL,
  ip_address VARCHAR(255) NOT NULL,
  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (comment_id) REFERENCES comments(id)
);
Salin selepas log masuk
  1. Paparkan komen dan suka

Dengan keupayaan untuk memaparkan komen dan suka pada halaman laman web, kita boleh menggunakan PHP untuk menanyakan pangkalan data dan mendapatkan komen daripada keputusan dan bilangan suka.

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 查询评论数据
$query = "SELECT * FROM comments";
$result = mysqli_query($conn, $query);
$comments = mysqli_fetch_all($result, MYSQLI_ASSOC);

// 查询点赞数量
$query = "SELECT comment_id, COUNT(*) as likes_count FROM likes GROUP BY comment_id";
$result = mysqli_query($conn, $query);
$likes = mysqli_fetch_all($result, MYSQLI_ASSOC);

// 输出评论和点赞信息
foreach ($comments as $comment) {
  echo "评论者:" . $comment['name'] . "<br>";
  echo "评论时间:" . $comment['created_at'] . "<br>";
  echo "评论内容:" . $comment['content'] . "<br>";

  // 查找对应评论的点赞数量
  $likes_count = 0;
  foreach ($likes as $like) {
    if ($like['comment_id'] == $comment['id']) {
      $likes_count = $like['likes_count'];
      break;
    }
  }

  echo "点赞数量:" . $likes_count . "<br><br>";
}

// 关闭数据库连接
mysqli_close($conn);
?>
Salin selepas log masuk
  1. Tambah komen dan suka

Untuk melaksanakan fungsi komen dan suka, kami boleh menggunakan borang HTML dan skrip PHP untuk menerima kandungan ulasan pengguna dan permintaan suka, dan memasukkan data ke dalam pangkalan data. Berikut ialah contoh borang HTML:

<form method="POST" action="submit.php">
  <input type="text" name="name" placeholder="姓名">
  <input type="email" name="email" placeholder="邮箱">
  <textarea name="content" placeholder="评论内容"></textarea>
  <input type="submit" value="提交评论">
</form>
Salin selepas log masuk

Kemudian, kita boleh mencipta skrip PHP yang dipanggil "submit.php" untuk mengendalikan permintaan untuk menghantar komen:

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 接收表单数据
$name = $_POST['name'];
$email = $_POST['email'];
$content = $_POST['content'];

// 插入评论数据
$query = "INSERT INTO comments (name, email, content) VALUES ('$name', '$email', '$content')";
mysqli_query($conn, $query);

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

// 重定向到原页面
header("Location: index.php");
exit();
?>
Salin selepas log masuk
  1. Kendalikan seperti permintaan

Untuk mengendalikan permintaan seperti, kita boleh buat skrip PHP bernama "like.php" dan pautkannya ke butang suka yang sepadan.

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 获取用户IP地址
$ip_address = $_SERVER['REMOTE_ADDR'];

// 获取评论ID
$comment_id = $_GET['comment_id'];

// 插入点赞数据
$query = "INSERT INTO likes (comment_id, ip_address) VALUES ($comment_id, '$ip_address')";
mysqli_query($conn, $query);

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

// 重定向到原页面
header("Location: index.php");
exit();
?>
Salin selepas log masuk

Dalam kod HTML komen dan butang suka, pautkannya ke like.php dan hantar ID komen yang sepadan:

<a href="like.php?comment_id=<?php echo $comment['id']; ?>">点赞</a>
Salin selepas log masuk

Dengan empat langkah di atas, kami boleh menggunakan PHP dan CGI untuk melaksanakan komen dan suka di tapak web sistem. Pengguna boleh menghantar komen melalui borang dan suka komen. Data komen dan suka akan disimpan dalam pangkalan data dan boleh dipaparkan pada halaman laman web. Melalui kod sampel di atas, anda boleh mengubah suai dan memanjangkannya mengikut keperluan anda.

Atas ialah kandungan terperinci Cara menggunakan PHP dan CGI untuk melaksanakan sistem ulasan dan suka laman web. 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