PHP와 CGI를 활용한 웹사이트 댓글 및 좋아요 시스템 구현
소셜 미디어의 급속한 발전으로 웹사이트의 댓글 및 좋아요 시스템은 필수 기능이 되었습니다. 이 기사에서는 PHP와 CGI(Common Gateway Interface)를 사용하여 웹사이트의 댓글 및 좋아요 시스템을 구현하는 방법을 소개하고 관련 코드 예제를 첨부합니다.
먼저 댓글, 좋아요 관련 데이터를 저장할 데이터베이스를 디자인해야 합니다. "댓글"과 "좋아요"라는 두 개의 테이블을 만들 수 있습니다. 댓글 테이블에는 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) );
웹 사이트 페이지에 댓글과 좋아요를 표시하는 기능을 사용하면 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); ?>
댓글 및 좋아요 기능을 구현하기 위해 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(); ?>
<?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(); ?>
위 내용은 PHP와 CGI를 사용하여 웹사이트의 댓글 및 좋아요 시스템을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!