search
  • Sign In
  • Sign Up
Password reset successful

Follow the proiects vou are interested in andi aet the latestnews about them taster

Table of Contents
How Yii uses Captcha verification code, yiicaptcha verification code
Articles you may be interested in:
Home Backend Development PHP Tutorial How to use Captcha verification code in Yii, yiicaptcha verification code_PHP tutorial

How to use Captcha verification code in Yii, yiicaptcha verification code_PHP tutorial

Jul 12, 2016 am 09:02 AM
captcha yii Verification code

How Yii uses Captcha verification code, yiicaptcha verification code

The example in this article describes how Yii uses Captcha verification code. Share it with everyone for your reference, the details are as follows:

For detailed code, please refer to: Yii’s own sample code post project, which contains a contact form that uses a verification code.

1. Model:

Add the verification code to an attribute of UserLogin:

class UserLogin extends CFormModel
{
 public $username;
 public $password;
 public $rememberMe;
 public $verifyCode;
 public function rules()
 {
  return array(
   // username and password are required
   array('username, password,verifyCode', 'required'),
   // rememberMe needs to be a boolean
   array('rememberMe', 'boolean'),
   // password needs to be authenticated
   array('password', 'authenticate'),
   // verifyCode needs to be entered correctly
   array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
  );
 }
 /**
  * Declares attribute labels.
  */
 public function attributeLabels()
 {
  return array(
   'rememberMe'=>Yii::t('user',"Remember me next time"),
   'username'=>Yii::t('user',"username or email"),
   'password'=>Yii::t('user',"password"),
   'verifyCode'=>Yii::t('user','Verification Code'),
  );
 }
}

2. Controller

Add mapping action CCaptchaAction to the LoginController controller

public function actions()
{
 return array(
  // captcha action renders the CAPTCHA image displayed on the contact page
  'captcha'=>array(
   'class'=>'CCaptchaAction',
   'backColor'=>0xf4f4f4,
   'padding'=>0,
   'height'=>30,
   'maxLength'=>4,
  ),
  );
}
ublic function actionLogin()
{
 if (Yii::app()->user->isGuest) {
  $model=new UserLogin;
  // collect user input data
  if(isset($_POST['UserLogin']))
  {
   $model->attributes=$_POST['UserLogin'];
//在此核对验证码
   if($this->createAction('captcha')->validate($model->verifyCode, false))
   {
    // validate user input and redirect to previous page if valid
    if($model->validate()) {
    //admin login only
    if( Yii::app()->getModule('user')->isAdmin()==1 )
    {
    $this->lastViset();
    if (strpos(Yii::app()->user->returnUrl,'/index.php')!==false)
     $this->redirect(Yii::app()->controller->module->returnUrl);
    else
     $this->redirect(Yii::app()->user->returnUrl);
    }else
    {//if no admin when login out
     $this->redirect(Yii::app()->controller->module->logoutUrl);
    }
   }
   }else
   {//提示错误
    $model->addError('verifyCode','验证码不对');
   }
  }
  // display the login form
  $this->render('/user/login',array('model'=>$model));
 } else
  $this->redirect(Yii::app()->controller->module->returnUrl);
}

Before verifying the username and password, check the verification code:

if($this->createAction('captcha')->validate($model->verifyCode, false))
{

3. view

Show the verification code image in the view and input box

<?php $this->widget('CCaptcha'); ?>
  <?php echo CHtml::activeTextField($model,'verifyCode',array('tabindex'=>1)); ?>
<img src="http://www.XXXX.net/uploads/123456.jpg" alt="">

I hope this article will be helpful to everyone’s PHP program design based on the Yii framework.

Articles you may be interested in:

  • yii user registration form verification example
  • Comprehensive form verification rules of PHP Yii framework
  • Yii framework form form usage Example
  • Yii's form generator usage example that does not rely on Model
  • Yii framework form model usage and submitting form data in the form of array example
  • Implementing front and backend login processing in Yii New method
  • yii method to remove asterisks in required fields

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1085886.htmlTechArticleYii's method of using Captcha verification code, yiicaptcha verification code This article describes how Yii uses Captcha verification code. Share it with everyone for your reference, the details are as follows: Detailed code can be found...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

ArtGPT

ArtGPT

AI image generator for creative art from text prompts.

Stock Market GPT

Stock Market GPT

AI powered investment research for smarter decisions

Popular tool

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to handle file uploads in Yii How to handle file uploads in Yii Sep 01, 2025 am 01:32 AM

Answer: To handle file upload in Yii, you need to set the form enctype to multipart/form-data, use the UploadedFile class to get the file, verify the file type through the model verification rules, and save the file in the controller. Make sure that the upload directory can be written and renamed for security.

How to handle database transactions in Yii How to handle database transactions in Yii Sep 02, 2025 am 01:46 AM

Yiiensuresdataintegritythroughtransactionmanagement,allowingrollbackonfailure.UsebeginTransaction()formanualcontrolortransaction()withaclosureforautomaticcommit/rollback.ActiveRecordmodelsautomaticallyparticipateintransactionswhenusingthesameconnecti

How to reset a user password in Yii How to reset a user password in Yii Sep 01, 2025 am 12:13 AM

Answer: To implement password reset in Yii2, you need to add password_reset_token and expiration time fields, generate a unique token and send it to the user's mailbox, and allow the user to set a new password by verifying the validity of the token, and finally clean the expired token. The specific steps include: 1. Modify the database to add token fields; 2. Implement the generatePasswordResetToken method in the User model to generate a time stamped token and set an hour validity period; 3. Create a PasswordResetRequestForm form to process the request, find the user and send an email with a reset link; 4. Define the strength of the ResetPasswordForm model to verify the new password

How to implement search and filtering in Yii? How to implement search and filtering in Yii? Sep 21, 2025 am 02:33 AM

Answer: To implement search and filtering in Yii2, you need to create a search model and use ActiveDataProvider and GridView. First, create a ProductSearch class for Product, define rules and implement search methods, process parameters through load and validate, and add conditions with andFilterWhere; instantiate the search model in the controller and pass in the request parameters; build a search form in the view with ActiveForm, GridView displays data and sets filterModel; supports advanced functions such as date range and association query to ensure database index optimization performance.

How to create a custom widget in Yii How to create a custom widget in Yii Aug 30, 2025 am 12:01 AM

To create a custom widget, you need to inherit the yii\base\Widget class and implement the init() and run() methods. 2. Place the class file in the @app/widgets/ directory. 3. Use it in the view through widget() or begin() and end() syntax. 4. Complex output can render the view template through render() method. 5. Create resource packages when CSS/JS is required and register in run().

How to use Gii for code generation in Yii How to use Gii for code generation in Yii Aug 31, 2025 am 06:56 AM

EnableGiiinconfig/web.phpbyaddingthemoduleandsettingallowedIPs,thenaccesshttp://your-app-url/index.php?r=gii,useModelGeneratortocreatemodelsfromdatabasetables,anduseCRUDGeneratortogeneratecontrollersandviewsforfullCRUDoperations.

How to handle AJAX requests in Yii How to handle AJAX requests in Yii Sep 04, 2025 am 02:53 AM

YiisimplifiesAJAXhandlingbyprovidingtoolstodetectAJAXrequests,returnJSONresponses,andmanageCSRFprotection.InYii2,useYii::$app->request->isAjaxtodetectAJAXcallsandsetresponse->format=Response::FORMAT_JSONforautomaticJSONencoding.Yii1usesYii::

How to implement lazy loading in Yii Active Record? How to implement lazy loading in Yii Active Record? Sep 15, 2025 am 12:04 AM

LazyloadinginYiiActiveRecordautomaticallyfetchesrelateddatawhenaccessed,notduringinitialmodelload.DefinedviahasOne()orhasMany(),relationstriggeradatabasequeryonfirstaccess,asin$order->customer,whichretrievesthecustomeronlywhenneeded.Thiskeepsiniti

Related articles