ホームページ  >  記事  >  バックエンド開発  >  シンプルな PHP 投票プログラムのソース コード_PHP チュートリアル

シンプルな PHP 投票プログラムのソース コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:56:331079ブラウズ

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

";
for ($i=0; $i<=count($dataf)-1 ; $i++)
{
echo " $dataf[$ i]
n" }
echo "";
echo "

";
echo "

";
echo "結果を表示";
}
else
{
// $go= =1 は誰かが投票したことを意味します, // 次に、別の方法でファイルから投票情報を読み取ります $ file_votes=fopen($votes, "r");
$line_votes=fgets($file_votes, 255);
// 指定された文字列に従ってデータを切り取り、その文字列を元に転送します。配列変数
$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<=count($dataf)-1; $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<=count($dataf)-1; $i++)
{
//総投票数を取得する
$tot_votes+=$single_vote[ $i];
}
for ($ i=0; $i<=count($dataf)-1; $i++)
{
//パーセンテージを計算する
$stat[$i]=$single_vote[$i] /$tot_votes*100;
echo "";
}
echo "< ;/table>

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/318055.html技術記事分析: ファイル (data.dat) を使用して投票列を保存します。このようにして、投票する列を自由に追加および削除できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
  • ";
    echo "$dataf[$i]
  • ";
    echo "
    //出力パーセンテージ printf("%. 1f", "$stat[$i]");
    echo "%
    "; //列の投票数を出力します
    echo "$single_vote[$i]
    "; echo "