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 :

[AJAX] verification automatique de la disponibilité d'un pseudo


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut [AJAX] verification automatique de la disponibilité d'un pseudo
    Bonjour, je suis en train de creer un formulaire d'inscription qui est relié a une table qui n'accepte pas les doublons sur le pseudo, j'utilise donc ajax pour connaitre la disponibilité du pseudo instantanément:

    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
     
    function writediv(texte)
         {
         document.getElementById('pseudobox').innerHTML = texte;
         }
     
    function verifPseudo(pseudo)
         {
         if(pseudo != '')
                   {
                   if(pseudo.length<2)
                             writediv('<span style="color:#cc0000; font-size:8pt"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
                   else if(pseudo.length>30)
                             writediv('<span style="color:#cc0000; font-size:8pt"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
                   else if(texte = file('verifpseudo.php?pseudo='+escape(pseudo)))
                             {
              if(texte == 1)
                   writediv('<span style="color:#cc0000; font-size:8pt"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
     
              else if(texte == 2)
                   writediv('<span style="color:#1A7917; font-size:8pt"><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);
         }
    l'appel dans le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <td><input name="login22" " type="text" class="Txtlib" maxlength="15" onKeyUp="verifPseudo(login22.value)"/>
    <div id="pseudobox"></div></td>
    Et enfin le script 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <?php require_once('../../Connections/Connexionlibest.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
     
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
     
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
     
    $Vlog_login = "dddd";
    if (isset($_GET['login22'])) {
      $Vlog_login = (get_magic_quotes_gpc()) ? $_GET['login22'] : addslashes($_GET['login22']);
    }
    mysql_select_db($database_Connexionlibest, $Connexionlibest);
    $query_login = sprintf("SELECT * FROM annonceur WHERE annonceur.login=%s", GetSQLValueString($Vlog_login, "text"));
    $login = mysql_query($query_login, $Connexionlibest) or die(mysql_error());
    $row_login = mysql_fetch_assoc($login);
    $totalRows_login = mysql_num_rows($login);
     
    if($totalRows_login !=0) {echo(1);} else {echo(2);}
     
    ?>
    <?php
    mysql_free_result($login);
    ?>
    Voila mon probleme est que apparament le script php ne s'éxécute pas, il renvoit le bon résultat (echo) quand je met mes variables en dur.
    Pouvez vous m'aider svp, merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    ça serait pas juste cette double quote en trop qui l'empêche de récupérer login22 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="login22" " type="text" ...
    A+

  3. #3
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    merci ,pour l'erreur, mais ca ne suffis pas le controle ne marche toujours pas

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    OK !
    Alors peut être parce que ton PHP te retourne du texte, et que tu fais un test sur du numérique.
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(texte == "1")
    ...
    if(texte == "2")
    Et sinon, vérifie qu'Ajax te renvoie bien toujours une des valeurs attendues : tappe l'url appelée par Ajax directement dans la barre d'adresse de ton nav, et vois ce que tu récupères

    A+

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    ... sans remettre en cause le post précédent (les tests à faire sur des types string), ça marchera mieux en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onKeyUp="verifPseudo(login22.value)"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onKeyUp="verifPseudo(this.value)"


    EDIT : désolé de pas l'avoir vu avant

    A+

  6. #6
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    marche toujours pô! J'ai déjà fait le controle de l'url et le résultat est bon mais l'affichage est mauvais, j'ai également essayer de faire afficher texte et le résultat était si par exemple dans verifpseudo.php "dddd" vaut 1 tandis que dans la page inscription il me me met qua ca vaut 2.

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par babou54
    marche toujours pô!
    T'as dû loupé mon dernier post

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

Discussions similaires

  1. [AJAX] Verification formulaire automatique
    Par foester dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/08/2007, 11h13
  2. [AJAX] récupération automatique des liens
    Par 2kerhs dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/01/2007, 16h51
  3. [AJAX] Update automatique de champs tableau
    Par cic_flo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/10/2006, 16h59
  4. [AJAX] saisie automatique en rapport avec des données mysql
    Par redwire dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 01/10/2006, 11h45
  5. Verification automatique du disque au démarage
    Par yoyopi dans le forum Composants
    Réponses: 5
    Dernier message: 17/02/2006, 12h14

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