PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 22-12-2010 10:08:46

ziko
Membre
Inscription : 22-12-2010
Messages : 43

[Résolu] Email déjà utilisé ?

Bonjour à tous alors voila mon problème :

J'ai un formulaire pour s'inscrire sur le site afin de pouvoir accéder à certains avantage, seulement j'aimerais pouvoir vérifier si lors de l'inscription l'adresse email spécifié n'est pas déjà utilisé.

J'ai écris se bout de code mais je pense avoir louper un truc car ca me dis toujours "email déjà utilisé" alors que dans la BDD aucun utilisateur n'est enregistré

$host ='localhost';

     

      $user ='root';

      $bdd ='test';

      $passwd  ='';
      mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");

      mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

      // Creation et envoi de la requete
      $query = 'SELECT COUNT(email) FROM membre WHERE email="'.$_GET['email'].'"';

      $result = mysql_query($query);


      if($result != 0)
      {
        echo "email deja utilise";
      }
     
      mysql_close();

Merci pour vos explications

Dernière modification par ziko (22-12-2010 10:09:04)

Hors ligne

#2 22-12-2010 11:06:26

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Email déjà utilisé ?

Saluton,
As-tu testé la requête sous PHPMyAdmin avec une adresse courriel présente, et une adresse courriel absente ?
Tu verras pourquoi $result ne peut pas être égal à 0


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 22-12-2010 11:19:52

ziko
Membre
Inscription : 22-12-2010
Messages : 43

Re : [Résolu] Email déjà utilisé ?

Alors avec

SELECT COUNT( email ) FROM membre WHERE email = 'une_adresse_presente'

me retourne 1

SELECT COUNT( email ) FROM membre WHERE email = 'une_adresse_non_presente'

me retourne 0

Je me demandais si la syntaxe :  WHERE email="'.$_GET['email'].'"'; est bonne niveau simple et double quote

Hors ligne

#4 22-12-2010 14:15:42

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Email déjà utilisé ?

Donc dans ton script, $result, qui est une ressource, ne retourne pas 0.
Pour en connaître le contenu il te faut la parcourir.
Si tu testes le petit script ci-dessous

<pre><?php
/* on suppose une connexion active à la base de données */
$req="SELECT COUNT( * ) FROM membre WHERE email = 'une_adresse_presente'";
$result=mysql_query($req);
print_r(mysql_fetch_assoc($result));
$req="SELECT COUNT( * ) FROM membre WHERE email = 'une_adresse_non_presente'";
$result=mysql_query($req);
print_r(mysql_fetch_assoc($result));
?></pre>

tu obtiendras ceci

Array
(
    [COUNT(*)] => 1
)
Array
(
    [COUNT(*)] => 0
)

Je te laisse méditer.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 22-12-2010 15:04:20

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Email déjà utilisé ?

Mais, suis-je bête, peut-être n'as-tu pas connaissance de la notion de ressource en PHP.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 23-12-2010 10:19:06

ziko
Membre
Inscription : 22-12-2010
Messages : 43

Re : [Résolu] Email déjà utilisé ?

Merci beaucoup ca marche, en effet je n'avais pas compris l'utilisation de mysql_fetch_assoc()
merci encore !

Ps : comment je passe le sujet en résolu ?

Hors ligne

Pied de page des forums