Verifier si un email existe deja en bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Verifier si un email existe deja en bdd

Re: Verifier si un email existe deja en bdd

par xTG » 23 févr. 2015, 22:09

Et qu'as-tu essayé de faire ? Code PHP ? Requête SQL ?

Re: Verifier si un email existe deja en bdd

par tof73 » 23 févr. 2015, 22:08

vu que tu sais faire une requete d'insertion de données avec pdo, tu dois savoir faire une requete de recherche de la présence de l'email dans la table, et selon le résultat, faire l'insert ou non.

Verifier si un email existe deja en bdd

par blinz » 23 févr. 2015, 21:33

Bonjour à toutes et a tous, je me retourne vers vous afin d'ameliorer mon formulaire, ce dernier marche très bien,
j'aimerais cependant rajouter une vérification si l'email qu'a saisie l'utilisateur n'existe pas déjà en bdd afin d'éviter les doublons;

Voici un extrait de mes verifications:
$erreurs = array();   //tableau contenant des messages d'erreurs

if(!empty($_POST)) {//soumission du formulaire
  
   //Verification pseudo
  if(empty($_POST['pseudo'])) {
   $erreurs['pseudo'] = 'Renseigner un pseudo';
  }
 
 	//Verification du champ email( on vérifie si le champ n'est pas vide )
  if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$_POST['email'])){
	$erreurs['email'] = "Veuillez verifier la saisie de votre e-mail";
	}

  
   //Verification email
  if(empty($_POST['email'])) {
    $erreurs['email'] = 'Renseigner un adresse email';
  }

 // et ca continue ......

et coté requete :
// Insertion
		$req = $bdd->prepare('INSERT INTO user ( pseudo, email, password, date_inscription) VALUES( :pseudo, :email, :password, CURDATE())');
		
		$req->execute(array(
				  'pseudo'=>$_POST['pseudo'],
				  'email'=>$_POST['email'],
				  'password'=>$password
			)) or die('Problème lors de l\'insertion');
			
			echo '<p>Merci votre inscription.</p>';