Логотип    
Логотип
 

Выяснена причина вымирания динозавров!


Rambler's Top100
Статьи, уроки  

Передача данных из Flash в серверные сценарии

(C). rastyle.com, Рубен Сардарян

В прошлом уроке мы рассмотрели возможность загрузки данных во Flash. Сейчас мы научимся посылать данные из Flash во внешние сценарии, или в другие ролики Flash.

Как и в прошлом уроке, нам потребуется .swf файл, из которого мы будем посылать данные. Пусть он содержит два поля для ввода переменных и пару кнопок, при нажатии на которые будут посылаться данные:

Послать данные можно как с помощью функции loadVariables(), описанной в прошлом уроке, так и с помощью знакомой многим getURL(). В нашем примере одна кнопка использует первую функцию, другая - вариант с getURL(). Разница этих методов состоит в том, что loadVariables() вызывает скрипт, без отображения его в окне браузера, а getURL() открывает свою цель в браузере и передаёт ей переменные.

Итак, в ролике присутствуют два текстовых поля для ввода с именами переменных myText и myValue. По умолчанию там записан текст "поле myText" и "поле myValue". Левая кнопка вызывает PHP скрипт "target.php" и передаёт ему значение переменных. Правая - открывает файл "target2.php" и тоже передаёт ему данные из .swf. Код содержащийся в файлах приводится ниже.

Вот код первой кнопки:

on(release) {
    loadVariables("target.php", "_root", "POST");
}

Функция уже описывалась в прошлом уроке, интересующися могут посмотреть.

Код второй кнопки:

on(release) {
    getURL("target2.php", "_blank", "POST");
}

Синтаксис getURL() очень похож на синтаксис loadVariables:

    getURL(url [, window [, "variables"]]);

url - единственный обязательный параметр, путь до файла, который загружается в браузер.

window - имя окна или фрейма, в которое загружается файл. Значение "_blank" означает, что содержимое открывается в новом окне.

variables - метод передачи переменных: GET или POST.

Код файла "target.php":

<?
$f = fopen("result", "w");
fwrite($f, $myText);
fclose($f);
?>

Код файла "target2.php":

<?
print $myText;
print "<br>";
print $myValue;
?>

Сценарий target.php сохраняет содержимое переменной myText в файле "result", позволяя тем самым проверить работу loadVariables(). Сценарий target2.php просто выводит значиния myText и myValue в окно браузера. Как видите, переменные напрямую передаются в PHP скрипт и имеют там такие же имена, как и во Flash.

Точно так же можно получать доступ к переменным из любого серверного приложения, имеющего интерфейс CGI. Например, в Perl можно использовать конструкцию param("myText"). В ASP доступ к переменным можно получить через Request.QueryString("myText").

Использованные в уроке файлы можно забрать здесь: send_vars.zip (3 k)

Удачи!

P.S. Если у вас есть какие-нибудь вопросы по Flash или другим сферам web-дизайна, не стесняйтесь спрашивать на нашем форуме: http://www.rastyle.com/forum/

Список статей

 Обзор Flash 8 (new!)
 Flash и видео
 Adobe LiveMotion 2: Русский help
 Adobe LiveMotion 2: Первое знакомство
 Swift 3D v.3
 Swift 3D v.2
 Swift 3D XSI v.1
 Новое во Flash MX
 Flash 5 (обзор)
 Flash 5 (анимация)
 Flash 5 (ActionScript)
 Оптимизация Flash
 Глюки Flash

Уроки Flash

 Программное управление звуком
 Рисование с помощью ActionScript во Flash MX
 Создание и использование кнопок
 Передача данных из Flash в сценарии
 Загрузка текста и переменных во Flash
 Определение скорости компьютера
 Определение Flash
 Создаём часы
 Всё о "прелоадерах"
 Снег во Flash
 Ещё о "прелоадере"

наверх // в начало (C). rastyle.com // 2002-2017 // all rights reserved