Ne pas accepter les doubles email dans la BDD

honey87 Messages postés 119 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 9 novembre 2013 - 5 mars 2012 à 20:38
shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012 - 8 mars 2012 à 11:56
Bonjour,
je suis entrain de faire l'insertion dans la bdd pour un formulaire d’inscription, et je voudrais que le champ "email" soit unique : c'est à dire on doit pas autoriser l'inscription de plusieurs personne avec le même email..
voilà mon code d'insertion

<?php 
include('connexion.php');

$nom_prenom=$_POST['nom_prenom'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$ville=$_POST['ville'];
$date = date("d/m/Y - H:i:s");

$sql='insert into fbeegoh VALUES("", "'.mysql_escape_string($nom_prenom).'","'.mysql_escape_string($email).'","'.mysql_escape_string($telephone).'","'.mysql_escape_string($ville).'","'.mysql_escape_string($date).'")';

$req=mysql_query($sql) or die ('Erreur SQL !
'.$sql.'
'.mysql_error());
header("location:merci.html");

?>


Merci d'avance

3 réponses

tremolat Messages postés 8 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 6 mars 2012
5 mars 2012 à 21:30
Hello,

Je pense qu'il te faut faire un select dans ta bdd et utiliser les conditions if/else pour soit faire l'inscription sinon message que le mail existe déjà.

Si tu veux un coup de main pour le script suis dispo.

Julien
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
6 mars 2012 à 08:34
Bonjour,

Tu peux gérer ca en SQL, ce sera plus efficace : il suffit lors de la création de la table de placer la valeur UNIQUE à coté de ton attribut email.
0
shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012
8 mars 2012 à 11:56
Bonjour,

Privilégiez les fonctionnalités côté base de données lorsque ces dernières peuvent gérer ce genre de choses nativement comme l'unicité, le tri, ou autre.
Bien souvent cela permet de gagner du temps et de plus vous arriverez difficilement à faire mieux en programmant.

La seule chose éventuellement que tu peux faire côté code, c'est de catcher l'erreur base pour la formater et faire un joli message pour l'utilisateur.

NIRVANA is never enough ! It's in the spirit !
0
Rejoignez-nous