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

AJAX Discussion :

[AJAX] version php ou pas ?


Sujet :

AJAX

  1. #1
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut [AJAX] version php ou pas ?
    Bonjour a tous,
    je post ici mais je ne sais pas si cela doit allez dans php ou ajax.

    je préviens avant je ne connait pas ajax. j'ai utiliser un script expliqué ici pour des listes liées.

    mon souci c'est lorsque je l'ai développer en local il marche parfaitement (je choisi un intitulé dans la première liste et il me rempli la seconde en fonction), mais quand je le met en ligne il ne fonctionne plus (il ne me rempli plus la seconde liste).

    les différences :
    mon hébergement local (NAS) php 5.3.3 - Mysql: 3.2.5
    sur le Net : php 5.2.14 - Mysql: 3.2.4

    Comme je suis loin d'etre un spécialiste ajax je me tourne vers vous pour vous demander.

    Est ce que la version php ou mysql y est pour quelque chose ou pas ????

    Si non ou est le problème.

    Merci d'avance de votre aide, je suis en galère c'est un site qui est en prod.
    @+

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    A tout hasard : le domaine appelé par AJAX est-il le même que celui du site ?

    Si non >>> problème de Same Origin Policy
    Si oui >>> on continue à chercher

  3. #3
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    j'appelle pas de domaine dans le script ???
    Peux tu me donner + d'info ?

    Merci

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Dans ton code JS, plus précisément dans les fonctions déclenchées sur le onchange de ta première liste déroulante, tu fais (si j'ai bien compris ^^) un appel AJAX vers ton serveur, qui renvoie de quoi remplir les listes liées.

    Pour faire cet appel, tu passes par un objet de transport (XMLHttpRequest ou ActiveX mais ici on s'en f***), que tu initialises avec un appel à la fonction open. L'un des paramètres de la fonction est une URL.

    >>> cette URL commence-t-elle comme ton site ? (exemple : "www.tonsite.com/ajax/traitementlistes.php")

  5. #5
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    a ok
    donc non je n'ai pas mis d'url
    cela fait un code su style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("POST","offresajax.html",true);
    car je suis en url rewritting
    tu pense qu'il faut mettre l'url en dur ??

  6. #6
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    non c'est bien une URL... enfin en chemin relatif, certes, mais c'est bien ce dont je parlais ^^

    >>> c'était pas un problème de SOP, faut chercher encore

  7. #7
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    tu penses que cela peux venir de la version de PHP ???

  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 : 54
    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
    Citation Envoyé par spawns Voir le message
    tu penses que cela peux venir de la version de PHP ???
    Non, la version de PHP n'intervient en rien dans l'exécution d'une requête AJAX.
    En revanche, ça peut influer au niveau de l'interprétation du code PHP appelé, donc vérifie d'abord si le script appelé renvoie bien la réponse attendue.
    Si c'est le cas, c'est que le problème se situe au niveau JavaScript et dans ce cas, il faudra nous montrer ton code.
    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 éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    ok je vous met le code
    parce que je n'y arrive pas, vais m'ouvrir les veines ...

    offres.php étant nos_offres.html en rewritting
    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
    101
    102
    103
    104
    105
    106
    107
    ....
    <script type='text/javascript'>
    function envoyer(formulaire){
    formulaire.submit();}
     
    function getXhr(){
    var xhr = null; 
    if(window.XMLHttpRequest)
    xhr = new XMLHttpRequest(); 
    else if(window.ActiveXObject){
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else {
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    xhr = false; 
    } 
    return xhr;
    }
    function go(){
    var xhr = getXhr();
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    document.getElementById('offres').innerHTML = leselect;
    }
    }
    xhr.open("POST","offresajax.html",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    sel = document.getElementById('zone');
    idzone = sel.options[sel.selectedIndex].value;
    xhr.send("idzone="+idzone);
    }			
    </script>
    			<fieldset style="width: 910px;text-align:center">
    			<LEGEND align=top class="reche"> Rechercher </LEGEND> 
    				<form name="formulaire" action="recherche.html" method="post" enctype="multipart/form-data">
    			<table class="recherche" width="900"><tr>
    				<td class="droite" width="430">
    				<label class="reche">Zone :</label>
    				<select name='zone' id='zone' onchange='go()'>
    					<option value='-1'>Choisissez une zone</option>
    					<?
     
    						$res = mysql_query("SELECT * FROM zones ORDER BY id");
    						while($row = mysql_fetch_assoc($res)){
    							echo "<option value='".$row["id"]."'>".$row["idzone"]."</option>";
    						}
    					?>
    				</select>
    				</td> 
    				<td width="40">				
    				&nbsp;
    				</td> 
    				<td class="gauche" width="430">
    				<label class="reche">Commune :</label>
    				<div id='offres' style='display:inline;'>
    				<select name='offres'>
    					<option value='-1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
    				</select>
    				</div>				
    				</td> 
    				</tr>
    				<tr>
    				<td class="droite">
    				<label class="reche">Surface :</label>
    				<div id='superf' style='display:inline'>
    				<select name='superf'>
    					<option value='0'></option> 				
    					<option value='200'>jusqu'a 200 M²</option> 
    					<option value='300'>jusqu'a 300 M²</option> 
    					<option value='500'>jusqu'a 500 M²</option> 
    					<option value='1000'>jusqu'a 1000 M²</option> 
    					<option value='1500'>jusqu'a 1500 M²</option> 
    					<option value='2000'>jusqu'a 2000 M²</option> 
    					<option value='2500'>jusqu'a 2500 M²</option> 
    					<option value='2501'>plus de 2500 M²</option> 					
    				</select>
    				</div>
    				</td>				
    				<td>
     
    				</td>
    				<td class="gauche">
    				<div id='prix' style='display:inline;'>
    				<label class="reche">Prix :</label>
    				<select name='prix'>
    					<option value='0'></option> 				
    					<option value='75000'>jusqu'a 75 000 €</option> 
    					<option value='100000'>jusqu'a 100 000 €</option> 
    					<option value='125000'>jusqu'a 125 000 €</option> 
    					<option value='150000'>jusqu'a 150 000 €</option> 
    					<option value='150001'>plus de 150 000 €</option> 					
    				</select>
    				</div>
    				</td></tr>
    				<tr><td colspan="3">
    				<div class="centre"><input type="button" value="Rechercher" onclick="envoyer(this.form);"/></div>				
    				</td>
    				</tr></table>
    </form>	
    			</fieldset>
    <br />
    ....
    offreajax.php étant offresajax.html en rewritting
    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
     
    <?php
    require '../admin/cfg.inc';
    $db = mysql_connect($cfgHote, $cfgLogin, $cfgPwd); 
    mysql_select_db($cfgBase,$db); 
            echo '<select name="offres">';
            if(isset($_POST["idzone"])){
                    $res = mysql_query("SELECT DISTINCT commune FROM offres 
                            WHERE idzone=".$_POST["idzone"]." ORDER BY commune");
                    while($row = mysql_fetch_assoc($res)){
                            echo '<option value="'.$row["commune"].'">'.$row["commune"].'</option>';
                    }
            }
            echo "</select>";
    ?>
    mes bases de données
    bdd offres : id commune cp surface descrip zone prix photo idzone

    bdd zones : id idzone

    voila vous avez tous, aidez moi svp
    Merci.

  10. #10
    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 : 54
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("POST","offresajax.html",true);
    Hum... ça te pose pas de problème ça

    Sinon, deux remarques sur un rapide survol de ton code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id='offres' style='display:inline;'>
    personnellement, je considère qu'une div en display inline, c'est un span ceci dit, tu peux avoir besoin d'un rendu plus adapté du modèle block, dans ce cas, j'utilise beaucoup le display "inline-block" qui répond à beaucoup de besoins

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST["idzone"])){
    	$res = mysql_query("SELECT DISTINCT commune FROM offres WHERE idzone=".$_POST["idzone"]." ORDER BY commune");

    Heu... tu ne vérifies pas le format du paramètre reçu
    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

  11. #11
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("POST","offresajax.html",true);
    Hum... ça te pose pas de problème ça

    Sinon, deux remarques sur un rapide survol de ton code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id='offres' style='display:inline;'>
    personnellement, je considère qu'une div en display inline, c'est un span ceci dit, tu peux avoir besoin d'un rendu plus adapté du modèle block, dans ce cas, j'utilise beaucoup le display "inline-block" qui répond à beaucoup de besoins

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST["idzone"])){
    	$res = mysql_query("SELECT DISTINCT commune FROM offres WHERE idzone=".$_POST["idzone"]." ORDER BY commune");

    Heu... tu ne vérifies pas le format du paramètre reçu
    Pour le offresajax.html c'est de l'url rewritting donc normalement pas de problème je pense.

    pour le inline-block pourquoi pas effectivement.

    Par contre qu'entends tu par "vérifier le format du paramètre recu" ?

    éclaires moi stp car j'ai un peu de mal.

Discussions similaires

  1. [MySQL] Problème MYSQL php ou peut-être ajax. je ne sais pas.
    Par reventlov dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/06/2015, 18h29
  2. [AJAX] page php qui ne s'execute pas
    Par jpclutier dans le forum AJAX
    Réponses: 5
    Dernier message: 20/03/2009, 16h30
  3. [AJAX] Retour PHP pas pris en compte
    Par llaffont dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/06/2008, 06h51
  4. [Wamp] Quelles versions php/mysql/apache XP?
    Par Jean_Benoit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/09/2005, 19h41
  5. [REDHAT] Mise à jour version PHP
    Par elagarde dans le forum RedHat / CentOS / Fedora
    Réponses: 4
    Dernier message: 14/10/2004, 17h14

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