ホームページ >php教程 >php手册 >PHPオンラインアンケートシステム

PHPオンラインアンケートシステム

WBOY
WBOYオリジナル
2016-06-21 09:03:33821ブラウズ
PHP オンライン アンケート システム
これはシンプルな投票プログラムで、PHP を学んだばかりの友人にとって非常に優れた入門プログラムです。ここで紹介しますので、友達の参考になれば幸いです。
本システムは、HTML調査フォームを含むsurvey.htm、調査機能を実装するsurvey.php、調査項目を記録するdata.txt、調査結果を記録するsurvey.txtの4つのファイルで構成されています。 data.txt と Survey.txt をそれぞれメモ帳を使用して作成し、プログラム ディレクトリに転送します。ファイル data.txt には、調査対象の項目が格納されます。各項目は 1 行を占める必要があり、内容のない空のファイルでもかまいません。
Survey.htm のコードは次のようになります。


>

アンケート項目 1


アンケート項目 2

アンケート項目 3


アンケート項目 4


アンケート項目 5


< p>

;/p>
結果を表示
/html>
data.txt ファイル内の調査項目の数と順序は、上記の調査項目と一致している必要があります。一致していないと、エラーが発生したり、調査結果が不正確になる可能性があります。同時に、調査結果を棒グラフで表示するには、色の異なる棒グラフをいくつか用意する必要があります。例: 0.gif、1.gif、2.gif、3.gif、4.gif など。
以下は、アンケート機能を実装するための Survey.php コードです。
$data=" data.txt";
$votes="survey.txt";
$dataf=file($data); /*調査プロジェクト ファイルの項目を読み取ります*/
$ file_votes=fopen($ votes, "r");
$line_votes=fgets($file_votes, 255); /*記録されたアンケート結果を読み出す*/
fclose($file_votes); =explode(" |", $line_votes); /* 指定された文字列に従ってデータを切り取り、その文字列を配列変数に戻します */
if ($result!=1) /*Ifアンケートは受け付けられました */
{
$file_votes=file($votes, "r");
if ($REMOTE_ADDR == $file_votes[1]) /*同一人物かどうかを確認します*/
{
echo "

すでに投票しました。ご参加いただきありがとうございます!
";
}

/*IP が重複しない場合は次の手順を実行*/
$ficdest=fopen($votes, "w");
for ($i=0) ; $i<=count($dataf)-1; $i++)
$single_vote[$i]+=1 / );/* //投票者の IP を書き込みます*/
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++)
{
$imag=strval($i).".gif";/*統計結果を表示するために使用するバー画像を決定します*/
$stat [$ i]=$single_vote[$i]/$tot_votes*100; /*パーセンテージを計算します*/
$scla=$stat[$i]*5;/*棒グラフと倍率、ここではパーセンテージ 5 を示します表示するピクセル幅の倍*/
echo "";
}
echo "
  • ";
    echo "$dataf[$ i]< /font>
  • ";
    echo " ";/*出力バーコード画像*/
    printf("%.1f", "$stat[$i]");
    echo "%
    < td align=center>";
    /*この列の投票数を出力します*/
    echo "$single_vote[$i]
    " ;
    echo "

    "; 2>総投票数: $tot_votes ";
    }
    ?>
    注:
    1 人が複数の投票を行うことを防ぐため、最新の投票者はここに記録されます IP方式で実装されており、WEBクライアントがサーバーにリクエストする際に環境変数REMOTE_ADDRに最新の投票のIPアドレスが格納されます
    私も初心者なのであるかもしれません。この記事に関するいくつかのコメント 多くの間違いや不十分な点は歓迎します。貴重なコメントや提案を歓迎します。ありがとう!
    個人ホームページ: http://bamboo.oso.com.cn
    メール:wangyy@363.net



    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。