IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

Probléme avec la validation d'email


Sujet :

MkFramework

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Probléme avec la validation d'email
    Bonsoir Imikado

    j'ai activé le controle de validité de email dans ma classe modèle comme voici :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private function getCheck(){
    		$oPluginValid=new plugin_valid($this->getTab());
    		$oPluginValid->isEmailValid('email','L\email est invalide');
    		return $oPluginValid;
    	}

    Au niveau de ma vue (new) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <h1>Inscription</h1>
    <?php $oForm=new plugin_form($this->oUser);
    $oForm->setMessage($this->tMessage);
    ?>
    <form action="" method="POST" class="form-signin" role="form">
    	   <p>
                   <label>email</label>
                   <?php echo $oForm->getInputText('email',array('class'=>'form-control'))?>
               </p>
     
     <p><input type="submit" value="S'enregistrer" /> <a href="<?php echo _root::getLink('auth::login')?>">Page de login</a> </p>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])):?>
      <p><?php echo implode($this->tMessage['success'])?> </p>
    <?php endif;?>
    </form>

    à la validation de mon formulaire il me met comme message d'erreur avec pour email :"devalender@gmail.com"
    "email invalide"

    je ne vois pas l'erreur ?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Je viens de désactiver la ligne dans la function getCheck() et maintenant j'ai cette erreur.
    En effet j'ai modifié ma base de donnée ! comment modifier ma couche model sans générer à nouveau une nouvelle couche modèle ?

    PDOStatement::execute(): SQLSTATE[HY000]: General error: 1364 Field 'nom' doesn't have a default value
    #0 [internal function]: exception_error_handler(2, 'PDOStatement::e...', 'C:\\wamp\\www\\mkf...', 251, Array)
    #1 C:\wamp\www\mkframework\lib\framework\abstract\abstract_sgbd_pdo.php(251): PDOStatement->execute(Array)
    #2 C:\wamp\www\mkframework\lib\framework\abstract\abstract_sgbd_pdo.php(210): abstract_sgbd_pdo->query('INSERT INTO uti...', Array)
    #3 C:\wamp\www\mkframework\lib\framework\abstract\abstract_model.php(178): abstract_sgbd_pdo->insert('utilisateurs', Array)
    #4 C:\wamp\www\mkframework\lib\framework\abstract\abstract_row.php(74): abstract_model->insert(Object(row_utilisateurs))
    #5 C:\wamp\www\mkframework\lib\framework\abstract\abstract_row.php(56): abstract_row->insert()
    #6 C:\wamp\www\mkframework\data\genere\rustaconnect\model\model_utilisateurs.php(90): abstract_row->save()
    #7 C:\wamp\www\mkframework\data\genere\rustaconnect\module\auth\main.php(146): row_utilisateurs->save()
    #8 C:\wamp\www\mkframework\data\genere\rustaconnect\module\auth\main.php(97): module_auth->processInscription()
    #9 C:\wamp\www\mkframework\lib\framework\class_root.php(264): module_auth->_inscription()
    #10 C:\wamp\www\mkframework\data\genere\rustaconnect\public\index.php(47): _root->run()
    #11 {main}

    Detail:
    #0 exception_error_handler( , 'PDOStatement::execute(): SQLSTATE[HY000]: General error: 1364 Field 'nom' doesn't have a default value' , 'C:\wamp\www\mkframework\lib\framework\abstract\abstract_sgbd_pdo.php' , , Array ( [sReq] => INSERT INTO utilisateurs (`uti_login`,`uti_password`,`fkgroups_id`) VALUES (?,?,?) [tParam] => Array ( [0] => western [1] => 3c61b282a6d6f648b27ea304450d8d13def3ea2f [2] => 15 ) [tATTRERRMODE] => Array ( [SILENT] => 0 [WARNING] => 1 [EXCEPTION] => 2 ) [tATTRCASE] => Array ( [LOWER] => 2 [NATURAL] => 0 [UPPER] => 1 ) [sth] => PDOStatement Object ( [queryString] => INSERT INTO utilisateurs (`uti_login`,`uti_password`,`fkgroups_id`) VALUES (?,?,?) ) ) )
    mon ancienne table :
    uti_pkey
    uti_login
    uti_password
    fkgroups_id

    la nouvelle Table:
    nom
    prenoms
    adresse
    monemail
    telephone
    uti_pkey
    uti_login
    uti_password
    fkgroups_id

    Merci

  3. #3
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour l'erreur à l'insertion SQL, le problème est ici SQL:

    vous essayez d'inserer dans votre table utilisateurs uniquement des valeurs pour les champs uti_login, uti_password et fkgroups_id

    hors apparement, votre champ nom n'est pas en "null autorisé", votre base de donnée vous indique donc qu'il ne peut pas inserer la ligne car la table n'a pas de valeur par defaut poru ce champ nom

    Soit vous inserez tous les champs necessaires, soit vous rendez ces autres champs optionnel (champ null autorisé)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour l'email, utilisez la barre de debug pour verifier les données envoyé en post (au cas ou il y aurait une erreur, un espace ou autre)

    sinon vous pouvez egalement ajouter un espion via plugin_debug::addSpy('ma variable',$maVariable)

    par exemple ici:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private function getCheck(){
    		$oPluginValid=new plugin_valid($this->getTab());
    		$oPluginValid->isEmailValid('email','L\email est invalide');
     
    plugin_debug::addSpy('oPluginValid',$oPluginValid);
     
    		return $oPluginValid;
    	}
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Citation Envoyé par imikado Voir le message
    Pour l'erreur à l'insertion SQL, le problème est ici SQL:

    vous essayez d'inserer dans votre table utilisateurs uniquement des valeurs pour les champs uti_login, uti_password et fkgroups_id
    Oui je l'ai vue je voudrais savoir ou modifier cette recette pour qu'elle prenne en compte tous les champs de ma table*
    la modification doit se faire au niveau du modèle ? existe t'il un endroit dans la couche modèle ou je peux redéfinir la liste des champs ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    je viens juste de voir dans ma classe processInscription() je n'avais pas toutes les lignes correspondant aux champs.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $oUtilisateurs=new row_utilisateurs;
    $igpcod=15;
    $oUtilisateurs->nom=$snom;
    $oUtilisateurs->prenoms=$sprenoms;
    $oUtilisateurs->adresse=$sadresse;
    $oUtilisateurs->monemail=$smonemail;
    $oUtilisateurs->telephone=$stelephone;
     
    $oUtilisateurs->uti_login=$sLogin;
    $oUtilisateurs->uti_password=model_utilisateurs::getInstance()->hashPassword($sPassword);
    $oUtilisateurs->statut_compte=0;
    $oUtilisateurs->fkgroups_id=$igpcod;

    Imikado j'ai aussi poster une demande de tuto je ne sais pas si vous l'avez vu

    Merci

  7. #7
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Ok, oui j'ai vu j'ai pris en compte pour écrire ce tuto
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] Problèmes avec l'envoi d'email depuis une task
    Par nsoinard dans le forum Symfony
    Réponses: 2
    Dernier message: 21/04/2010, 14h57
  2. Problème avec l'envoi d'email
    Par Cartman.inc dans le forum ASP.NET
    Réponses: 8
    Dernier message: 01/04/2009, 16h07
  3. [DOM XML] Problème avec la validation d'un flux RSS
    Par JackBeauregard dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/05/2008, 00h54
  4. problèmes avec mon validator
    Par newmar dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/02/2008, 19h01
  5. [Mail] problème avec un script envoi email
    Par baguira dans le forum Langage
    Réponses: 1
    Dernier message: 28/02/2007, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo