FLASH MAHER
Adobe Flash Professional – Univerzalna knjiga
ACTION SCRIPT 3.0
FLASH I PHP
Pošto Flash ima ograničenja u radu sa fajlovima i bazom podataka, da bi snimili ili učitali neki sadržaj sa interneta često je potrebno pozvati neki drugi programski jezik koji ima ugrađene i ove mogućnosti. Najpopularniji programski jezik koji se koristi za ovu namenu je ’PHP’ (Php Hypertext Preprocessor). Za razliku od Flash-a koji se izvršava na našem kompjuteru, php se izvršava na serveru, tako da je uz pomoć njega moguće raditi sa informacijama, koje se ne mogu nikako razotkriti – korisno za šifre.
Php je ’open-source software’ i besplatan je za upotrebu. Podržava rad sa bazama podataka raznih tipova: MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC i druge. Jedan je od najrasprostranjenih programskih jezika za rad na serverima, i podržavaju ga skoro svi serveri. Da bi ostvarili komunikaciju sa php-om potrebno je osnovno znanje o ovom jeziku. Veoma dobra objašnjenja o tome kako programirati u programskom jeziku php se mogu naći na sajtu: http://www.w3schools.com/php/ gde se mogu naći objašnjenja i za druge programske jezike.
Povezivanje Flash-a i php-a nije komplikovano, ali postoje određena pravila koja se moraju poštovati. Postoji dva načina povezivanja sa programom na serveru koji radi u php-u – jednosmerna komunikacija i dvosmerna komunikacija.
1) Jednosmerna komunikacija
Kao i osnovni sadržaj koji se nalazi na nekoj adresi na internetu, Flash može da startuje i neki php fajl na internetu u svom ili u novom prozoru.
Na primer na adresi http://www.maher.rs/Examples/Php/Example_1.php se nalazi najprostiji program u php-u sa sledećim kodom:
<?php
$UserName = $_GET[“UserName”];
echo “Hi ” . $UserName . ” …”;
?>;
Ovaj kod se poziva iz AS3.0 na sledeći način:
import flash.net.*;
var InternetPath:String = “http://www.maher.rs/Examples/Php/Example_1.php”;
var UrlRequest:URLRequest = new URLRequest(InternetPath);
navigateToURL(UrlRequest, “_blank”);
U ovom primeru u istom prozoru u pregledaču interneta koji koristimo se startuje program sa date putanje. Pošto nismo poslali podatak ‘UserName’ php štampa izlaz: ‘Hi …’.
Naredba ‘navigateToUrl’ može da ima i drugi parameter koji određuje gde se izvršava navedeni php.
navigateToURL(UrlRequest, “_blank”);
Moguće opcije drugog parametra su: “_blank”, “_top”, “_parent” i “_self” (novi prozor, glavni prozor, prozor – roditelj i svoj prozor).
Osnovni model jednosmerne komunikacije sa slanjem podataka je sledeći:
import flash.net.*;
var InternetPath:String = “http://www.maher.rs/Examples/Php/Example_1.php”;
var Variables:URLVariables = new URLVariables();
Variables.UserName = “YourName”;
Variables.Password = “Password”;
var UrlRequest:URLRequest = new URLRequest(InternetPath);
UrlRequest.method = URLRequestMethod.GET;
UrlRequest.data = Variables;
var UrlLoader:URLLoader = new URLLoader();
UrlLoader.addEventListener(Event.COMPLETE, PhpAnswer);
try {
navigateToURL(UrlRequest);
}
catch (e:Error) {
// error
}
Metoda za slanje podataka u ovom slučaju je ‘GET’.
Na ovaj način Flash šalje podatke UserName i Password, koje php može da iskoristi za izvršavanje nekog zadatka – na primer kontrole prijavljivanja. Sada bi php ispisao na enranu: ‘Hi YourName …’.
Međutim ako želimo da dobijemo povratne informacije u isti Flash program, moramo se poslužiti predviđenim naredbama za to.
2) Dvosmerna komunikacija
Da bi se ostvarila dvosmerna komunikacija možemo koristiti primer za php na adresi http://www.maher.rs/Examples/Php/Example_2.php:
<?php
$UserName = $_POST[“UserName”];
$Password = $_POST[“Password”];
if($UserName == “Voja” && $Password == “123456”) {
$Answer = “Answer=Ok&Message=Welcome ” . $UserName . “!”;
}
else {
$Answer = “Answer=No&Message=Wrong data…”;
}
echo $Answer;
?>
Ovaj primer poziva sledeći kod iz AS3.0:
import flash.net.*;
var InternetPath:String = “http://www.maher.rs/Examples/Php/Example_2.php”;
var PostVariables:URLVariables = new URLVariables();
PostVariables.UserName = “Voja”;
PostVariables.Password = “123456”;
var UrlRequest:URLRequest = new URLRequest(InternetPath);
UrlRequest.method = URLRequestMethod.POST;
UrlRequest.data = PostVariables;
var UrlLoader:URLLoader = new URLLoader();
UrlLoader.addEventListener(Event.COMPLETE, ResponseHandler);
try {
UrlLoader.load(UrlRequest);
}
catch (event:Error) {
trace(“Internet error…”);
}
function ResponseHandler(event:Event):void {
UrlLoader.removeEventListener(Event.COMPLETE, ResponseHandler);
UrlLoader = URLLoader(event.target);
var PostVariables:URLVariables = new URLVariables(UrlLoader.data);
if(String(PostVariables.Answer) != “Ok” && String(PostVariables.Answer) != “No”) {
trace(“No answer from php…”);
}
else {
trace(PostVariables.Message);
}
}
Iz ovog primera može da se zaključi da AS3.0 šalje podatke UserName i Password, a php vraća podatke Answer i Message. Razlika od prvog postupka je u tome da se php program izvršava na serveru, bez da se otvara negde u nekom prozoru, a vraća podatke u AS3.0 u standardizovanim parovima: ime_1=vrednost_1&ime_2=vrednost_2… Zbog ovog standarda ne smete da koristite u povratnim informacijama znakove ‘&’ i ‘=’, sem za njihovu namenu.
Kada imate potrebu za bilo kojim izvršavanjem programa u php-u, obavezno koristite povratne informacije da bi znali da li je program u php-u izvršen.
FLASH MAHER!
FLASH MAHER – UVOD!
FLASH MAHER – OSNOVNI PODACI!
FLASH MAHER – OPERATORI I USLOVNE NAREDBE!
FLASH MAHER – FUNKCIJE!
FLASH MAHER – DOGAĐAJI!
FLASH MAHER – FILTERI!
FLASH MAHER – GRAFIKA!
FLASH MAHER – MASKA!
FLASH MAHER – ANIMACIJA!
FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE!
FLASH MAHER – FLASH I PHP!
VojaMaher
[…] FLASH MAHER! FLASH MAHER – UVOD! FLASH MAHER – OSNOVNI PODACI! FLASH MAHER – OPERATORI I USLOVNE NAREDBE! FLASH MAHER – FUNKCIJE! FLASH MAHER – DOGAĐAJI! FLASH MAHER – FILTERI! FLASH MAHER – GRAFIKA! FLASH MAHER – MASKA! FLASH MAHER – ANIMACIJA! FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE! FLASH MAHER – FLASH I PHP! […]
[…] FLASH MAHER! FLASH MAHER – UVOD! FLASH MAHER – OSNOVNI PODACI! FLASH MAHER – OPERATORI I USLOVNE NAREDBE! FLASH MAHER – FUNKCIJE! FLASH MAHER – DOGAĐAJI! FLASH MAHER – FILTERI! FLASH MAHER – GRAFIKA! FLASH MAHER – MASKA! FLASH MAHER – ANIMACIJA! FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE! FLASH MAHER – FLASH I PHP! […]