PHP动态网站开发项目教程课件 任务5 会员管理系统管理员功能_第1页
PHP动态网站开发项目教程课件 任务5 会员管理系统管理员功能_第2页
PHP动态网站开发项目教程课件 任务5 会员管理系统管理员功能_第3页
PHP动态网站开发项目教程课件 任务5 会员管理系统管理员功能_第4页
PHP动态网站开发项目教程课件 任务5 会员管理系统管理员功能_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

PHP动态网站开发项目教程任务5会员管理系统管理员功能子任务5.1管理员登录

实现管理员登录比较通用的方法有两种。第一种方法是单独建立一张管理员数据表,其中的所有数据记录都是管理员。第二种方法是在现有的普通用户数据表中增加一列,用来标识是否是管理员。如果是管理员,则可以把这一列设置为1,如果是普通用户,则将这一列设置为0。为了处理方便,可以将此列默认值设置为0,这样,用户注册时默认注册为普通用户。

对于第一种方式,在登录时,需要单独做一个管理员登录的页面,或者在普通用户登录时,添加一组复选框,用来标识是否是管理员登录。如果是管理员登录,则后端在判断用户名和密码时,查询管理员数据表。对于第二种方式,和普通用户登录完全一样,只是在登录成功后,再判断管理员标识列的值为多少,以判断当前用户是不是管理员。

管理员登录成功后,需要单独保存一个Session标识符,用以标识管理员登录。由于Session的全局性,我们在任意页面判断是否是管理员登录,只需要检查是否存在这个Session标识符即可。5.1.1修改数据表结构以实现管理员登录

小王同学决定通过上述第二种方式来实现管理员登录。很明显,在前面创建的数据表中并无管理员标识列。因此,他必须先修改数据表。打开phpMyAdmin,找到数据表info,单击“结构”按钮,在下面的“添加1个字段”提示文字后面单击“执行”按钮,然后就和创建数据表时一样,正常添加列即可。小王添加的列名是admin,类型可以选择“tinyint”,长度为1,默认值设置为0(在默认值中选择“定义”,然后输入0即可),表示不是管理员。如果是管理员,这一列的值自然就为1。最后单击“保存”按钮完成添加。最后的info数据表结构如图5.1.1所示。图5.1.1

添加管理员标识列后的数据表结构5.1.2管理员登录后查看导航栏的变化

根据前面小王设计的系统页面,在管理员登录后,还需要在顶部的导航栏中添加一个“欢迎管理员登录”的提示信息。因此,小王同学打开nav.php文件,在显示登录者信息的区域修改了部分代码。

管理员登录后,首页如图5.1.2所示。图5.1.2

管理员登录后的页面子任务5.2管理员查看所有会员5.2.1判断管理员权限

正确的做法应该是,借鉴前面包含数据库连接文件的方法,单独制作checkAdmin.php文件,在其中通过Session来判断是否有管理员权限,然后在所有需要验证管理员权限的文件中使用include包含即可。5.2.2循环输出数据表记录

小王同学在制作导航栏时,已经给“后台管理”栏目添加了链接目标文件admin.php。因此,接下来就要制作admin.php文件了。在这个文件中需要实现查看所有会员列表的功能。制作好admin.php文件后,可以在导航栏中单击“后台管理”跳转至管理员页面。

回想一下前面实现的登录功能,不管是普通用户登录,还是管理员登录,登录成功后,都是跳转至系统首页。现在看来,这样做已经不太合适了,应该区分用户类型,如果是管理员登录成功,则直接跳转至admin.php页面;如果是普通用户登录成功,则跳转至首页即可。根据这样的思路,小王同学再次优化了登录成功后的跳转逻辑。

图5.2.1所示为管理员登录后查看所有会员列表的结果。图5.2.1

管理员查看所有会员列表5.2.3了解PHP中的循环语句

1.while循环

只要指定的条件成立(运算结果为真),就循环执行代码块。其语法规则为:while(条件){要执行的代码;}2.do...while循环

首先执行一次代码块,然后在指定的条件成立时重复这个循环。其语法规则为:do{要执行的代码;}while(条件);3.for循环

循环执行代码块指定的次数。其语法规则为:for(初始值;条件;增量){要执行的代码;}4.foreach循环

根据数组中的元素来循环代码块,也就是遍历数组,其语法规则为:foreach($arrayas$value){要执行代码;}或者:foreach($arrayas$key=>$value){要执行代码;}子任务5.3数据分页5.3.1理解分页的基本原理

分页的基本原理是,在执行数据表查询时,使用limit关键字只读取指定条数的记录。通过多次读取,最终显示所有内容。5.3.2制作分页文件

分页不光要实现后台数据的按页(指定数量)获取,还需要在前端实现分页的导航链接等相关功能。同时,分页功能也是各个系统经常使用的功能之一,可能会多次重复使用,因此,小王同学还是借鉴前面的制作方法,准备单独制作一个分页文件。这样,以后凡是需要使用分页的地方,都可以直接引入此文件来实现分页功能。5.3.3实现分页

按照下面的步骤进行操作,可快速实现数据分页。(1)在admin.php中包含page.php文件。(2)查询记录表的记录总数。(3)设置每一页显示多少条记录。(4)读取当前页码。(5)引用分页函数。(6)在SQL语句中加上limit关键字进行分页查询。(7)在末尾加上分页链接。图5.3.1

数据分页效果【知识储备】1.SQL查询中count()函数的使用(1)count(*):返回表中的记录数(包括所有列),相当于统计表的行数(不会忽略列值为NULL的记录)。(2)count(1):忽略所有列,1表示一个固定值,也可以用count(2)、count(3)代替(不会忽略列值为NULL的记录)。(3)count(列名):返回指定列名的记录数,在统计结果时,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。(4)count(distinct列名):返回指定列名的不同值的记录数(相同的记录只统计1次),在统计结果时,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。count(id)

as

total表示获取记录总数后,以total的别名返回,所以在第13行中可以使用$info['total']来得到记录总数。2.变量作用域

在PHP中,变量是有作用域的。所谓变量作用域(VariableScope),是指特定变量在代码中可以被访问到的位置。变量必须在其有效范围内使用,如果超出有效范围,那么变量会失去其意义。

PHP中包含3种类型变量,分别是局部变量(LocalVariable)、全局变量(GlobalVariable)、静态变量(StaticVariable)。子任务5.4设置或取消管理员5.4.1修改文件静态内容5.4.2制作setAdmin.php文件5.4.3避免删除管理员admin

最终完成的设置(取消)管理员页面如图5.4.1所示。图5.4.1

设置(取消)管理员页面子任务5.5管理员删除用户5.5.1修改前端页面

5.5.2制作后端页面【素养小贴士】

一个优秀的程序员应该养成哪些良好的习惯呢?1.写代码前应该先想好思路,再规划框架,最后才是局部实现。2.注重代码风格。3.注重代码执行效率。4.解决问题时,对于原理性的问题,不要面向搜索引擎编程。5.在执行一些风险操作时,一定要仔细检查,并做好二次确认。子任务5.6管理员修改会员

温馨提示

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

评论

0/150

提交评论