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功效的敷衍举措等等。详细的完美就留给读者伴侣来处理了。
掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 兴趣是最好的老师,百度是最好的词典。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 Ps:以上纯属原创,如有雷同,纯属巧合 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
页:
[1]