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 07/06/2008, 18h53   #1
Membre éclairé
 
Avatar de llaffont
 
Loïc Laffont
Inscription : juin 2007
Messages : 496
Détails du profil
Informations personnelles :
Nom : Loïc Laffont
Âge : 34
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : juin 2007
Messages : 496
Points : 380
Points : 380
Par défaut Retour PHP pas pris en compte

Salut !

Je deviens digue ou quoi ?

Voici ma fonction Ajax.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function insert_Cat(){
	var Val_Cat = document.Formulaire_APP.Categorie.value;
	if (Val_Cat){
		var requeteAjax = getrequeteAjax();
		var URL = 'checkURL.php';
		var data = 'action=insert_cat&valuecat='+Val_Cat;
		requeteAjax.open('POST', URL, true);
		requeteAjax.onreadystatechange = function(){ 
			if (requeteAjax.readyState == 4 && requeteAjax.status==200){ 
				var retour = requeteAjax.responseText;
				alert(retour);
				if (retour == "OK"){ /* OK */ 					
					$('ResultReqCat').innerHTML="<font color=GREEN>Catégorie Ajoutée avec Succès.</font>"; 
				}else{                             /* NOK */ 
					$('ResultReqCat').innerHTML="<font color=RED>Impossible d'ajouter cette catégorie.<BR>Retour Erreur"+requeteAjax.responseText+"</font>";
				}				
			}
		} 
		requeteAjax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
		requeteAjax.send(data);
	}
}
Le script PHP se déroule correctement et me fait un retour avec OK.

Là ou je perds les pédales.
C'est que le alert(retour); affiche bien OK mais que lorsque je procède au test if (retour == "OK") il le concidère comme faux et indique donc Impossible d'ajouter cette catégorie....

Ce script est éxécuté lors de la soumission d'un formulaire mais comme j'ai le bon retour je ne vois pas pourquoi il concidère le test faux.

Avez vous une idée ?

Ps : Le script PHP
Code :
1
2
3
4
5
6
7
8
9
function insert_cat($Name_Cat){
	if(isSet($Name_Cat)){
		$Name_Cat = strtolower($Name_Cat);
		$Name_Cat=substr_replace($Name_Cat, strtoupper(substr($Name_Cat,0,1)) ,0,1);
		$query = "INSERT INTO appli_url (`id_appli`, `nom_appli`) VALUES (NULL, '$Name_Cat')"; 
		$result = mysql_query($query)or die("La requête SQL a échoué !<br>query : $query<br>");
		if ($result){echo "OK";}else{echo "NOK";}	
	}
}
llaffont est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 19h33   #2
Membre éclairé
 
Avatar de llaffont
 
Loïc Laffont
Inscription : juin 2007
Messages : 496
Détails du profil
Informations personnelles :
Nom : Loïc Laffont
Âge : 34
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : juin 2007
Messages : 496
Points : 380
Points : 380
Par défaut Allez savoir !!

Je viens d'apporter une modification a mon code PHP

Le retour est maintenant fait comme ceci.
Code :
if ($result){echo '1';}
et le test java est devenue
Et là ça fonctionne.

Quelqu'un est capable d'expliquer ça ?

Merci d'avance.
llaffont est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 01h15   #3
Membre habitué
 
Inscription : novembre 2006
Messages : 440
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 440
Points : 134
Points : 134
J'ai exactement le même problème sauf qu'avec ton truc, ça ne fonctionne pas...

Au secours?
Prosis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 05h21   #4
Membre habitué
 
Inscription : novembre 2006
Messages : 440
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 440
Points : 134
Points : 134
Problème résolu pour moi!

Vérifie ton encodage de fichier car moi ils étaient à moitié utf8 et à moitié ansi ce qui veut dire qu'au lien de retourner "false" il retournait false donc les comparaisons textes étaient faussées!
Prosis est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/06/2008, 18h26   #5
Membre éclairé
 
Avatar de llaffont
 
Loïc Laffont
Inscription : juin 2007
Messages : 496
Détails du profil
Informations personnelles :
Nom : Loïc Laffont
Âge : 34
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : juin 2007
Messages : 496
Points : 380
Points : 380
Je me doutais d'un truc dans le genre....

Mais dans ce cas encodage à qu'elle niveau PHP ou Java ?

Et comment as tu vu l'aspect de ton retour autrement qu'avec alert() ?

Merci en tout cas
llaffont est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 23h31   #6
Membre habitué
 
Inscription : novembre 2006
Messages : 440
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 440
Points : 134
Points : 134
En fait j'ai trouvé le bobo en appelant la page php qui fait le traitement directement (j'ai changé quelques trucs pour pouvoir faire fonctionner la fonction quand même).

Pour ce qui est de javascript ou PHP, pour régler le problème, j'ai mis tous mes fichiers en ANSI...les js et les php.
Prosis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 06h51   #7
Membre éclairé
 
Avatar de llaffont
 
Loïc Laffont
Inscription : juin 2007
Messages : 496
Détails du profil
Informations personnelles :
Nom : Loïc Laffont
Âge : 34
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : juin 2007
Messages : 496
Points : 380
Points : 380
Ok !

Je vais tester une autre méthode.
Faire des retours en JSON.

Je te tiens infomé

++
llaffont est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h06.


 
 
 
 
Partenaires

Hébergement Web