Merhabalar.
Bu yazımda AmfPHP ve ezSQL ile Flash Builder kullanarak nasıl daha rahat veri kaydedebileceğimizi göstereceğim.
Öncelikle gerekli dosyaları edinelim. ezSQL’i şu adresten indirelim. Bu benim Türkçe karakterler için düzeltme uyguladığım dosya. Bir önceki yazımda bahsetmiştim. Daha sonra amfphp yi şu adresten indirelim. Son olarak amfphp bağlantısını her seferinde yeniden yazmak beni sıktığı için kendi hazırladığım çok basit amfphp sınıfını indiriyoruz.
Şimdide Flash Builderda yeni bir proje açıp email ve şifre girişi yapılan bir form oluşturuyoruz.
<mx:Form>
<mx:FormHeading label="Kullanıcı Girişi"/>
<mx:FormItem label="E-Mail">
<s:TextInput id="email"/>
</mx:FormItem>
<mx:FormItem label="Şifre">
<s:TextInput id="sifre"
displayAsPassword="true"/>
</mx:FormItem>
<mx:FormItem>
<s:Button click="onClick()"
label="Giriş Yap"/>
</mx:FormItem>
</mx:Form>
Sınıfımızı import edip gerekli verileri gönderelim.
import com.ismail.amfphp.Connect;
import mx.controls.Alert;
public var amf:Connect;
public function init():void
{
amf = new Connect();
amf.setPaths("http://localhost/amfphp/gateway.php","denemeClass.MainDenemeClass.");
}
public function onClick():void
{
var obj:Object = {email:email.text,sifre:sifre.text};
amf.amfphp("kayitEkle",obj,kayitSonucu);
}
public function kayitSonucu (e:Object):void
{
if(e.toString() == "1")
{
Alert.show("Kayit Başarılı.");
}
else
{
Alert.show("Başarısız.");
}
}
amf.setPaths() fonksiyonu bizden iki tane veri bekliyor. Birinci veri amfphp nin gateway.php dosyasının yolu. Çünkü bunun üzerinden iletişim kuracak. Diğer veri ise bizim işlemleri yapacak olan php dosyamızın yolu. Bu şekilde yazmamın nedeni şu. Bu adres her veri isteğinde yazılmak zorunda. Biz bir kere verip kurtuluyoruz
“denemeClass” services klasörü içindeki benim sınıfımın bulunduğu klasör “MainDenemeClass” ise php dosyamın adı.
Gelelim php dosyamıza. Onunda içeriği şu şekilde
<?php
include_once 'ez_sql_core.php';
include_once 'ez_sql_mysql.php';
class MainDenemeClass extends ezSQL_mysql
{
function MainDenemeClass()
{
include_once 'db.php';
$this->ezSQL_mysql ( DB_USER, DB_PASS, DB_NAME, DB_HOST );
}
function kayitEkle($gelenVeri)
{
extract($gelenVeri);
$qq = $this->query("insert into uyeler values('','$email','$sifre')");
if($qq)
{
return 1;
}
else
{
return 0;
}
}
}
Sonunda ?> yok farkettiyseniz. Gerekte yok. Bazen sorun çıkartabiliyor o yüzden koymuyorum. Burada yine aynı sırayla dosyalarımızı import ediyoruz ve sınıfımızı ezSQL_mysql ile extend ediyoruz.
Flash Builder içinden çağırdığımız kayitEkle fonksiyonu bir adet veri kabul ediyor. Bunu fonksiyon içinde extract() ile parçalıyoruz. Bu sayede her gelen veri düzgün bir şekilde ayrıştırılmış oluyor.
İşlemleri yapıp geriye istediğimiz veriyi döndürüyoruz.
Posted by ismail şimşek | Posted in Actionscript 3.0 | Posted on 24-05-2010-05-2008
0
Merhabalar.
Üzerinde çok zaman harcadığım ve sonunda çözümünü bulduğum bir konuyu paylaşacağım. Hazırlamış olduğunuz uygulama farklı bir server ile iltişime geçiyor ve veri alıyorsa swf dosyanız size güvenliği ihlal ettiğiniz belirten bir uyarı verecek ve çalışmayacaktır. Çünkü swf dosyası bu adrese güvenmez ve veri almanızı engeller.
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html
adresinden güvenilen site olarak serveri ve kendi dosyanızın bulunduğu dizini kaydedebilir bu sorunu çözebilirsiniz. Ama her zaman işe yaramıyor.
Çözüm basit aslında. Veri alacağınız sunucuda crossdomain.xml isimli bir dosya olası gerekiyor. Dosyanın içeriği şu şekilde
<xml version="1.0">
<cross-domain-policy>
<allow-access-from domain="*"></allow-access-from>
</cross-domain-policy>
</xml>
Bu sorununuzu çözebilir ama zaman zaman farklı uygulamalarda hata almaya devam edebilirsiniz. Bunun önüne geçmek için ise yapmanız gereken şey LoaderContext sınıfını kullanmak.
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
loader.load(verinin_urlsi,context);
Bu şekilde swf dosyasının izin dosyasını kontrol edip varolduğunu anlamasını sağlamış oluyoruz ve bize bir daha sorun çıkartmıyor.
Kolay gelsin.
Kaynaklar:
http://enginyoyen.com/blog/tr/swf-dosyalarini-guvenlik-ihlali/
Posted by ismail şimşek | Posted in Actionscript 3.0, Php | Posted on 09-04-2010-05-2008
13
Merhaba arkadaşlar. Bu yazımda Actionscript 3.0 ve php ile veritabanından veri çekmeyi, veritabanına veri göndermeyi anlatacağım. Tabi bunu çok basit düzeyde ve amatörce anlatacağım. Bu şekilde anlatacağım çünkü öncelikle bu kullanımı bilmeliyiz. Daha sonra veri alışverişleri için daha farklı yöntemler sınıflar araçlar kullanabiliriz.
Şimdi anlatıma başlayalım.
Read the rest of this entry »
Posted by ismail şimşek | Posted in Actionscript 3.0 | Posted on 14-09-2009-05-2008
0
Merhabalar. Gene bir soru üzerine hazırlamış olduğum bir yazıyı sizlerle paylaşacağım. Sorun başlıktanda anşılacağı üzere resim önizlemesi. Resim gösterilecek ama hosta upload edilmeyecek. Yani üzerinde bir takım işlemler yapıldıktan sonra istenirse upload edilecek. Bu durumda aşağıdaki kodları koullanıyoruz.
var file:FileReference = new FileReference();
stage.addEventListener(MouseEvent.CLICK,sec);
file.addEventListener(Event.SELECT,yukle);
function sec(e:MouseEvent)
{
file.browse();
}
function yukle(e:Event):void
{
file.load();
file.addEventListener(Event.COMPLETE,goster);
}
function goster(e:Event)
{
var loader:Loader = new Loader();
loader.loadBytes(e.target.data);
addChild(loader);
}
Çalışan örnek uygulamaya şuradan erişebilir buradan da bilgisayarınıza indirebilirsiniz.
Posted by ismail şimşek | Posted in Actionscript 3.0 | Posted on 14-09-2009-05-2008
0
Geçenlerde bir projemde lazım olmuştu. Araştırıp bulmuştum aslında o kadarda karışık bir şey değilmiş. Hemen kodlarını veriyorum. Kodların altında açıklamaları bulabilirsiniz. Read the rest of this entry »
Posted by ismail şimşek | Posted in Actionscript 3.0 | Posted on 01-09-2009-05-2008
0
Bugün Flash CS4 ile çalışırken birden bire bir hata almaya başladım. Output panelinde şunlar yazıyordu:
Plugin tool script error in method ik_clearActiveTrees
Plugin tool script error in method ik_activateTreesFromSelection
Nereye tıklarsam tıklayayım aynı şeyler yazmaya devam ediyordu. İnternette araştırınca çözüme ulaştım ve sizlerle paylaşmak istedim.
Çözüm için öncelikle flashı kapatıyoruz ve şu dizindeki
Documents and Settings/Kullanici_Adiniz/Local Settings/Application Data/Adobe/Flash CS4/en/
Configuration dosyasını siliyoruz ve tekrar başlatıyoruz. Ve puff hata yok.
Herkese iyi çalışmalar.
Posted by ismail şimşek | Posted in Actionscript 3.0 | Posted on 27-08-2009-05-2008
0
Bildiğiniz gibi ya da fark edeceğiniz üzere actionscript 3.0 da artık eval fonksiyonu kullanılmıyor. Peki bunun yerine ne kullanacağız. Sahnemizde instance name i mc1 olan bir movieclip var ve x özellği 0. Yani sola yaslı durumda. Kodlarımıza bir göz atalım.
var fnk:String="mc1";
function degistir(nesne:String){
this[nesne].x=300;
}
degistir(fnk);
trace(mc1.x); //300
gördüğünüz gibi “this[]” içine yazdığımız string ifadenin işaret ettiği nesne bulunup x özelliği değiştirilmiştir. Örnek dosyayı indirmek için tıklayınız.
Posted by ismail şimşek | Posted in Actionscript 3.0 | Posted on 27-08-2009-05-2008
0
Flashta hazırladığımız bir nesnenin rengini zaman zaman değiştirmek isteyebiliriz. Örneğin bir movieClip hazırladık ve tıklandığı zaman artık onun gri gözükmesini istiyoruz. Bunun için mc içine bir frame daha ekleyip buraya gri renkli olanını koyabilir ya da aşağıda anlatacağım kodları deneyebilirsiniz. Kodları Arda‘nın yaptığı çalışmadan aşırdım
. Kendisine teşekkür ediyorum.
Read the rest of this entry »
Print Screen tuşuna bastınız. Ama herhangi bir ağır resim editör programını ya da dandik painti açmadan resminizin belli bir kısmını almak istiyorsunuz. Peki ne yapmalıyız?Ozaman Kes ve Kaydet’i kullanmalıyız. Basit kullanımı ile kestiğiniz resimi isterseniz kopyalar isterseniz .png formatında istediğiniz yere kaydeder. Aşağıdaki örnek resim Kes ve Kaydet ile hazırlandı. Read the rest of this entry »

AS3 Coder Air tabanlı bir masaüstü uygulaması. Görevi belirlediğimiz parametrelere göre bize kod üretmesi. Read the rest of this entry »