Je plussoie Anthor, a l'heure actuelle, la meilleure solution pour deploayer du AMF, c'est ZendAMF. C'est tres simple d'utilisation et est basé sur les dernieres spec de chez Adobe:
http://framework.zend.com/manual/fr/zend.amf.html
Et ici une petite application AIR qui va te generer les fichiers de bases necessaire a ton application AMF :
http://flexandair.com/?cat=32
Je lis ton script et j'editerais pour mettre mes commentaires
[edit]
Le script est tres basique et fonctionnel, son seul defaut c'est l'utilisation du mot clef "_root".
_root ne doit etre jamais utilisé, pour troisraisons : premièrement parce que c'est un inconnu, on ne sait jamais la valeur de _root, si tu charges ton SWF ton _root pointe alors vers le SWF qui a chargé. Deuxiemenent, ça brise l'encapsulation et rend les choses horrible a debugger (sur un petit script comme ça c'est raisonnable, mais sur une appli complète, c'est vite l'horreur), et par la meme rend les MovieClip/Objet non reutilisable facilement. Et enfin, parce que bien que l'usage a fait que _root est usé comme un objet de type MovieClip, ça n'en est pas un, et il est préférabe en toute circonstance de travailler dans un MovieClip chargé sur le _root plutot que sur le _root lui même.
Après plus personnellement, je conseillerais a quiconque voulant mettre le nez dans Flash, de regarder directement l'AS3. L'as2 est obsolète, lent, mal pensé, mauvais, nul, bref un des pires langages que la terre aie jamais portée! (rien que ça ouais).
Voila l'equivalent avec AS3
http://framework.zend.com/manual/fr/zend.amf.html
Et ici une petite application AIR qui va te generer les fichiers de bases necessaire a ton application AMF :
http://flexandair.com/?cat=32
Je lis ton script et j'editerais pour mettre mes commentaires
[edit]
Le script est tres basique et fonctionnel, son seul defaut c'est l'utilisation du mot clef "_root".
_root ne doit etre jamais utilisé, pour troisraisons : premièrement parce que c'est un inconnu, on ne sait jamais la valeur de _root, si tu charges ton SWF ton _root pointe alors vers le SWF qui a chargé. Deuxiemenent, ça brise l'encapsulation et rend les choses horrible a debugger (sur un petit script comme ça c'est raisonnable, mais sur une appli complète, c'est vite l'horreur), et par la meme rend les MovieClip/Objet non reutilisable facilement. Et enfin, parce que bien que l'usage a fait que _root est usé comme un objet de type MovieClip, ça n'en est pas un, et il est préférabe en toute circonstance de travailler dans un MovieClip chargé sur le _root plutot que sur le _root lui même.
Après plus personnellement, je conseillerais a quiconque voulant mettre le nez dans Flash, de regarder directement l'AS3. L'as2 est obsolète, lent, mal pensé, mauvais, nul, bref un des pires langages que la terre aie jamais portée! (rien que ça ouais).
Voila l'equivalent avec AS3
Code PHP :
<?php
package {
import flash.events.*
import flash.net.*;
public class SendAndLoadExample {
public function SendAndLoadExample() {}
public function sendData(url:String, _vars:URLVariables):void {
var request:URLRequest = new URLRequest(url);
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
request.data = _vars;
request.method = URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, handleComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.load(request);
}
private function handleComplete(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("Code: " + loader.data.code);
trace("Message: " + loader.data.msg);
}
private function onIOError(event:IOErrorEvent):void {
trace("Error loading URL.");
}
}
}
Voila une petite classe qui fait office de sendAndLoad. On traite les données retournés par PHP dans la fonction handleComplete avec un objet URLLoader.
Les variables retournées par PHP se trouvent dans URLLoader.data.nomDeLaVariable1, etc, ...
Code PHP :
<?php
var sendAndLoad:SendAndLoadExample = new SendAndLoadExample ();
var myVariables:URLVariables= new URLVariables();
myVariables.message_id = 12;
sendAndLoad.sendData('http://monserveur.com/script.php', myVariable);