Problème de doublons

Résolu
BlackButterfly -  
blackbutterfly Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Avant de poster ma question, j'ai visité le liens actuel : http://www.commentcamarche.net/forum/affich-6758655-eviter-doublons-dans-une-base-de-donnee#

Pourtant en suivant la méthodologie, je n'arrive pas à empêcher les doublons. Je requière donc votre aide pour comprendre où je me suis trompé.

Je vous remercie d'avance.

Voici le code en question :
------ Script de création de la base -----
CREATE TABLE USER (
ID_USR int(100) NOT NULL auto_increment,
BOITE varchar(70) NOT NULL,
ADRS varchar(100) NOT NULL,
CP int(10) NOT NULL,
VILLE varchar(30) NOT NULL,
TVA NUMERIC(5,2) NOT NULL,
PRENOM varchar(40) NOT NULL default 'UNKNOW',
NOM varchar(40) NOT NULL default 'UNKNOW',
MAIL varchar(40) NOT NULL,
TEL NUMERIC(20) NOT NULL,
FAX int(20),
PASSWD varchar(32) NOT NULL,
RIGHTS int(1) NOT NULL default '1',
PRIMARY KEY (ID_USR)
);
----- Après envoi des données via le formulaire ----
$error = false;
$AddOK = false;
if (isset($_POST['Add']))
{
$member = new MMembers();
$member->user_exists($_POST['email']);
$Passwd = md5($_POST['PASSWD_MEMBER']);
$Passwd2 = md5($_POST['PASSWD_MEMBER2']);
if($Passwd == $Passwd2) .........
----- fonction user_exists -----
function user_exists($email)
{
define ('SERVEUR', 'localhost');
define ('USER', 'root@localhost');
define ('Paswd', '');
define ('db', 'test');
echo $email;

$cnx = mysql_connect(SERVEUR, USER,Paswd, db) ;
$DB = mysql_select_db(db) ;
$sql = "SELECT ID_USR
FROM USER
WHERE MAIL = '".$email."'
LIMIT 1";
$res = mysql_query($sql, $cnx) or die (mysql_error());
return (mysql_num_rows($res) == 1);
if (user_exists($email))
{
$error = true;
return $error;
}
}
--- Fin ---
Pourtant, même si je met toujours la même adresse, le réultat passe la fonction et continue son chemin en faisant l'Insert qui suis ... Help me please.


1 réponse

blackbutterfly Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   1
 
Problème résolue :

$member = new MMembers();
$exist = $member->Who_I_Am($_POST['email']);
$Passwd = md5($_POST['PASSWD_MEMBER']);
$Passwd2 = md5($_POST['PASSWD_MEMBER2']);
if(empty($exist['0']))
{
if($Passwd == $Passwd2)
.................

public function Who_I_Am ($email)
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root@localhost', '');
$reponse = $bdd->query("SELECT ID_USR FROM USER WHERE MAIL = '".$email."'");
$donuts = $reponse->fetch();
$reponse->closeCursor();

if ($donuts == null )
return false;
else
return ($donuts);

}
0
blackbutterfly Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   1
 
Donc voilà en espérant que cela aide quelqu'un ..
0