Flash->JavaScript->PHP
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Есть две Флэшки! В одной кнопка,в другой поле для ввода текста!!!
Как можно получить данные во flash-ролик из другого flash-ролика????????
Очень нужно!!!
Заранее благодарен!!!!
Как можно получить данные во flash-ролик из другого flash-ролика????????
Очень нужно!!!
Заранее благодарен!!!!
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
Никогда с flash не имел дела.
(с) Flash для чайников
Надеюсь, этот HTML подвязать к событию во flash не будет проблемой?
А если ты подфорумом не ошибся и переменную передавать нужно действительно через сервер, тогда читать тут:
http://www.citforum.ru/internet/flash/send_vars/
http://www.citforum.ru/internet/flash/load_text/
Код: Выделить всё
<script type="text/javascript">
function transfer() {
var flash1_input = document.getElementById('flash1').GetVariable("input");
document.getElementById('flash1').SetVariable("output", flash1_input);
}
</script>
Надеюсь, этот HTML подвязать к событию во flash не будет проблемой?
А если ты подфорумом не ошибся и переменную передавать нужно действительно через сервер, тогда читать тут:
http://www.citforum.ru/internet/flash/send_vars/
http://www.citforum.ru/internet/flash/load_text/
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Извините,я скорее всего не так выразился!!!undefined
Короче говоря:
Есть текстовое поле на флэше(для логина,пароля..неважно....)
и есть кнопка(лучше картинка,а не стандартная submit) Нужно как-нить получить значение этого поля и передать php(для авторизации...)......Но не знаю каким образом реализовать это,может на JavaScript,может ещё как-то?!
Сей гемморой вызван тем,что нельзя менять дизайн....Нужно поле для ввода сделать определённой формой(т.е. на флэше...)...
А вообще интересует тематика как получить данные из одного flash-ролика в другой,находящиеся на одной странице...!!!!
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
qwertyuiop,
Если передать в PHP - смотри первую ссылку.
Если передача между flash-роликами без обращения к серверу - то код, который я написал.
Если же нужно проверить на PHP пароль, полученый из первого ролика, и лишь затем дать добро во второй, то нужно синхронизировать (соединить оба метода).
Простейший метод:
1. flash1 используя пример из send_vars (ф-ция loadVariables) отосылает пароль на сервер и тут же читает дано ли разрешение (это выведет php)
2. при помощи JavaScript устанавливает переменную "разрешение" во втором flash-ролике
Безопасность, правда, очень не надёжная.
Человек может без труда скачать второй flash-ролик, вставить его в HTML, где в обход опроса сервера напишет на JavaScript: Переменная "разрешение" = true
Более правильный вариант:
1. flash1 используя пример из send_vars (ф-ция getURL) отосылает пароль на сервер
2. на сервере php запускает сессию (или же пишет в какой-нибудь однозначный для каждого пользователя временный файл) с инициализированной переменной "разрешение"
3. flash1 говорит (при помощи JavaScript) flash2, чтобы тот задумался (устанавливает переменную, или же вызывает метод обьекта flash2)
4. flash2 при помощи LoadVariables читает файл с сервера (временный-текстовый, или php-файл, который проверяет переменную "разрешение" через сессию)
и лишь тогда открывает свою сущность.
В любом случае, про безопасность можно говорить только относительно, поскольку существует море flash-декодеров,
при помощи которых, скачав flash-файл, можно отключить все эти проверки.
Если передать в PHP - смотри первую ссылку.
Если передача между flash-роликами без обращения к серверу - то код, который я написал.
Если же нужно проверить на PHP пароль, полученый из первого ролика, и лишь затем дать добро во второй, то нужно синхронизировать (соединить оба метода).
Простейший метод:
1. flash1 используя пример из send_vars (ф-ция loadVariables) отосылает пароль на сервер и тут же читает дано ли разрешение (это выведет php)
2. при помощи JavaScript устанавливает переменную "разрешение" во втором flash-ролике
Безопасность, правда, очень не надёжная.
Человек может без труда скачать второй flash-ролик, вставить его в HTML, где в обход опроса сервера напишет на JavaScript: Переменная "разрешение" = true
Более правильный вариант:
1. flash1 используя пример из send_vars (ф-ция getURL) отосылает пароль на сервер
2. на сервере php запускает сессию (или же пишет в какой-нибудь однозначный для каждого пользователя временный файл) с инициализированной переменной "разрешение"
3. flash1 говорит (при помощи JavaScript) flash2, чтобы тот задумался (устанавливает переменную, или же вызывает метод обьекта flash2)
4. flash2 при помощи LoadVariables читает файл с сервера (временный-текстовый, или php-файл, который проверяет переменную "разрешение" через сессию)
и лишь тогда открывает свою сущность.
В любом случае, про безопасность можно говорить только относительно, поскольку существует море flash-декодеров,
при помощи которых, скачав flash-файл, можно отключить все эти проверки.
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Не то всё!!! :-)Oscar писал(а):qwertyuiop,
Если передать в PHP - смотри первую ссылку.
Если передача между flash-роликами без обращения к серверу - то код, который я написал.
Если же нужно проверить на PHP пароль, полученый из первого ролика, и лишь затем дать добро во второй, то нужно синхронизировать (соединить оба метода).
Нужно по клику на картинке,которая выполняет роль кнопки submit,вызвать функцию javascript и получить значение переменной из flash и потом передать это значение php-скрипту!!!
Примерно так:
<form name="form_name" action="login.php" method="POST">
....
дальше флэшка идёт....// в ней текстовое поле!!!
.....
<img onclick=get_var()]
Ну...вот!!! Надеюсь меня поймут!!!?
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
Немного не понимаю, где тут второй flash, но наверное это картинка на нём.
Суть происходящего ты, наконец-то, нормально описал.
В моём самом первом ответе находится вся необходимая информация для реализации.
Так какие проблемы, тебе готовый код, что ли, нужен ???
Суть происходящего ты, наконец-то, нормально описал.
В моём самом первом ответе находится вся необходимая информация для реализации.
Так какие проблемы, тебе готовый код, что ли, нужен ???
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Такс....в принципе немного разобрался...
Только непонятно как из javascript передать переменные в php?!!
Просто что ль в самом коде пхп подставить имена переменных яваскрипт??!! Или как?
Только непонятно как из javascript передать переменные в php?!!
Просто что ль в самом коде пхп подставить имена переменных яваскрипт??!! Или как?
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
Код: Выделить всё
<script type="text/javascript">
function get_var() {
document.getElementById("flash_var_id").value = document.getElementById("flash_movie").GetVariable("input");
document.getElementById("form_id").submit();
}
</script>
<form id="form_id" action="login.php" method="POST">
<input type="hidden" name="flash_var" id="flash_var_id">
<img onclick=get_var();>
<form>
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Oscar, не работает у меня этот скрипт!!! или я что то не так делаю...Или мы друг друга не поняли опять!!!
Во первых! Надо уточнить что к чему!!!
flash_movie = это id тэгов <object> и <embed>??? Так??
Что за функция или метод - GetVariable("input")??? И что такое "input" в ней??
JavaScript ругается,говорит типа не знаю я такую функцию....!!
Что делать???
Во первых! Надо уточнить что к чему!!!
flash_movie = это id тэгов <object> и <embed>??? Так??
Что за функция или метод - GetVariable("input")??? И что такое "input" в ней??
JavaScript ругается,говорит типа не знаю я такую функцию....!!
Что делать???
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Есть две флэшки в Дивах
И форма:
<div id="login"><OBJECT classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shoc ... on=6,0,0,0"
WIDTH="80" HEIGHT="13" id="login" ALIGN="">
<PARAM NAME=movie VALUE="login.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="login.swf" swliveconnect=true quality=high bgcolor=#FFFFFF WIDTH="80" HEIGHT="13" NAME="login" ALIGN=""
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT></div>
<div id="pass"><OBJECT classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shoc ... on=6,0,0,0"
WIDTH="80" HEIGHT="13" id="pass" ALIGN="">
<PARAM NAME=movie VALUE="pass.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="pass.swf" quality=high swliveconnect=true bgcolor=#FFFFFF WIDTH="80" HEIGHT="13" NAME="pass" ALIGN=""
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT></div>
Функция ЯваСкрипт:<form id="form_id" action="login.php" method="POST">
<input type="hidden" name="flash_var" id="flash_var_id">
</form>
И есть кнопка:function flash_to_php()
{
var link_flash = document.getElementById("login").GetVariable("input");
document.getElementById("flash_var_id").value = link_flash
alert(link_flash)
//document.getElementById("form_id").submit();
}
<div id="button">[url=javascript://][img]images/entry.gif[/img][/url]</div>