Login existe déjà

labourette Messages postés 670 Statut Membre -  
labourette Messages postés 670 Statut Membre -
Bonjour,
Je n'arrive vraiment pas à mettre en place une condition pour afficher lors de l'inscription des membres que le Login existe déjà.

J'ai une méthode
    public function ExistePseudo() {
    
        $req = self::$bdd->prepare('SELECT COUNT(*) FROM tb_adherent WHERE pseudo = :pseudo');
        $req->bindParam(':pseudo', $pseudo, PDO::PARAM_STR);
        $req->execute();
        $count = $req->fetchColumn();
    
        return ($count == 0) ? false : true;
    }

j'ai également une méthode enregistrer qui fonctionne pour les INSERT
Je voudrais créer une méthode verif afin de vérifier si le pseudo existe déjà
je souhaiterai faire un truc de style...
if($donnees > 1) {
	echo 'ce pseudo existe deja';
}

je débute en POO alors j'ai vraiment besoin d'aide pour essayer de comprendre.
Je vous remercie

2 réponses

labourette Messages postés 670 Statut Membre 6
 
Bonjour
Pouvez-vous m'aider à mettre en place une fonction, afin de pouvoir vérifier si le login existe déjà en BDD.
Je suis en POO et je ne sais pas trop l'organiser.

Actuellement j'ai une classe avec 2 méthodes "VerifLogin" et "Enregistrement"
J'ai les fonctions setter et getter, et les attributs que contient ma BDD.

De l'aautre côté j'ai la page de traitement que je vous joint

Je vous remercie de tout coeur.
<?php
if(!empty($_POST)) {
	$nom 		= isset($_POST['nom']) ? Security::clean($_POST['nom']) : '';
	$prenom 	= isset($_POST['prenom']) ? Security::clean($_POST['prenom']) : '';
	$email 		= isset($_POST['email']) ? Security::clean($_POST['email']) : '';
	$naissance	= isset($_POST['naissance_3']) ? Security::clean($_POST['naissance_3']) . '-' .  Security::clean($_POST['naissance_2']) . '-' .  Security::clean($_POST['naissance_1']) : '';
	$fixe		= isset($_POST['fixe']) ? Security::clean($_POST['fixe']) : '';
	$mobile		= isset($_POST['mobile']) ? Security::clean($_POST['mobile']) : '';
	$adresse		= isset($_POST['adresse0']) ? Security::clean($_POST['adresse']) : '';
	$lieu_dit		= isset($_POST['lieu_dit']) ? Security::clean($_POST['lieu_dit']) : '';
	$code_postal	= isset($_POST['code_postal']) ? Security::clean($_POST['code_postal']) : '';
	$ville		= isset($_POST['ville']) ? Security::clean($_POST['ville']) : '';
	$pseudo		= isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : '';
	$password	= isset($_POST['password']) ? Security::clean(Security::hash($_POST['password'])) : '';
	$actif		= isset($_POST['actif']) ? $_POST['actif'] : '';
	$debut		= isset($_POST['debut']) ? Security::clean($_POST['debut']) : '';
	$fin			= isset($_POST['fin']) ? Security::clean($_POST['fin']) : '';

    if(empty($nom) || empty($prenom) || empty($pseudo) || empty($password) || empty($debut)) {
        $errors[] = "Veuillez entrer les 5 champs obligatoirs<br/> ( Nom, Prénom, Login, Mot de passe et l'année de Début )";
    } else {

        $donnees = new Register();

        $donnees->setNom($nom);
        $donnees->setPrenom($prenom);
		$donnees->setEmail($email);        
        $donnees->setNaissance($naissance);
        $donnees->setFixe($fixe);
        $donnees->setMobile($mobile);
        $donnees->setAdresse($adresse);
        $donnees->setLieuDit($lieu_dit);
        $donnees->setCodePostal($code_postal);
        $donnees->setVille($ville);
        $donnees->setPseudo($pseudo);
        $donnees->setPassword($password);
        $donnees->setActif($actif);
        $donnees->setDebut($debut);
        $donnees->setFin($fin);

        $donnees->Enregistrer();

		if($donnees == TRUE) {
			$errors[] = 'Bravo ! Le Membre a bien été enregistré...';
		}
	}
echo output_errors($errors);	
}
0
labourette Messages postés 670 Statut Membre 6
 
Bonjour
J'ai essayé de faire quelque chose, pouvez-vous me dire s'ils vous plait votre avis.
J'ai bien sur une erreur.
Merci beaucoup de votre aide
    public function Enregistrer() {
        $req = self::$bdd->prepare('SELECT COUNT(*) FROM tb_adherent WHERE pseudo = :pseudo');
        $req->bindParam(':pseudo', $pseudo, PDO::PARAM_STR);
        $req->execute();
        if($req->fetch(PDO::FETCH_OBJ)->pseudo != null) {
            echo "Pseudo déjà prit.";
        } else {
            $req = self::$bdd->prepare('INSERT INTO tb_adherent (nom, prenom, email, naissance, fixe, mobile, adresse, lieu_dit, code_postal, ville, pseudo, password, actif, debut, fin) VALUES (:nom, :prenom, :email, :naissance, :fixe, :mobile, :adresse, :lieu_dit, :code_postal, :ville, :pseudo, :password, :actif, :debut, :fin)');
            $req->bindParam(':nom',             $this->nom,             PDO::PARAM_STR);
            $req->bindParam(':prenom',          $this->prenom,          PDO::PARAM_STR);
            $req->bindParam(':email',           $this->email,           PDO::PARAM_STR);
            $req->bindParam(':naissance',       $this->naissance,       PDO::PARAM_STR);
            $req->bindParam(':fixe',            $this->fixe,            PDO::PARAM_STR);
            $req->bindParam(':mobile',          $this->mobile,          PDO::PARAM_STR);
            $req->bindParam(':adresse',         $this->adresse,         PDO::PARAM_STR);
            $req->bindParam(':lieu_dit',        $this->lieu_dit,        PDO::PARAM_STR);
            $req->bindParam(':code_postal',     $this->code_postal,     PDO::PARAM_STR);
            $req->bindParam(':ville',           $this->ville,           PDO::PARAM_STR);
            $req->bindParam(':pseudo',          $this->pseudo,          PDO::PARAM_STR);
            $req->bindParam(':password',        $this->password,        PDO::PARAM_STR);
            $req->bindParam(':actif',           $this->actif,           PDO::PARAM_STR);
            $req->bindParam(':debut',           $this->debut,           PDO::PARAM_STR);
            $req->bindParam(':fin',             $this->fin,             PDO::PARAM_STR);   
            $req->execute(); 
        }
    }

mon erreur concerne la ligne 5
 Notice: Undefined property: stdClass::$pseudo in C......
0