生成验证码 和 验证 两个功能
Framework/tool/CaptchaTool.class.php
增加:干扰像素 imagesetpixel(画布,位置X,位置Y,颜色)//像素点
干扰线条 imageline(画布,起点X,起点Y,终点X,终点Y,颜色)//线条
增加一个captchaTool类对象方法
增加一个管理员的控制器的动作,用于生成验证码
back/AdminController captchaAction
注意:将该动作,视为不需要登陆后,就可以请求到的动作
back/PlatformController checkLogin()
请求可以看到验证码:shop.235.com/index.php?p=back&c=Admin&a=captcha
增加到表单内 直接使用img标签的src属性,来请求改地址,则可以生成图片:
view/back/login.html
此时,session数据内出现了该码值
提交后,先验证后再验证用户名和密码。
controller/back/AdminController signinAction()
img标签的src属性表示图片URL地址,URL地址变了,图片应当发生变化。
利用js,做到,点击图片,修改图片元素的src属性。
点击修改属性?利用onclick事件,修改this.src
修改成什么?还是原始地址,增加一个每次不同的参数(随机数,时间戳)
建议:直接请求生成图片的地址
指的是,分类之间存在级别关系,该关系无限向下延伸。该分类模型,无限分类。
典型的就是以树状图表示分类关系的模型。
树,一种描述数据的结构(数据结构),由N个节点与N-1条边组成,而且要求每一个节点都有一条边,用于指向与其关联的节点。
基本概念:
阶段,
边,
父节点,
子节点,
根节点:没有父节点的节点。
叶子节点:没有子节点的节点。
先辈节点(祖先节点)
后代节点
同辈节点,具有相同父节点的节点。
此时,使用关系型数据表 结构,表示出来 树状分类模型。
关系:每条记录地位是相同的,但是,树,每条数据之间有明显的层级关系
使用关系,表示出来,节点信息,和边的信息即可。
在节点信息表中(分类表),每条节点信息内,增加一个指向其父节点(父分类)的字段信息。增加一个字段保存父分类的id即可。
增加模拟数据,完成树状列表
分类列表
增加后台的分类管理控制器类模块 controller/back/CategoryController.class.php
增加展示列表的动作 listAction()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
/**
* 分类控制器类模块
*/
class CategoryController extends PlatformController {
/**
* 列表动作
*/
public function listAction() {
//调用模型取得数据
$model_category = new CategoryModel;
$list = $model_category->getList();
//调用视图展示数据
require CURRENT_VIEW_PATH . 'cat_list.html';
}
}
增加Category表的操作模型:model/CategoryModel
1
2
3
4
5
6
7
8
<?php
/**
* 分类模型
*/
class CategoryModel extends Model {
}
增加getList()方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
/**
* 分类模型
*/
class CategoryModel extends Model {
/**
* 得到简单的数据的集合
*/
public function getList() {
return $this->db->fetchAll('select * from it_category where 1);
}
}
增加一个视图层模板文件,展示列表view/back/cat_list.html 显示标题信息部分
1
2
3
4
<h1>
<span class="action-span"><a href="index.php?p=back&c=Category&a=add">添加分类</a></span>
<span class="action-span"><a href="index.php?p=back&c=Admin&a=main">管理中心</a>
</h1>
列表标头:
1
2
3
4
5
6
<table width="100" cellspacing="1" cellpadding="2" id="list-table">
<tr>
<th>分类名称</th>
<th>商品数量</th>
<th>操作</th>
</tr>
循环输出tr部分:
1
2
3
4
5
6
7
8
9
10
11
12
<?php foreach($list as $row) : ?>
<tr align="center" class="0" id="0_6">
<td align="left" class="first-cell">
<span><a href="#"><?php echo $row['cat_name'];?></a></span>
</td>
<td width="">0</td>
<td width="" align="center">
<a href="#">编辑</a>
<a href="#">移除</a>
</td>
</tr>
<?php endForeach; ?>
修改左侧菜单,增加请求到list的动作:修改模板的href属性即可。
view/back/menu.html
1
<li class="menu-item"><a href="index.php?p=back&c=Category&a=list" target="main-frame">商品分类</a></li>