Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 04/02/2011, 17h54   #1
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
Par défaut Encoder variable PHP pour XML

Bonjour!
j'ai un objet SWF qui utilise le fichier good.php pour récupérer l'ID de l'utilisateur. Le fichier good.php est interprété comme un fichier XML.

Le code suivant fonctionne:
Code :
1
2
3
4
<?php
  $user_id=101;
  echo '<graph><set id="'.$user_id.'"></graph>';
?>
Le problème intervient lorsque je veux récupérer l'id par l'url:
Code :
1
2
3
4
<?php
  $user_id=$_GET['user_id'];
  echo '<graph><set id="'.$user_id.'"></graph>';
?>

en parcourant des dizaines de forum français et anglais, j'ai essayé les fonctions suivantes sans succès:
Code :
1
2
3
4
5
6
7
$user_id=urldecode($_GET['user_id']);
$user_id=intval($_GET['user_id']);
$user_id=utf8_decode($_GET['user_id']);
$user_id=utf8_encode($_GET['user_id']);
$user_id=htmlentities($_GET['user_id']);
$user_id=htmlspecialchars($_GET['user_id']);
$user_id=html_entity_decode($_GET['user_id']);
Pour info, $_GET['user_id'] est un nombre entier. Je cherche donc un moyen de récupérer cette valeur pour la lire en XML. (une astuce ou une fonction me conviendront )






NB: Que ce soit avec $user_id=101 ou $user_id=$_GET['user_id'], le navigateur renvoit :
Code :
<graph><set id="101"></graph>
Conclusion: $_GET['user_id'] est bien envoyé mais son format n'est pas lisible par XML...






Merci d'avance à tous ceux qui se pencheront sur ce problème
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 18h11   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Code :
echo '<graph><set id="'.$user_id.'"></graph>';
t'as oublié le .
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 18h18   #3
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
merci. je l'ai modifié mais comme tu dois t'en douter ça ne résoud pas le problème.
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 18h19   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par tomazawak Voir le message
merci. je l'ai modifié mais comme tu dois t'en douter ça ne résoud pas le problème.
quand tu lances ton good.php via un navigateur t'as bien la chaine attendu ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 18h24   #5
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
oui, comme je le précise dans mon Nota Bene, tous les navigateurs affichent bien
Code :
<graph><set id="101"></graph>
(même en utilisant le $_GET['user_id'])

J'en conclu donc que c'est le format de la variable $_GET qui n'est pas interprété par XML.


Merci pour ton soutien...
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 18h26   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par tomazawak Voir le message
oui, comme je le précise dans mon Nota Bene, tous les navigateurs affichent bien
Code :
<graph><set id="101"></graph>
(même en utilisant le $_GET['user_id'])

J'en conclu donc que c'est le format de la variable $_GET qui n'est pas interprété par XML.


Merci pour ton soutien...
fais un trim sur ta variable
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 18h56   #7
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
Citation:
Envoyé par stealth35 Voir le message
fais un trim sur ta variable
ça ne fonctionne pas
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h00   #8
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
Petite précision:
si je fais ça:
Code :
1
2
good.php?user_id=1
$user_id=$_GET['user_id']+100;
ça me renvoit 100 sur mon SWF. J'en conclu donc que le problème vient bien de $_GET.

Le résultat est identique avec:
Code :
1
2
good.php?user_id=1
$user_id=trim($_GET['user_id'])+100;
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h01   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par tomazawak Voir le message
ça ne fonctionne pas
quand tu charges le fichier en texte via flash ca donne quoi ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h06   #10
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
Citation:
Envoyé par stealth35 Voir le message
quand tu charges le fichier en texte via flash ca donne quoi ?
tu me demandes d'essayer de modifier l'extension (.txt via htaccess)?
ou de créer un fichier texte avec :
Code :
<graph><set id="101"></graph>
?

J'essaye la première solution parce que la deuxième fonctionnera à coup sûr (dans la mesure où ça fonctionne si je mets $user_id=101
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h07   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par tomazawak Voir le message
tu me demandes d'essayer de modifier l'extension (.txt via htaccess)?
ou de créer un fichier texte avec :
Code :
<graph><set id="101"></graph>
?

J'essaye la première solution parce que la deuxième fonctionnera à coup sûr (dans la mesure où ça fonctionne si je mets $user_id=101
non, ne pas le charger comme un XML mais comme un fichier classique via flash
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h11   #12
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
j'ai ajouté une règle htaccess pour que le fichier php soit lu comme un fichier texte par flash
et ça donne le même résultat qu'avec un XML
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h14   #13
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
autre précision:
lorsque je fais
Code :
1
2
good.php?user_id=101
echo $_GET['user_id'];
ça m'affiche bien 101
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h16   #14
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
non mais le htaccess ca n'a rien a voir, avec regarde juste le contenu de ton URLLoader avant de le mettre dans une instance XML
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h22   #15
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
Citation:
Envoyé par stealth35 Voir le message
non mais le htaccess ca n'a rien a voir, avec regarde juste le contenu de ton URLLoader avant de le mettre dans une instance XML
est-ce que tu peux être plus explicite stp. Je ne comprends pas ce que je dois faire.

J'imagine que URLLoader est dans le fichier flash...?

PS: c'est un fichier SWF de chez FusionCharts (je pense que j'ai la source FLA)
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 19h39   #16
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
http://dl.free.fr/a4KBvsRRJ
voici le fichier *.fla si cela est nécessaire
(je ne peux pas l'ouvrir puisque je n'ai pas flash)
tomazawak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 20h39   #17
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par tomazawak Voir le message
est-ce que tu peux être plus explicite stp. Je ne comprends pas ce que je dois faire.

J'imagine que URLLoader est dans le fichier flash...?

PS: c'est un fichier SWF de chez FusionCharts (je pense que j'ai la source FLA)
y'a pas tout dans ton fichier, mais oui apres c'est au niveau de flash qui faut voir ca
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 21h23   #18
Invité régulier
 
Inscription : septembre 2009
Messages : 45
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 45
Points : 5
Points : 5
j'ai trouvé une astuce mais je ne connais toujours pas l'origine du problème...

En fait, j'ai simplifié le code dans mon premier post. Mon code comportait en réalité plusieurs variables $_GET.
voici à quoi ressemblait l'URL appelée :
Code :
good.php?var=activity&user_id=101
j'ai résolu le problème en utilisant qu'une seule variable $_GET + 1 explode
L'url appelée est désormais
Code :
good.php?var=activity,101
Il y a problème dès que la tableau $_GET a au moins 2 entrées.
ça ne vient pas du fait qu'il y ait lettres et chiffres puisque j'ai fait le test en ajoutant des lettres à la 2ème variable $_GET et ça ne marchait pas.
ça ne vient pas du fait que le '&' soit au mauvais format puisque j'ai essayé avec plusieurs fonctions de décodage et plus simplement avec '&amp'...

en tout cas merci pour ton aide stealth35 !!
ton soutien m'a permis d'explorer d'autres horizons qui m'ont finalement conduit à cette astuce.
tomazawak 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 08h26.


 
 
 
 
Partenaires

Hébergement Web