Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2011, 16h09   #1
Membre du Club
 
Avatar de spawns
 
Homme
Inscription : juillet 2004
Messages : 257
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations forums :
Inscription : juillet 2004
Messages : 257
Points : 60
Points : 60
Par défaut Probleme de 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.
@+
spawns est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h11   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
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
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h19   #3
Membre du Club
 
Avatar de spawns
 
Homme
Inscription : juillet 2004
Messages : 257
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations forums :
Inscription : juillet 2004
Messages : 257
Points : 60
Points : 60
j'appelle pas de domaine dans le script ???
Peux tu me donner + d'info ?

Merci
spawns est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h24   #4
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
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")
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h30   #5
Membre du Club
 
Avatar de spawns
 
Homme
Inscription : juillet 2004
Messages : 257
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations forums :
Inscription : juillet 2004
Messages : 257
Points : 60
Points : 60
a ok
donc non je n'ai pas mis d'url
cela fait un code su style
Code :
xhr.open("POST","offresajax.html",true);
car je suis en url rewritting
tu pense qu'il faut mettre l'url en dur ??
spawns est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h42   #6
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 073
Points : 4 073
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
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h45   #7
Membre du Club
 
Avatar de spawns
 
Homme
Inscription : juillet 2004
Messages : 257
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations forums :
Inscription : juillet 2004
Messages : 257
Points : 60
Points : 60
tu penses que cela peux venir de la version de PHP ???
spawns est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 20h27   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 20h52   #9
Membre du Club
 
Avatar de spawns
 
Homme
Inscription : juillet 2004
Messages : 257
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations forums :
Inscription : juillet 2004
Messages : 257
Points : 60
Points : 60
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 :
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</option> 
					<option value='500'>jusqu'a 500 M²</option> 
					<option value='1000'>jusqu'a 1000</option> 
					<option value='1500'>jusqu'a 1500 M²</option> 
					<option value='2000'>jusqu'a 2000</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 :
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.
spawns est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 21h28   #10
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Code :
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 :
<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 :
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 21h37   #11
Membre du Club
 
Avatar de spawns
 
Homme
Inscription : juillet 2004
Messages : 257
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations forums :
Inscription : juillet 2004
Messages : 257
Points : 60
Points : 60
Citation:
Envoyé par Bovino Voir le message
Code :
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 :
<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 :
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.
spawns est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h38.


 
 
 
 
Partenaires

Hébergement Web