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));//绿色部分和前台代码$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><?php echo $form->labelEx($user_login,'username'); ?></DT>
                        <DD>
                        <!-- 创建文本输入框 -->
                            <?php echo $form->textField($user_login,'username',array('size'=>25,'class'=>'inputBg()'));?>
                        </DD>
                        <DD class="e"></DD>
                    </DL>
                    <DL>
                        <DT><?php echo $form->labelEx($user_password,'password');?></DT>
                        <DD>
                            <?php echo $form->textField($user_password,'password',array('size'=>25,'class'=>'inputBg()'));?>
                        </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)

然后进入上面if语句的anthenticat方法里面,对用户名进行验证操作

接着在前台登录界面添加提示错误信息

<?php echo $form->error($user_login,'username')?>

<?php echo  $form->error($user_login,'password'); ?>

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

用UerIdentity组件进行用户验证

yii YII小部件 创建登录表单表单 Login表单的更多相关文章

  1. YII自定义小部件

    案例如下 common/widgets/TopMenu.php(地址可以自定义位置,命名空间一定要对应) <?php /** * Created by PhpStorm. * Date: 201 ...

  2. dhtmlxSpreadSheet开源电子表格小部件创建教程

    dhtmlxSpreadSheet是用纯JavaScript编写的开源电子表格小部件,可让您快速在网页上添加类似于Excel的可编辑数据表.高度可定制的JavaScript电子表格组件,具有优雅的Ma ...

  3. 小程序 之登录 wx.login()

    小程序的登录关键在于使用wx.login()方法后,要到取到code值传到后台, 再用小程序平台本帐号生成的appid+addsecret+code去微信接口服务取得用户唯一标识后即可登录[注意:此步 ...

  4. yii 表单小部件使用

    首先创建model层 因为要使用表单小部件 所以要加载相应的组件 这里需要的组件有 yii\widgets\ActiveForm 和 yii\helpers\Html 接下来在model定义的clas ...

  5. YII 小部件 yii小部件查看方法 小物件做的表单

    要使用小部件,可以先到总文件去找   framework/yiilite文件里面搜索“CAtiveForm” (如果觉得小部件的radio布局有点难看,可以在外面定义,具体可以在控制器里面定义) 如下 ...

  6. YII 小部件实现的注册表

    今天来进行用户注册功能yii集成了很多验证框架,framework/validators下面,这个文件夹的最后一个文件CValidator.php 是总的验证信息,根据请求参数决定需要那种验证 如:u ...

  7. 用JS动态创建登录表单,报了个小错误

    后来发现原来是: dvObj.style.border='#Red 1px sold'; 其中的Red多谢了一个‘#’, 但是奇怪的是在chrome和firefox都备有报错,但是在ie中报错了. 各 ...

  8. Yii框架2.0的小部件

    小部件是视图里的可重用单元. 小部件是在视图中使用的,但是可能需要使用控制器传给他的模型,比如在渲染表单的时候.比如一般的时间拾取器就可以直接砸视图里加入如下代码就可以: <?php use y ...

  9. yii2.0 表单小部件常用的默认选中

    下面自己总结了一下表单小部件中经常使用到的一些默认选中 直接在视图代码里面说明啦 <?php //这个表头就不多说了 use yii\helpers\Html; use yii\widgets\ ...

随机推荐

  1. 常用Linux运维命令

    1.查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]} ...

  2. 利用android studio gsonformat插件快速解析复杂json

    在android开发过程中,难免会遇到json解析,在这篇文章中为你快速解析复杂的json. 首先,在android studio中安装gsonformat插件. 点击File->Setting ...

  3. iOS-label出现未知边框线的bug

    在前段时间碰到了一个问题  label上出现了一个位置的右边框  仔细查看代码发现没有指定边框 而且奇怪的是只显示右边框  其他边框没有显示 需求效果图: 实际效果图: 结构图: 通过查看结构图  可 ...

  4. CSS Selector (part 1)

    Selector概述 示例: strong { color: red; } 解释: 这是一个完整 css 规则(标签选择器).strong 叫做选择器,它选择该规则将被应用到 DOM 的那个元素上去. ...

  5. VSPackge插件系列:常用IDE功能的封装

    继上一篇VSPackge插件系列简单介绍如何正确的获取DTE之后,就一直没发VSPackge插件系列的文章了,最近同事也想了解如何在代码中与VS交互,特发一篇文章示例一些简单功能是如何调用,也以备以后 ...

  6. MSP430常见问题之工作模式和功耗类

    Q1:1,MSP430进入LP 模式后,CPU 停止运行,那么,进入中断执行退出后,由于SR的恢复,导致还处于LP 模式,是否意味着,CPU 在退出中断后立即停止了呢?2,也就是说,进入LP 模式后, ...

  7. RMI原理

    一.分布式对象 在学习 RMI 之前,先来分布式对象(Distributed Object):分布式对象是指一个对象可以被远程系统所调用.对于 Java 而言,即对象不仅可以被同一虚拟机中的其他客户程 ...

  8. Rshare Pro是否可以放入至客户企业App Store?

    现在很多客户内部部署了苹果授权的企业内部的AppStore,我们的Rshare Pro 是完全允许放入企业搭建的AppStore平台中.但每份需要收费20美元,换成人民币是120元.

  9. 用Cookie记住上次登录用户名

    一个登录页面设置查看Cookie中的数据(Cookie不为null);然后将页面提交到另一个页面去,在这个页面中的到是否选择记住用户名,如果选择了, 就创建Cookie对象,将用户名存储起来,下次登录 ...

  10. 获取XML配置数据

    XML结构: <Setting>  <BIG>    <tdHead>      <td TdName="序号" TdWidth=&quo ...