Maison développement back-end tutoriel php Comment résoudre le problème de Yii entrant le code de vérification correct mais la vérification échoue

Comment résoudre le problème de Yii entrant le code de vérification correct mais la vérification échoue

Jun 16, 2017 am 10:43 AM
yii 验证码

Cet article vous présente principalement la solution au problème de Yii qui saisit le code de vérification correct mais la vérification échoue. L'article le présente en détail à travers l'exemple de code, qui a une certaine valeur de référence et d'apprentissage pour tous les amis qui en ont besoin. il peut jeter un oeil ci-dessous.

Préface

Lorsque j'ai fait une demande récemment, j'ai constaté que j'avais entré le code de vérification correct, mais l'erreur de code de vérification s'est affichée.

Enfin, en traçant le code, nous avons constaté que si le modèle était vérifié séparément avant l'enregistrement, une fois la vérification terminée, le code de vérification sera régénéré

et ensuite lorsque nous Model save , la validation sera également effectuée, le code de vérification a été régénéré, il ne correspondra donc pas à

// 如果这里用到了验证码,就会出问题

$model = new Test();

$model->validate();

$model->save();
Copier après la connexion

// 这样是正确的

$model = new Test();
// 把需要验证的 attribute 放进去,排除验证码字段
$model->validate(array('test1','test2'));

$model->save()
Copier après la connexion

nous Vous pouvez voir framework/web/widgets/captcha/CCaptchaAction.php et vous pouvez facilement trouver le problème

<?php

class CaptchaAction extends CCaptchaAction 
{
 public function validate($input, $caseSensitive)
 {
 $code = $this->getVerifyCode();
 $valid = $caseSensitive ? ($input === $code) : !strcasecmp($input, $code);
 $session = Yii::app()->session;
 $session->open();
 $name = $this->getSessionKey() . 'count';
 if (!Yii::app()->request->isAjaxRequest) {
  $session[$name] = $session[$name] + 1;
 }

 // 这里会重新生成
 if ($session[$name] > $this->testLimit && $this->testLimit > 0) {
  $this->getVerifyCode(true);
 }
 return $valid;
 }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si Google Chrome n'affiche pas l'image du code de vérification ? Le navigateur Chrome n'affiche pas le code de vérification ? Que dois-je faire si Google Chrome n'affiche pas l'image du code de vérification ? Le navigateur Chrome n'affiche pas le code de vérification ? Mar 13, 2024 pm 08:55 PM

Que dois-je faire si Google Chrome n'affiche pas l'image du code de vérification ? Le navigateur Chrome n'affiche pas le code de vérification ?

Les numéros virtuels peuvent-ils recevoir des codes de vérification ? Les numéros virtuels peuvent-ils recevoir des codes de vérification ? Jan 02, 2024 am 10:22 AM

Les numéros virtuels peuvent-ils recevoir des codes de vérification ?

Pourquoi ne puis-je pas recevoir le code de vérification sur mon téléphone ? Pourquoi ne puis-je pas recevoir le code de vérification sur mon téléphone ? Aug 17, 2023 pm 02:49 PM

Pourquoi ne puis-je pas recevoir le code de vérification sur mon téléphone ?

Cas de traitement d'images PHP : Comment implémenter la fonction de code de vérification des images Cas de traitement d'images PHP : Comment implémenter la fonction de code de vérification des images Aug 17, 2023 pm 12:09 PM

Cas de traitement d'images PHP : Comment implémenter la fonction de code de vérification des images

Guide de développement PHP : implémentation de la connexion par code de vérification Guide de développement PHP : implémentation de la connexion par code de vérification Jul 01, 2023 am 09:27 AM

Guide de développement PHP : implémentation de la connexion par code de vérification

Pourquoi ne puis-je pas recevoir le code de vérification pour m'inscrire sur Youka ? Pourquoi ne puis-je pas recevoir le code de vérification pour m'inscrire sur Youka ? Mar 03, 2024 pm 05:31 PM

Pourquoi ne puis-je pas recevoir le code de vérification pour m'inscrire sur Youka ?

Comment utiliser JavaScript pour implémenter la fonction de code de vérification ? Comment utiliser JavaScript pour implémenter la fonction de code de vérification ? Oct 19, 2023 am 10:46 AM

Comment utiliser JavaScript pour implémenter la fonction de code de vérification ?

Comment envoyer plusieurs e-mails avec des codes de vérification d'image en utilisant PHP Comment envoyer plusieurs e-mails avec des codes de vérification d'image en utilisant PHP Sep 13, 2023 am 11:55 AM

Comment envoyer plusieurs e-mails avec des codes de vérification d'image en utilisant PHP

See all articles