Komunikasi dengan PHP script

Selain dapat mengambil data dari file eksternal seperti di sini. flash juga dapat mengirim data ke PHP file dan menerima kembali output dari PHP tersebut. Dengan demikian pemrograman yang kita lakukan tidak hanya client side (ActionScript) tapi juga server side, yang tentu saja membuat aplikasi kita menjadi lebih ampuh dan aman karena user tidak akan tahu script didalam PHP.

Data yang dikirimkan ke PHP bisa berupa POST maupun GET seperti halnya pengiriman variabel melalui browser. Selanjutnya dapat diolah lebih lanjut dengan melibatkan database atau yang lainnya.


Berikut ini CSS (contoh sangat sederhana ) dari aplikasi flash yang berkomunikasi dengan PHP.

1. Flash menerima input dari user melalui TextField berupa angka
2. Flash mengirimkan data tesebut ke PHP dengan method POST
3. PHP menerima data tersebut dan mengembalikan data berupa data pangkat2 dan pangkat3
4. Flash menerima hasil dari PHP dan ditampilkan.

 

 

 

Alat dan Bahan :
-URLLoader
-URLRequest
-URLVariable

 

Definisikan dulu perlengkapan kita

Show Plain Text
  1. var hasil:Number;
  2. var loader:URLLoader;
  3. var request:URLRequest;
  4. var variables:URLVariables;
  5.  

Selanjutnya tentukan format data yang akan diterima oleh loader, yaitu variabel yang URL-encoded. contoh: var1=3&var2=6&var3=9.

Show Plain Text
  1. loader = new URLLoader();
  2. loader.dataFormat = URLLoaderDataFormat.VARIABLES;

Tentukan script php yang diakses, ingat nama domain dan subdomain harus sama dengan keberadaan file swf-nya, jika tidak script php tidak bisa diakses kecuali dengan allowDomain atau crossdomain.xml

Show Plain Text
  1. request = new URLRequest("/fl/proses.php");

Variabel yang akan dikirim dikemas dalam 'variables',data berupa POST.

Show Plain Text
  1. variables=new URLVariables();
  2. request.method = URLRequestMethod.POST;
  3. request.data = variables;

Langkah terakhir adalah mendefinisikan event dari tombol, yaitu mengambil nilai dari input text dan dikirim melalui loader yang telah kita definisikan sebelumnya.

Show Plain Text
  1. tombol.addEventListener(MouseEvent.MOUSE_DOWN,kirimDanTerima);
  2. function kirimDanTerima(e:MouseEvent) {
  3. //beri tulisan loading..
  4. status_txt.text = "Loading...";
  5. hasil_txt.text = '';
  6. variables.kirim = Number(input_txt.text);
  7. //tentukan function yang akan dipanggil saat loader menerima data dari PHP
  8.  
  9. loader.addEventListener(Event.COMPLETE,tampilkan);
  10. loader.load(request);
  11. }

Sedangkan function 'tampilkan' adalah sebagai berikut, Data yang diterima dari php file dapat diakses dengan e.target.data.pangkat2 dan e.target.data.pangkat3. pangkat2 dan pangkat3 adalah nama variabel yang dikirimkan oleh PHP. Kita lihat php script-nya dihalaman berikutnya.

 

Show Plain Text
  1. function tampilkan(e:Event):void {
  2. //hilangkan tulisan loading
  3. status_txt.text = "";
  4. hasil_txt.text = e.target.data.pangkat2;
  5. hasil2_txt.text = e.target.data.pangkat3;
  6. }

PHP nya

Show Plain Text
  1. $bilangan = $_POST['kirim'];
  2. $pangkat2 = $bilangan*$bilangan;
  3. $pangkat3 = $bilangan*$bilangan*$bilangan;
  4. print "pangkat2=$pangkat2&";
  5. print "pangkat3=$pangkat3";

Variabel 'kirim' merupakan variabel yang dikirim oleh flash, selanjutnya PHP meng-outputkan pasangan variabel dan nilai dengan format URL-encoded (sesuai dengan setting loader pada ActionScript). Nama variabel yang di-outputkan adalah 'pangkat2' dan 'pangkat3'. Kedua variabel inilah yang akan ditampilkan oleh flash sebagai hasil dari pengolahan script PHP.

May 3rd 2009, 00:00
zufikar
klo mau buat button flash yang dapat menjalankan script php gmn caranya? atau memasukkan script php di dalam flash?apa itu bisa dan caranya gimana? tolong kirim ke email saya ardiyan_fat@yahoo.com
May 6th 2009, 00:00
boontaran
setahu saya gak bisa njalanin php secara langsung. Soalny php server side sedangkan flash client side. Cara yg umum ya emang send data ke php (POST/GET) trus terima outpunya.
Jul 5th 2009, 00:00
xXx
kk tny donk, aq uda nyalin persis tp koq tetep ga jalan ya? bisa tlg kirimin file nya ga? email q endy_xxx@yahoo.com thx b4
Aug 27th 2011, 08:41
udah aku coba code di atas, eh... ada error ini informasinya : 1119: Access of possibly undefined property COMPLETE through a reference with static type flash.events:MouseEvent.
source: loader.addEventListener(Event.COMPLETE, tampilkan);
kira-kira apanya ya boz...?
Aug 27th 2011, 15:48
boontaran
@landi

coba import dulu Event.COMPLETE-nya

import flash.event.*;

Add your comment

CAPTCHA
reload code