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

Requêtes MySQL Discussion :

Probleme de verification de loggin dans la bdd


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Par défaut Probleme de verification de loggin dans la bdd
    Bonjour j'essay d'adapter pour la page suivante une mini fonction Ajax pour verifier la disponibilité du loggin de l'utilisateur.
    http://fansyl.fr/inscription/inscription_site.php

    pour ce faire j'utilice ces code

    dans le input du formulaire
    onKeyUp="verifPseudo(this.value)"

    ce script javascript dans la page du formulaire

    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
    35
    36
    37
    38
    39
    40
    41
    42
     
    <script type="text/javascript">
    function writediv(texte)
         {
         document.getElementById('pseudobox').innerHTML = texte;
         }
     
    function verifPseudo(pseudo)
         {
         if(pseudo != '')
                   {
                   if(pseudo.length<2)
                             writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
                   else if(pseudo.length>30)
                             writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
                   else if(texte = file('../include/verifpseudo.php?pseudo='+escape(pseudo)))
                             {
              if(texte == 1)
                   writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
              else if(texte == 2)
                   writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
              else
                   writediv(texte);
                             }
                   }
     
         }
     
    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);
         }
    </script>
    ainsi que le script de verification php suivant

    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
     
    <?php
    /*
    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
    mysql_connect("non", "nonnon", "nonnonnon");
    mysql_select_db("non");
     
    // VERIFICATION
    $result = mysql_query("SELECT pseudo FROM membres WHERE pseudo='".$_GET["pseudo"]."'");
    if(mysql_num_rows($result)>=1)
    echo "1";
    else
    echo "2";
     
    ?>
    lorsque je teste ce script en ligne j'obtient l'erreur suivante

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\www\fansyl.fr\htdocs\include\verifpseudo.php on line 18
    2

    cette ligne correspond a ceci
    if(mysql_num_rows($result)>=1)

    je demane votre aide afin de comprendre cette erreur.

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Par défaut
    Cette erreur signifie qu'il y a un problème avec le code de ta requête SQL.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Bonjour,

    Il y a deux sources possibles d'erreur : le code PHP ou la requête SQL.
    Pour vérifier la requête SQL, je te conseille d'isoler ce qui est purement du SQL et de le tester directement sous MySQL, pour voir si ça génère une erreur ou non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "SELECT pseudo FROM membres WHERE pseudo='".$_GET["pseudo"]."'";
    Si il y a effectivement une erreur, donne-la nous pour qu'on puisse t'aider.
    Si la requête fonctionne correctement sous MySQL, c'est un problème PHP...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Par défaut
    quitte a passer pour un boulet

    vous me demandez te tester "SELECT pseudo FROM membres WHERE pseudo='"

    en requete sql avec mysql c'est bien ca?

    je suis desoler de poser ce genre de questions mais je debute tous juste en php/ mysql c'est interessent mais je suis pas encor a l'aise

  5. #5
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    en effet, il faut voir de ou vient le problème

    Comme te le dit Ced, en faisant un echo, tu vas voir la requete que tu envoies. Si celle ci te retourne ce que tu veux directement dans MySQL, c'est un problème PHP, sinon c'est un problème MySQL

    Donc 1ere chose : que te retourne le echo?

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    Citation Envoyé par orphen Voir le message
    quitte a passer pour un boulet

    vous me demandez te tester "SELECT pseudo FROM membres WHERE pseudo='"
    Si c'est ça que te donne le echo, tu as la réponse : ça ne marche pas parce que $_GET["pseudo"] est vide.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Par défaut
    J'ai reussi,

    Le probleme etai un mauvais appel dans ma base de données merci de ne pas me tirer les oreilles

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

Discussions similaires

  1. Probleme Resultset et valeur NULL dans la bdd
    Par banania dans le forum JDBC
    Réponses: 4
    Dernier message: 18/04/2007, 12h54
  2. [MySQL] Problème de charset avant l'envoi dans la BDD
    Par Death83 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/08/2006, 18h51
  3. probleme d'enregistrement des accents dans la BDD
    Par Invité dans le forum Installation
    Réponses: 1
    Dernier message: 09/07/2006, 21h07
  4. Réponses: 3
    Dernier message: 01/06/2006, 19h45
  5. Probleme pour insérer une valeur dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 30/05/2006, 10h58

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