首頁  >  文章  >  後端開發  >  如何使用PHP和CGI實現網站的評論和按讚系統

如何使用PHP和CGI實現網站的評論和按讚系統

WBOY
WBOY原創
2023-07-22 16:53:21830瀏覽

如何使用PHP和CGI實現網站的評論和點讚系統

隨著社交媒體的快速發展,網站上的評論和點讚系統已經成為必不可少的功能。本文將介紹如何使用PHP和CGI(通用網關介面)實現網站的評論和按讚系統,並附上相關的程式碼範例。

  1. 資料庫設計

首先,我們需要設計一個資料庫來儲存評論和按讚相關的資料。我們可以建立兩個表格:"comments"(評論)和"likes"(按讚)。 comments表包含欄位:id(評論ID,自增主鍵)、name(評論者名稱)、email(評論者信箱)、content(評論內容)和created_at(評論建立時間);likes表包含欄位:id(點讚ID,自增主鍵)、comment_id(評論ID,外鍵,關聯comments表的id欄位)、ip_address(使用者IP位址)和created_at(按讚建立時間)。

使用以下SQL語句建立這兩個表格:

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)
);
  1. 顯示評論和讚

在網站的頁面上顯示留言和按讚的功能,我們可以使用PHP來查詢資料庫並從結果中獲取評論和點讚的數量。

<?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);
?>
  1. 新增評論和讚

為了實現評論和讚請求,並將資料插入資料庫。以下是一個範例的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>

然後,我們可以建立一個名為"submit.php"的PHP腳本來處理提交評論的請求:

<?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();
?>
  1. 處理點讚請求

為了處理按讚請求,我們可以建立一個名為"like.php"的PHP腳本,並將其連結到對應的讚按鈕。

<?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();
?>

在評論和讚按鈕的HTML程式碼中,將其連結到like.php並傳遞對應的評論ID:

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

透過上述四個步驟,我們可以使用PHP和CGI實現網站的評論和按讚系統。用戶可以透過表單提交評論,並可以對評論進行點讚。評論和按讚的資料將儲存在資料庫中,並可以在網站頁面上顯示。透過以上的範例程式碼,您可以根據自己的需求進行相應地修改和擴展。

以上是如何使用PHP和CGI實現網站的評論和按讚系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn