Condition PHP
Résolu/Fermé
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
-
28 déc. 2014 à 23:45
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 30 déc. 2014 à 18:33
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 30 déc. 2014 à 18:33
A voir également:
- Condition PHP
- Excel cellule couleur si condition texte - Guide
- Easy php - Télécharger - Divers Web & Internet
- Condition et excel - Guide
- Php natif - Forum PHP
- Condition optimale téléphone ✓ - Forum Mobile
10 réponses
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
29 déc. 2014 à 14:52
29 déc. 2014 à 14:52
public function Verif() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); if(empty($this->pseudo) || empty($this->password)) { $erreur = 'Veuillez remplir tous les champs'; return $erreur; } elseif($result) { if($this->password == $result['password']) { return 'success'; } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; return $erreur; } } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; return $erreur; } }
et mon script que je veux intégrer
if($result['actif']==0) { $erreur = "compte supprimé"; return $erreur; } else { return 'success'; }
jordane45
Messages postés
38423
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 février 2025
4 734
29 déc. 2014 à 09:31
29 déc. 2014 à 09:31
Bonjour,
Il te suffit de mettre un AND dans le WHERE de ta requête SQL..
Il te suffit de mettre un AND dans le WHERE de ta requête SQL..
$requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo' AND actif <>0);
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
29 déc. 2014 à 12:11
29 déc. 2014 à 12:11
Bonjour
Merci de ta réponse, effectivement ça je ne le voulais pas.
En effet ce que je souhaiterai c'est de pouvoir faire une fonction pour laquelle je peux mettre une condition si le membre a été banni, il rentre donc ses bons identifiant mais malheureusement pour lui il a été banni sinon avec une condition dans la requète il ne pourra pas se connecter sans savoir pourquoi.
Alors je ne sais pas trop comment faire en fait, c'est un peu complexe si tu peux me donner quelques conseils
Merci beaucoup
Merci de ta réponse, effectivement ça je ne le voulais pas.
En effet ce que je souhaiterai c'est de pouvoir faire une fonction pour laquelle je peux mettre une condition si le membre a été banni, il rentre donc ses bons identifiant mais malheureusement pour lui il a été banni sinon avec une condition dans la requète il ne pourra pas se connecter sans savoir pourquoi.
Alors je ne sais pas trop comment faire en fait, c'est un peu complexe si tu peux me donner quelques conseils
Merci beaucoup
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
29 déc. 2014 à 12:25
29 déc. 2014 à 12:25
en fait je souhaiterai faire quelque chose de similaire mais je n'arrive pas à l'incorporer dans mon script
if($result['actif']==0) { $erreur = "compte supprimé"; return $erreur; } else { return 'success'; }
jordane45
Messages postés
38423
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 février 2025
4 734
29 déc. 2014 à 13:01
29 déc. 2014 à 13:01
Je ne comprend pas où tu bloques......
Ta portion de code semble être correcte... il te suffit de la mettre dans ton elseif...
Ta portion de code semble être correcte... il te suffit de la mettre dans ton elseif...
} elseif($result) { if($this->password == $result['password']) { if($result['actif']==0) { $erreur = "compte supprimé"; return $erreur; } else { return 'success'; } } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; return $erreur; } }
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
29 déc. 2014 à 14:22
29 déc. 2014 à 14:22
Bonjour
Ben en fait je n'arrive pas à l'inclure à l'interieur pour que ça fonctionne.
Je ne comprend pas.
Ben en fait je n'arrive pas à l'inclure à l'interieur pour que ça fonctionne.
Je ne comprend pas.
jordane45
Messages postés
38423
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 février 2025
4 734
29 déc. 2014 à 14:48
29 déc. 2014 à 14:48
Remontre ta CLASS complete
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
29 déc. 2014 à 19:56
29 déc. 2014 à 19:56
Bonjour
Voici ma class complète
Voici ma class complète
<?php class Connexion_class { private $pseudo; private $password; private $actif; private $bdd; public function __construct($pseudo, $password, $actif) { $password = Security::hash($password); $this->pseudo = $pseudo; $this->password = $password; $this->actif = $actif; $this->bdd = bdd(); } public function Verif() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); if(empty($this->pseudo) || empty($this->password)) { $erreur = 'Veuillez remplir tous les champs'; return $erreur; } elseif($result) { if($this->password == $result['password']) { return 'success'; } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; return $erreur; } } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; return $erreur; } } public function Session() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); $_SESSION['id_adherent'] = $result['id_adherent']; $_SESSION['prenom'] = $result['prenom']; $_SESSION['pseudo'] = $this->pseudo; return 1; } } ?>
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
Modifié par papyclic le 29/12/2014 à 20:18
Modifié par papyclic le 29/12/2014 à 20:18
et voici mes vérifications
Merci vraiment de votre aide
<?php if(isset($_POST['pseudo']) AND isset($_POST['password'])) { $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; $actif = isset($_POST['actif']) ? $_POST['actif'] : ''; $connexion = new Connexion_class($pseudo, $password, $actif); $verif = $connexion->Verif(); $verif = $connexion->Verif2(); if($verif == 'success') { if($connexion->Session()) { if(isset($_POST['remember'])) { $value = Security::crypt($verif->pseudo) . '_' . Security::crypt($verif->password); setcookie('mon_site', $value, time() + 3600 * 24 * 3); } } header('Location: index.php?body=compte_profil&type=compte'); } else { $erreur[] = $verif; } } if (isset($erreur)) { echo output_errors($erreur); } ?>
Merci vraiment de votre aide
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
30 déc. 2014 à 12:34
30 déc. 2014 à 12:34
Bonjour
J'ai créé une fonction pour les membres bannis
ma page de vérification
ça me parrait pas très organiser mais à priori les membres banni ne peuvent plus se connecter mais ça me retourne comme erreur success
Merci à vous de m'aider un peu.
J'ai créé une fonction pour les membres bannis
<?php class Connexion_class { private $pseudo; private $password; private $actif; private $bdd; public function __construct($pseudo, $password, $actif) { $password = Security::hash($password); $this->pseudo = $pseudo; $this->password = $password; $this->actif = $actif; $this->bdd = bdd(); } public function Verif() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); if(empty($this->pseudo) || empty($this->password)) { $erreur = 'Veuillez remplir tous les champs'; return $erreur; } elseif($result) { if($this->password == $result['password']) { return 'success'; } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; return $erreur; } } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; return $erreur; } } public function Banni() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); if($result['actif'] == 0) { $erreur = "Ton compte a été supprimé"; return $erreur; } else { return 'success'; } } public function Session() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); $_SESSION['id_adherent'] = $result['id_adherent']; $_SESSION['prenom'] = $result['prenom']; $_SESSION['pseudo'] = $this->pseudo; return 1; } } ?>
ma page de vérification
<?php if(isset($_POST['pseudo']) AND isset($_POST['password'])) { $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; $actif = isset($_POST['actif']) ? $_POST['actif'] : ''; $connexion = new Connexion_class($pseudo, $password, $actif); $verif = $connexion->Verif(); $verif2 = $connexion->Banni(); if($verif == 'success' AND $verif2 == 'success') { if($connexion->Session()) { if(isset($_POST['remember'])) { $value = Security::crypt($pseudo) . '_' . Security::crypt($password); setcookie('cliquedecruet', $value, time() + 3600 * 24 * 3); } } header('Location: index.php?body=compte_profil&type=compte'); } else { $erreur[] = $verif; } } if (isset($erreur)) { echo output_errors($erreur); } ?>
ça me parrait pas très organiser mais à priori les membres banni ne peuvent plus se connecter mais ça me retourne comme erreur success
Merci à vous de m'aider un peu.
jordane45
Messages postés
38423
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 février 2025
4 734
30 déc. 2014 à 12:57
30 déc. 2014 à 12:57
Bonjour,
Ta class pourrait plus ressembler à ça :
Et ta page de vérification :
Ta class pourrait plus ressembler à ça :
<?php class Connexion_class { private $pseudo; private $password; private $actif; private $bdd; public function __construct($pseudo, $password, $actif) { $password = Security::hash($password); $this->pseudo = $pseudo; $this->password = $password; $this->actif = $actif; $this->bdd = bdd(); } public function Verif() { if($this->isLoginPwdEmpty()){ $erreur = 'Veuillez remplir tous les champs'; } elseif($this->checkIfUserExist()) { if($this->password == $this->checkIfUserExist()) { if(!$this->Banni()){ $erreur = 'success'; // on créé les variables de session $this->Session(); }else{ $erreur = "Ton compte a été supprimé"; } } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; } } else { $erreur = "Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ? Dans ce cas désolé..."; } return $erreur; } private function checkIfUserExist(){ $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); return ($result)?$result['password']:false; } private function isLoginPwdEmpty(){ return(empty($this->pseudo) || empty($this->password))?true:false; } private function Banni() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); return($result['actif'] == 0)?true:false; } private function Session() { $requete = $this->bdd->prepare('SELECT * FROM tb_adherent WHERE pseudo = :pseudo'); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); $_SESSION['id_adherent'] = $result['id_adherent']; $_SESSION['prenom'] = $result['prenom']; $_SESSION['pseudo'] = $this->pseudo; } } ?>
Et ta page de vérification :
<?php if(isset($_POST['pseudo']) && isset($_POST['password'])) { $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; $actif = isset($_POST['actif']) ? $_POST['actif'] : ''; $connexion = new Connexion_class($pseudo, $password, $actif); $verif = $connexion->Verif(); if($verif == 'success') { if(isset($_POST['remember'])) { $value = Security::crypt($pseudo) . '_' . Security::crypt($password); setcookie('cliquedecruet', $value, time() + 3600 * 24 * 3); } header('Location: index.php?body=compte_profil&type=compte'); }else { echo output_errors($verif): } } ?>
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
30 déc. 2014 à 18:33
30 déc. 2014 à 18:33
Bonjour,
Vraiment un très grand merci ça fonctionne à merveille comme je le souhaitais.
Je te souhaite de très bonne fête de fin d'année.
Cordialement.
Merci encore
Vraiment un très grand merci ça fonctionne à merveille comme je le souhaitais.
Je te souhaite de très bonne fête de fin d'année.
Cordialement.
Merci encore
29 déc. 2014 à 15:13
Là.. tu nous redonnes juste le bout de code que tu veux mettre et la fonction que tu utilises....
Moi je te demande la class USER .. celle qui contient TOUTES tes méthodes (dont celles que je t'ai déjà aidé à faire ) !!
29 déc. 2014 à 15:19
je vais faire mon chieur de service mais lorsque je lis cette fonction Verif(), ça m'arrache les yeux : )
Il est d'usage ( et même plus que ça ) que chaque fonction ai un point d'entrée et un de sortie, en gros, un seul return par fontion ...
cdt
29 déc. 2014 à 15:30
C'est bien pour ça que je lui demande de nous redonner sa class complète car c'est ce que j'avais commencé à lui faire....