首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP + MySQL 實作簡易投票系統完整範例

     編輯:PHP 相關知識

PHP + MySQL 打造簡易投票系統:從資料庫設計到前端顯示

想快速建立一個網頁投票功能?本文提供一個完整的 PHP + MySQL 投票系統範例,包含資料表建立、投票邏輯、即時統計顯示與長條圖視覺化,適合初學者參考學習。

系統架構概覽

本系統包含三個核心檔案:

  • question.php:投票介面,含單選題與送出按鈕
  • count.php:處理投票邏輯,寫入資料庫並導回投票頁
  • connect.php:資料庫連線設定

資料庫設計

建立資料庫 vote 並執行以下 SQL:

CREATE TABLE countone (
  id INT AUTO_INCREMENT PRIMARY KEY,
  answer INT NOT NULL,
  vote_time DATETIME DEFAULT CURRENT_TIMESTAMP
);

核心程式碼解析

1. 投票介面 (question.php)

<html>
<head>
  <title>手機作業系統調查問卷</title>
  <style>
    .chart-bar { width: 60px; height: 1px; background-color: blue; position: absolute; bottom: 0; }
    .chart-container { width: 600px; height: 100px; background-color: white; position: relative; border: 1px solid #ccc; }
  </style>
</head>
<body>
  

你現在使用的手機是什麼系統?




當前票數:
'android', 2=>'Symbian', 3=>'iphone', 4=>'Google', 5=>'winphone', 6=>'other']; $counts = []; foreach ($options as $key => $name) { $sql = "SELECT * FROM countone WHERE answer=$key"; $counts[$name] = mysql_num_rows(mysql_query($sql)); } ?> $count): ?> $count): ?>
票
"; } ?>
</body> </html>

2. 投票處理 (count.php)

<?php
include 'connect.php';
$choice = (int)$_POST['phone'];
// 使用參數化查詢防止 SQL 注入(建議改用 PDO 或 mysqli)
$sql = "INSERT INTO countone (answer, vote_time) VALUES ($choice, NOW())";
mysql_query($sql);
?>
<script>
  alert("投票成功!");
  location.href = "question.php";
</script>

3. 資料庫連線 (connect.php)

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("vote");
mysql_query("SET NAMES utf8");
?>

改進建議與注意事項

  1. 棄用 mysql_* 函式:PHP 7.0+ 已移除,請改用 mysqli 或 PDO。
  2. 防止重複投票:可透過 Session、Cookie 或 IP 限制,甚至結合資料庫唯一索引。
  3. SQL 注入防護:務必使用預處理語句(Prepared Statements)。
  4. 視覺化優化:長條圖建議改用 CSS `width` 百分比或 Chart.js 等圖表庫。
  5. 錯誤處理:加入連線失敗、查詢錯誤的例外處理。

延伸閱讀

  • PHP + MySQL 投票系統進階設計與實作
  • PHP 投票系統防刷票機制分析
  • PHP + Redis 實作高效能投票計數
  • PHP + AJAX 無刷新投票體驗
  • 基於 jQuery + MySQL 的紅藍(頂/踩)投票特效
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved