后台权限管理
获取登录界面
后台权限管理php文件成为权限管理模块。处理多个跟权限相关的功能。
1. 在后台新增一个叫做权限的php文件:/admin/privilege.php
2. 用户请求该文件的第一出发点:为了获得一个登录表单。privilege.php要做的第一件事情:就是给用户提供一个登录表单。
用户不允许直接请求html模板文件,只允许请求对应的根目录下的php文件。
3. 将ecshop下面的样式文件和js文件和图片文件全部搬过来,放到后台admin目录下对应的js和styles和images下面。
登录验证
1. 要确定当前登录表单的提交对象是谁?因为登录验证属于权限验证的范围,提交的对象是privilege.php。/admin/templates/login.html
2. 为了告诉服务器当前的请求的操作是什么,给所有的每次请求都携带数据(参数),如果是get请求在超链接之后增加一个数据,如果是post请求,在表单中增加一个数据(隐藏域)。/admin/templates/login.html
3. 服务器要接收数据:/admin/privilege.php
4. 判断动作,根据不同的动作做不同的操作。
5. 接收用户信息。/admin/privilege.php|act=check
6. 验证数据的合法性。/admin/privilege.php|act=check
7. 增加公共文件:设置浏览器的显示字符集和跳转
a) 显示字符集。/admin/includes/init.php
加载初始化文件:任何一个可以被用户直接请求的php文件的第一件事应该加载初始化文件。/admin/privilege.php
b) 网站文件夹对应的绝对路径常量
c) 增加后台的跳转函数。函数是功能,不是初始化,因此应该单独存在于一个文件。/admin/includes/functions.php,存放所有的公共方法
因为每个被请求的php脚本都有可能用到跳转函数,所以需要为每个php文件在一开始的时候就加载跳转函数:admin/includes/init.php
d) 增加一个系统控制函数,控制系统的错误处理:ini_set(),当前经过这个函数的设置之后,配置文件临时生效。admin/includes/init.php
8. 验证用户信息的有效性:判断当前用户信息在数据库是否存在。
a) 搭建数据库环境
b) 所有的数据库的操作,都应该由对应的DB类去操作。将DB类放到/includes/DB.class.php
c) 修改DB类,适应项目。
给数据库类DB,增加表前缀
d) 任何一张表的操作都应该是单独封装一个类来实现,而对应的类调用DB类里面的方法去实现。/admin/includes/User.class.php
e) 在权限管理文件中,需要对user表进行操作的地方(增删改查)得到该类的对象,然后去进行数据库的操作。/admin/privilege.php|act=check
f) 自动加载类。/admin/includes/functions.php
g) 增加一个验证用户信息的方法:/admin/includes/User.class.php
h) 判断数据库的查询结果,根据结果做不同的操作。/admin/privilege.php|act=check
配置文件
1. 在前台增加一个配置文件,用来配置系统的相关的设置信息:数据库信息。/config/config.php
2. 增加配置文件的绝对路径。/admin/includes/init.php
3. 加载配置文件。在init中加载,因为每次请求都需要连接数据,而每次请求也都需要加载init.php。/admin/includes/init.php
4. 在DB类的构造方法使用$config配置信息。/includes/DB.class.php
代码流程
首页功能
首页功能就是对应的index.php,首页的功能就是将首页的框架正常显示。所有跟首页显示相关的模板都应该请求index.php。
1. 判断用户的动作,先接收动作。
2. 加载初始化文件:/admin/index.php
3. 要根据不同的动作做不同的事情,加载主框架
4. 修改框架内部的请求对象。/admin/templates/index.html
5. 根据不同的请求,加载不同的框架的部分。/admin/index.php