时间:2021-05-25
前言
官网自带的前台验证码中在view下有个contact.php的 文件,大家没事可以先看看它是怎么调验证码 闲话不说,感兴趣的朋友们下面来一起看看详细的介绍:
使用方法如下:
第一步: 因为我本身建立了modules,所以我在我的modules下新建了models的目录(默认gii生成modules是没有这个目录的),我取名为LoginForm.php
代码 如下:
然后第二步我们去控制器里加入代码
namespace app\modules\XXX\controllers;//你们自己的控制器空间use yii\web\Controller;use yii\web\Session;use Yii;use app\modules\XXX\models\LoginForm;//XXX你们自己定义的名字use yii\filters\AccessControl;use yii\filters\VerbFilter;/* *这个是对应前台模版的action */public function actionLogin(){ $loginForm = new LoginForm();//这里要把刚才写的类new下,注意你们要引入文件路径额 $this->render('login',array('loginForm'=>$loginForm));//变量传到前台模版}/** * @用户授权规则 */public function behaviors(){ return [ 'access' => [ 'class' => AccessControl::className(), 'only' => ['logout', 'signup','login'],//这里一定要加 'rules' => [ [ 'actions' => ['login','captcha'], 'allow' => true, 'roles' => ['?'], ], [ 'actions'=>['logout','edit','add','del','index','users','thumb','upload','cutpic','follow','nofollow'], 'allow' => true, 'roles' => ['@'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], ], ], ]; } /** * @验证码独立操作 下面这个actions注意一点,验证码调试出来的样式也许你并不满意,这里就可以需修改,这些个参数对应的类是@app\vendor\yiisoft\yii2\captcha\CaptchaAction.php,可以参照这个类里的参数去修改,也可以直接修改这个类的默认参数,这样这里就不需要改了 */ public function actions() { return [ // 'captcha' => // [// 'class' => 'yii\captcha\CaptchaAction',// 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,// ], //默认的写法 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, 'backColor'=>0x000000,//背景颜色 'maxLength' => 6, //最大显示个数 'minLength' => 5,//最少显示个数 'padding' => 5,//间距 'height'=>40,//高度 'width' => 130, //宽度 'foreColor'=>0xffffff, //字体颜色 'offset'=>4, //设置字符偏移量 有效果 //'controller'=>'login', //拥有这个动作的controller ], ]; }到这里第二步 控制器的代码就完成了,其中要加入的类,你们自己要留意,别落下!
第三步:
在view的模版里,我这里是login.php加入以下代码
<?php $form = ActiveForm::begin([ 'id' => 'login-form', ]); ?><?php echo Captcha::widget(['name'=>'captchaimg','captchaAction'=>'login/captcha','imageOptions'=>['id'=>'captchaimg', 'title'=>'换一个', 'alt'=>'换一个', 'style'=>'cursor:pointer;margin-left:25px;'],'template'=>'{image}']);//我这里写的跟官方的不一样,因为我这里加了一个参数(login/captcha),这个参数指向你当前控制器名,如果不加这句,就会找到默认的site控制器上去,验证码会一直出不来,在style里是可以写css代码的,可以调试样式 ?><?php ActiveForm::end(); ?>总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Yii使用Captcha验证码的方法。分享给大家供大家参考,具体如下:详细代码可参考:yii自带的示例代码post项目,里面有一个contact表
本文实例讲述了YII2框架中验证码的简单使用方法。分享给大家供大家参考,具体如下:验证码的使用是比较频繁的。YII2中已经帮我们做好了封装。首先我们在控制器里创
本文实例讲述了yii2中添加验证码的实现方法。分享给大家供大家参考,具体如下:首先,在模型中添加验证码字段:publicfunctionrules(){retu
最近需要用到验证码,搜索了很多关于Yii2验证码的切换的介绍,下面我来记录一下,有需要了解Yii2下验证码的切换的朋友可参考。希望此文章对各位有所帮助。模型代码
本文实例讲述了C#验证码的创建与使用方法。分享给大家供大家参考,具体如下:1、C#创建验证码①创建获取验证码页面(ValidateCode.aspx)获取验证码