ホームページ  >  記事  >  バックエンド開発  >  PHP 初心者向け (9)_PHP チュートリアル

PHP 初心者向け (9)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:00:53932ブラウズ

建设一个简单交互的网站(五)

8. 投票系统

  在许多时候,我们需要收集上网者和网友们的意见。例如:新版页面与旧版页面的比较;对某一事情的看法;对体育比赛结果的预测等等。这时候,你需要一个非常有效的网上调查系统。使用PHP就可以非常方便地实现你的这一构想。

8.1 投票系统(mypolls.php3):

$status=0;
if(isset($polled)&&($polled=="c-e")){
$status=1;
}
#echo "$status";
if(isset($poll)&&($status==0)){
setcookie("polled","c-e",time()+86400,"/");#time=24h
}
?>


新版页面调查




与旧版页面相比较您觉得新版页面:


if(!isset($submit)){
?>
" name="poll_voteNr" value="1" チェック済み >
詳細

ウェブページがさらに美しくなりました
;
改善なし

pt9">その他



A HREF="myPolls.php3?submit=OK" class="p9">アンケート結果を見る
/*
他のオプションを追加したい場合は、直接追加できます
*/
}else{
$descArray=array(1=>"詳細情報",
2=>"より美しい Web ページ",
3=> "改善なし",
4=>"その他"
);
$poll_resultBarHeight = 9; // 結果テーブルのパーセントバーの高さ
$poll_resultBarScale = 1; // 結果バーのスケール (100 の倍数)ピクセル)
$poll_tableHeader="";
$poll_rowHeader=""; ="";
$poll_rowFooter="";
$coutfile="data.pol";
// カウンターファイルを読み取ります
if (file_exists( $coutfile))
{
$fp = fopen( $coutfile, "rt")
while ($Line = fgets($fp, 10) )
{
/ / 行を識別子/カウンターに分割します
if (ereg( "([^ ]*) *([0-9]*)", $Line, $tmp))
{
$curArray[(int )$tmp[1 ]] = (int)$tmp[2];
$poll_sum+=(int)$tmp[2];
}
}
// ファイルを閉じる
fclose($fp){ //
for ( $i=1;$i$curArray[$i]=0;
}
}
if(isset($poll)){
$ curArray[$poll_voteNr] ++;
$poll_sum++;
echo $poll_tableHeader;

// すべてのオプションを循環編集
reset($curArray)
while (list($K, $V) = each ($ Curarray)
$ POLL_OPTIONTEXT = $ Descarray [$ K];
$ Poll_optingCount = $ V
ECHO $poll_optionText;

if($poll_sum);投票率 = 100 * $poll_optionCount / $poll_sum;
else
$poll_percent = 0;
echo $poll_dataHeader;
{
$poll_percentScale = (int)($poll_percent * $poll_resultBarScale) ;
}

printf(" %.2f %% (%d)", $poll_percent, $poll_optionCount);

echo $poll_dataFooter;

echo $poll_rowFooter
}

echo "総投票数:< font color=red> $poll_sum";
echo $poll_tableFooter;
echo "
";
echo "< input type="submit" name="Submit1" value="ホームページに戻る" onClick="javascript:location='http://gophp.heha.net/index.html'">";
echo " ";
if(isset($poll )){
// カウンターファイルを書き込みます
$fp = fopen($coutfile, "wt");
reset($curArray);
while (list($Key, $Value) = each($curArray))
{
$tmp = sprintf( "%s %dn", $Key, $Value );
fwrite($fp, $tmp);
// ファイルを閉じる
}
>
上記から、投票システムの基本プロセスがわかります。
1. ファイルを開き、配列 $curArray にデータを取得します (ファイルが存在しない場合は、配列 $curArray を初期化します)
2. カレンダー配列をコンパイルします。データを処理して必要な値を取得します
3. パーセンテージを計算し、統計バー画像の幅を制御します
4. データを「data.pol」に保存します

ここで注意すべき点が 1 つあります。テキスト ファイルには書き込み権限が必要です。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/316996.html技術記事シンプルなインタラクティブなウェブサイトの構築 (5) 8. 投票システム 多くの場合、サーファーやネチズンの意見を収集する必要があります。例: 特定のページの新しいバージョンと古いバージョンの比較...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。