PHP에서 개발한 온라인 투표 시스템에 대한 자세한 설명
투표 시스템은 인터넷에서 매우 일반적인 기능으로 다양한 온라인 활동, 설문 조사, 선거 및 기타 시나리오에서 널리 사용됩니다. 이 기사에서는 PHP를 사용하여 간단한 온라인 투표 시스템을 개발하는 방법을 자세히 소개합니다.
먼저 투표 관련 데이터를 저장할 데이터베이스를 만들어야 합니다. 데이터베이스 이름이 "vote"이고 다음 두 테이블이 포함되어 있다고 가정합니다.
다음은 데이터베이스와 테이블을 생성하는 SQL 샘플 코드입니다.
CREATE DATABASE vote; USE vote; CREATE TABLE polls ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, deadline DATE NOT NULL ); CREATE TABLE options ( id INT AUTO_INCREMENT PRIMARY KEY, poll_id INT, title VARCHAR(255) NOT NULL, votes INT DEFAULT 0, FOREIGN KEY (poll_id) REFERENCES polls(id) );
다음 단계는 투표 주제와 옵션을 표시하고 투표를 받는 프런트 엔드 페이지를 작성하는 것입니다. 사용자로부터. 다음은 간단한 HTML 및 PHP 코드 예입니다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>在线投票系统</title> </head> <body> <h1>投票主题</h1> <?php // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "vote"); // 查询投票主题和选项 $poll_id = $_GET['poll_id']; $poll_query = "SELECT * FROM polls WHERE id = $poll_id"; $poll_result = mysqli_query($conn, $poll_query); if (mysqli_num_rows($poll_result) > 0) { // 显示投票主题 $poll = mysqli_fetch_assoc($poll_result); echo "<h2>{$poll['title']}</h2>"; // 查询投票选项 $options_query = "SELECT * FROM options WHERE poll_id = $poll_id"; $options_result = mysqli_query($conn, $options_query); if (mysqli_num_rows($options_result) > 0) { // 显示投票选项 echo "<form method='POST' action='vote.php'>"; while ($option = mysqli_fetch_assoc($options_result)) { echo "<input type='radio' name='option_id' value='{$option['id']}'>{$option['title']}<br>"; } echo "<input type='hidden' name='poll_id' value='$poll_id'>"; echo "<input type='submit' value='提交投票'>"; echo "</form>"; } else { echo "没有投票选项。"; } } else { echo "投票主题不存在。"; } // 关闭数据库连接 mysqli_close($conn); ?> </body> </html>
투표 페이지에서는 "vote.php"라는 핸들러를 사용하여 사용자의 투표 요청을 수신하고 처리합니다. 다음은 샘플 코드입니다.
<?php // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "vote"); // 根据用户的投票选项,更新选项的票数 $option_id = $_POST['option_id']; $poll_id = $_POST['poll_id']; $update_query = "UPDATE options SET votes = votes + 1 WHERE id = $option_id"; mysqli_query($conn, $update_query); // 关闭数据库连接 mysqli_close($conn); // 重定向到结果页面 header("Location: results.php?poll_id=$poll_id"); exit(); ?>
사용자가 투표를 제출하면 vote.php는 해당 옵션에 대한 투표 수를 업데이트하고 투표 결과를 표시하기 위해 "results.php"라는 페이지로 리디렉션됩니다.
마지막으로 투표 결과를 표시할 결과 페이지를 작성해야 합니다. 다음은 간단한 PHP 코드 예제입니다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>投票结果</title> </head> <body> <h1>投票结果</h1> <?php // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "vote"); // 查询投票主题和选项 $poll_id = $_GET['poll_id']; $poll_query = "SELECT * FROM polls WHERE id = $poll_id"; $poll_result = mysqli_query($conn, $poll_query); if (mysqli_num_rows($poll_result) > 0) { // 显示投票主题 $poll = mysqli_fetch_assoc($poll_result); echo "<h2>{$poll['title']}(截止日期:{$poll['deadline']})</h2>"; // 查询投票选项 $options_query = "SELECT * FROM options WHERE poll_id = $poll_id"; $options_result = mysqli_query($conn, $options_query); if (mysqli_num_rows($options_result) > 0) { // 显示投票选项和票数 while ($option = mysqli_fetch_assoc($options_result)) { echo "{$option['title']}: {$option['votes']} 票<br>"; } } else { echo "没有投票选项。"; } } else { echo "投票主题不存在。"; } // 关闭数据库连接 mysqli_close($conn); ?> </body> </html>
위는 PHP를 사용하여 개발된 간단한 온라인 투표 시스템에 대한 자세한 소개입니다. 데이터베이스와 프런트엔드 페이지를 결합하면 사용자 투표 기능을 간단하게 구현하고 투표 결과를 집계하고 표시할 수 있습니다. 물론 실제 투표 시스템에는 특정 요구 사항을 충족하기 위해 더 많은 기능과 보안 조치가 필요할 수 있지만 이 기사에 제공된 예는 기본 투표 시스템 개발을 시작하기 위한 참조로 사용할 수 있습니다.
위 내용은 PHP에서 개발한 온라인 투표 시스템에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!