标题 | 基于PHP的在线投票系统设计与实现 |
范文 | 万早德 摘 要 中等职业学校的软件与信息服务专业,三年级开设的《web项目实战》是征对二年级已经开设过的专业课程,通过项目,编写具体的工程,让学生了解一个项目从设计到实现的整个流程,为今后从事软件开发等相关工作打下一个坚实的基础。笔者为了带好学生的《web项目实战》课程,特意编写了一个基于PHP的在线投票系统,来引领学生真正走进项目实战,同时也将该系统分享给大家。 关键词 PHP MySql 在线投票系统 中图分类号:TP29文献标识码:A 基于PHP的在线投票系统,采用B/S模式,主要功能由分前、后台完成,后台主要包括:登录模块、会员管理、投票主题管理、投票主题选项管理等几个模块,会员在后台设置好投票主题和输入相应主题选项后,用户就可以在登录网站,在规定的时间内进行投票,同时也可以实时查看投票结果,这样在日常生活中有不少场合,是需要对一些主题进行投票,这个系统都有很好的应用价值。 为实现在线投票系统的预期功能,应在MySql中設计一个数据库(vote),其中包含有四张数据据表,会员表(user)、找回密码问题表(a_p_question)、表投票主题表(votetopic)和投票主题选项表(topicoption)的表结构(略)。 1登录模块 (1)在登录模块中,除了实现在客户端对数据的合法性进行验证外,还添加了验证码,来提高网站的安全性,防止他人登录恶意注水。通过GD库制作验证码,并存入SESSION中,这样再结合PHP的SESSION这个超级全局变量,就可以实现对网页的合法性访问起到有效保护。 (2)在会员管理中有“设计找回密码问题”功能,用户在成功登录后,根据自己的情况,设置“找回密码问题”和“回答问题的答案”,系统会自动存入到用户表中当前用户对应的记录中,这样,以后在登录网站时,如果用户忘记了密码,可以通过“忘记密码?”功能,顺利找回密码。 2会员管理 会员管理主要有会员注册、会员修改、删除会员,设置找回密码问题。 在会员注册功能中,为了强化学生的JavaScript知识应用能力,增加了现在流行的Ajax技术,注册会员时,在输入一个新用户名并当文本框在失去焦点时,系统会自动对新输入的用户名进行合法性判断,判断此用户名是否在用户表已经被注册过,并马上给出信息提示,通过局部刷新技术,能大大提高网站的注册率,也会提高学生对学习新技术的深厚兴趣。 3投票主题管理 实现的界面如图1。 投票主题管理除了增加投票主题、修投票主题、删除投票主题。关键通过JavaScript技术,在每条记录上增加一个设置当前投票主题功能: )" < p> function f(id){ window.location.href="topicDo.php?id="+id; } 当前用户单击“是否选中”前面的单选按钮时,系统通过JavaScript技术支持会跳转到topic.php网页,把当前记录的isChecked字段值设置为1,这样就成功把这个主题设置为当前投票主题,用户就可以在网站的首页对这个主题进行投票了。 4投票主题选项管理 当用户打开主题选项管理,系统已经把所有主题放到一个下拉列表中,需要先选择对应的主题。 在选择好主题后,系统会自动判断当前主题的选项是否为空,如果选项还没内容,会自动转入到添加当前主题选项表单,用户需要完成表单的录入;如果当前主题的选项是完整的,则会跳转查看当前主题的投票结果。 5网站首页的投票功能和查看投票结果 系统会自动根据主题表中当前主题的开始和结束时间的字段值进行判断,如果不在投票规定的有效期,会给出提示信息,投票功能失效,禁止用户投票;如果是在投票规定的有效期,所有用户都能对当前的主题进行投票,也能实时查看当前的投票结果, 如果用户想连续投票,为了缓解服务器的压力,系统会获取用户客户端的IP,封闭此IP10秒钟,10秒之后才允许再次投票,实现代码: if(isset($userIp)){ echo ""; sleep(10); } else{ $str=$_SERVER['REMOTE_ADDR']; setCookie('userIp',$str,time()+60); } 6结束语 对于在校中职生,如何充分利用学校的教学资源,并结合对应专业的行业规范,通过适合的项目训练,有效提高在校学生的专业技能水平,为他们将来的就业打下一个良好的基础,这正是我们每个从事职业教育工作者的迫切义务。由于篇幅限制,还有一些没有讲明白的地方,希望得到您的谅解。 参考文献 [1] 高洛峰.细说PHP[M].电子工业出版社,2009. [2] 曾俊国,罗刚,王飞. PHP WEB开发实用教程[M].北京:清华大学出版社,2011. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。