ホームページ  >  記事  >  php教程  >  PHP投票プログラムの学習例(2)

PHP投票プログラムの学習例(2)

WBOY
WBOYオリジナル
2016-06-21 09:02:281234ブラウズ

さて、基本は学んだので始めましょう!まずはこのサンプルプログラムをダウンロードしてみましょう。その後、まず自分のプラットフォームで試してみてください。これにより、ある程度の感覚的な理解が得られると思います。

このアプリケーションでは合計 3 つのファイルが使用されています vote.phpconfig.php1.gif およびデータを保存するファイル(ファイル名は自由に設定できます。ここではsum.txtとします)、vote.php はメインのプログラム ファイルで、config.php は、頻繁に変更が必要な情報を設定するために使用されます。

//config.phpファイル

<

内の title タグ>html ファイルはブラウザのタイトル バーに表示されるタイトルです
$title=
読者タイプアンケート;

//
アンケートの内容を設定します。ここでは配列を使用しています。コンテンツ を囲むには "" を使用してください。 $option= array("学生","労働者"," 農民"、"知識人"、"資本家"、"Rogue");

//アンケート結果を保存するファイルを設定
$countfile = "sum.txt"; に移動します。 🎜>
//
同じマシンが再度投票できる時間を設定します $
limitdate
= time()+60*60*24*365; // vote.phpファイル

/*まず設定情報を読み込みます ここで、 require< について簡単に説明します。 🎜>includerequire の違いは通常、PHP プログラム、 の先頭に配置されます。 >PHP プログラムが実行される前に、まず require で指定されたファイルを読み取り、それを PHP プログラム Web ページの一部。このようにして、よく使われる機能を Web ページに導入することもできます。 include は通常、プロセス制御の処理セクションに配置されます。 PHP プログラム Web ページは、読み取り時に を含む のファイルのみを読み取ります。この方法により、プログラムの実行プロセスを簡略化できます。 */

< require "config.php";?> >

/*次の部分は Cookie、その 有効期限時刻は上記の config.php で設定されています。さらに、 が 2 つあることに気づいたかもしれません。 > if 比較ステートメント。最初のステートメントは、cookie がすでに設定されているかどうかを検出することです。2 つ目は、ユーザーが cookie が送信されます。 */
?
($vote) && $vote=="準備完了") $status = 1;
else $status=0; if ($ready=="true")
{
setcookie("vote","Ready",$limitdate);

> >

?
< メタ http-equiv="Content-Type" content="text/html; charset =gb2312">
; ; /head>
🎜>bgcolor
="#FFFFFF">
if (file_exists ( $countfile
)){
$ result = file($countfile);

} ?>以下はメインプログラムです
switch
を使用して 3 つの分岐、
Case 1 を作成し、結果を確認します。 🎜>ケース 2、選択内容を送信します。
ケース 3
、テーブルを生成します 単一*/

switch ($elect) { > /*

結果の表示とは、実際には、
*/ 上の file() 関数を使用して読み取られた変数を表示することを意味します。 case "結果の表示
": echo "< table border='0'> ;";
for($i=0;$i< count($result );$
i
++ ){ echo "< tr>"."< td>" .$option[$
i
]."< /td>"; echo "< td>"."< >img src
=' 1.gif' width='";
echo "$result[$i]*10";
echo "' height='8'> < /td>";
echo "< td>"." "。 $result[$i]."< /td>< /tr
>";
}
echo "< /table>";
🎜>flock
ファイルをロックしてください!この問題は投票プロセスでは特に目立った問題ではありませんが、 目立つ
*/

case "送信":    if ($status == 1){
echo "你已经投过票了";
}elseif($suggest == 0){
echo 「あなたには選択がありません」;
}else{
if($fp=fopen($countfile,"w")){
if(flock($fp,3)){
for ($i=0; $i< count ($option); $i++){
if ($suggest == $i+1){
$result[ $i]=$result[$i]+1;
}else $result[$i]=$result[$i] + 0;
echo $option[$i]." ".$result[$i]."< br>";
fwrite($fp,$result[$i]." ");
}
}else "投票失格";
}else echo "投票失败";
fclose($fp);
}
ブレーク;

  
/*投票表示表单*/
デフォルト:
echo "< form action='vote.php' method='post' name='form1'>";
$sum = count($option);
for ($i=0; $i< $sum; $i+ +){
echo "< input type='radio' name='suggest' value=;
echo $i+1;
if ($i==0) echo " CHECKED";
echo ">".$option[$i]."< br>";
}
echo "< input type='hidden' name='ready' value='true '>";
echo "< br>";
echo "< input type='submit' name = 'elect' value='提交'>" ;
echo "< input type='submit' name='elect' value='查看结果'> ";
echo "< /form>";
}
?>
< /p>
< /ボディ>
< /html>


こんな簡単な php だけのプログラムで完成するので簡単です。投票アプリケーションの重要な機能は完了しましたが、まだ処理されていない詳細がいくつかあります。たとえば、ファイルの書き込みに失敗した場合の対処方法、ユーザーが cookie 機能をオフにした場合の対処方法などです。具体的な改善点は読者に委ねられます。



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