検索
ホームページphp教程php手册シンプルな PHP 投票プログラムのソース コード
シンプルな PHP 投票プログラムのソース コードJun 13, 2016 pm 12:32 PM
php分析する利用ストレージ私たち投票する書類カラム単純

分析:
ファイル (data.dat) を使用して、各列が 1 行を占めます。
この方法で、投票する列を自由に追加および削除できます。次に、ファイル (votes.dat) を使用して投票結果を保存します
そして、1 人が複数回投票することを防ぐために、最新の投票者の IP アドレスを記録します。
そのため、それを自分で作成する必要があります。プログラム ディレクトリ内 2 つのファイル data.dat と votes.dat
プログラム実行プロセスの一部
プログラムが実行されると、最初に投票 HTML フォームが表示され、誰かが投票するのを待ちます。 HTML フォームで、その IP が最新の投票者の IP であるかどうかを確認します。
この人が投票したばかりの場合、2 つの値は等しく、「すでに投票しました。ありがとうございます」と表示されます。
この人が投票したばかりの場合、投票していない場合、2 つの値が等しくない場合は、その投票をファイル (votes.dat) に書き込みます
(投票者の IP を取得する方法)これは次のとおりです。Web クライアントは、サーバーにリクエストを送信するときにテーブルを提供する必要があります。
この識別子は環境変数 REMOTE_ADDR に保存されており、参照するだけです。)
最後に、通常は投票結果が表示されます。投票状況を「棒グラフのパーセンテージ」として表示します。
そのため、水平方向のスケーリング要件に適応するために、単一色の長方形を選択する必要があります。
---------- ---------------- ---------------------------------- ---------------- ---
プログラムコード部分をダウンロードできます
//投票欄にはファイルが格納されており、ファイル名は変更できます
$data="data.dat";
//投票結果保存ファイル
$votes="votes.dat";
//投票結果の割合を表示するために使用されるグラフィック ファイル名、
//投票結果の水平方向の拡大縮小を容易にするために、単色の長方形を使用することをお勧めします。
//自分でプログラム ディレクトリにアップロードします
$path_img="vote.gif"
//投票タイトル
$poll_name="どの列が好きですか?"
/ / 以下の部分は変更する必要はありません //
// 投票列ファイルを開き、すべての内容を保存します後で使用するために配列形式の変数 $dataf に
$dataf=file($data);
if ($ go !=1)
{
//投票プログラムのフォームを表示します
echo "$poll_name
n ";
echo "

"; >for ($i=0; $i{
echo " ; $dataf[$i]
n"; }
echo "echo "

";
echo "

";
echo "結果を表示";
}
else
{
// $go==1 は誰かが投票したことを意味します。 // 今すぐ投票します 状況は別の方法でファイルから読み取られます $file_votes=fopen($votes, "r ");
$line_votes=fgets($file_votes, 255);
fclose($file_votes);
// 指定された文字列に従ってデータを分割し、その文字列を配列変数に戻します
$single_vote=explode("|", $line_votes);
//投票結果を書き込む準備をします
if ($result!=1)
{
// IP アドレスが重複しています
$file_votes=file($votes, "r");
if ($REMOTE_ADDR == $file_votes[1])
{
echo "
あなたはすでに投票しています、ご参加いただきありがとうございます!
";
exit;
}
// IP が重複しない場合は、次の手順を実行します
$ficdest=fopen($votes, "w ") ;
for ($i=0; $i{
//どの列に投票するかを判断します
if ($i == $ vote)
{
$single_vote[$i] =1;
}
//データをファイルに書き戻す
fputs($ficdest, "$single_vote[$i ]|") ;
}
//投票者の IP を書き込みます
fputs($ficdest, "n$REMOTE_ADDR");
fclose($ficdest);
$result=1; //投票成功
}
//投票結果を書き込み、投票結果を表示します
if ($result==1)
{ echo ""; >for ( $i=0; $i{
//総投票数を取得
$tot_votes =$single_vote[$i] ;
}
for ($i=0; $i{
//パーセンテージを計算する
$stat[$i] =$single_vote[$i ]/$tot_votes*100;
echo "";
echo "
  • "; $i] font>
  • ";
    echo "シンプルな PHP 投票プログラムのソース コード ";
    //出力パーセンテージ printf("%.1f", "$stat[$i]");
    echo "%
    "; //この列の投票数を出力します
    echo "$single_vote[$i]
    " ; echo "

    "; 総投票数: $tot_votes font>";
    }
    }
    ?>

    声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最简便的硬盘序列号查询方式最简便的硬盘序列号查询方式Feb 26, 2024 pm 02:24 PM

    硬盘序列号是硬盘的一个重要标识,通常用于唯一标识硬盘以及进行硬件识别。在某些情况下,我们可能需要查询硬盘序列号,比如在安装操作系统、查找正确设备驱动程序或进行硬盘维修等情况下。本文将介绍一些简单的方法,帮助大家查询硬盘序列号。方法一:使用Windows命令提示符打开命令提示符。在Windows系统中,按下Win+R键,输入"cmd"并按下回车键即可打开命

    如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式)如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式)Dec 31, 2023 pm 05:15 PM

    技嘉的主板怎么设置键盘开机首先,要支持键盘开机,一定是PS2键盘!!设置步骤如下:第一步:开机按Del或者F2进入bios,到bios的Advanced(高级)模式普通主板默认进入主板的EZ(简易)模式,需要按F7切换到高级模式,ROG系列主板默认进入bios的高级模式(我们用简体中文来示范)第二步:选择到——【高级】——【高级电源管理(APM)】第三步:找到选项【由PS2键盘唤醒】第四步:这个选项默认是Disabled(关闭)的,下拉之后可以看到三种不同的设置选择,分别是按【空格键】开机、按组

    CS玩家的首选:推荐的电脑配置CS玩家的首选:推荐的电脑配置Jan 02, 2024 pm 04:26 PM

    1.处理器在选择电脑配置时,处理器是至关重要的组件之一。对于玩CS这样的游戏来说,处理器的性能直接影响游戏的流畅度和反应速度。推荐选择IntelCorei5或i7系列的处理器,因为它们具有强大的多核处理能力和高频率,可以轻松应对CS的高要求。2.显卡显卡是游戏性能的重要因素之一。对于射击游戏如CS而言,显卡的性能直接影响游戏画面的清晰度和流畅度。建议选择NVIDIAGeForceGTX系列或AMDRadeonRX系列的显卡,它们具备出色的图形处理能力和高帧率输出,能够提供更好的游戏体验3.内存电

    广联达软件电脑配置推荐;广联达软件对电脑的配置要求广联达软件电脑配置推荐;广联达软件对电脑的配置要求Jan 01, 2024 pm 12:52 PM

    广联达软件是一家专注于建筑信息化领域的软件公司,其产品被广泛应用于建筑设计、施工、运营等各个环节。由于广联达软件功能复杂、数据量大,对电脑的配置要求较高。本文将从多个方面详细阐述广联达软件的电脑配置推荐,以帮助读者选择适合的电脑配置处理器广联达软件在进行建筑设计、模拟等操作时,需要进行大量的数据计算和处理,因此对处理器的要求较高。推荐选择多核心、高主频的处理器,如英特尔i7系列或AMDRyzen系列。这些处理器具有较强的计算能力和多线程处理能力,能够更好地满足广联达软件的需求。内存内存是影响计算

    如何使用Java编写一个简单的学生成绩报表生成器?如何使用Java编写一个简单的学生成绩报表生成器?Nov 03, 2023 pm 02:57 PM

    如何使用Java编写一个简单的学生成绩报表生成器?学生成绩报表生成器是一个可以帮助老师或教育者快速生成学生成绩报告的工具。本文将介绍如何使用Java编写一个简单的学生成绩报表生成器。首先,我们需要定义学生对象和学生成绩对象。学生对象包含学生的姓名、学号等基本信息,而学生成绩对象则包含学生的科目成绩和平均成绩等信息。以下是一个简单的学生对象的定义:public

    如何通过PHP编写一个简单的在线预约系统如何通过PHP编写一个简单的在线预约系统Sep 26, 2023 pm 09:55 PM

    如何通过PHP编写一个简单的在线预约系统随着互联网的普及和用户对便利性的追求,在线预约系统越来越受到欢迎。无论是餐厅、医院、美容院还是其他服务行业,都可以通过一个简单的在线预约系统来提高效率并为用户提供更好的服务体验。本文将介绍如何使用PHP编写一个简单的在线预约系统,并提供具体的代码示例。创建数据库和表格首先,我们需要创建一个数据库来存储预约信息。在MyS

    快速入门:使用Go语言函数实现简单的图书管理系统快速入门:使用Go语言函数实现简单的图书管理系统Jul 30, 2023 am 09:18 AM

    快速入门:使用Go语言函数实现简单的图书管理系统引言:随着计算机科学领域的不断发展,软件应用的需求也越来越多样化。图书管理系统作为一种常见的管理工具,也成为很多图书馆、学校和企业必备的系统之一。在本文中,我们将使用Go语言函数来实现一个简单的图书管理系统。通过这个例子,读者可以学习到Go语言中函数的基本用法以及如何构建一个实用的程序。一、设计思路:我们首先来

    如何通过C++编写一个简单的音乐推荐系统?如何通过C++编写一个简单的音乐推荐系统?Nov 03, 2023 pm 06:45 PM

    如何通过C++编写一个简单的音乐推荐系统?引言:音乐推荐系统是现代信息技术的一个研究热点,它可以根据用户的音乐偏好和行为习惯,向用户推荐符合其口味的歌曲。本文将介绍如何使用C++编写一个简单的音乐推荐系统。一、收集用户数据首先,我们需要收集用户的音乐偏好数据。可以通过在线调查、问卷调查等方式来获得用户对不同类型音乐的喜好程度。将数据保存在一个文本文件或数据库

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

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

    ホットツール

    MantisBT

    MantisBT

    Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

    SecLists

    SecLists

    SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

    PhpStorm Mac バージョン

    PhpStorm Mac バージョン

    最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境