Login existe déjà

Fermé
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - Modifié par labourette le 7/12/2014 à 23:52
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 9 déc. 2014 à 20:04
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 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
8 déc. 2014 à 22:32
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 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
Modifié par labourette le 9/12/2014 à 20:05
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