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

JavaScript Discussion :

Lors de l'inscription d'un client, v�rifier si mail existe dans base de donn�es


Sujet :

JavaScript

  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par d�faut Lors de l'inscription d'un client, v�rifier si mail existe dans base de donn�es
    Bonjour tout le monde,

    Pour mon site marchand qui vend des motos... je souhaite lors de l'inscription d'un client v�rifier si le mail qu'il saisie existe ou pas dans la base car je souhaite accepter qu'une seule fois l'adresse mail.

    Tout d'abord, la page HTML :
    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form name="client" id="client" method="POST" action="Index.php?action=enregistrer_inscription" onsubmit="return valider()">
    	<div id="title">INSCRIPTION</div>
    	<table width="600">
    <tr>
    			<td>Mail</td>
    			<!-- 'type="text" permet le champ de saisit correspondant au mail du client lors de sa création -->
    			<td><input type="text" name="mail" onKeyUp="verifMail(this.value)" value="<?php if(isset($_POST['mail'])) echo($_POST['mail']); ?>" /></td>
    		</tr>
    </table>

    Ensuite la page javascript ou se situe la fonction 'verifMail()' :
    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
    30
    31
    32
    33
    34
    function writediv(texte)
         {
         document.getElementById('mes').innerHTML = texte;
         }
     
    function verifMail(mail)
    {
        if(mail != '')
        {
            if(texte = file('contenu/verifmail.php?mail='+escape(mail)))
            {
    			if(texte == 1)
    				writediv('<span style="color:#cc0000"><b>'+mail+' :</b> ce mail est deja pris</span>');
    			else
    				writediv('<span style="color:#1A7917"><b>'+mail+' :</b> ce mail est libre</span>');
     
            }
        }
     
    }
     
    function file(fichier)
    {
         if(window.XMLHttpRequest) // FIREFOX
              xhr_object = new XMLHttpRequest();
         else if(window.ActiveXObject) // IE
              xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
         else
              return(false);
         xhr_object.open("GET", fichier, false);
         xhr_object.send(null);
         if(xhr_object.readyState == 4) return(xhr_object.responseText);
         else return(false);
    }
    Le fichier PHP (contenu/verifmail.php) :
    Code php : 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
    30
    <?
    /*
    CE SCRIPT EST UN EXEMPLE DE SCRIPT PHP
    POUR VERIFIER LA DISPONIBILITE D'UN PSEUDO
    DANS UNE TABLE SQL
    
    LE SCRIPT DOIT RETOURNER :
    1 : SI LE SPEUDO EST DEJA PRIS
    2 : SI LE PSEUDO EST LIBRE
    */
     
    // CONNECION SQL
    $host = "ad";
    $user = "user";
    $pass = "";
    $name = "base";
    $connexion = mysql_connect($host, $user, $pass) or die (mysql_error());
    $db = mysql_select_db($name, $connexion) or die(mysql_error());
     
    // VERIFICATION
    if($db)
    			{
    $result = mysql_query("SELECT Clt_mail FROM client WHERE Clt_mail='".$_GET["mail"]."'");
    if(mysql_num_rows($result)>=1)
    //echo($result);
           echo "1";
    else
            echo "2";
    }
    ?>

    Le probl�me :
    Mon probl�me c'est que lorsque je saisit une adresse mail quelle existe ou pas dans la base de donn�es cela m'affiche que le mail est libre.
    Quelqu'un as-t'il une id�e pour r�gler ce probl�me car je voit pas trop??

    Merci d'avance!!

  2. #2
    Membre �clair� Avatar de arthuro45
    Profil pro
    D�veloppeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    D�tails du profil
    Informations personnelles :
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par d�faut
    Bonsoir,

    chez moi �a fonctionne mais avec les accolades dans la condition :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    $result = mysql_query("SELECT Clt_mail FROM client WHERE Clt_mail='".$_GET["mail"]."'");
    if(mysql_num_rows($result)>=1) {
    //echo($result);
           echo "1";
    } else {
            echo "2";
    }

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par d�faut
    Citation Envoy� par loic20h28 Voir le message
    Bonjour tout le monde,

    Pour mon site marchand qui vend des motos... je souhaite lors de l'inscription d'un client v�rifier si le mail qu'il saisie existe ou pas dans la base car je souhaite accepter qu'une seule fois l'adresse mail.

    Tout d'abord, la page HTML :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form name="client" id="client" method="POST" action="Index.php?action=enregistrer_inscription" onsubmit="return valider()">
    	<div id="title">INSCRIPTION</div>
    	<table width="600">
    <tr>
    			<td>Mail</td>
    			<!-- 'type="text" permet le champ de saisit correspondant au mail du client lors de sa création -->
    			<td><input type="text" name="mail" onKeyUp="verifMail(this.value)" value="<?php if(isset($_POST['mail'])) echo($_POST['mail']); ?>" /></td>
    		</tr>
    </table>
    Ensuite la page javascript ou se situe la fonction 'verifMail()' :
    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
    30
    31
    32
    33
    34
    function writediv(texte)
         {
         document.getElementById('mes').innerHTML = texte;
         }
     
    function verifMail(mail)
    {
        if(mail != '')
        {
            if(texte = file('contenu/verifmail.php?mail='+escape(mail)))
            {
    			if(texte == 1)
    				writediv('<span style="color:#cc0000"><b>'+mail+' :</b> ce mail est deja pris</span>');
    			else
    				writediv('<span style="color:#1A7917"><b>'+mail+' :</b> ce mail est libre</span>');
     
            }
        }
     
    }
     
    function file(fichier)
    {
         if(window.XMLHttpRequest) // FIREFOX
              xhr_object = new XMLHttpRequest();
         else if(window.ActiveXObject) // IE
              xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
         else
              return(false);
         xhr_object.open("GET", fichier, false);
         xhr_object.send(null);
         if(xhr_object.readyState == 4) return(xhr_object.responseText);
         else return(false);
    }
    Le fichier PHP (contenu/verifmail.php) :
    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
    30
    <?
    /*
    CE SCRIPT EST UN EXEMPLE DE SCRIPT PHP
    POUR VERIFIER LA DISPONIBILITE D'UN PSEUDO
    DANS UNE TABLE SQL
     
    LE SCRIPT DOIT RETOURNER :
    1 : SI LE SPEUDO EST DEJA PRIS
    2 : SI LE PSEUDO EST LIBRE
    */
     
    // CONNECION SQL
    $host = "127.0.0.1";
    $user = "root";
    $pass = "";
    $name = "moto28_v2";
    $connexion = mysql_connect($host, $user, $pass) or die (mysql_error());
    $db = mysql_select_db($name, $connexion) or die(mysql_error());
     
    // VERIFICATION
    if($db)
    			{
    $result = mysql_query("SELECT Clt_mail FROM client WHERE Clt_mail='".$_GET["mail"]."'");
    if(mysql_num_rows($result)>=1)
    //echo($result);
           echo "1";
    else
            echo "2";
    }
    ?>
    Le probl�me :
    Mon probl�me c'est que lorsque je saisit une adresse mail quelle existe ou pas dans la base de donn�es cela m'affiche que le mail est libre.
    Quelqu'un as-t'il une id�e pour r�gler ce probl�me car je voit pas trop??

    Merci d'avance!!
    Hooo une magnifique SQL Injection de premier ordre.
    Rien qu'avec le code que tu as mis l�, je peux te droper ta DB en un rien de temps

  4. #4
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par d�faut R�ponse � arthuro45 et Gsnalf
    R�ponse � Gsnalf : Merci de me l'avoir dit, j'avais zapp�.

    R�ponse � arthuro45 : J'ai essay� m�me avec les accolades c'est pareil.

    Que faire??

    Cordialement.

  5. #5
    Membre �clair� Avatar de arthuro45
    Profil pro
    D�veloppeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    D�tails du profil
    Informations personnelles :
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par d�faut
    C'est normal que tu es mis un name et pas un id ici ? :

  6. #6
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par d�faut R�ponse � arthuro45
    M�me avec un id ou un name et un id, �a fais pareil.

  7. #7
    Membre �clair� Avatar de arthuro45
    Profil pro
    D�veloppeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    D�tails du profil
    Informations personnelles :
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par d�faut
    Commence par mettre une balise <?php au lieu de <? et tu as v�rifi� que tu ramen� bien une valeur dans $_GET["mail"] ?

    (Je vais me faire sortir si je parle de php ici )

  8. #8
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Essaye avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if(texte.replace(/\D/g,'') == '1')
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  9. #9
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par d�faut
    Bonjour,

    Merci pour vos r�ponse.

    J'ai mis <?php au lieu de <? et �a a march� : quel b�tise toute b�te

    Vraiment un grand merci � tous pour votre aide.

  10. #10
    Membre �clair� Avatar de arthuro45
    Profil pro
    D�veloppeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    D�tails du profil
    Informations personnelles :
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par d�faut
    J'ai mis <?php au lieu de <? et �a a march� : quel b�tise toute b�te
    En tombant sur de vieux scripts, je me suis d�j� fais avoir Alors je fais attention

    Bonne soir�e

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Smarty] Affichage de "Array" lors de recup�ration dans base de donn�es
    Par brotapz dans le forum Biblioth�ques et frameworks
    R�ponses: 2
    Dernier message: 20/05/2010, 14h48
  2. deriver une inscription dans base de donn�es
    Par mapomme40 dans le forum Administration
    R�ponses: 1
    Dernier message: 03/12/2009, 16h33
  3. Comment v�rifier si la conenection � la base de donn�es a eu lieu
    Par gibea00 dans le forum VB 6 et ant�rieur
    R�ponses: 2
    Dernier message: 15/01/2008, 22h32
  4. Erreur lors de la connection d'un client oracle vers le serveur de base de donn�e
    Par Sabact dans le forum Connexions aux bases de donn�es
    R�ponses: 1
    Dernier message: 12/12/2006, 08h33
  5. V�rifier si mail valide ’@.’ dans un formulaire
    Par Chansonnette dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 12/06/2006, 14h09

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