Flash->php->xml->flash: envoie de variables à un php par mon_XML.load()

Résolu
oin__oin Messages postés 5 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 4 janvier 2006 - 22 nov. 2005 à 18:24
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 - 23 nov. 2005 à 12:05
coucou... je cherche a afficher les résultats d'une requete MySQL sous forme de XML pour le transmettre a Flash....
Coté php:
<?
$host= '';
$user='';
$pass='???????';
$base='';
$connection=mysql_connect($host,$user,$pass);
mysql_select_db($base, $connection);
$result=mysql_query("SELECT id, titre FROM photo");
$xml="<?xml version="1.0" encoding="utf-8" ?>";
while ($row = mysql_fetch_array($result)){
$k=$row["titre"];
$xml .= '<opo>'.$k.'</opo>';
}
mysql_close ($connection);
echo $xml;
?>
Coté flash:
var id = 1;
var host="???"
var user="???"
var base="???"
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("/php/php1.php");
myXML.onLoad = function() {
txt = myXML;
trace(txt)
};
stop();
Mes problèmes:
Le fichier php ne semble pas recevoir mes variables user, host, base, id... etc...
C'est pour cela que j'ai du déclarer dans le php
$pass ='?????';
Mais niveau sécurité, j'aurais préféré que toutes mes variables de connexion soient contenues dans Flash et envoyées au php, enfin bref...Le trace() dans flash m'indique que la requete a bien été effectuée, les infos affichées sont bien celles de ma bdd, les pd d'accent sont réglés.... Ce que je ne comprends pas est que cette connexion puisse s'établir sans que le php recoive les variables user, host, etc... seul le password semble compter. Pourquoi??? hein, dites... pourquoi????
Maintenant, si je veux rajouter a ma requete SQL un truc du genre WHERE id='$id'
et bien je sais pas comment faire pour transmettre la variable id de flash au php... J'ai bien essayé de remplacer la fonction xml.load() par xml.sendAndLoad() mais ca marche pas.... Je suis pas un pro du php alors est ce que c'est possible à faire (oui je pense) en conservant grosso modo la méthode que je voulais utiliser ?
D'avance, merci
inin

1 réponse

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
23 nov. 2005 à 12:05
Salut

Le fichier php ne semble pas recevoir mes variables user, host, base, id... etc...
>Dans ton code Flash, rien ne dit d'envoyer les variables au php.
Donc tu peux les envoyer en les concaténant a l'url du php
myXML.load("/php/php1.php?host="+host+"&user="+user+"&base="+base); mais elle seront transmis dans l'url donc c pas tres sécurisé.

Ce que je ne comprends pas est que cette connexion puisse s'établir
sans que le php recoive les variables user, host, etc... seul le
password semble compter. Pourquoi??? hein, dites... pourquoi????
>ca j'ai du mal a y croire, connaissant php, il lui faut tt les infos pour un mysql_connect().
Maintenant, si je veux rajouter a ma requete SQL un truc du genre WHERE id='$id', et bien je sais pas comment faire pour transmettre la variable id de flash au php
>Exactement comme pour les autres variables au dessu ;)

Ok ce qu'il faut que tu comprennes, c'est que tu mélange XML et DATASTRING là, en effet, lui lit des varaibles qu'il recois dans GET ou POST, et l'XML de Flash lui envois ... de l'XML si tu fait un sendAndLoad.
alors
soit tu concatènes tt tes var a la suite de l'url du php (donc les var arrive dans $_GET[] pour php)
soit tu envois un noeud XML et tu fait lire de l'xml à PHP (tres chiant)
soit (la solution que j'ai adopté perso) tu te fait un class perso, un mélange entre LoadVars (qui envois le data en POST à php) et de XML qui lui charge et parse un fichier XML

j'espere que c assez clair
++ et on courage :)

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
3
Rejoignez-nous