Jump to content

[Résolu]Verification existance donnée en base


Recommended Posts

Bonjour à tous,

 

Je sollicite votre aide pour un developpement sur l'authentification. j'ai rajouté un champs lors de l'inscription qui doit être rempli et dont la valeur doit exister en base. pour l'instant j'ai bien le message d'erreur si le code ce n'est pas rentré mais l'erreur disant que le code n'est pas correct s'affiche même si on rentre le bon code

 

voici mon code:

 

$codece = Tools::getValue('codece');
 if (!empty($codece)){
  $sql = "SELECT id_group FROM ps_group_lang WHERE code = '$codece'";
  $group_ce = Db::getInstance()->numRows($sql);
if ( $group_ce == 0)
 $this->errors[] = Tools::displayError('Ce code CE n\'existe pas.', false);
  }
 else $this->errors[] = Tools::displayError('le code CE doit être remplie', false);

 

Si quelqu'un voit la solution ça m'aiderai beaucoup . ^_^

Edited by vermich (see edit history)
Link to comment
Share on other sites

après quelque test voici quelque précision:

 

$codece = Tools::getValue('codece'); // récupère bien le code
 echo $codece; // affiche bien le code
 if (!empty($codece)){
  $sql = "SELECT id_group FROM ps_group_lang WHERE code = '$codece'"; // le problème est ici
  $group_ce = Db::getInstance()->getValue($sql); // ou ici
  /* $group_ce = Db::getInstance()->numRows($sql); */
  echo $group_ce; //n'affiche rien dans tous les cas
   if ( $group_ce == 0)
 $this->errors[] = Tools::displayError('Ce code CE n\'existe pas.', false);
  }

 else $this->errors[] = Tools::displayError('le code CE doit être remplie', false);

Edited by vermich (see edit history)
Link to comment
Share on other sites

$sql = "SELECT id_group FROM ps_group_lang WHERE code = '$codece'";

 

code = '$codece'";

devient :

code = '.$codece.'";

 

 

Y'a moyen de faire mieux, mais avec les 2 points rouges en plus, au moins, ca marchera...

 

Edit : réécriture, les balises auto avaient rendu mon post illisible...

Edited by Hedrad (see edit history)
Link to comment
Share on other sites

j'ai trouvé plus simple en fait et ça marche:

 

$codece = Tools::getValue('codece');
 if (!empty($codece)){
  $sql = "SELECT COUNT(*) FROM ps_group_lang WHERE code = '$codece'";
  $group_ce = Db::getInstance()->getValue($sql);
   if ( $group_ce == 0)
 $this->errors[] = Tools::displayError('Ce code CE n\'existe pas.', false);
  }

 else $this->errors[] = Tools::displayError('le code CE doit être remplie', false);

Edited by vermich (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...