利用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 目录下找到
}