![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() ![]()
Сообщение
#1
|
|
Новичок ![]() Группа: Новичок Сообщений: 1 Регистрация: 2.08.2011 Пользователь №: 10613 ![]() |
Мне надо сделать следующее:
По нажатию кнопки во flah приложении у меня должна открыться новая вкладка с страницей, и при это должна передаться информация с приложения на эту же страницу. Не поможете с реализацией? Код AS3, который передает информацию в новую вкладку: Код navigateToURL(new URLRequest("http://cсылка которая должна открыться")); var stat_loader:URLLoader = new URLLoader(); var stat_request:URLRequest=new URLRequest("cсылка которая должна открыться");// заменяем на ссылку к вашему скрипту stat_request.method=URLRequestMethod.POST; // добавление параметров в запрос var stat_vars:URLVariables = new URLVariables(); stat_vars['auth_key']=auth_key; //LoaderInfo(root.loaderInfo).parameters.auth_key;// auth_key из FlashVars stat_vars['viewer_id']=viewer_id; stat_request.data=stat_vars; // выполнение запроса stat_loader.load(stat_request); Код php, который принимает информацию в новой вкладке: Код <?php if(!empty($_POST['viewer_id'])) { session_start(); $_SESSION['viewer_id'] = $_POST['viewer_id']; } echo ' <script language="javascript"> window.location.href = "page1.php"; </script><br /> '; ?> P.S. Проверял через прокси-сервер Чарлез, там, скажем так, два запроса на одну страницу. И если написать вместо написанного выше кода php это: Код echo $_POST['viewer_id']; то при методе ПОСТ выводит viewer_id, а при методе ГЕТ не выводит. как будто метод ГЕТ перекрывает и удаляет метод ПОСТ. P.P.S Исправил Код stat_loader.load(stat_request); на Код navigateToURL(stat_request, "_blank"); Все равно не работает. P.P.P.S сделал передачу информации методо ГЕТ, пподставив значения переменных в ссылку, но это не очень безопасно, так как вбивь другой id можно получить информацию о другом пользователе. Можно ли это сделать методом ПОСТ или каким-нибудь другим способом? Сообщение отредактировал MichaelPak - 2.08.2011 - 17:22 |
|
|
![]()
Сообщение
#2
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4332 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
MichaelPak
Тему передачи данных из флеша на сервер (скрипту на php или другом языке) мы уже многократно на форуме рассматривали и приводили рабочие примеры кода. Как в этой теме. Есть лишь один момент - в основном все эти коды на AS1/AS2. Поэтому можешь сделать на AS 1 или 2, или если нужно только на AS3, то разбираешься с этими примерами и вычитываешь информацию по AS3 (хелпы, книги, мануалы) и реализуешь то же самое на AS3. А если что-то в этих примерах непонятно и переделать на AS3 у тебя не получается, тогда персонально обращайся к тем нашим участникам форума, которые владеют AS3. Реализуй всё правильно и данные у тебя будут корректно передаваться. В том числе и через POST (а важные данные или большие объёмы данных передавай именно через POST). Цитата то при методе ПОСТ выводит viewer_id, а при методе ГЕТ не выводит. как будто метод ГЕТ перекрывает и удаляет метод ПОСТ. Во-первых, непонятно какие у тебя проблемы с передачей данных, если скрипт их получает (и выводит через echo). Так что разберись со своим кодом на PHP - что именно ты хочешь сделать. Во-вторых, никаких перекрытый. Работает через пост, потому что ты так передаёшь и принимаешь. Чтобы работало через гет - нужно указать stat_request.method=URLRequestMethod.GET в AS и использовать массив $_GET в PHP. Цитата P.P.P.S сделал передачу информации методо ГЕТ, пподставив значения переменных в ссылку, но это не очень безопасно, так как вбивь другой id можно получить информацию о другом пользователе. POST не ненамного безопаснее GET и подделать данные легко можно и POST-запросом. И код, что ты привёл, является уязвимым - что при GET, что при POST запросе. Поэтому сделай как рабочую передачу данных через POST, так и переработай алгоритм, чтобы нельзя было устанавливать произвольные значения в сессионную переменную viewer_id. |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.10.2011 - 21:31 |