yii YII小部件 创建登录表单表单 Login表单
登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互
,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码
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'); ?>
- labelEx($user_login,'username'); ?>
-
textField($user_login,'username',array('size'=>25,'class'=>'inputBg()'));?>
- labelEx($user_password,'password');?>
-
textField($user_password,'password',array('size'=>25,'class'=>'inputBg()'));?>
endWidget(); ?>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接下来创建表单数据的验证了
它有两个方法,一个是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组件进行用户验证
下一篇: mysql解决办法