Maison cadre php YII yii génère une erreur lors de la saisie du code de vérification correct

yii génère une erreur lors de la saisie du code de vérification correct

Dec 24, 2019 pm 01:43 PM
yii 提示 correct 错误 验证码

yii génère une erreur lors de la saisie du code de vérification correct

Lorsque j'ai fait une demande, j'ai constaté que j'avais entré le bon code de vérification, mais il m'a été demandé que le code de vérification était erroné.

La dernière trace du code a révélé que si le modèle est validé séparément avant l'enregistrement, le code de vérification sera régénéré une fois la vérification terminée. Ensuite, lorsque nous Model save, nous effectuerons également une vérification de validation. Lors de la vérification, le code de vérification a été régénéré, il ne correspondra donc pas.

Découverte du problème :

Nous pouvons chercher framework/web/widgets/captcha/CCaptchaAction.php pour trouver facilement 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() . &#39;count&#39;;        
        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
// 如果这里用到了验证码,就会出问题$model = new Test();

$model->validate();

$model->save();
Copier après la connexion
// 这样是正确的$model = new  Test();
// 把需要验证的 attribute 放进去,排除验证码字段
$model->validate(array(&#39;test1&#39;,&#39;test2&#39;));
$model->save()
Copier après la connexion

Articles et tutoriels connexes recommandés : tutoriel yii

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

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 indique que le contenu de cet onglet est partagé ? Que dois-je faire si Google Chrome indique que le contenu de cet onglet est partagé ? Mar 13, 2024 pm 05:00 PM

Que dois-je faire si Google Chrome indique que le contenu de cet onglet est partagé ? Lorsque nous utilisons Google Chrome pour ouvrir un nouvel onglet, nous rencontrons parfois une invite indiquant que le contenu de cet onglet est partagé. Alors, que se passe-t-il ? Laissez ce site fournir aux utilisateurs une introduction détaillée au problème de Google Chrome, invitant à partager le contenu de cet onglet. Google Chrome indique que le contenu de cet onglet est en cours de partage. Solution : 1. Ouvrez Google Chrome. Vous pouvez voir trois points dans le coin supérieur droit du navigateur « Personnaliser et contrôler Google Chrome ». l'icône. 2. Après avoir cliqué, la fenêtre de menu de Google Chrome apparaîtra ci-dessous et la souris se déplacera vers « Plus d'outils ».

Impossible de terminer l'opération (Erreur 0x0000771) Erreur d'imprimante Impossible de terminer l'opération (Erreur 0x0000771) Erreur d'imprimante Mar 16, 2024 pm 03:50 PM

Si vous rencontrez un message d'erreur lors de l'utilisation de votre imprimante, tel que l'opération n'a pas pu être terminée (erreur 0x00000771), cela peut être dû au fait que l'imprimante a été déconnectée. Dans ce cas, vous pouvez résoudre le problème grâce aux méthodes suivantes. Dans cet article, nous verrons comment résoudre ce problème sur un PC Windows 11/10. Le message d'erreur complet indique : L'opération n'a pas pu être terminée (erreur 0x0000771). L'imprimante spécifiée a été supprimée. Correction de l'erreur d'imprimante 0x00000771 sur un PC Windows Pour corriger l'erreur d'imprimante, l'opération n'a pas pu être terminée (erreur 0x0000771), l'imprimante spécifiée a été supprimée sur un PC Windows 11/10, suivez cette solution : Redémarrez le spool d'impression

Révéler les causes du code d'état HTTP 460 Révéler les causes du code d'état HTTP 460 Feb 19, 2024 pm 08:30 PM

Décryptage du code d'état HTTP 460 : pourquoi cette erreur se produit-elle ? Introduction : Lors de l'utilisation quotidienne du réseau, nous rencontrons souvent diverses invites d'erreur, notamment des codes d'état HTTP. Ces codes d'état sont un mécanisme défini par le protocole HTTP pour indiquer le traitement d'une requête. Parmi ces codes d’état, il existe un code d’erreur relativement rare, à savoir le 460. Cet article examinera ce code d'erreur et expliquera pourquoi cette erreur se produit. Définition du code d'état HTTP 460 : Tout d'abord, nous devons comprendre les bases du code d'état HTTP

Solution à l'erreur d'invite de mise à jour Windows 0x8024401c Solution à l'erreur d'invite de mise à jour Windows 0x8024401c Jun 08, 2024 pm 12:18 PM

Table des matières Solution 1 Solution 21. Supprimez les fichiers temporaires de Windows Update 2. Réparez les fichiers système endommagés 3. Afficher et modifier les entrées de registre 4. Éteignez la carte réseau IPv6 5. Exécutez l'outil WindowsUpdateTroubleshooter pour réparer 6. Éteignez le pare-feu et autres logiciels antivirus associés. 7. Fermez le service WidowsUpdate. Solution 3 Solution 4 Une erreur « 0x8024401c » se produit lors de la mise à jour de Windows sur les ordinateurs Huawei Symptôme Problème Cause Solution Toujours pas résolu ? Récemment, le serveur Web a dû être mis à jour en raison de vulnérabilités du système. Après la connexion au serveur, la mise à jour affiche le code d'erreur 0x8024401c.

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 ? Lors de la connexion à une page Web à l'aide de Google Chrome, un code de vérification est parfois requis. Certains utilisateurs constatent que Google Chrome ne peut pas afficher correctement le contenu de l'image lorsqu'il utilise des codes de vérification d'image. Qu'est-ce qui devrait être fait? L'éditeur ci-dessous vous expliquera comment gérer le code de vérification de Google Chrome qui ne s'affiche pas. J'espère que cela sera utile à tout le monde ! Introduction à la méthode : 1. Entrez dans le logiciel, cliquez sur le bouton « Plus » dans le coin supérieur droit et sélectionnez « Paramètres » dans la liste d'options ci-dessous pour entrer. 2. Après être entré dans la nouvelle interface, cliquez sur l'option « Paramètres de confidentialité et sécurité » sur la gauche. 3. Cliquez ensuite sur « Paramètres du site Web » à droite

Interprétation de l'erreur Oracle 3114 : causes et solutions Interprétation de l'erreur Oracle 3114 : causes et solutions Mar 08, 2024 pm 03:42 PM

Titre : Analyse de l'erreur Oracle 3114 : causes et solutions Lorsque vous utilisez la base de données Oracle, vous rencontrez souvent divers codes d'erreur, parmi lesquels l'erreur 3114 est relativement courante. Cette erreur implique généralement des problèmes de liaison à la base de données, qui peuvent provoquer des exceptions lors de l'accès à la base de données. Cet article interprétera l'erreur Oracle 3114, discutera de ses causes et donnera des méthodes spécifiques pour résoudre l'erreur et des exemples de code associés. 1. Définition de l'erreur 3114 Erreur Oracle 3114 réussite

Pourquoi l'application Xiangxiangfuzhai affiche-t-elle une erreur ? Pourquoi l'application Xiangxiangfuzhai affiche-t-elle une erreur ? Mar 19, 2024 am 08:04 AM

L'erreur d'affichage est un problème qui peut survenir dans l'application Xiangxiang Fuzhai. Certains utilisateurs ne savent pas pourquoi l'application Xiangxiang Fuzhai affiche des erreurs. Cela peut être dû à des problèmes de connexion réseau, à un trop grand nombre de programmes en arrière-plan, à des informations d'enregistrement incorrectes, etc. Ceci est l'introduction de l'éditeur sur la façon de résoudre les erreurs d'affichage des applications pour les utilisateurs. Les utilisateurs intéressés devraient venir y jeter un œil ! Pourquoi l'application Xiangxiang Fuzhai affiche-t-elle une réponse d'erreur : problème de connexion réseau, trop de programmes en arrière-plan, informations d'enregistrement incorrectes, etc. Détails : 1. [Problème de réseau] Solution : Vérifiez l'état du réseau de connexion de l'appareil, reconnectez-vous ou choisissez une autre connexion réseau pour utiliser. 2. [Trop de programmes en arrière-plan] Solution : fermez les autres programmes en cours d'exécution et libérez le système, ce qui peut accélérer l'exécution du logiciel. 3. [Informations d'enregistrement incorrectes

Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Feb 20, 2024 am 10:07 AM

Titre : Méthodes et exemples de code pour résoudre les erreurs 403 dans les requêtes jQuery AJAX L'erreur 403 fait référence à une demande selon laquelle le serveur interdit l'accès à une ressource. Cette erreur se produit généralement parce que la demande manque d'autorisations ou est rejetée par le serveur. Lorsque vous effectuez des requêtes jQueryAJAX, vous rencontrez parfois cette situation. Cet article explique comment résoudre ce problème et fournit des exemples de code. Solution : Vérifiez les autorisations : assurez-vous d'abord que l'adresse URL demandée est correcte et vérifiez que vous disposez des autorisations suffisantes pour accéder à la ressource.

See all articles