Double condition
Résolu/Fermé
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
-
20 déc. 2014 à 16:31
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 21 déc. 2014 à 17:30
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 21 déc. 2014 à 17:30
A voir également:
- Double condition
- Double ecran - Guide
- Whatsapp double sim - Guide
- Excel cellule couleur si condition texte - Guide
- Double appel - Guide
- Double authentification google - Guide
5 réponses
jordane45
Messages postés
38386
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 janvier 2025
4 727
20 déc. 2014 à 16:36
20 déc. 2014 à 16:36
Bonjour,
1 - N'hésites pas à faire des ECHO de tes variables pour savoir ce qu'elles contiennent et donc t'assurer qu'elles correspond à ce que tu attends..
2 - dans ton ELSEIF .. tu test si Une variable....égale à cette même variable.. la réponse est donc toujours vrai !
1 - N'hésites pas à faire des ECHO de tes variables pour savoir ce qu'elles contiennent et donc t'assurer qu'elles correspond à ce que tu attends..
2 - dans ton ELSEIF .. tu test si Une variable....égale à cette même variable.. la réponse est donc toujours vrai !
public function verif() { // le temps des test : $erreur =""; $erreur .= "<br> pseudo :".$this->pseudo; $erreur .= "<br> password:".$this->password; if(empty($this->pseudo) || empty($this->password)) { $erreur .= 'Veuillez remplir tous les champs'; return $erreur; /* la condition ci-dessous sera TOUJOURS vrai... } elseif ($this->pseudo == $this->pseudo) { $erreur .= 'Ce Login existe déjà, veuillez en choisir un autre !'; return $erreur; */ } else { return 'success'; } }
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
20 déc. 2014 à 23:57
20 déc. 2014 à 23:57
Bonjour
Merci de ta réponse, j'ai un peu du mal à saisir, j'ai essayé de mettre "> 0" ça devais marcher ça non?
Si la ligne pseudo est plus grand que 0 alors erreur en principe.
Et là l'enregistrement renvoi success.
Je n'y comprend plus rien en fait.
Tu peux me redire un peu s'il te plait.
Je te remercie
Merci de ta réponse, j'ai un peu du mal à saisir, j'ai essayé de mettre "> 0" ça devais marcher ça non?
Si la ligne pseudo est plus grand que 0 alors erreur en principe.
Et là l'enregistrement renvoi success.
Je n'y comprend plus rien en fait.
Tu peux me redire un peu s'il te plait.
Je te remercie
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
21 déc. 2014 à 09:33
21 déc. 2014 à 09:33
} elseif ($this->pseudo == $this->pseudo) {
Autrement dit : if(1==1); il faut revoir cette condition.
Comment souhaites-tu vérifier que le compte existe déjà (Où est stockée la liste des comptes existants ? Dans une base de données ? Dans un fichier texte ?)
Autrement dit : if(1==1); il faut revoir cette condition.
Comment souhaites-tu vérifier que le compte existe déjà (Où est stockée la liste des comptes existants ? Dans une base de données ? Dans un fichier texte ?)
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
21 déc. 2014 à 09:57
21 déc. 2014 à 09:57
Bonjour
J'aéi une BDD phpmyadmin
Comme ça l'enregistrement s'effectue même si le Login existe déjà dans ma BDD
Merci de pouvoir m'aider un peu
J'aéi une BDD phpmyadmin
Comme ça l'enregistrement s'effectue même si le Login existe déjà dans ma BDD
Merci de pouvoir m'aider un peu
public function verif() { if(empty($this->pseudo) || empty($this->password)) { $erreur = 'Veuillez remplir tous les champs'; return $erreur; } elseif ($this->pseudo > 0) { $erreur = 'Ce Login existe déjà, veuillez en choisir un autre !'; return $erreur; } else { return 'success'; } }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
21 déc. 2014 à 10:07
21 déc. 2014 à 10:07
J'aéi une BDD phpmyadmin
Comme ça l'enregistrement s'effectue même si le Login existe déjà dans ma BDD
Ben vu ton code (ou plutôt les commentaires), j'ai l'impression que tu cherches à empêcher (return $erreur;) l'enregistrement si le login est dans la BDD...
D'ailleurs, this->pseudo > 0, il n'y a aucun lien avec la BDD. Si tu veux vérifier que ce login n'est pas en BDD, il faut faire une requête SQL...
Comme ça l'enregistrement s'effectue même si le Login existe déjà dans ma BDD
Ben vu ton code (ou plutôt les commentaires), j'ai l'impression que tu cherches à empêcher (return $erreur;) l'enregistrement si le login est dans la BDD...
D'ailleurs, this->pseudo > 0, il n'y a aucun lien avec la BDD. Si tu veux vérifier que ce login n'est pas en BDD, il faut faire une requête SQL...
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
21 déc. 2014 à 11:31
21 déc. 2014 à 11:31
Bonjour
En fait j'ai fait une requète je te montre la totalité, Merci de ton coup de main
Voici la class Inscription
Voici la page du formulaire
En fait j'ai fait une requète je te montre la totalité, Merci de ton coup de main
Voici la class Inscription
<?php class Inscription_class { private $pseudo; private $password; private $bdd; public function __construct($pseudo, $password) { $pseudo = Security::clean($pseudo); $password = Security::clean($password); $this->pseudo = $pseudo; $this->password = $password; $this->bdd = bdd(); } public function verif() { if(empty($this->pseudo) || empty($this->password)) { $erreur = 'Veuillez remplir tous les champs'; return $erreur; } elseif ($this->pseudo > 0) { $erreur = 'Ce Login existe déjà, veuillez en choisir un autre !'; return $erreur; } else { return 'success'; } } public function enregistrement() { $requete = $this->bdd->prepare('INSERT INTO tb_inscription(pseudo, password) VALUES(:pseudo, :password)'); $requete->execute(array( 'pseudo' => $this->pseudo, 'password' => $this->password )); return 'success'; }
Voici la page du formulaire
if(isset($_POST['pseudo']) AND isset($_POST['password'])) { $inscription = new Inscription_class($_POST['pseudo'], $_POST['password']); $verif = $inscription->verif(); if($verif == 'success') { if($inscription->enregistrement()) { $erreur[] = 'L\'enregistrement s\'est bien effectué'; } else { $erreur[] = 'Une erreur est survenue'; } } else { $erreur[] = $verif; } } if (isset($erreur)) { echo output_errors($erreur); } ?> <br/> <div id="ajout_user"> <form id="formulaire" action="" method="post"> <fieldset> <legend>Ajouter un membre</legend> <!--#######################################################################################################################################--> <table cellpadding="0" cellspacing="3"> <tr> <td width="20%"><img src="image/login.png" alt="Login" title="Login" height="22" width="22"/> Login :</td> <td width="30%"><input name="pseudo" class="ajout_user" size="30" type="text" value=""/></td> <td width="20%"><img src="image/password.png" alt="Mot de passe" title="Mot de passe" id="image_pwd" height="22" width="22"/> Mot de passe :</td> <td width="30%"><input name="password" class="ajout_user" size="30" type="text" value=""/></td> </tr> </table> <!--#######################################################################################################################################--> <input name="action" value="ajouter" type="hidden" /> <input type="submit" class="submit" value="Enregistrer"/> </fieldset> </form> </div>
jordane45
Messages postés
38386
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 janvier 2025
4 727
Modifié par jordane45 le 21/12/2014 à 19:15
Modifié par jordane45 le 21/12/2014 à 19:15
Bonjour,
Dans ta class il te manque une requête sql pour savoir si ton user existe déjà...
Dans ta class il te manque une requête sql pour savoir si ton user existe déjà...
public function verif() { $sql= "SELECT * FROM tb_inscription WHERE pseudo= '$this->pseudo'"; $requete = $this->bdd->prepare($sql $requete->execute(); $result = $requete->fetchAll(); if(empty($this->pseudo) || empty($this->password)) { $erreur = 'Veuillez remplir tous les champs'; return $erreur; } elseif (count($result)>0) { $erreur = 'Ce Login existe déjà, veuillez en choisir un autre !'; return $erreur; } else { return 'success'; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
21 déc. 2014 à 17:30
21 déc. 2014 à 17:30
Bonjour
Merci, je n'ai pas suffisamment réfléchi excuse moi et encore un grand merci tout fonctionne bien.
Bonne continuation.
Merci, je n'ai pas suffisamment réfléchi excuse moi et encore un grand merci tout fonctionne bien.
Bonne continuation.