PHPを使用して簡単な投票システムを実装する方法
PHP を使用して簡単な投票システムを実装する方法
1. はじめに
インターネットの継続的な発展に伴い、ソーシャル ネットワークやオンライン プラットフォームでの投票活動が増えています。ますます人気が高まっています。このニーズを満たすために、PHP プログラミング言語を使用して単純な投票システムを実装できます。この記事では、PHP を使用した簡単な投票システムの作成方法と具体的なコード例を紹介します。
2. システム要件の概要
私たちの投票システムは次の要件を満たす必要があります:
- ユーザーは投票トピックとオプションを表示できます。
- ユーザーはお気に入りのオプションに投票できます。
- ユーザーは、各オプションの現在の投票数を表示できます。
- ユーザーは繰り返し投票することはできません。
- 管理者は、投票トピックとオプションを作成、編集、削除できます。
- 管理者は、各オプションの投票情報を表示できます。
3. データ構造の設計
投票システムを実装するには、次のデータベース テーブルを設計する必要があります:
- vote_subjects: 投票を保存するテーブルid (主キー)、title (投票トピック)、created_at (作成時間) フィールドを含むサブジェクト。
- vote_options: id (主キー)、subject_id (外部キー、投票対象に関連付けられた ID)、option_name (オプション名)、および votes (投票数) フィールドを含む投票オプションを格納するテーブル。
- votes: id (主キー)、option_id (外部キー、投票オプションに関連付けられた ID)、ip_address (ユーザー IP アドレス) フィールドを含むユーザー投票情報を保存するテーブル。
4. コードの実装
投票システムを実装するための主な PHP コードの例を以下に示します:
- データベースに接続する
$host = 'localhost'; // MySQL データベース サーバーのアドレス
$db = 'vote_system'; // データベース名
$user = 'root'; // ユーザー名
$pass = ''; // パスワード
$conn = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass);
? >
- クエリの投票対象とオプション
$sql = 'SELECT * FROM vote_subjects';
$stmt = $conn->query($ sql);
$subjects = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($subjects as $subject) {
echo $subject['title'] . '<br>'; $subject_id = $subject['id']; $sql = "SELECT * FROM vote_options WHERE subject_id = $subject_id"; $stmt = $conn->query($sql); $options = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($options as $option) { echo $option['option_name'] . ': ' . $option['votes'] . ' votes<br>'; }
}
?> ;
- vote
$subject_id = $_POST['subject_id'];
$option_id = $_POST['option_id'];
$ ip_address = $_SERVER['REMOTE_ADDR'];
$sql = "SELECT COUNT(*) FROM votes WHERE option_id = $option_id AND ip_address = '$ip_address'";
$stmt = $conn->query($sql);
$count = $stmt->fetchColumn();
if ($count > 0) {
echo '您已经投过票了!';
} else {
$sql = "UPDATE vote_options SET votes = votes + 1 WHERE id = $option_id"; $conn->exec($sql); $sql = "INSERT INTO votes (option_id, ip_address) VALUES ($option_id, '$ip_address')"; $conn->exec($sql); echo '投票成功!';
}
?>
- 管理機能
管理者は、HTML フォームを使用して、投票トピックの作成、編集、削除リクエストを送信できます。オプションを指定し、次のコードを使用して操作を処理します。
投票対象を作成します:
$title = $_POST['title'];
$sql = "INSERT INTO vote_subjects (title ) VALUES ('$title')";
$conn->exec($sql);
?>
投票オプションの作成:
$ subject_id = $_POST['subject_id'];
$option_name = $_POST['option_name'];
$sql = "vote_options (subject_id, option_name, votes) VALUES ($subject_id, ' $option_name', 0)";
$conn->exec($sql);
?>
投票オプションの編集:
$ id = $_POST['id'];
$option_name = $_POST['option_name'];
$sql = "投票オプションの更新 SET オプション名 = '$オプション名' WHERE id = $id";
$conn->exec($sql);
?>
投票オプションを削除:
$id = $_POST['id'] ;
$sql = "vote_options WHERE id = $idから削除";
$conn->exec($sql);
?>
5. 概要
上記は、PHP を使用して単純な投票システムを作成するコード例です。データベースへの接続、投票トピックとオプションのクエリ、投票、管理者機能の実装方法を紹介しました。これらのコード例を通じて、PHP プログラミング言語を使用して簡単な投票システムを実装する方法を学ぶことができます。もちろん、これは単なる例であり、実際の投票システムでは、より多くの機能とセキュリティの考慮が必要になる場合があります。
以上がPHPを使用して簡単な投票システムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています
