柔情似水 发表于 2015-2-4 00:04:01

PHP教程之实例进修PHP之投票法式篇(二)

刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。   

好了,基本的器材已学完,让咱们来停止实战吧!人人先下这个典范法式。然后可以在本人的平台上先碰运气。信任如许会失掉一点理性熟悉。
   
   在这个使用中一共利用了三个文件vote.php,config.php,1.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文件
   
   /*起首将设置装备摆设信息装出去,这里我复杂申明一下 require和include的区分,require凡是放在PHP 法式的最后面,PHP 程式在履行前,就会先读入 require 所指定引入的档案,使它酿成 PHP 程式网页的一部分。经常使用的函式,亦可以这个办法将它引入网页中。 include 则通常为放在流程掌握的处置区段中。PHP 程式网页在读到 include 的档案时,才将它读出去。这类体例可以把程式履行时的流程复杂化。 */
   
   < ? require "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);
   }
   ?>
   
   < html>
   < head>
   < title>< ? echo $title ?>< /title>
   < meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   < /head>
   
   < body bgcolor="#FFFFFF">
   
   //读出本来的选票了局,赋给变量$result
   < ?
   if (file_exists ($countfile)){
   $result = file($countfile);
   }
   ?>
   
   /*上面是主法式 用switch做了三个分支,Case 1、检查了局;Case 2、提交选择;Case 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>";
   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; $i< count ($option); $i++){
   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 "< form action='vote.php' method='post' name='form1'>";
   $sum = count($option);
   for ($i=0; $i< $sum; $i++){
   echo "< input type='radio' name='sugest' 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>
   < /body>
   < /html>
   
   
   如许一个复杂的php的投票使用就完成了,说它复杂是由于这个法式只完成了投票使用的几个最主要的功效,还有一些细节成绩没有去向理。好比文件写掉败以后的处置,用户封闭cookie功效的敷衍举措等等。详细的完美就留给读者伴侣来处理了。
   

掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。

山那边是海 发表于 2015-2-4 08:24:24

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

金色的骷髅 发表于 2015-2-8 16:04:06

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

仓酷云 发表于 2015-2-9 22:00:08

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

柔情似水 发表于 2015-2-15 23:38:03

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

不帅 发表于 2015-2-28 21:22:21

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

飘灵儿 发表于 2015-3-1 21:56:48

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

蒙在股里 发表于 2015-3-11 21:21:20

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

冷月葬花魂 发表于 2015-3-12 11:13:23

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

再见西城 发表于 2015-3-15 00:06:45

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

透明 发表于 2015-3-17 16:08:11

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

灵魂腐蚀 发表于 2015-3-18 00:21:26

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

若相依 发表于 2015-3-18 16:58:10

兴趣是最好的老师,百度是最好的词典。

老尸 发表于 2015-3-22 18:29:13

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

小妖女 发表于 2015-4-6 04:10:47

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

活着的死人 发表于 2015-4-7 20:16:47

Ps:以上纯属原创,如有雷同,纯属巧合

谁可相欹 发表于 2015-4-8 05:48:32

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

小女巫 发表于 2015-4-18 01:35:46

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

莫相离 发表于 2015-4-21 19:08:54

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
页: [1]
查看完整版本: PHP教程之实例进修PHP之投票法式篇(二)