public function CheckVerify() { indexaction类:
form类:
<?php
class FormModel extends Model {
// 自动验证设置
protected $_validate = array(//这里必须定义为$_validata用来验证
array('title','require','标题必须!',1),
array('email','email','邮箱格式错误!',2),
array('content','require','内容必须'),
array('verify','require','验证码必须!'),
array('verify','CheckVerify','验证码错误',0,'callback'),//callback 使用方法验证,前面定义的验证规则是一个当前 Model 类的方法 ,这里可能有些不太理解
//那就要看本类的最后一个方法了,现在明白了吧
array('title','','标题已经存在',0,'unique','add'),//附加验证unique,unique 验证是否唯一,系统会根据字段目前的值查询数据库来判断是否存在相同的值
);
// 自动填充设置
//由上面推导,下面这个是自动填充字段了,方便明了
protected $_auto = array(//同样这里必须定义为$_auto
array('status','1','ADD'),
array('create_time','time','ADD','function'),//这里指明填充使用函数time()
);
return md5($_POST['verify']) == $_SESSION['verify'];
}
}
?>
<?php
class IndexAction extends Action{
// 首页
public function index(){
$Form = D("Form");//创建一个对象
$list = $Form->top6('','*','id desc');//从数据库中读取最新6条记录,并且安id倒序输出
$this->assign('list',$list);//把数据传到模板里
$this->display();
}
// 处理表单数据
public function insert() {//此方法对应表单的ACTION="__URL__/insert"
$Form = D("Form");
if($Form->create()) {//创建 Form 数据对象,默认通过表单提交的数据进行创建,为下面写入数据库做准备
$Form->add();// 新增表单提交的数据 ,吧上面创建的数据对象提交
$this->redirect();//返回上一个模块,页面跳转可以说是
}else{
header("Content-Type:text/html; charset=utf-8");
exit($Form->getError().' [ <A HREF="javascript:history.back()">返回</A> ]');
}
}
// 生成验证码
//这个方法没什么好说的,固定格式
public function verify() {
import("ORG.Util.Image");
Image::buildImageVerify(); //这里两个冒号是调用静态方法
}
}
?>