Ja osobiscie korzystam z klasy LoadVars
Kod
var result_lv:LoadVars = new LoadVars();
result_lv.onLoad = function(success:Boolean) {
if (success) {
trace(result_lv);
} else {
trace("Error connecting to server.");
}
};
var send_lv:LoadVars = new LoadVars();
send_lv.name = name_ti.text;
send_lv.sendAndLoad("http://Adres_do_php, result_lv, "POST");
Z tym, ze pare uwag:
1. Jezeli piszesz obiektowo do dostep do result_lv masz uzywajac mx.utils.Delegate.create, poniewaz poza obiektem LoadVars twoja zmienna result_lv bedzie undefined dla klasy w ktorej LoadVars jest wywolany.
Konkretnie:
Kod
var result_lv:LoadVars = new LoadVars();
result_lv.onLoad = mx.utils.Delegate.create(this,myResults);
var send_lv:LoadVars = new LoadVars();
send_lv.name = name_ti.text;
send_lv.sendAndLoad("http://Adres_do_php, result_lv, "POST");
function myResults(success:Boolean) {
if (success) {
trace(result_lv);
} else {
trace("Error connecting to server.");
}
};
W tej sytuacji masz dostep z metody myResults do metod i pol klasy w ktorej byla LoadVars wywolana a jednoczesnie klasa bedzie miala dostep do zmiennej result_lv.
2. Wysylanie do php zmiennych odbywa sie motoda POST albo GET ( kwestia definicji)
definiowanie zmiennych dla php
send_lv.name = jakas_wartosc;
send_lv.surname = jakas_inna_wartosc; itd
php otrzyma zmienne o nazwach $_POST[name], $_POST[surname]
3. Odpowiedz do flasha standartowy flashowy ServerString cos=1&cos2=costam itd
4. Problem z przesylaniem do flasha arrayek ( musisz uzyc jakiegos swojego sposobu porsowania odpowiedzi a do trzymania odpowiedzi we flashu np. klasy DataSet );
5.No i oczywiscie duzym problemem jest ze sledzeniem czy debugowaniem php. Ja uzywam swojej pseudo debug consoli, ktora zapisuje dump do pliku
ktory odczytuje ajaxem.
Innym fajnym sposobem jest klasa XMLSocket ale pracuje wolniej i niestety socket tworzony w php nie radzi sobie w pelni z wymogami tej klasy dlatego w tej sytuacji uzywam javy.
dlatego polecam sposob pierszy
pozdrawiam