Показать сообщение отдельно
Старый 03.08.2009, 22:54
Gam6it вне форума Посмотреть профиль Отправить личное сообщение для Gam6it Найти все сообщения от Gam6it
  № 4  
Ответить с цитированием
Gam6it
 
Аватар для Gam6it

Регистрация: Jul 2009
Адрес: 12 37
Сообщений: 17
Эврика, я понял в чем была проблема.

Мне надо было передать переменную (variable1.group=2) PHP-скрипту, и забрать полученный результат.
И реализовал я это так.
Код AS3:
var request1:URLRequest = new URLRequest("http://test2/data2.php");
var variable1:URLVariables = new URLVariables();
var loader1:URLLoader = new URLLoader();
 
request1.method = URLRequestMethod.POST;
variable1.group=2;
 
request1.data = variable1;
loader1.load(request1);
loader1.addEventListener(Event.COMPLETE, loadXML);
 
function loadXML(event:Event):void
{
	var request2:URLRequest = new URLRequest("http://test2/data2.php");
	var loader2:URLLoader = new URLLoader();	
	loader2.load(request2);
	loader2.addEventListener(Event.COMPLETE, buildXML);
}
 
function buildXML(event:Event):void
{
	txt.text = event.target.data;
}
Этот код работал, только в среде разработки Flash и если локально запустить скомпилированный Flash ролик. Так флэшка работала через браузер IE8.
В нормальных же браузерах эта флэшка не отображала полученных данных. Потому что, если посмотреть на 2 URLLoader'а со стороны браузера, то каждый представляет собой отдельного пользователя. То есть первый URLLoader передает переменную php-файл? который ему выводит запрашиваемое содержимое на основе посланной переменной, и после этого второй URLLoader обращается к тому же php-скрипту, и тот ему ничего не выводит.

Ниже представлен php скрипт, если кому интересно.
PHP код:
<?php
if(isset($_GET["group"]))
{
    
$mcon mysql_connect("localhost","root","");
    
mysql_select_db("test",$mcon);
    
$query "select * from table1";
    
$result mysql_query($query$mcon);
    
$out "<?xml version=\"1.0\" encoding=\"UTF-8\"?><dots>";
    while(
$row mysql_fetch_assoc($result))
    {
        
$out .= "<item date=\"".$row["data"]."\" money=\"".$row["money"]."\"/>";
    }
    
$out .= "</dots>".$_GET["group"];

    echo 
$out;    
}
else
{
echo 
"переменая POST не была передана";
}
?>
данная проблема решается с помошью одного URLLoader и URLRequest, к которому в параметр url
Код AS3:
("http://test2/data.php")
дописывается GET-переменная -
Код AS3:
("http://test2/somescript.php?group="+group)