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] Script marche en local mais pas en ligne


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut [AJAX] Script marche en local mais pas en ligne
    Bonsoir tout le monde!

    Voila un petit soucis bien étrange je trouve :

    J'utilise AJAX pour pouvoir vérifier en temps réel la disponibilité d'un pseudo : en local ca marche parfaitement pas en ligne... il ne se passe rien... Une idée sur le pourquoi du comment?

    Voila ma page nouveau.php pour s'inscrire :

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    <?php 
     
    include 'Corps.php';
    include 'verifpseudo.php';
     
    ?>
     
    <script type="text/javascript">
    //instantiation l'objet XMLHttpRequest sous firfox et IE
    function ajax(){
     
    	if(window.XMLHttpRequest) // Firefox et autres
    	xhr_object = new XMLHttpRequest();
     
    	else if(window.ActiveXObject){ // Internet Explorer
    		try {
    			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
     
    		} catch (e) {
    			try {
    				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     
    			} catch (e1) {
    				xhr_object = null;
    			}
    		}
    	}
    	else { // XMLHttpRequest non supporté par le navigateur
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    		return ;
    	}
    	return xhr_object;
    }
     
     
     
    function EcritureLabel(texte)
         {
         document.getElementById('lbPseudo').innerHTML = texte;
         }
     
    function verifPseudo(pseudo)
         {
         if(pseudo != '')
                   {
                   if(pseudo.length<2)
                             EcritureLabel('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
                   else if(pseudo.length>30)
                             EcritureLabel('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
                   else if(texte = file('verifpseudo.php?pseudo='+escape(pseudo)))
                             {
              if(texte == 1)
                   EcritureLabel('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
              else if(texte == 2)
                   EcritureLabel('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
              else
                   EcritureLabel(texte);
                             }
                   }
    			   else{
    				EcritureLabel('');
    			   }
     
         }
    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>
    <div id="main">
     
    <h2>Le Site!</h2>
     
    <p class="date">Inscription</p>
    <form method="post" action="Nouveau.php" name="frmInscription">
    <fieldset><legend>Info pratique</legend>
     
    <p><label for="txtLogin">Login: </label><input type="text" name="txtLogin" id="txtLogin"/ onKeyUp="verifPseudo(this.value)"></p><p><label for='txtLogin' id="LbPseudo"></label>
    </p>
    <p><label for="Mp1">Mot de passe : </label><input type="password" name="Mp1" id="Mp1"/></p>
    <p><label for="Mp2">Répéter mot de passe: <input type="password" name="Mp2" id="Mp2"/></label>
    <label for='Mp2' id="lbMp"></label><br />
    <p><label for="txtMail">Adresse mail: <input type="text" name="txtmail" id="txtmail" onFocus="verifMdp(Mp1.value,Mp2.value)"/></p>
    </fieldset>
    <fieldset><legend>Membre</legend>
    <p>Membre du forum ?</p>
    <p><label for='btrOui'>Oui</label>  <input type='radio' name='btrChoix' id='btrOui' value='oui'/></p>
    <p><label for='btrNon'>Non</label><input type='radio' name='btrChoix' id='btrNon' value='non'/></p>
    </fieldset>
    <p><input type="submit" value="Valider" name="btValider"/></p>
    </form>
    Et voila la page verifpseudo.php appelé par l'ajax :

    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
    <?php 
     
    $cnx= mysql_connect('localhost','****','****') or die("Ne peux pas se connecter! ".mysql_error());
     
    mysql_select_db('db', $cnx) or die ("Base de donnée non trouvée ".mysql_error());
     
    if (isset($_GET["pseudo"])){
     
            $req=mysql_query("SELECT * FROM Membre where login='".$_GET["pseudo"]."'",$cnx);
            if (mysql_num_rows($req)!=0){
     
                            echo "1";
                            
                    }
                    else{
                            echo "2";
                    }
            }       
            //mysql_close();
    ?>
    Quelque chose de surprenant dans mon code?^^

  2. #2
    Membre habitué Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Points : 146
    Points
    146
    Par défaut
    Bonsoir,

    A quel endroit cela plante ? ( console d erreur de FF ? )

    Sur le PHP ou le Javascript ?

  3. #3
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    Bonjour ! Le problème c'est qu'il ne se passe rien comme lorsque l'on a un script javascript mal codé. Sauf qu'en local ca marche ...

    De plus je fais aussi un test sur le fait que les deux mots de passe doivent être similaires et ca ca marche :S

    DOnc bon je vais chercher^^

    EDIT : Sachant que OnKeyUp FF l'interprète bien puisque si je fais un alert sur chaque lettre tapé ca marche. il rentre donc dans ma fonction mais ne fais aucun traitement.

    EDIT : EN fait sur IE il me sort une erreur ligne 241 pour motif "objet attendu"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="txtLogin" id="txtLogin" onKeyUp="verifPseudo(this.value)"/>
    Voila la ligne...

    Et en fait plus aucun code javascript ne marche la

  4. #4
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    Bon la moitié du javascript remarche

    Reste l'autre partie

    donc la verification du mot de passe sur la console d'erreur de firefox j'ai ce message :

    Erreur*: document.getElementById("lbPseudo") is null
    Fichier Source*: ****/ajax.js
    Ligne*: 31
    Je comprends pas ce message j'ai un label avec un id lbPseudo...

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><label for="txtLog" id="lbPseudo"></label></p>

  5. #5
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut


    Je suis un grand baka !

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><label for="txtLog" id="lbPseudo"> </label></p>

    Le message était clair pourtant, mon label n'avait pas de valeur donc j'ai juste fait :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><label for="txtLog" id="lbPseudo"> </label></p>

    Et ca marche merci Alt157 de t'être interessé à mon probleme

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

Discussions similaires

  1. Soap_Client marche en local mais pas en ligne
    Par __fabrice dans le forum Autres composants
    Réponses: 4
    Dernier message: 25/10/2012, 17h46
  2. Script marche en local mais pas sur internet
    Par Cyanatide dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/07/2012, 16h08
  3. [FPDF] Un pdf qui marche en local mais pas en ligne
    Par obito dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 13/02/2009, 23h29
  4. Script marche en local mais pas en ligne
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 10/07/2008, 15h51
  5. [MySQL] php mysql flash marche en local mais pas en ligne
    Par serna dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/01/2008, 08h24

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