zoukankan      html  css  js  c++  java
  • ThinkPHP

    自动创建:创建数据模型。

    1 $User->create();

    自动验证:验证提交的表单数据。

    1 protected $_validate = array(
    2     array('verify','require','验证码必须!'), //默认情况下用正则进行验证
    3     array('name','','帐号名称已经存在!',0,'unique',1), // 在新增的时候验证name字段是否唯一
    4     array('value',array(1,2,3),'值的范围不正确!',2,'in'), // 当值不为空的时候判断是否在一个范围内
    5     array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
    6     array('password','checkPwd','密码格式不正确',0,'function'), // 自定义函数验证密码格式
    7 );

    自动完成:处理提交的表单数据。

    1 protected $_auto = array ( 
    2     array('status','1'),  // 新增的时候把status字段设置为1
    3     array('password','md5',1,'function') , // 对password字段在新增的时候使md5函数处理
    4     array('name','getName',1,'callback'), // 对name字段在新增的时候回调getName方法
    5     array('create_time','time',2,'function'), // 对create_time字段在更新的时候写入当前时间戳
    6 );

    实例代码:

    注册用户代码:

     1 /**
     2  * 注册用户
     3  */
     4 public function doregister(){
     5     //创建模型,
     6     //D:先检测是否有自定义模型,如没有执行默认Model
     7     //M:直接执行默认Model
     8     $user = D('User');
     9     
    10     //创建数据,并验证
    11     if( !$user->create() ) {
    12         //验证失败
    13         $this->error($user->getError(), '/Login/register.html');
    14     }
    15     
    16     //写入数据
    17     $res = $user->add();
    18     
    19     //判断是否写入成功
    20     if($res > 0) {
    21         //注册成功,发送验证邮件,跳转到登陆页面.
    22         
    23         //TODO:发送验证邮件至注册邮箱,如果成功,跳转至登录页面并提示信息。否则,提示验证邮件发送失败,请联系管理员。
    24         
    25         $this->success('注册成功,请登录填写邮箱进行验证!', '/Login/login.html');
    26     }else {
    27         //注册失败
    28         $this->error('注册用户失败!', '/Login/register.html');
    29     }
    30 }

    User表,实体模型(自动验证,自动完成):

     1 <?php
     2 /**
     3  * 用户模型类
     4  */
     5 class UserModel extends Model{
     6     /**
     7      * 自动验证数组,用于验证数据
     8      */
     9     protected $_validate=array(
    10         //验证码,不为空,且必须填写正确
    11         array('verifycode','require','验证码必须填写!'),
    12         array('verifycode','checkCode','验证码错误,请重新填写!',0,'callback',1),
    13         
    14         //用户名,不为空,不能重复,且符合6-18之间,字母,数字,下划线。
    15         array('username','require','用户名必须填写!'),
    16         array('username','','用户名已存在,请重新填写!', 0, 'unique'),
    17         array('username', '/^[a-zA-Z0-9_]{3,16}$/', '用户名必须以字母,数字,下划线,且6-18位之间!', 0, 'regex'),
    18         
    19         //密码,不为空,是否填写,两次密码是否相同
    20         array('password', 'require', '密码必须填写!'),
    21         array('repassword', 'require', '重复密码必须填写!'),
    22         array('password', 'repassword', '两次密码不相同!', 0, 'confirm'),
    23         
    24         //性别,只能为1或0
    25         array('sex', '/^[01]$/', '性别选择出错!', 0, 'regex'),
    26     );
    27     
    28     
    29     /**
    30      * 自动完成数组,用于处理数据
    31      */
    32      protected $_auto = array(
    33         //密码,MD5加密处理
    34         array('password', 'md5', 1, 'function'),
    35      );
    36 
    37      
    38     /**
    39      * 判定验证码
    40      */
    41     protected function checkCode($code){
    42         if(md5($code)!=$_SESSION['verify']){
    43             return false;
    44         }else{
    45             return true;
    46         }
    47     }
    48 }
  • 相关阅读:
    【WPF学习】第四十八章 理解WPF动画
    【WPF学习】第四十七章 WriteableBitmap类
    【WPF学习】第四十六章 效果
    【WPF学习】第四十五章 可视化对象
    【WPF学习】第四十四章 图画
    【WPF学习】第四十三章 路径和几何图形
    【WPF学习】第四十二章 透明
    【WPF学习】第四十一章 变换
    【WPF学习】第四十章 画刷
    【WPF学习】第三十九章 理解形状
  • 原文地址:https://www.cnblogs.com/KTblog/p/5184243.html
Copyright © 2011-2022 走看看