Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Комуникация между PHP и ActionScript3
  1. PHP и Flash
dfm
     
Автор  dfm (08.03.2008 12:17)  съобщение до автора
Погледнат  2195 пъти  добави към любими
Оценка  добави коментар
Гласове  --  изпрати на приятел
Коментари  (0)  абонирай се за Flash
    Страница 1 / 1

 



Помествам един пример как си комуникират Flash и PHP. При AS3, класът LoadVars class от AS2 е премахнат. Тук идват и първите проблеми на всеки започващ разработването с AS3. Подаването на данни и обратното вземане на разултата става по следния начин:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// път до PHP файла
var phpFilePath:String = "phpFile.php";
var my_numberVariable:Number = 3;
// при
false - върща  стойност 1, при true - връща 2
var receiveTwoVars:Boolean = true;

var request_:URLRequest = new URLRequest(phpFilePath);
// мотода как
PHP ще взема променливите
request_.method = URLRequestMethod.POST;

// Тук си добавяме промеливите, които искаме да изпратим,
//
PHP ги хваща като: $_POST['numberVariable'] и $_POST['oneMore']
var varsToSend:URLVariables = new URLVariables();
varsToSend.numberVariable = my_numberVariable;
varsToSend.oneMore = receiveTwoVars;
request_.data = varsToSend;

var urlLoader:URLLoader=new URLLoader;
urlLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, sendAndGetVars);
urlLoader.load(request_);

function sendAndGetVars(info:Event):void {
   
if (!receiveTwoVars) {
       
trace(my_numberVariable+" * "+my_numberVariable+" = "+info.target.data.theResult);
   
} else {
       
trace(my_numberVariable+" * "+my_numberVariable+" = "+info.target.data.theResult+"  "+info.target.data.var2);
   
}
}


когато receiveTwoVars = false, output: 3 * 3 = 9
когато receiveTwoVars = true, output: 3 * 3 = 9  oneMoreAdde


Ето го и нашия PHP файл, който ще обработва входните данни и ще връща резултат:

CODE
1
2
3
4
5
6
<?php
  echo
'theResult='.($_POST['numberVariable']*$_POST['numberVariable']);
 
if ($_POST['oneMore']== TRUE) {
   
echo '&var2=oneMoreAdded';
 
}
?>

Ако преди това сте писали на AS2 ще знаете, че когато вземахме променливи можеше да записваме & зад всяка променлива. Това при AS3 ще доведе до следната грешка: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs. Тук правилото е между две промеливи да има един &, а ако има само една променлива, то няма &.

Примерни файлове за даунлоуд: ТУК



   


Ключови думи: PHP flash комуникация actionscript


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: dfm  
Занимвам се главно с девелъпмънт. С Flash от зимата, 2004. С Flex от 2007. PHP и MySQL от 2006. Възможности: Flash +PHP +MySQL, Flash +XML, Flash +Zink, Flash +Director.
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008