Показать сообщение отдельно
Старый 13.07.2007, 21:39
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 20  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Слухай сюда:

в этом объекте будут все загруженные переменные
Код:
var load_lv:LoadVars = new LoadVars();
А в этом обявляем переменные для отправки скрипту
Код:
var send_lv:LoadVars = new LoadVars();
например объявим my_name
Код:
send_lv.my_name = "007";
опишем функцию для отлова момента полной загрузки ответа скрипта.
Это делает событие onLoad
Код:
load_lv.onLoad = function(success:Boolean) {
	//...
};
Этой функции передаётся параметр success: если on равен true,
то данные полностью загружены,
если не равен то случилась какая-то лажа ( можете проверить подключение к нету )

Допишем нашу функцию-обработчик
Код:
load_lv.onLoad = function(success:Boolean) {
	if (success) {
		trace("данные загружены");
		Allright();
	} else {
		trace("Какая-то лажа!");
	}
}
Если всё прошло успешно и данные загрузились запускаем функцию Allright() ну или что-нить другое.
И в этой функции мы будем смотреть что нам ответит скрипт.
Как мы обозначили ответ скрипта будет в объекте load_lv, там и будем смотреть

Код:
function Allright(){
		trace(load_lv.otvet1);
		trace(load_lv.otvet2);
		trace("------------");
}
да! скрипт нам будет возвращать две параметра (это мы обозначим в пхп скрипте... позже).

Подготовка закончина, можно запулить запрос к скрипту и ждать ответа
Код:
send_lv.sendAndLoad("script.php", load_lv, "POST");
-------
В script.php у нас следующее...
Флеш присылает переменную my_name методом POST, вот там её и глядим
Код:
if( $_POST["my_name"] == "007"){
	$otvet1 = "Здравствуйте агент 007";
	$otvet2 = "в доступе разрешено!";
}else{
	$otvet1 = "я Вас не знаю ". $_POST["my_name"];
	$otvet2 = "в доступе отказано!";
}
в ответ флешу отправляем любое кол-ва переменных раздёлённых амперсантом в данномс случае две
Код:
print "otvet1=$otvet1&otvet2=$otvet2";
Так как флеш работает в юникоде PHP скрипт лучше сохранить в кодирове UTF-8
Чтоб русские буквы работали
Всё должно работать.

Если где опечатался извиняйте.

ps В MX вроде бы нельзя указывать тип переменной по этому можешь опустить эту фичу.
то есть вместо:
var send_lv:LoadVars = new LoadVars();
пиши:
var send_lv = new LoadVars();
и вместо
function(success:Boolean) просто function(success)


Последний раз редактировалось Mnilionic; 13.07.2007 в 22:52.