Fonction PHP pour déclarer une erreur si Email déjà utilisé PDO
vivian
-
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais ecrire une fonction pour lors de l'inscription d'un utilisateur si l'email est deja utilisé, une erreur lui soit déclaré tout sela en PDO, svp.
Voila mon code:
function Email_existe($Email)
{
try{
$bdd = new PDO('mysql:host=localhost;dbname=rs;charset=utf8', 'root', ' ');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}
$reponse = $bdd->prepare("SELECT COUNT(id) FROM utilisateurss WHERE Email='$Email'");
$reponse->execute(array($Email));
}
Je vous remercie d'avance
Je voudrais ecrire une fonction pour lors de l'inscription d'un utilisateur si l'email est deja utilisé, une erreur lui soit déclaré tout sela en PDO, svp.
Voila mon code:
function Email_existe($Email)
{
try{
$bdd = new PDO('mysql:host=localhost;dbname=rs;charset=utf8', 'root', ' ');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}
$reponse = $bdd->prepare("SELECT COUNT(id) FROM utilisateurss WHERE Email='$Email'");
$reponse->execute(array($Email));
}
Je vous remercie d'avance
A voir également:
- Fonction PHP pour déclarer une erreur si Email déjà utilisé PDO
- Fonction si et - Guide
- Comment creer un compte email - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
- Impossible d'utiliser ce numéro de téléphone pour la validation. - Forum Gmail
- Instagram une erreur s'est produite ✓ - Forum Instagram
1 réponse
Bonjour,
Un code comme celui-ci devrait convenir :
Cordialement.
Un code comme celui-ci devrait convenir :
function Email_existe($email) { try { $bdd = new PDO('mysql:host=localhost;dbname=rs;charset=utf8', 'root', ' '); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $e) { die('Erreur : ' . $e->getMessage()); } $req = $bdd->prepare("SELECT COUNT(*) FROM utilisateurss WHERE Email = :email"); //Inutile de préparer la requête si c'est pour ne pas bind ensuite ! $req->execute(array( 'email' => $email //Ici on bind )); $results = $req->fetch(); //On fetch la requête $req->closeCursor(); //On ferme la connexion BDD, ça évite les soucis if($results[0] == 0) { return false; //L'email n'existe pas, on peut créer l'utilisateur } else { return true; //L'email existe, il ne faudra pas créer l'utilisateur } }
Cordialement.
- Ou ta fonction inclut déjà un echo :
Donc à la place de return true ou return false, tu peux écrire :
echo "L'email est déjà utilisé" ou bien echo "L'email a bien été enregistré".
- Ou ta fonction est booléenne, elle ne retournera que vrai ou faux :
La fonction telle que te l'ai donné. Dans ce cas, tu peux utiliser ta fonction comme ceci :
Cordialement.