Get the Flash Player to see this player.
Bu ders için “Demo Uygulama” güvenlik sebeplerinden ötürü bulunmamaktadır. Kaynak kodları indirip kendi sunucunuzda deneyebilirsiniz.
Ek Kaynaklar:
PHPMailer (Kullandığım mail class’ı)
Aptana (Kullandığım PHP Editörü)
Main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" viewSourceURL="srcview/index.html">
<mx:Style source="style/flexAdami.css" />
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
public function gonderiDurumu(evt:ResultEvent):void {
gonderButonu.enabled = true;
switch(evt.currentTarget.lastResult.sonuc) {
case "evet":
form_gonderenEposta.text = ""
form_gonderenAdi.text = ""
form_konu.text = ""
form_mesaj.text = ""
Alert.show("Mesajınız gönderilmiştir","Teşekkürler")
break;
case "hayir":
Alert.show("Daha sonra yeniden deneyiniz","Hata!")
break;
}
}
public function formGonder(evt:MouseEvent):void {
gonderButonu.enabled = false
var veriler:Object = new Object()
veriler.action = "formGonder"
veriler.gonderenEmail = form_gonderenEposta.text
veriler.gonderenAd = form_gonderenAdi.text
veriler.konu = form_konu.text
veriler.mesaj = form_mesaj.text
servis.send(veriler);
}
]]>
</mx:Script>
<mx:HTTPService id="servis"
url="http://localhost/flexAdamiWebRoot/FormMail/gateway.php"
method="POST"
resultFormat="flashvars"
result="gonderiDurumu(event)"
/>
<mx:Panel title="Bize Ulaşın" width="500" height="400" paddingLeft="10" paddingRight="10">
<mx:Form id="epostaFormu" width="100%">
<mx:FormItem label="Ad:" width="100%" >
<mx:TextInput id="form_gonderenAdi" width="100%" />
</mx:FormItem>
<mx:FormItem label="Eposta:" width="100%" >
<mx:TextInput id="form_gonderenEposta" width="100%" />
</mx:FormItem>
<mx:FormItem label="Konu:" width="100%" >
<mx:TextInput id="form_konu" width="100%" />
</mx:FormItem>
<mx:FormItem label="Mesaj:" width="100%" >
<mx:TextArea id="form_mesaj" width="100%" height="200" />
</mx:FormItem>
<mx:FormItem width="100%" >
<mx:Button label="Gönder" id="gonderButonu" click="formGonder(event)" />
</mx:FormItem>
</mx:Form>
</mx:Panel>
</mx:Application>
gateway.php
<?php
require_once ("lib/class.phpmailer.php");
switch($_POST['action'])
{
case "formGonder":
$mail = new PHPMailer();
$mail->From = $_POST['gonderenEmail'];
$mail->FromName = $_POST['gonderenAd'];
$mail->AddAddress("buraya kendi eposta adresiniz gelicek");
$mail->Subject = "Siteden Mesaj: ".$_POST['konu'];
$mail->Body = $_POST['mesaj'];
if ($mail->Send())
{
echo "sonuc=evet";
} else
{
echo "sonuc=hayir";
}
break;
}
?>
Merhaba,
Yine geçerli bir konuyu akıcı ve güzel bir şekilde anlatmışsınız.
Kod’u kendi bilgisayarımda deneyerek çalıştığını görmek isterdim fakat PHP modülüm kurulu olmadığından maalesef deneyemedim. Benim size sormak istediğim soru; dersinizin sonunda deneme mesajınızda Türkçe mesaj göndermenize rağmen Türkçe karakterler kullanmamanızın nedeni nedir? Türkçe karakterler içeren mesaj göndermek için ayrı bir ayar yapılması gerekiyorsa bunu da sonraki dersinizde anlatabilirmisiniz?
Çalışmalarınızda başarılar diler, daha sık görsel derslerinizi ilgi ile beklerim.
Onur
Merhaba Onur,
Yorum için teşekkürler. Türkçe karakterleri kasten girmedim. Flash Player 10 Debugger versiyonunun Mac için Tr karakter sorunu var. Windows (Normal & Debugger) , Mac (Normal) Flash Player versiyonlarından bir sıkıntı olmayacaktır.
Merhaba,
Cevabınız için teşekkür ederim. Fakat 1 soru daha oluştu bende. O da; Flex ile yazılan ve compile edilen kodlar SWF formatına dönüştürülüp web e konuyor. SWF Decompiler ile tekrar açık koda dönüşen bu program ile mail gönderme url ve parametreleri ele geçirildiğinde, art niyetli kişiler tarafından yazılan program aracılığıyla gereksiz yüzlerce e-posta (veya forum bilgileri) gönderilme imkanı da doğmuş olmazmı ? Bunun önüne nasıl geçilebileceği konusunda bir öneriniz varmı?
Mesela Java Appletlerde de aynı sorun var fakat bazı programlar ile Java sınıfları çok garip dosya isimleri verilerek kodlar parçalanıp, decompile edilse bile anlaşılması çok zor duruma getirildiğinden bir nebze bu tür art niyetli işlemlerin önüne geçilebiliyor. Böyle birşey Flex içinde geçerlimi?
İyi çalışmalar.
Onur
Merhaba,
Flex ile geliştirilen uygulamalar sizinde belirtiğiniz gibi SWF formatında derleniyor. Bu SWF dosyaları çeşitli yazılımlar yada kendi methodlarınız ile şifrelenebilirler. Yaptığımız bu örnekte bu tür bir çalışma yapmadık bu sebepten dileyen kodları rahatça inceleyebilir.
Başka uygulayabilinecek yollarda bulunmaktadır. Örneğin sunucu tarafındaki programımız istediğin istediğimiz bir domain’den mi geliyor gibi. Diğer bir yöntem ise bir session ile bir token oluşturulması ve bunun flashtan sunucuya gönderilip sunucuda kontrol edildikten sonra gönderimi izin verilmesi gibi. Örnekler çoğaltılabilir.
Sormak istediğim soru şu. Ben hali hazırda AS2 kullanarak PHP ile mail gönderebiliyorum ve bu yaapılanların hepsini yapabiliyorum ama bu kadar uzun kod satırları yok. Bununüzerine ben neden bunları kullanayım. Bu sorumu sakın bilmişlik olarak algılamayın. Amacım neden Flexi öğrenmemiz gerek derslerinizin hepsini izledim . Ben AS2 ve xml ve PHP kullanarak bir veri tabanı sistemi geliştirdim ve internet sitelerinde kullanıyorum. Ama AS3 gelişti ve Flex gelişti neden bunlara ihtiyacımız var kendimizi dahada zorlamıyormuyuz sürekli bir şeyler öğrenmek zorunda kalıyoruz. Bir sorum da şu eğer bunları öğreneceksek daha aktif nasıl öğrenebiliriz. Taşekkürler
hocam emeğinize binlerce kez teşekkürler anlatığınız konu üzerinde bir çalışma yaptım, windows işletim sistemi kullanıyorum flash player 9 yuklu projeyi yüklediğim bilgisayar ise linux server, uygulama çalıştığında bir problm yok ama türkçe karekterler bozuluyor mailclass dosyasının public $CharSet = ‘iso-8859-1′; sonunu 9 olarak değiştiriyorum yine türkçe karekterlerde sorun çıkarıyor, linux severin apache ayarlarına bakıyorum orası 9 normal, mail gonderim alımlarında türkçe kareketer için server tarafında bir problem yok ama uygulama tarafından gönderilince bozuluyor ne yapabiliriz bu konu hakkında ??
Merhaba ilker,
Temel fark as3′un OOP olması ve çok daha hızlı çalışmasıdır. Bazı temel işler için as2 veya as3 kullanılabilir. Tabiki her ikisinde de yazdıgın programlar aynı işlemi yapabilirler. Neden öğrenmek sorusuna ise dünya bir yöne giderken buna direnmek pek mümkün olmuyor
Sen AS2 kullanıp projeler geliştirebilirsin ancak Adobe AS2′ye desteği kestiği zaman yada bir şeyleri AS2′de yapamadığın zaman eninde sonunda AS3′e geçmek durumda kalıcaksın. Burada tavsiyem mümkün olduğu kısa sürede ne zaman zaman bulabilirsen AS3 öğrenmeye çalışmak olucaktır.
Merhaba Adil,
Yorumların için teşekkürler. $CharSet = utf-8′ yapalım birde php dosyasını kayıt ederken dosyayıda “utf-8″ olarak kayıt edelim. Notepad ile açıp “Save as” dediğin zaman alt taraftan dosya encoding’i belirtebilirsin. SWF’yi tutan html dökümanınıda aynı işleri uygulayalım. Bir denermisin. Sorun devam ederse buraya yazabilirsin.
hocam denedim, ama yine de aynı problemle karşılaştım, php dosyalarımı dremweaver kullanarak düzenlediğin için kayıt aşamasında da dosya saklama formatına dikkat etmeme rağmen olmadı hocam bende bir function yazdım i,ğ,ü,ç,ö,ş gibi türkçemizde bulunan karekterleri mecburen cevirmek zorunda kaldım ): , sorun şimdikilik çözüldü, ilgi ve alakanıza çok teşekkür ederim, yeni derslerinizi sabırsızlıkla beklerken çalışmalarınızda başarılar dilerim.
Merhaba,
Benim sorum Türkeç karakterler ile ilgili. Flex’te hiçbir ç,ö,ü,ş gibi Türkçe karakterleri text input alanına girebiliyorum ancak ı ve ğ yi tuşladığımda sizin aynı video’nuzdaki gibi tanımsız bir karakter basılıyor ekrana.
Kaydettiğim text i okuttuğumda da ı karakteri görünmüyor.
Mac OSX kullanıyorum. Bununla ilgili mi onu da bilemedim.
Bu durumu düzeltmek için önerebileceğiniz bir şey var mı?
Merhaba Alp,
Flash Player(MAC Version) ile ilgili bir bug. Henüz düzelmedi diye biliyorum.
Hocam kaynak dosyalarınızda bulunan php klasöründeki dosyaları localhostta flexAdamiWebRoot klasörünü oluşturdum içine FormMail klasörünü oluşturup FormMail klasörünün içine attım fakat projeyi çalıştırdığımda butona basıyorum hata mesajı bile vermiyor sorun sizce ne olabilir