Maison  >  Article  >  développement back-end  >  Comment utiliser PHP et CGI pour implémenter le système de commentaires et de likes d'un site Web

Comment utiliser PHP et CGI pour implémenter le système de commentaires et de likes d'un site Web

WBOY
WBOYoriginal
2023-07-22 16:53:21777parcourir

Comment utiliser PHP et CGI pour implémenter le système de commentaires et de likes sur le site Web

Avec le développement rapide des médias sociaux, le système de commentaires et de likes sur le site Web est devenu des fonctions essentielles. Cet article expliquera comment utiliser PHP et CGI (Common Gateway Interface) pour implémenter le système de commentaires et de likes du site Web, et joindra des exemples de code pertinents.

  1. Conception de base de données

Tout d'abord, nous devons concevoir une base de données pour stocker les données liées aux commentaires et aux likes. On peut créer deux tableaux : "commentaires" et "j'aime". La table des commentaires contient des champs : id (ID du commentaire, clé primaire auto-incrémentée), nom (nom du commentateur), email (adresse e-mail du commentateur), contenu (contenu du commentaire) et créé_at (heure de création du commentaire) ; id (point Like ID, clé primaire auto-incrémentée), comment_id (ID de commentaire, clé étrangère, champ id associé à la table de commentaires), ip_address (adresse IP de l'utilisateur) etcreated_at (comme l'heure de création).

Créez ces deux tableaux en utilisant les instructions SQL suivantes :

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. Afficher les commentaires et les likes

Avec la possibilité d'afficher les commentaires et les likes sur les pages du site, nous pouvons utiliser PHP pour interroger la base de données et obtenir les commentaires des résultats et du nombre de likes.

<?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. Ajouter des commentaires et des likes

Afin de mettre en œuvre les fonctions de commentaires et de likes, nous pouvons utiliser des formulaires HTML et des scripts PHP pour recevoir le contenu des commentaires des utilisateurs et les demandes de likes, et insérer les données dans la base de données. Voici un exemple de formulaire 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>

Ensuite, nous pouvons créer un script PHP appelé "submit.php" pour gérer les demandes de soumission de commentaires :

<?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. Gérer les demandes similaires

Afin de gérer les demandes similaires, nous pouvons créez un script PHP nommé "like.php" et liez-le au bouton J'aime correspondant.

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

Dans le code HTML des boutons de commentaire et d'amour, liez-le à like.php et transmettez l'ID de commentaire correspondant :

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

Avec les quatre étapes ci-dessus, nous pouvons utiliser PHP et CGI pour implémenter les commentaires et les likes sur le site Web. système. Les utilisateurs peuvent soumettre des commentaires via un formulaire et aimer les commentaires. Les données des commentaires et des likes seront stockées dans la base de données et pourront être affichées sur les pages du site. Grâce à l'exemple de code ci-dessus, vous pouvez le modifier et l'étendre en conséquence en fonction de vos besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn