Home > Backend Development > PHP Tutorial > Please take care of me if you are new to PHP. Please take care of me if you are new to PHP (9)

Please take care of me if you are new to PHP. Please take care of me if you are new to PHP (9)

WBOY
Release: 2016-07-29 08:34:59
Original
878 people have browsed it

建设一个简单交互的网站(五)
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)){
?>


More information


The webpage is more beautiful


No improvement


Others



View survey results

/*
If you want to add other options, you can add them directly
*/
}else{
$descArray=array(1=>"More information",
2=>"More beautiful web pages",
3=>"No improvement",
4=>"Others"
);
$poll_resultBarHeight = 9; // height in pixels of percentage bar in result table
$poll_resultBarScale = 1; // scale of result bar (in multiples of 100 pixels)
$poll_tableHeader="";
$poll_rowHeader="";
$poll_dataHeader="";
$poll_rowFooter="";
$poll_tableFooter="
";
$poll_dataFooter="
";
$coutfile="data.pol";
$ poll_sum=0;
// read counter-file
if (file_exists( $coutfile))
{
$fp = fopen( $coutfile, "rt");
while ($Line = fgets($fp, 10))
{
// split lines into identifier/counter
if (ereg( "([^ ]*) *([0-9]*)", $Line, $tmp))
{
$curArray[(int) $tmp[1]] = (int)$tmp[2];
$poll_sum+=(int)$tmp[2];
}
}
// close file
fclose($fp);
}else{/ /
for ($i=1;$i<=count($descArray);$i++){
$curArray[$i]=0;
}
}
if(isset($poll)){
$curArray [$poll_voteNr]++;
$poll_sum++;
}
echo $poll_tableHeader;
// cycle through all options edit array
reset($curArray);
while (list($K, $V) = each($ curArray))
{
$poll_optionText = $descArray[$K];
$poll_optionCount = $V;
echo $poll_rowHeader;
if($poll_optionText != "")
{
echo $poll_dataHeader;
echo $poll_option Text;
echo $poll_dataFooter;
if($poll_sum)
$poll_percent = 100 * $poll_optionCount / $poll_sum;
else
$poll_percent = 0;
echo $poll_dataHeader;
if ($poll_percent > 0)
{
$poll_percentScale = (int)($poll_percent * $poll_resultBarScale);
}
printf(" %.2f %% (%d)", $poll_percent, $poll_optionCount);
echo $poll_dataFooter;
}
echo $poll_rowFooter;
}
echo "Total number of votes: $poll_sum";
echo $poll_tableFooter;
echo "
";
echo "";
echo " ";
if(isset($poll)){
// write counter file
$fp = fopen($coutfile, "wt");
reset($curArray) ;
while (list($Key, $Value) = each($curArray))
{
$tmp = sprintf( "%s %dn", $Key, $Value);
fwrite($fp, $tmp) ;
}
// close file
fclose($fp);
}
}
?>


Note: From the above we can see the basic process of the voting system :
1. Open the file and get the data into the array $curArray (if the file does not exist, initialize the array $curArray)
2. Edit the array and process the data to get the required value
3. Calculate the percentage and control the statistical bar image width
4. The data is saved to "data.pol"
One thing to note here is that the data.pol text file here requires write permission.​

The above has introduced the PHP newbies, please take care of me (9), including the content of the newbies, please take care of me. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template