0

0

实例学习PHP之投票程序篇(二)

php中文网

php中文网

发布时间:2016-06-21 09:02:28

|

1687人浏览过

|

来源于php中文网

原创

 

好了,基础的东西已经学完,让我们来进行实战吧!大家先下这个范例程序。然后可以在自己的平台上先试试看。相信这样会得到一点感性认识。
  
  
   在这个应用中一共使用了三个文件vote.phpconfig.php1.gif以及一个保存数据的文件(该文件的名字可以自由设定,在这里我们设为sum.txt),其中vote.php是主程序文件,config.php则用于设置一些经常需要修改的信息。
  
  
   //config.php文件
  
  
     
  
   //title变量设定本html档中的title标记,也就是在浏览器标题栏里出现的标题
  
   $title=读者类型调查表;
  
  
   //设定调查内容。这里用了一个数组,注意用""号把内容括起来
  
   $option= array("学生","工人","农民","知识分子","资本家","流氓");
  
  
   //设定调查结果保存到哪个文件中去
  
   $countfile = "sum.txt";
  
  
   //设定同一机器可以再次投票的时间
  
   $limitdate = time()+60*60*24*365;
  
  
   ?>
  
  
   // vote.php文件
  
  
   /*首先将配置信息装进来,这里我简单说明一下 requireinclude的区别,require通常放在PHP 程序的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。 include 则一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式可以把程式执行时的流程简单化。 */
  
  
   config.php";?>
  
     /*下面这部分就是cookie了,它的expire时间在上面的config.php中设置,另外大家可能已经发现了,在这里有两个 if比较语句,第一个是检测是否已经有cookie设置,第二个则是为了避免人家还没有投票程序就把cookie发出去。*/
  
        if (isset($vote) && $vote=="Ready") $status = 1;
  
   else $status=0;
  
   if ($ready=="true")
  
   {
  
   setcookie("vote","Ready",$limitdate);
  
   }
  
   ?>
  
  
  
  
  
  
  
  
   charset=gb2312">
    
  
  
   bgcolor="#FFFFFF">
  
     //读出原来的选票结果,赋给变量$result
  
        if (file_exists ($countfile)){
  
   $result = file($countfile);
  
   }
  
   ?>
  
  
   /*下面是主程序 switch做了三个分支,Case 1、查看结果;Case 2、提交选择;Case 3、生成表   */
  
        switch ($elect) {
  
  
  
   /* 查看结果,实际就是把上面用file()函数读出来的变量显示出来*/
  
   case "查看结果":
  
   echo "";
  
   for($i=0;$ii++){
     echo "tr>"."".$option[$i]."";
     echo ""."img src='1.gif' width='";
     echo "$result[$i]*10";
  
   echo "' height='8'> ";
  
   echo ""."    ".$result[$i]."tr>";
     }
  
   echo "";
  
   break;
  
  
  
   /*把选择结果写入到文件中去,注意要用flock把文件锁住!虽然对投票程序来说这个问题不是特别   突出*/
  
   case "提交":
  
   if ($status == 1){
  
   echo "你已经投过票了";
  
   }elseif($sugest == 0){
  
   echo "you havn't choice";
  
   }else{
  
   if($fp=fopen($countfile,"w")){
  
   if(flock($fp,3)){
  
   for ($i=0; $ii++){
     if ($sugest == $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);
  
   }
  
   break;
  
  
   /*显示投票的表单*/
  
   default:
  
   echo "vote.php' method='post' name='form1'>";
     $sum = count($option);
  
   for ($i=0; $ii++){
     echo "sugest' value=";
     echo $i+1;
  
   if ($i==0) echo " CHECKED";
  
   echo ">".$option[$i]."br>";
     }
  
   echo "";
  
   echo "br>";
     echo "提交'>";
  
   echo "查看结果'>";
  
   echo "";
  
   }
  
   ?>
  
  
  
  
  
  
  
  
  
   这样一个简单的php的投票应用就完成了,说它简单是因为这个程序只完成了投票应用的几个最重要的功能,还有一些细节问题没有去处理。比如文件写失败之后的处理,用户关闭cookie功能的应付办法等等。具体的完善就留给读者朋友来解决了。
  
  



PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java连接字符串方法汇总
java连接字符串方法汇总

本专题整合了java连接字符串教程合集,阅读专题下面的文章了解更多详细操作。

7

2026.02.05

java中fail含义
java中fail含义

本专题整合了java中fail的含义、作用相关内容,阅读专题下面的文章了解更多详细内容。

8

2026.02.05

控制反转和依赖注入区别
控制反转和依赖注入区别

本专题整合了控制反转和依赖注入区别、解释、实现方法相关内容。阅读专题下面的文章了解更多详细教程。

11

2026.02.05

钉钉脑图插图教程合集
钉钉脑图插图教程合集

本专题整合了钉钉脑图怎么插入图片、钉钉脑图怎么用相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.02.05

python截取字符串方法汇总
python截取字符串方法汇总

本专题整合了python截取字符串方法相关合集,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Java截取字符串方法合集
Java截取字符串方法合集

本专题整合了Java截取字符串方法汇总,阅读专题下面的文章了解更多详细操作教程。

1

2026.02.05

java 抽象方法
java 抽象方法

本专题整合了java抽象方法定义、作用教程等内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Eclipse创建jsp文件教程合集
Eclipse创建jsp文件教程合集

本专题整合了Eclipse创建jsp文件、创建jsp项目等等内容,阅读专题下面的文章了解更多详细教程。

26

2026.02.05

java 字符串转数字
java 字符串转数字

本专题整合了java如何字符串转数字相关内容,阅读专题下面的文章了解更多详细教程。

4

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
AngularJS教程
AngularJS教程

共24课时 | 3.4万人学习

CSS3实现按钮特效视频教程
CSS3实现按钮特效视频教程

共15课时 | 3.3万人学习

细说PHP第三季
细说PHP第三季

共58课时 | 11.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号