YII框架必须遵循其表单的创建方法
登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互
,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码
protected
--models
--LoginFrom
在这个LoginFrom里面设置标签名
/**
* Declares attribute labels.
*/
public function attributeLabels()
{
return array(
'username'=>'用户名',
'password'=>'密 码',
//'rememberMe'=>'Remember me next time',
}
接下来创建登陆模型对象(controllers 控制登录模块)
$user_login=new LoginForm();
$this ->render('login',array(''=>$user_login));//绿色部分和前台代码$user_login 要一致
接下来创建view视图
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
在前台登录页面可以这么写:
//绿色部分注意不要写错
beginWidget('CActiveForm'); ?>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接下来创建表单数据的验证了
它有两个方法,一个是save方法,一个是validate方法
表单数据验证save()方法可以一边校验数据,校验成功可以存储数据save() 到后边有一个环节会执行模型的rules()方法,也就校验表单
我们现在用实现登录表单的验证,可以调用validate(),这个方法校验我们输入的信息。节省了save环节,该方法执行的后面也会去执行rules方法
配置校验提示信息(在modle--->loginForm)
public function rules()
{
return array(
// username and password are required
//array('username,password', 'required'),
// rememberMe needs to be a boolean
//array('rememberMe', 'boolean'),
// password needs to be authenticated
array('password', 'authenticate'),
);
}
接着在前台登录界面添加提示错误信息
error($user_login,'username')?>
error($user_login,'password'); ?>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
用UerIdentity组件进行用户验证