yii框架_用户注册

利用yii可以相对简单完成用户注册

还是一样,用户注册必须有一个user表,下面直接上重点

1)因为我们要操作user表,首先应该建模

  在 项目/protected/models/ 目录下创建User.php 该模型和其它数据库模型一样继承自CActiveRecord

    class User extend CActiveRecord

    {

        public $password2;//因为在表单内显示的密码确认框在数据库中没有此字段,因此需要我们把它定义成user表模型的属性,事实上user表模型也是把user表中的字段映射成属性,才可以在attributeLabels方法和用户注册表单中使用

        //下面是必须有的两个方法

        public function model($className = __CLASS__) {

          return parent::model($className);

        }

        public function tableName() {

          return "{{user}}";

        }

 

        //因为我们要在表单内显示注册相关的字段,但是我们不能直接让数据库中的字段显示给用户,因此,我们要把数据库中的 英文 字段映射 为汉字

        public function attributeLabels() {

          //直接返回映射

          return array(

            'username'=>'用户名',

            'password'=>'密码',

            'password'=>'密码2',

            'user_sex'=>'性别',

            'user_ hobby'=>'爱好',

            'user_xueli'=>'学历',

            'user_introduce'=>'简介',

            'user_email'=>'邮箱',

            'user_qq'=>'qq',

            'user_tel' => '手机',

          );

        }

 

        //表单验证, 当使用yii生成的表单提交时,会自动调用此方法进行验证。

        public function rules() {

           return array(

              array('username', 'required', 'message'=>'用户名必填'),//username是表单内要验证的区域, required是调用那个验证类对其验证,message是验证失败时给用户显示的提示信息

              array('password', 'required', 'message'=>'密码必填'),

              array('password2', 'compare', 'allowEmpty'=>false, 'compareAttribute'=>'password', 'message'=>'两次密码必须一致'),//调用 comare  类对用户 输入的两次密码 进行 比较 验证 copareAttribute 指定 比较的 对象, 该对象需是 user 模型中合理的字段.

              ........

            );

        }

        //验证类可以在    framework/validators  目录下找到

    }

posted on 2012-12-29 21:08  mtima  阅读(903)  评论(0编辑  收藏  举报

导航