PHP动态网站开发项目教程课件 任务9 在线投票系统投票功能实现_第1页
PHP动态网站开发项目教程课件 任务9 在线投票系统投票功能实现_第2页
PHP动态网站开发项目教程课件 任务9 在线投票系统投票功能实现_第3页
PHP动态网站开发项目教程课件 任务9 在线投票系统投票功能实现_第4页
PHP动态网站开发项目教程课件 任务9 在线投票系统投票功能实现_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP动态网站开发项目教程任务9在线投票系统投票功能实现子任务9.1游客投票功能实现9.1.1修改前端页面文件

9.1.2制作后端投票文件

子任务9.2整合会员登录系统9.2.1分析整合文件

小王同学根据前面的需求分析,整理了在线投票系统需要的会员管理系统功能,该系统的功能有:会员注册、登录(包括管理员登录)、会员修改个人资料。管理员登录后可进入后台管理,但此处的后台管理功能和会员管理系统中的后台管理功能有很大不同。

通过分析需求,小王同学已经清楚了如何整合前面的会员管理系统。以下文件是需要从会员管理系统中移植过来的文件:checkAdmin.php(判断管理员是否登录)checkUsername.php(判断用户名是否可用)code.php(生成验证码)login.php(用户登录前端文件)logout.php(注销登录)modify.php(修改用户资料)nav.php(导航栏)page.php(数据分页文件)postLogin.php(用户登录后端文件)postModify.php(资料修改后端文件)postReg.php(用户注册后端文件)signup.php(用户注册前端文件)

另外,img下面的0.jpg和1.jpg也要复制过来。然后在index.

php中给右上角的“登录”和“注册”添加链接,就可以打开页面测试效果了。9.2.2了解前端UI框架Layui

Layui是一个前端UI框架,其中包含一个layer弹层组件,这个组件有丰富的弹窗效果,正好可以用来展示注册、登录等页面。

layer是一款近年来备受青睐的Web弹层组件,这得益于它全方位的解决方案,以及致力于服务各个水平段的开发人员,可令相关页面轻松拥有丰富友好的操作体验。

它尽可能地以更少的代码展现更强健的功能,且格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者都使用了layer。

layer兼容了包括IE6在内的所有主流浏览器,拥有数量可观的接口,可以自定义各种风格,每一种弹层模式都极具特色,因此广受欢迎。9.2.3使用Layui显示注册和登录页面

(1)在index.php中引入layer的核心JavaScript文件。(2)引入jQuery库文件。(3)修改头部的导航链接。(4)使用JavaScript完成open()方法的编写。图9.2.1

未引入jQuery库文件而报错

当小王同学在测试页面效果时,发现在弹出层中还有会员管理系统的标题、导航链接等内容,现在这些内容已经不适合放在弹出层,因此,他修改了注册和登录页面,使其不再包含nav.php文件。修改好以后,单击“登录”链接,效果如图9.2.2所示,单击“注册”链接,效果如图9.2.3所示。

图9.2.2

使用layer弹窗显示登录页面

图9.2.3

使用layer弹窗显示注册页面9.2.4优化弹窗跳转逻辑,匹配新的数据表

(1)修改JavaScript中的代码,添加一个关闭弹出层的方法。(2)打开postLogin.php文件,修改登录后的页面跳转逻辑的相关内容。在这个文件中,首先要修改查询的数据表表名,将info改为userInfo,然后需要修改在登录成功或失败时跳转的相关内容。(3)检查注册功能。(4)修改数据,并保证数据表中记录的完整性。(5)调整“资料修改”页面中的相关内容。图9.2.4

登录成功后显示当前登录者的用户名【知识储备】

PHP中需要区分大小写的相关内容总结如下。(1)变量名要区分大小写。其中包括普通变量,比如$a和$A是两个完全不同的变量。其中也包括全局变量,如$_GET,$_POST、$_REQUEST、$_COOKIE、$_SESSION、$GLOBALS、$_SERVER、$_FILES、$_ENV等。(2)常量名要区分大小写。使用define定义的常量是要区分大小写的。(3)数组索引(键名)要区分大小写。比如,$arr['one']和$arr['One']是两个不同的变量。(4)函数名、方法名、类名不区分大小写。虽然这些内容不区分大小写,但请坚持“大小写敏感”原则,建议还是使用与定义时相同大小写的名字。(5)魔术常量不区分大小写。比如,LINE、FILE、DIR、FUNCTION、CLASS、METHOD、__NAMESPACE__等都不区分大小写。(6)NULL、TRUE、FALSE不区分大小写。(7)强制类型转换不区分大小写,比如,(int)、(integer),即转换成整型;(bool)、(boolean),即转换成布尔型;(float)、(double)、(real),即转换成浮点型;(string),即转换成字符串;(array),即转换成数组;(object),即转换成对象。子任务9.3登录用户实现投票9.3.1了解MySQL的事务机制

MySQL的事务机制主要用于处理操作量大、复杂度高的数据。比如,在人员管理系统中,当需要删除一个人员时,既需要删除人员的基本资料,又要删除和该人员相关的信息,如信箱、文章等,这样,这些数据库操作语句就构成一个事务。1.支持事务机制的先决条件

在MySQL中,只有使用了InnoDB数据库引擎的数据库或数据表才支持事务机制。2.事务的作用

(1)事务可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。(2)事务可以用来管理insert、update、delete语句的执行。3.事务需要满足的4个条件(1)原子性。一个事务(Transaction)中的所有操作,要么全部执行,要么全部不执行,不会在中间某个环节结束。事务在执行过程中发生错误,会被回滚(RollBack)到事务开始前的状态,就像这个事务从来没有执行过一样。(2)一致性。在事务开始之前和事务结束以后,数据库的完整性不会被破坏。这表示写入的资料必须完全符合所有的预设规则,包含资料的精确度、串联性,以及后续数据库可以自发性地完成预定的工作需求。(3)隔离性。数据库允许多个并发事务同时对其数据进行读写和修改,隔离性可以防止多个事务并发执行时,由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(ReadUncommitted)、读提交(ReadCommitted)、可重复读(RepeatableRead)和串行化(Serializable)。(4)持久性。事务处理结束后,对数据的修改是永久性的,即便系统故障,也不会丢失。4.MySQL事务处理的方法(1)用BEGIN、ROLLBACK、COMMIT来实现。BEGIN表示开始一个事务,ROLLBACK表示事务回滚,COMMIT表示事务确认。(2)直接用SET来改变MySQL的自动提交模式,其中“SETAUTOCOMMIT=0

”表示禁止自动提交,“SETAUTOCOMMIT=1”

表示开启自动提交。9.3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论