Membre existe déjà
Résolu
papyclic
Messages postés
446
Date d'inscription
Statut
Membre
Dernière intervention
-
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je souhaiterai faire une dernière condition à savoir éviter d'insérer un membre déjà présent dans ma BDD.
S'ils vous plait pouvez jeter un oeil sur mon script pour me dire ce qui ne va pas en vous remerciant.
En fait je passe pas la deuxième condition "$erreur = 'Ce membre existe déjà !';"
même si le membre n'existe pas encore, je ne sais vraiment pas ou je me suis trompé.
Merci beaucoup
Je souhaiterai faire une dernière condition à savoir éviter d'insérer un membre déjà présent dans ma BDD.
S'ils vous plait pouvez jeter un oeil sur mon script pour me dire ce qui ne va pas en vous remerciant.
En fait je passe pas la deuxième condition "$erreur = 'Ce membre existe déjà !';"
même si le membre n'existe pas encore, je ne sais vraiment pas ou je me suis trompé.
Merci beaucoup
public function verif() { $requete = $this->bdd->prepare("SELECT * FROM tb_adherent WHERE pseudo = '$this->pseudo'"); $requete->execute(); $result = $requete->fetchAll(); $requete2 = $this->bdd->prepare("SELECT COUNT(*) FROM tb_adherent WHERE nom = '$this->nom' AND prenom = '$this->prenom'"); $requete2->execute(); $result2 = $requete2->fetchAll(); if(empty($this->nom) || empty($this->prenom) || empty($this->pseudo) || empty($this->password) || empty($this->debut)) { $erreur = 'Veuillez remplir tous les champs'; return $erreur; } elseif (count($result2) > 0 ) { $erreur = 'Ce membre existe déjà !'; return $erreur; } elseif (count($result) > 0 ) { $erreur = 'Ce Login existe déjà, veuillez en choisir un autre !'; return $erreur; } else { return 'success'; } }
6 réponses
Bonjour,
Essayes ça :
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Essayes ça :
<?php public function verif() { $resultat = ""; if(empty($this->nom) || empty($this->prenom) || empty($this->pseudo) || empty($this->password) || empty($this->debut)) { $resultat = 'Veuillez remplir tous les champs'; } elseif (count(checkIfuserExistByPseudo()) > 0 ) { $resultat = 'Ce Login existe déjà, veuillez en choisir un autre !'; } elseif (checkIfuserExistByNomPrenom() > 0 ) { $resultat = 'Ce membre existe déjà !'; } else { $resultat = 'success'; } return $resultat; } public function checkIfuserExistByPseudo(){ $sql="SELECT * FROM tb_adherent WHERE pseudo = '$this->pseudo'"; $requete = $this->bdd->prepare($sql); $requete->execute(); $result = $requete->fetchAll(); return count($result); } public function checkIfuserExistByNomPrenom(){ $sql ="SELECT COUNT(nom) as NB FROM tb_adherent WHERE nom = '$this->nom' AND prenom = '$this->prenom' GROUP BY nom"; $requete2 = $this->bdd->prepare($sql); $requete2->execute(); $result2 = $requete2->fetchAll(); return $result2[0]['NB']; } ?>
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
bonjouir,
Cela me renvoi une erreur la fonction n'est pas définie à la ligne 7 de ton post en fait
Merci
Cela me renvoi une erreur la fonction n'est pas définie à la ligne 7 de ton post en fait
Merci
Fatal error: Call to undefined function checkIfuserExistByPseudo() in C
Oui désolé.
Il faut mettre un $this-> devant...
Il faut mettre un $this-> devant...
public function verif() { $resultat = ""; if(empty($this->nom) || empty($this->prenom) || empty($this->pseudo) || empty($this->password) || empty($this->debut)) { $resultat = 'Veuillez remplir tous les champs'; } elseif (count($this->checkIfuserExistByPseudo()) > 0 ) { $resultat = 'Ce Login existe déjà, veuillez en choisir un autre !'; } elseif ($this->checkIfuserExistByNomPrenom() > 0 ) { $resultat = 'Ce membre existe déjà !'; } else { $resultat = 'success'; } return $resultat; }
Bonjour
Encore une toute petite notice s'il te plait
à la ligne 24 de ton premier post au niveau du return
Merci
Encore une toute petite notice s'il te plait
à la ligne 24 de ton premier post au niveau du return
Merci
return count($result);
Notice: Undefined variable: result in C:
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
A prioro tyout fonctionne il y a juste une petite erreur.
Notice: Undefined offset: 0 in C:
au niveau du return
return $result2[0]['NB'];
Merci si tu peux me dire pourquoi.
Merci beaucoup
A prioro tyout fonctionne il y a juste une petite erreur.
Notice: Undefined offset: 0 in C:
au niveau du return
return $result2[0]['NB'];
Merci si tu peux me dire pourquoi.
Merci beaucoup
Bonjour,
Essayes comme ça :
Essayes comme ça :
public function checkIfuserExistByNomPrenom(){ $sql ="SELECT COUNT(nom) as NB FROM tb_adherent WHERE nom = '$this->nom' AND prenom = '$this->prenom' GROUP BY nom"; $requete2 = $this->bdd->prepare($sql); $requete2->execute(); $result2 = $requete2->fetchAll(); return isset($result2[0]['NB'])?$result2[0]['NB']:0; }