À propos des problèmes de vérification automatique dans ThinkPHP
滿天的星座
滿天的星座 2017-05-16 13:09:54
0
3
562

![Téléchargement de photos...]

 fonction publique addUserBasicData($username,$password,$user_type,$email,$phone,$onlyuid = '598E0CD9'){
        if (vide ($ nom d'utilisateur)) {
            $username = "Utilisateur".mt_rand();
        }
        $data['nom d'utilisateur'] = $nom d'utilisateur ;
        $data['onlyuid'] = $onlyuid;
        $data['mot de passe'] = $mot de passe ;
        $data['user_type'] = $user_type;
        $données['e-mail'] = $e-mail ;
        $données['téléphone'] = $téléphone ;
        $data['regdate'] = MAINTENANT_TIME ;

        $rules = tableau(
            array('onlyuid','','identité en double',0,'unique',1),
            array('téléphone','require','Numéro de téléphone portable illégal','/^(13|14|15|16|17|18)\d{9}$$/'),
            array('phone','','Le numéro de téléphone portable que vous avez saisi a été enregistré !',0,'unique',1),
            array('email','','L'adresse email que vous avez saisie a déjà été enregistrée !',0,'unique',1),
            array('password','require','Vous n'avez pas encore renseigné le mot de passe !'),
            array('user_type','require','Vous n'avez sélectionné aucun type d'utilisateur !'),
            array('repassword','password','Confirmez que le mot de passe est incorrect',0,'confirm'),
            array('mot de passe','checkPwd','Le format du mot de passe est incorrect',0,'fonction'),
        );
        if (!$this->table('yy_common_member')->validate($rules)->create()){
            $return_value["status"] = "échec" ;
            $return_value["status_code"] = 40 000 ;
            $return_value["status_message"] = $this->getError();;
            $return_value["data"]= "";
            retourner $return_value ;
               
        }autre{
            $uid = $this->table('yy_common_member')->add($data);
            $data2['uid'] = $uid;
            $return_value["status"] = "succès";
            $return_value["status_code"] = 20105 ;
            $return_value["status_message"] = "";
            $return_value["data"]= $this->table('yy_common_member_profile')->add($data2);
            retourner $return_value ;
        }

    

Ce qui précède est un extrait de code
défini respectivement
array('onlyuid','','duplicate Identity',0,'unique',1) et array('phone','', ' Le numéro de téléphone portable que vous avez saisi a déjà été enregistré ! ',0,'unique',1), Règles de vérification pour
.
Mais le premier ne prend pas effet, le second peut être utilisé

Rapport d'erreurs

Normal
< /envergure>

滿天的星座
滿天的星座

répondre à tous(3)
世界只因有你

Il s'agit évidemment d'une erreur signalée par l'instruction sql. Cela n'a rien à voir avec la vérification. Le seul identifiant inséré est répété

.
过去多啦不再A梦

Quel est le type de données du champ onlyuid dans votre base de données ?

世界只因有你

Tout le monde a raison : la raison est dans la base de données, vous essayez d'insérer un identifiant unique en double, et ce champ est évidemment défini pour être unique.

Vérifiez-le. Si la signification littérale de ce champ n'est pas très forte, il est recommandé d'utiliser le formulaire d'incrémentation automatique. Ne sautez pas ce champ directement à chaque fois que vous insérez des données et laissez-le augmenter de lui-même.

Il est également possible que la valeur à insérer dans ce champ ait dépassé sa valeur maximale autorisée.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal