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

EDI, CMS, Outils, Scripts et API PHP Discussion :

ajax et EasyPHP [EasyPHP]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut ajax et EasyPHP
    Bonjour

    J'ai un formualire qui va chercher des informations grace à ajax. Quand je teste mon formulaire par l'outil de test de Dreamweaver, le navigateur se lance et il n'y a aucun problème, les information sont bien récupérées.

    Maintenant, quand j'utilise Web local sur easyphp, le navigateur se lance bien, mais les informations ne sont pas récupérés.

    A quoi es dû?

    Merci pour vos réponses.

  2. #2
    Invité
    Invité(e)
    Par défaut


    Cela peut être dû à pas mal de choses :
    - Une version de PHP différentes entre DreamWeaver et EasyPHP si tu utilises des fonctions spécifiques à une version
    - Un Javascript d'appel Ajax non compatible avec ton navigateur (utilises-tu un framework comme jQuery ?)
    - Un problème d'encodage
    - ...

    En plus de vérifier tous ces points, donne-nous un peu plus de précision sur le code utilisé (côté PHP et côté Javascript), et regarde si les logs PHP d'EasyPHP te donnent quelque chose...

  3. #3
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    Merci pour ta réponse

    Je ne comprends pas pourquoi cela fonctionne avec l'un et pas l'autre ..

    - Alors, le problème survient avec n'importe quel navigateur ( IE, Firefox Safari ...)
    - Je n'utilise pas de framework
    - Par contre, je ne savais pas que l'on pouvait utiliser deux versions diférentes entre easy et dream, mais lorsque que je fais phpinfo cela me donne la Version 5.2.10

    mon code formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input name="nom_locaux" id="nom_locaux" type="text" onkeyup="NumEquipeLocale(this.value);" /> 
    <input name="num_locaux" id="num_locaux" size="6" type="text"  maxlength="6" />
    <input name="lieu" id="lieu"  onchange="VerifLieu()"  onkeyup="VerifLieu()" type="text" value=""/>
    ma fonction httpRequest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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);
    }
    mon fonction javascript
    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
    function NumEquipeLocale(nom_locaux)
    {
    	if(nom_locaux != '')
     	{
    		texte = file('http://localhost/football/fonctionnement/requete_synchro.inc.php?nom_locaux='+escape(nom_locaux))
     
    		texte = texte.split(";")
     
    		document.getElementById('num_locaux').value = texte[0];
     
    		document.getElementById('lieu').value = texte[1];
     
    		if(texte[0].length != 6)
    		{
    			document.getElementById('nom_locaux_reel_cadre').style.display='block';	
    			document.getElementById('nom_locaux_reel').disabled = false;
    		}
    		else
    		{
    			document.getElementById('nom_locaux_reel_cadre').style.display='none';
    			document.getElementById('nom_locaux_reel').disabled = true;
    		}
    	}
    }
    mon code 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
    $valise = "";
     
    	$nomLocaux = trim(ucwords(strtolower ($_GET['nom_locaux'])));
     
    	if ( preg_match('`[0-9]`',$nomLocaux) )
    		{
    			$finalNom = preg_replace ('`[0-9]`','',$nomLocaux);
    			$nomLocaux = trim ($finalNom);
    		}
    	$NumeroEquipe ->execute(array($nomLocaux));	
    	while( $ligne = $NumeroEquipe->fetch(PDO::FETCH_OBJ) )
    	{
    			$valise = $ligne->num_equipe;
    	}	
    	$NumeroEquipe->closeCursor();
     
    	$valise .=";";
     
    	$indice = substr($_GET['nom_locaux'], -1);
    	$clue =  is_numeric($indice);
    	if($clue == false)
    	{
    	$nomLocaux2 = $_GET['nom_locaux']." 1";
    	}
    	else
    	{
    	$nomLocaux2  = trim(ucwords(strtolower ($_GET['nom_locaux'])));
    	}
     
    	$LieuRencontre->execute(array($nomLocaux2,$nomLocaux2));	
    	while($ligne =$LieuRencontre->fetch(PDO::FETCH_OBJ) )
    	{
    			$valise.= $ligne->lieu_rencontre;
    	}
    	$LieuRencontre->closeCursor();
     
    	echo(utf8_encode($valise));
    Bon, c'est sur, il y a mieux au niveau codage ..

    Par contre, il y a trois lignes qui me chiffonnent au niveau du log

    [Thu Aug 11 11:42:05 2011] [error] [client 127.0.0.1] PHP Notice: Undefined index: nom_locaux_reel in C:\\EasyPHP5.2.10\\www\\football\\fonctionnement\\fonctions.inc.php on line 1116, referer: http://localhost/football/AjoutRencontreSaisie.php
    [Thu Aug 11 11:42:05 2011] [error] [client 127.0.0.1] PHP Notice: Undefined index: nom_locaux_reel in C:\\EasyPHP5.2.10\\www\\football\\fonctionnement\\fonctions.inc.php on line 1134, referer: http://localhost/football/AjoutRencontreSaisie.php
    [Thu Aug 11 11:42:05 2011] [error] [client 127.0.0.1] PHP Notice: Undefined index: nom_locaux_reel in C:\\EasyPHP5.2.10\\www\\football\\fonctionnement\\fonctions.inc.php on line 1135, referer: http://localhost/football/AjoutRencontreSaisie.php
    Mais ce champ nom_locaux_reel est hidden au chargement formulaire. Il apparait si besoin.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    un id doit être unique :
    <input name="nom_locaux" id="nom_locaux" type="text" onkeyup="NumEquipeLocale(this.value);" />
    <input name="num_locaux" id="num_locaux" size="6" type="text" maxlength="6" />
    Et vu que tu récupères la valeur de l'id "nom_locaux" en javascript ...
    document.getElementById('num_locaux').value = texte[0];
    ... ca coince.

    Et pour ... Undefined index: nom_locaux_reel ...
    1/ vérifier si l'<input id="nom_locaux_reel" .../> est bien présent,
    2/ déclarer les variables : var machin = .....;

    Astuce : il est judicieux de différencier les name="" des id="". Au moins, on sait qui fait quoi ... et on garde les id claires !
    ... name="ladonnee" id="idladonnee" ...
    Dernière modification par Invité ; 11/08/2011 à 20h26.

  5. #5
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    heu ... il est unique ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    <input name="nom_locaux" id="nom_locaux" type="text" onkeyup="NumEquipeLocale(this.value);" />
    <input name="num_locaux" id="num_locaux" size="6" type="text" maxlength="6" />
    Combien de fois est-il écrit ici, Basile ?
    Je ne suis pas Léonard, mais je le vois 2 fois.

    "unique" = "1 fois" ... Du latin unicus, -a, -um : « unique, seul ».

  7. #7
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    Citation Envoyé par ledisciple Voir le message
    <input name="nom_locaux" id="nom_locaux" type="text" onkeyup="NumEquipeLocale(this.value);" />
    <input name="num_locaux" id="num_locaux" size="6" type="text" maxlength="6" />
    heu ... d'un côté il y a id="nOm_locaux" et de l'autre id="nUm_locaux"

  8. #8
    Invité
    Invité(e)
    Par défaut
    ... je vais aller changer de lunettes ... et prendre des loupes ... ou des lentilles de téléscope ...

    ... c'était quoi la question ? ...

  9. #9
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    Non, mais en même temps, je suis stupide d'utiliser des ID qui se ressmble autant ..

    Citation Envoyé par ledisciple Voir le message
    Bonjour

    J'ai un formulaire qui va chercher des informations grace à ajax. Quand je teste mon formulaire par l'outil de test de Dreamweaver, le navigateur se lance et il n'y a aucun problème, les information sont bien récupérées.

    Maintenant, quand j'utilise Web local sur easyphp, le navigateur se lance bien, mais les informations ne sont pas récupérés.

    A quoi es dû?

    Merci pour vos réponses.

  10. #10
    Invité
    Invité(e)
    Par défaut
    " 1 partout, la balle au centre ! ..."

    Il reste à regarder du coté du "... Undefined Index nom_locaux_reel ..."
    Citation Envoyé par ledisciple Voir le message
    ce champ nom_locaux_reel est hidden au chargement formulaire. Il apparait si besoin.
    Ca signifie quoi ? peux-tu afficher le code de cette partie du formulaire ?

    Un pb lié aux "bonnes pratiques javascript" ?

  11. #11
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    Non, je pense que ça n'a rien à voir. C'est juste un echo qui essaye de se mettre dans un input qui n'existe pas, étant disabled="disabled" au lancement du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div style="padding-left:10%" class ="contenaire_form">
    				<div <?php echo $cadre_nom_locaux_reel; ?> id="nom_locaux_reel_cadre"  class="champ_area">nom réel : <input name="nom_locaux_reel" id="nom_locaux_reel" size="6" type="text" maxlength="32" <?php echo $champ_nom_locaux_reel; ?>  />
    </div>
    <div class="validation_form_javascript" id="validation_nom_locaux_reel"><?php echo $validation_nom_locaux_reel; ?></div>
    </div>
    Je ne vois pas ce qui sera pas bon dans mon code ...

  12. #12
    Invité
    Invité(e)
    Par défaut
    Ne pas confondre hidden - disabled - readonly

    essaie avec : readonly="readonly"

  13. #13
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    Je viens de me rendre compte qu'aucun script javascript ne fonctionnait avec easyphp. Pourtant cette option est activé sur chacun de mes navigateurs ... Bon, j'en ai ma claque d'easyphp . j'ai installer wamp, et tout fonctionne très bien.
    Merci à tous pour votre aide

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/03/2015, 13h51
  2. Réponses: 2
    Dernier message: 19/09/2010, 20h26
  3. [AJAX] en local sous Wamp/EasyPHP
    Par benjaoud dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/11/2007, 11h39
  4. [AJAX] en local sous Wamp/EasyPHP
    Par benjaoud dans le forum AJAX
    Réponses: 3
    Dernier message: 26/11/2007, 11h39
  5. [AJAX] Ajax EasyPHP
    Par schnito dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 24/01/2007, 17h35

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