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視圖
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
在前台登錄頁面可以這麼寫:
//綠色部分注意不要寫錯
<?php $form=$this->beginWidget('CActiveForm'); ?>
<DIV class="to">
<SPAN class="tol"><A class="v" href="/" target=_blank></A></SPAN>
</DIV>
<DIV class="in">
<DL>
<!-- 創建標簽名 -->
<DT></DT>
<DD>
<!-- 創建文本輸入框 -->
</DD>
<DD class="e"></DD>
</DL>
<DL>
<DT></DT>
<DD>
</DD>
<DD class="e"></DD>
</DL>
</DIV>
<DIV class="su">
<SPAN><INPUT class="go" type=submit value=""></SPAN>
</DIV>
<?php $this->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'),
);
}
接著在前台登錄界面添加提示錯誤信息
<?php echo $form->error($user_login,'username')?>
<?php echo $form->error($user_login,'password'); ?>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
用UerIdentity組件進行用戶驗證