IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Enregistrement avec interrogation [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Points : 23
    Points
    23
    Par défaut Enregistrement avec interrogation
    Bonjour,


    Je voulais lors de l'inscription d'un membre sur mon site, que celui-ci indique son email, j'ai déclarer l'email dans ma table MySQL en unique. Mais le hic, c'est quand l'email est déjà existant, sa me renvoye cette ligne :

    Duplicata du champ 'lol@lol.lol' pour la clef 2
    Donc je voulais faire une interrogation sur la base afin qu'il vérifie si l'email est existant ou pas, si c'était le cas, qu'il renvoye sur la page que l'email était déjà enregistrer, donc j'avais ajouter cette condition, mais j'obitens toujours la même ligne si l'email existe déjà.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    $link = mysql_connect("localhost", "root", "");
    mysql_select_db("maxepi", $link) or die(mysql_error());
     
    $table = 'membres';
     
    $pseudo=$_POST['pseudo'];
    $password=$_POST['password'];
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $email=$_POST['email'];
     
    $query = "INSERT INTO $table (pseudo, password, nom, prenom,email) 
    VALUES ('$pseudo', '$password', '$nom', '$prenom', '$email')";
     
    $resultat = mysql_query($query)
    or die(mysql_error()); 
     
    $email_ex = "SELECT DISTINCT $email FROM membres";
    if ($email != $email_ex){
    	$milieu = 'Votre inscription est maintenant terminer, vous pouvez désormais vous connecter.';
    	}
    	else $milieu = 'Cette email a déjà été enregistrer.';
     
    include('squelette.php');
    echo $contenu;
     
    mysql_close($link);
    ?>
    Je pense que j'ai mal fait, enfin, j'en suis sûr Pourriez-vous me conseiller ?


    Cordialement, Hydrae

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ton algo n'est pas bon, il faut que tu commences par faire ton select pour voir si le mail existe en base (mysql_num_rows te servira), si il existe alors tu affiches ton message sinon tu fais l'insert.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MSXML][C++] enregistrer avec des retours de lignes
    Par themadmax dans le forum XML
    Réponses: 3
    Dernier message: 15/11/2005, 18h48
  2. probléme d'enregistrement avec les chexkbox.
    Par pmboutteau dans le forum ASP
    Réponses: 16
    Dernier message: 18/10/2005, 15h05
  3. insertion d'enregistrement avec MySQL Administrator
    Par Lady_jade dans le forum Outils
    Réponses: 1
    Dernier message: 08/09/2005, 16h04
  4. Réponses: 4
    Dernier message: 20/06/2005, 14h57
  5. Comparer l'enregistrement avec le suivant ...
    Par psyco2604 dans le forum ASP
    Réponses: 3
    Dernier message: 01/06/2004, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo