Vérifier les doublons lors d'une inscription

lywood -  
poukkid Messages postés 108 Statut Membre -
Bonjour,
je voudrais savoir comment vérifier lors d'une inscription si les informations que l'utilisateur donne n'existe pas déjà dans la base de donnée pour ne pas créer de doublons dans ma base de donnée...merci d'avance

mon code :

<?php

// connexion à la base
$db = mysql_connect('localhost', 'root') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('webmining',$db) or die('Erreur de connexion base de donnée'.mysql_error());

// réceptionner les valeurs (infos) du formulaire en POST
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$adressemail = $_POST['adressemail'];
$login = $_POST['login'];
$password = $_POST['password'];

// Insertion des données dans la table "user".
$sql = "INSERT INTO user(id, nom, prenom, adressemail, login, password) VALUES('','$nom','$prenom','$adressemail','$login','$password')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Your informations have been added.';
echo '<br />';
echo 'You can now log you on the : ';
echo "<a href='../index.php'>Welcome page</a>";

?>
A voir également:

5 réponses

poukkid Messages postés 108 Statut Membre 11
 
Il faut définir plus précisément un doublon:
deux fois le même nom?
deux fois le même prénom + nom ?
plus précis encore ?

(rien qu'en france il existe des personnes qui ont le même prénom et le même nom)

Ensuite, en considérant qu'un meme couple <prénom, nom> n'a pas le droit d'avoir deux inscriptions, il faut procéder ainsi :

Après avoir "réceptionné les valeurs (infos) du formulaire en POST", il faut lancer une requête avec comme paramètre nom=$nom AND prenom=$prenom

A priori la requete devrait ressembler à:
SELECT * FROM user WHERE nom=$nom AND prenom=$prenom
(à intégrer correctement en php)

Puis tu vérifie si résultat de ta requete est bien vide (avec quelquechose comme if (!empty($result)) echo "utilisateur déja existant"; )
0
lywood
 
L'idée en fait c'est d'empêcher les utilisateurs d'avoir le même login et la même adresse mail.
merci d'avance
0
poukkid Messages postés 108 Statut Membre 11
 
Donc il suffit d'adapter très simplement :

donc en gros tu peux ajouter :

$result = mysql_query("SELECT * FROM user WHERE login=$login AND adressemail = $adressemail");

if (!empty(result)) echo "utilisateur déjà existant";
else... tout le reste
0
lywood
 
Ok merci ca fonctionne!!!
A bientot
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
poukkid Messages postés 108 Statut Membre 11
 
De rien, pense à mettre ton topic en résolu.
0