![]() |
Flash и php прием и отправка одновременно
Здраввствуйте вот в чём у меня суть кода:
Я из флеша отправляю переменные в пхп Там они обрабатываются, создаются новые переменные И вот как мне их тут-же принять? Ведь если сделать новый запрос пхп обнулится |
Смотрите метод sendAndLoad класса LoadVars - это то, что вам нужно.
Откройте для него хелп, посмотрите его аргументы и пример использования. |
Это я знаю
Я не смог всё это "собрать" |
А в чем сложность-то?
Создаете два экземпляра LoadVars. Формируете переменные для передачи скрипту и назначаете их первому экземпляру. Вызываете из первого экземпляра LoadVars скрипт (указывая для получения экземпляр-получатель и метод - GET или POST). Для экземпляра-получателя записываете функцию onLoad для разбора полученных переменных. Скрипт должен отдавать строку вида var1=value1&var2=value2... Возьмите пример из хелпа и повторите его. Скрипт для примера самый простой напишите - типа, что получили, то и отдали... Справитесь с этим - и свое добьете. Для простоты пусть все значения строковые будут передаваться скрипту. |
Отправляем запрос из flash
Код AS1/AS2:
PHP код:
Код AS1/AS2:
|
Не учите плохому - loadVariables не надо использовать, это устаревший метод.
К тому же loadVariables не имеет событий, которые можно обработать. Поэтому и ввели LoadVars с возможностью отслеживания получения данных - onLoad или onData. |
Код AS1/AS2:
|
Флеш:
Код AS1/AS2:
PHP код:
Создается экземпляр LoadVars и ему придаются переменные (переменные и их значения). При использовании метода sendAndLoad эти переменные передаются скрипту. Скрипт получает их и извлекает из запроса POST. И в обратном порядке.... Скрипт отрабатывается и выводит строку, флеш получает от него эти пары "переменная=значение". Эти пары разбираются в функции-обработчике onLoad второго экземпляра. |
ответили пока писал
кстати лоадвариблес я тоже думал, но там же все переменные |
Для нескольких:
Код AS1/AS2:
PHP код:
|
что то я запутался
Кстати, помоему в 1 пхп ошибка? |
Какая именно? Скобки? См. обновленный вариант.
И что вам не понятно? |
Разве не должны быть типа echo "&r1=".$r1."&"; (я про знак флеша)
В пхп даже если поставить System.useCodepage = true; (для кириллицы) Вернет: " undefined Отклик: Новая переменная" |
PHP код:
Код AS1/AS2:
сохраняете PHP скрипт в кодировке UTF-8! Если редактируете PHP в Блокноте или еще где-то, там должна быть опция выбора кодировки. |
Пфф уже сам нашёл )
Откуда там 3 то вылезла? ) А почему? В код же придут testReply1, testReply2 и нью вар? Динамик поле не ловит |
Влезла 3... причина очень проста, я опечатался. :)
См. пример. Только URL хостинга исправьте. |
Я в этом вроде разобрался
Принял текст русский Но в какую переменную Динамическое поле не ловит testReply1 |
Какое динамическое поле? Где оно? Ваш пример не видно, в моем полей никаких нет.
|
Ну я про текст
Отклик:aaa Отклик:bbb (у меня) Они же должны прийти в testReply1, testReply2 ? |
И что, не приходят? Трэйс что выводит?
Вы мой последний пример смотрели, использовали? Опять-таки, о каких полях вы говорите? Пока только о переменных и их значениях речь шла. |
Возможно, вы криво используете динамические поля.
Вот пример с текстовыми полями. Их имена на сцене text1... text3 Для них нужно использовать внедренный шрифт. Над сценой есть техническое поле, в него внедрен шрифт (кнопочкой Embed) для дальнейшего использования. В коде для 3-х "рабочих" полей использование внедренного шрифта объявляется (embedFonts = true). PS. Не вздумайте использовать поле Var для вывода текстовых данных в поле. Задается свойство text именованного текстового поля. Если будут дальнейшие вопросы по работе с динамическими полями, создавайте новую тему, так будет правильнее. Еще лучше - почитайте сперва что-то цельное, типа учебника, уроков или хелпа, где есть развернутый материал. |
Трейс это служебный тест?
"Отклик:aaa Отклик:bbb Новая переменная" создал текстовое поле задал ему переменную testReply1 Тишина Создал новую кнопку (муви клип конечн, а не буттон), текстовое поле задал ему имя (ааа) Повесил на него aaa.text = testReply1 Тож пустоОпять пока писал ответили Про текстовые поля знаю ещё с прошлой темы Когда получал все данные текста в юрл адрес ) |
Сейчас у вас скорее всего проблема с невнедренными шрифтами или путями.
См. пример в предыдущем посте. |
Ошибка открытия
Использую кс4 Добавлено через 1 минуту Ой, если повесить aaa.text = testReply1 то будет undefined так что загадка как же зовут принятые перемнные? |
В общем, смотрите пример.
|
Не забывайте еще, что testReply1 и прочие принадлежат экземпляру result_lv. Т.е путь к ним result_lv.testReply1 (или проще - this.testReply1, если код используется внутри его обработчика ), и использовать их можно только изнутри функции onLoad, именно тогда они становятся определены.
|
Спасибо наконецто разобрался терь ещё внедрить в свою прогу...
Я сглупил и на автомате прописывал testReply1.result_lv |
Ну вот и хорошо. Удачи!
|
Спасибо, всё работает
Правда не сразу заработало, но после того как я заменил формат файла с txt на php всё ок ) |
ребят, а как разбить во флеше полученный таким образом блок переменных-несколько переменных посланных одной строчкой, отделенных друг от друга неким символом?
|
Класс LoadVars делает эту работу за вас, если знак разделения &
Например, строка в файле Код:
var1=value1&var2=value2Тогда внутри onLoad просто обращайтесь Код AS1/AS2:
|
ок, спасибо.
к стати, а есть ли примеры ММО с использованием только php сервера? ведь php работает , вроде, по принципу запрос/ответ, что не очень удобно или я ошибаюсь. сори за ламерские вопросы) |
А как сделать что бы эти переменный отправлялись(брались) из MySQL?
|
Цитата:
|
Mooncar а подскажите пожалуйста, если обычный счетчик +1(кнопочка) и динамическое поле sv,
что у меня не так? Код AS1/AS2:
|
Для начала: пишите код не на объекте, а в кадре.
Для того, чтобы обратиться к тексту текстового поля, нужно обратиться е его свойству text: Код AS1/AS2:
Код AS1/AS2:
|
у меня не текст, а цифры.
Код AS1/AS2:
Извиняюсь понял. Тут всё для текста сделано, а я к числовым применяю. |
Нет. Не надо предполагать и изобретать.
Для доступа к содержанию текстового поля используется свойство text, а его тип всегда строчный (String). Если вам нужно забрать что-то из текстового поля и преобразовать это значение в число, чтобы потом можно было использовать в вычислениях, используются функции Number(text_field.text), или parseFloat, parseInt. Если же вам только выводить что-то, ничего не предпринимайте. |
Я разобрался спасиб )
Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 12:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.