>백엔드 개발 >PHP 튜토리얼 >PHP와 CGI를 사용하여 웹사이트의 댓글 및 좋아요 시스템을 구현하는 방법

PHP와 CGI를 사용하여 웹사이트의 댓글 및 좋아요 시스템을 구현하는 방법

WBOY
WBOY원래의
2023-07-22 16:53:21886검색

PHP와 CGI를 활용한 웹사이트 댓글 및 좋아요 시스템 구현

소셜 미디어의 급속한 발전으로 웹사이트의 댓글 및 좋아요 시스템은 필수 기능이 되었습니다. 이 기사에서는 PHP와 CGI(Common Gateway Interface)를 사용하여 웹사이트의 댓글 및 좋아요 시스템을 구현하는 방법을 소개하고 관련 코드 예제를 첨부합니다.

  1. 데이터베이스 디자인

먼저 댓글, 좋아요 관련 데이터를 저장할 데이터베이스를 디자인해야 합니다. "댓글"과 "좋아요"라는 두 개의 테이블을 만들 수 있습니다. 댓글 테이블에는 id(댓글 ID, 자동 증가 기본 키), 이름(댓글 작성자 이름), 이메일(댓글 작성자 이메일 주소), content(댓글 콘텐츠) 및 Create_at(댓글 생성 시간) 필드가 포함되어 있습니다. id(포인트 Like ID, 자동 증가 기본 키), comment_id(댓글 ID, 외래 키, 댓글 테이블과 연결된 id 필드), ip_address(사용자 IP 주소) 및 Create_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 양식 및 PHP 스크립트를 사용하여 사용자 댓글 콘텐츠 및 좋아요 요청을 받고 데이터를 데이터베이스에 삽입할 수 있습니다. 다음은 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 스크립트를 생성하여 댓글 제출 요청을 처리할 수 있습니다. "like.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();
?>
    댓글 및 좋아요 버튼의 HTML 코드에서 like.php에 연결하고 해당 댓글 ID를 전달합니다.
  1. <?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();
    ?>
  2. 위의 4단계를 통해 PHP와 CGI를 사용하여 웹사이트에 댓글과 좋아요를 구현할 수 있습니다. 체계. 사용자는 양식을 통해 의견을 제출하고 의견에 좋아요를 표시할 수 있습니다. 댓글과 좋아요 데이터는 데이터베이스에 저장되며 웹사이트 페이지에 표시될 수 있습니다. 위의 샘플 코드를 통해 필요에 따라 적절하게 수정하고 확장할 수 있습니다.

위 내용은 PHP와 CGI를 사용하여 웹사이트의 댓글 및 좋아요 시스템을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.