Problème de doublons
Résolu
BlackButterfly
-
blackbutterfly Messages postés 95 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- Problème de doublons
- Doublons photos - Guide
- Supprimer les doublons excel - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
- Supprimer les doublons (excel 2003) ✓ - Forum Excel
- Notepad++ supprimer les doublons - Forum Programmation
1 réponse
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);
}
$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);
}
blackbutterfly
Messages postés
95
Date d'inscription
Statut
Membre
Dernière intervention
1
Donc voilà en espérant que cela aide quelqu'un ..