Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.12.2008, 21:19
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 1  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
По умолчанию SendAndLoad() ...аналогия.

Всем привет,
вот есть такая задача:
1. Из flash (actionscript3) передаются 3 строки;
2. php их принимает, обрабатывает, делает какие нибудь действия и...
3. Возвращает 3 другие строки с некоторыми данным во flash;

Есть такой код:
Код AS3:
 var request:URLRequest = new URLRequest("chech.news.pwd.php");  
     request.data = variables;//add the data to our containers  
     request.method = URLRequestMethod.POST;//select the method as post  
 
  var variables:URLVariables = new URLVariables();//create a variable container  
      variables.sEml = "1234";  
      variables.sID = "5678";  
      variables.sBD = "90ABC";  
 
  var loader:URLLoader = new URLLoader();  
      loader.dataFormat = URLLoaderDataFormat.VARIABLES;
      loader.addEventListener(Event.COMPLETE, handleComplete);  
  try
{
    loader.load(request);
}
catch(e:Error)
{
   trace("bug");
}
 
function handleComplete(event:Event):void
{  
var loader:URLLoader = URLLoader(event.target);  
    loader.dataFormat = URLLoaderDataFormat.TEXT;
try	{
		Var1.text = String(loader.data);
		trace("("+loader.data.email+")");
		trace("("+loader.data.id+")");		
    	trace("("+loader.data.db+")");
	}
catch (e:Error)
	{
		Var1.text = "bag2";
	}
 
}
И есть php файл "chech.news.pwd.php":
PHP код:
<?php  
$psPreRegEmail
=$_GET['sEml']."xxx";
$FRM_ID=$_GET['sID']."yyy";
$psBD=$_GET['sBD']."zzz";

$output='&email='.$psPreRegEmail.'&id='.$FRM_ID.'&db='.$psDB.'&null=null';
echo 
$output;
?>
В итоге, результат:
в var1.text получается вот такая жесть:
id=%27%2E%24FRM%5FID%2E%27&null=null%27%3B%0D%0Aecho%20%24output%3B%0D%0A%3F%3E&db=%27%2E%24psDB%2E%27&%3C%3Fphp%20%20%0D%0A%24psPreRegEmail=%24%5FGET %5B%27sEml%27%5D%2E%22xxx%22%3B%0D%0A%24FRM%5FID%3D%24%5FGET%5B%27sID%27%5D%2E%22yyy%22%3B%0D%0A%24psBD%3D%24%5FGET%5B%27sBD%27%5D%2E%22zzz%22%3B%0D%0 A%0D%0A%24output%3D%27&email=%27%2E%24psPreRegEmail%2E%27

а trace показывает:
('.$psPreRegEmail.')
('.$FRM_ID.')
('.$psDB.')

Вообщем php не выполняется, и тупо передается его содержимое, иногда и весь код.

Помогите пожалуйста в реализации задачи!

Старый 06.12.2008, 22:57
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 2  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
>>Вообщем php не выполняется, и тупо передается его содержимое, иногда и весь код.

Да у вас PHP на сайте не поддерживается скорее всего.

Потестите хоть мою
http://www.flasher.ru/forum/showthread.php?t=113083


Последний раз редактировалось Alex Lexcuk; 06.12.2008 в 23:00.
Старый 06.12.2008, 23:16
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 3  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
У меня D.E.N.W.E.R. установлен, ...помимо этого кода у меня еще кртиться связка Flash+Php+MySQL и прекрасно работает. Я слышал что то нужно менять в php.ini, register_globals = Off - точно прописан.

Добавлено через 26 минут
Цитата:
Сообщение от Alex Lexcuk Посмотреть сообщение
>>Вообщем php не выполняется, и тупо передается его содержимое, иногда и весь код.

Да у вас PHP на сайте не поддерживается скорее всего.

Потестите хоть мою
http://www.flasher.ru/forum/showthread.php?t=113083
К сожалению ваш код в полной мере не сработал... целый день не могу понять что вообще не так, у нас как бы основа реализации практически одинаковая!

Старый 07.12.2008, 00:22
ZlPredator вне форума Посмотреть профиль Отправить личное сообщение для ZlPredator Найти все сообщения от ZlPredator
  № 4  
Ответить с цитированием
ZlPredator

Регистрация: Nov 2008
Сообщений: 65
С PHP Вам отдельно разбираться (судя по всему он все таки не работает).
Тем не менее есть еще ошибка в коде флеша.
Вместо:
Код AS3:
var request:URLRequest = new URLRequest("chech.news.pwd.php");  
     request.data = variables;// присваиваете null!!!
     request.method = URLRequestMethod.POST;  
 
  var variables:URLVariables = new URLVariables();//Это уже роли не играет
      variables.sEml = "1234";  
      variables.sID = "5678";  
      variables.sBD = "90ABC";
Необходимо

Код AS3:
  var variables:URLVariables = new URLVariables();//Сначала создаём  
      variables.sEml = "1234";  
      variables.sID = "5678";  
      variables.sBD = "90ABC";  
var request:URLRequest = new URLRequest("chech.news.pwd.php");  
     request.data = variables;//потом присваиваем
     request.method = URLRequestMethod.POST;
ЗЫ. Что за ужасная расцветка PHP...

Старый 07.12.2008, 00:39
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 5  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Не ребята, теже яйса только в профиль.
У меня в сл. фрейме идет вызов php скрипта, он там внутри себя обращается к БД, генит xml и возвращает его, ...далее инфа передается в datagrid. Не может же php не работать в некоторых случаях в одном ролике. Тут в чем то другом прикол. С 9:30 утра не могу справиться с кодом =(

Чуть-чуть переписал php:
PHP код:
<?PHP  
$psPreRegEmail
=$_GET['sEml'].'xxx';
$FRM_ID=$_GET['sID'].'yyy';
$psBD=$_GET['sBD'].'zzz';

$output='&email='.$psPreRegEmail.'&id='.$FRM_ID.'&db='.$psBD;
echo 
$output;
?>
В браузере запускаю:
http://test1.ru/@newsupload/chech.news.pwd.php?sEml=123&sID=456&sBD=23213

Получаю нормальный ответ:
&email=123xxx&id=456yyy&db=23213zzz

А во flash получаю полную лажу:

('.$psPreRegEmail.')
('.$FRM_ID.')
('.$psBD;
echo $output;
?>)


В Var1.text попадает:
%3C%3FPHP%20%20%0D%0A%24psPreRegEmail=%24%5FGET%5B%27sEml%27%5D%2E%27xxx%27%3B%0D%0A%24FRM%5FID%3D%24%5FGET%5B%27sID%27%5D%2E%27yyy%27%3B%0D%0A%24psBD %3D%24%5FGET%5B%27sBD%27%5D%2E%27zzz%27%3B%0D%0A%0D%0A%24output%3D%27&id=%27%2E%24FRM%5FID%2E%27&db=%27%2E%24psBD%3B%0D%0Aecho%20%24output%3B%0D%0A%3F %3E&email=%27%2E%24psPreRegEmail%2E%27


Последний раз редактировалось ERrorMAKros; 07.12.2008 в 01:05.
Старый 07.12.2008, 13:20
ZlPredator вне форума Посмотреть профиль Отправить личное сообщение для ZlPredator Найти все сообщения от ZlPredator
  № 6  
Ответить с цитированием
ZlPredator

Регистрация: Nov 2008
Сообщений: 65
Не знаю ни одного способа получения текста PHP вместо его выполнения (а если бы знал, то уже ломал бы все сайты подряд .
У вас еще одна ошибка в коде:
Код AS3:
request.method = URLRequestMethod.POST;//select the method as post
Вы зачем то выставили POST, а считываете из $_GET (тогда уж лучше из $_REQUEST, универсальней)

ЗЫ. Есть у меня подозрение. Вы случаем не пытаетесь флешку прям с диска запустить (не важно что через браузер)? Запустите её, например для вашего случая, как 'http://test1.ru/@newsupload/flash.swf'.


Последний раз редактировалось ZlPredator; 07.12.2008 в 13:25.
Старый 07.12.2008, 13:47
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 7  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Вот, рабочий код, ...по всем рекомендациям, ...вот что наделал:

Код AS3:
var variables:URLVariables = new URLVariables();//Сначала создаём  
    variables.sEml = "1234";  
    variables.sID = "5678";  
    variables.sBD = "90ABC";  
 
var request:URLRequest = new URLRequest("http://test1.ru/@newsupload/chech.news.pwd.php");  
    request.data = variables;//потом присваиваем
    request.method = URLRequestMethod.POST;
 
  var loader:URLLoader = new URLLoader();  
      loader.dataFormat = URLLoaderDataFormat.VARIABLES;
      loader.addEventListener(Event.COMPLETE, handleComplete);  
  try
{
	trace(request.data.sBD);
	trace(request.data.sEml);	
	trace(request.data.sID);	
    loader.load(request);
}
catch(e:Error)
{
   trace("bug");
}
 
function handleComplete(event:Event):void
{  
var loader:URLLoader = URLLoader(event.target);  
    loader.dataFormat = URLLoaderDataFormat.TEXT;
 
// ВО ТУТ ТО, ЧТО МЕНЯ ВЫРУЧИЛО!
var variables:URLVariables = new URLVariables() 
    variables=loader.data; // ЭТО САМОЕ "ОНО"
 
try	{
	Var1.text = String(loader.data);
		trace("("+variables.email+")");
    	trace("("+variables.db+")");
		trace("("+variables.id+")");				
	}
catch (e:Error)
	{
		Var3.text = "bag2";
	}
 
}
И собственно php!
PHP код:
<?php
$contact_name 
$_REQUEST['sEml'].'xxx';
$contact_subject $_REQUEST['sID'].'yyy';
$contact_email $_REQUEST['sBD'].'zzz';
$null="&null=null"// не используемый параметр, для закрытия echo строки;
echo "email=".$contact_name."&id=".$contact_subject."&db=".$contact_email.$null;
?>
>>> Вот и ФСЯ ОБРАТНАЯ СВЯЗЬ!
Var1.text у нас получилось: id=5678yyy&null=null%20&db=90ABCzzz&email=1234xxx

>>> Вот то что отправляется (проверка по trace)
90ABC
1234
5678


>>> Вот то что принимается (проверка по trace в handleComplete)
(1234xxx)
(90ABCzzz)
(5678yyy)


Последний раз редактировалось ERrorMAKros; 07.12.2008 в 13:51.
Старый 07.12.2008, 14:17
ZlPredator вне форума Посмотреть профиль Отправить личное сообщение для ZlPredator Найти все сообщения от ZlPredator
  № 8  
Ответить с цитированием
ZlPredator

Регистрация: Nov 2008
Сообщений: 65
Выручило Вас то, что Вы начали обращаться к PHP через Apache, а не считывать с диска файл. А присваивание
Код AS3:
variables=loader.data;
можно было и не писать (можете удалить для проверки).

Старый 23.12.2011, 16:20
Monompadin вне форума Посмотреть профиль Отправить личное сообщение для Monompadin Найти все сообщения от Monompadin
  № 9  
Ответить с цитированием
Monompadin

Регистрация: Dec 2011
Сообщений: 14
Спасибо! вы меня очень выручили !!!

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:16.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.