PHP | FLASH + COOKIE 投票程序

之前用PHP+FLASH+文本文件 做了 聊天室之后,就想过~ 投票程序一定也能做、

于是就练练手啦,选中某个人,点投票,然后把这个人数据+1。 嘛~不过这种太简单了,so~ 自己再加入了柱状图来表示投票的百分比啦。

而投票中常见的限制就是为 IP 限制了,为了方便测试(主要还是想偷懒啦)。我只设置10秒内不能连续投票。限定条件为 访问投票程序的时间+10秒。 限制IP的话,可以做成 获取客户端IP,限定时间+1小时/1天/永远 。 都行的说。

下面是程序演示啦:

FLASH版本

PHP版本

以下为PHP代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
if(isset($_COOKIE["votetime"]))
{
  echo "投票间隔的时间为10秒,请勿重复投票!<a href='index.php'>返回</a>";
}else{
  setcookie("votetime",date("Y-m-d h:i:s"),time()+10);
  $filepath="vote.txt";
  $votecount=file($filepath);
  $countarray=explode("@",$votecount[0]);
  $c0=$countarray[0];
  $c1=$countarray[1];
  $c2=$countarray[2];
  $votename=$_POST["num"];
  $fileopen=fopen($filepath,'w');
  switch ($votename)
  {
    case 1:
    $c0+=1;
    break;
    case 2:
    $c1+=1;

    break;
    case 3:
    $c2+=1;
  }
  fwrite($fileopen,$c0."@".$c1."@".$c2);
  fclose($fileopen);
  echo $_POST["num"]."号 投票成功!<a href='index.php'>返回</a>";
}
?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.