制作验证码
与图片处理步骤一样,但是字符串随机生成即可。
中文写入
要使用中文,必须满足两个条件:必须要有字体文件,只能使用imagettftext函数
array imagettftext ( resource $image , 字体大小, 旋转角度 ,起始x , 起始y , 颜色 , 文字字体 ,文字 )
封装验证码类
1. 在前台的公共文件夹中建立一个验证码类:/includes/Captcha.class.php
2. 增加属性:长,宽,字体大小,字符串长度,干扰点数量,干扰线的数量
3. 初始化属性:构造方法
a) 配置文件中增加验证码的配置项。/config/config.php
b) 初始化的时候,使用配置文件中的默认值。/includes/Captcha.class.php
4. 产生验证码图片
a) 干扰线的制作
imageline:给指定的画布增加线段
bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
b) 干扰点的制作
bool imagesetpixel ( resource $image , int $x , int $y , int $color ),增加干扰点
c) 增加验证码文字
项目应用验证码
1. 图片必须存放到img标签中,才能与其他表单元素一起存在,因此需要在登录界面增加一个img标签用于存放验证码。/admin/templates/login.html
2. img标签必须得到图片内容,必须要有src属性,必须请求权限文件。/admin/templates/login.html
3. 接收请求,处理请求。/admin/privilege.php?act=captcha
4. 直接使用验证码类的对象去产生验证码图片就行。/admin/privilege.php?act=captcha
5. 验证验证码信息:用户提交与服务器生成进行比较
a) 保证服务器生成的验证码能够跨脚本:在生成验证码的时候将验证码存放到session中。/includes/Captcha.class.php
b) 接收用户提交的验证码数据。/admin/privilege.php?act=check
c) 验证码的合法性验证。/admin/privilege.php?act=check
d) 验证码的有效性验证。/admin/privilege.php?act=check
新增验证码验证方法:/includes/Captcha.class.php
调用验证方法验证:/admin/privilege.php?act=check
6. 将session开启放到init文件中,因为后台所有的界面都需要使用session。/admin/includes/init.php
7. 点击验证码图片更新验证码。通过js事件改变img的src属性。/admin/templates/login.html
能够让浏览器发起请求的原理:当前的url与之前的url不同了
商品分类
数据表设计
所有的商品分类都是同样的信息,同时还应该能够区分出谁是谁的子类
可以通过每条记录增加一个字段,字段叫做父级分类,保存父级分类的id即可。