PHP项目开发全程实录(第4版)
上QQ阅读APP看书,第一时间看更新

2.16 开发技巧与难点分析

2.16.1 管理员权限的设置

为了更好地管理和维护网站的论坛,针对论坛设置了一个管理员,该管理员不在后台进行操作,而是在前台为管理员设置特殊的权限,也可以称之为版主。其实现的原理是:首先在数据库中设置不同的值代表不同的权限,0代表普通会员,1代表管理员;然后在论坛的页面中进行判断,当用户的类型为1时,不但具有普通会员的权限,而且具有删除发布帖子、回复帖子和顶帖的权限;如果用户的类型不是1,则不具有上述的权限,只能是发布和回复帖子。管理员和普通会员登录的页面效果是不同的,如图2.47和图2.48所示。

图2.47 管理员登录的操作页面

图2.48 普通会员登录的操作页面

在页面中执行的判断语句判断登录用户的类型,然后根据类型判断用户的权限。程序关键代码如下:

2.16.2 帖子置顶的设置

所谓帖子置顶就是将某个指定的帖子在对应的版块中最前面的位置显示,该权限只有管理员才拥有,普通会员不具备该权限。其实现的原理如下:

首先,在数据库存储发布帖子信息的数据表中设置一个字段top,指定该字段为数字类型,其默认值为0。

然后,在网页中判断登录用户的权限,如果是管理员,则具有帖子置顶的权限,否则将弹出提示对话框“对不起,您不具备该操作权限!”。

最后,如果是管理员,则执行settop.php文件,根据对应帖子的ID查找到发布帖子信息表中对应的数据,更新该条数据中top字段的值为1。

判断登录用户权限使用的代码如下:

实现帖子置顶是通过settop.php文件来完成的,在该文件中,根据变量提交的值获取到发布帖子信息表中对应的数据,更新该条数据中字段top的值,并且对该字段的值进行判断。如果字段top的值为1,则说明该帖已经置顶,此时将字段的值更新为0,即取消置顶;如果字段top的值为0,则说明该帖没有进行置顶,此时将字段的值更新为1,即置顶该帖。settop.php文件的程序代码如下: