Flex ve Form Mail - Bölüm 2

June 2nd, 2009  

  • Digg
  • StumbleUpon
  • del.icio.us
  • Google
  • Furl
  • Technorati
  • BlinkList
  • blogmarks
  • Facebook
  • LinkedIn


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.

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" applicationComplete="init(event)">
	<mx:Style source="style/flexAdami.css" />

	<mx:Script>
		<![CDATA[
			import mx.validators.Validator;
			import mx.validators.StringValidator;
			import mx.validators.EmailValidator;
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;

			public var kontrolEtArray:Array;
			public var hataArray:Array
			public var epostaKontrol:EmailValidator
			public var adKontrol:StringValidator

			public function init(evt:Event):void {

				 kontrolEtArray = new Array()

				 epostaKontrol = new EmailValidator()
				 epostaKontrol.required = true
				 epostaKontrol.source = form_gonderenEposta
				 epostaKontrol.property = "text"
				 epostaKontrol.requiredFieldError = "Eposta giriniz";
				 epostaKontrol.missingAtSignError = "Eposta adresi @ işareti içermelidir";

				 adKontrol = new StringValidator()
				 adKontrol.required = true
				 adKontrol.source = form_gonderenAdi;
				 adKontrol.property = "text"
				 adKontrol.minLength = 2
				 adKontrol.requiredFieldError = "Ad giriniz";
				 adKontrol.tooShortError = "Minimum 2 karakter giriniz";

				 kontrolEtArray.push(epostaKontrol,adKontrol)

			}

			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

				hataArray = Validator.validateAll(kontrolEtArray);
				if(hataArray.length>0) {
					gonderButonu.enabled = true
					Alert.show("Gerekli alanları doldurunuz");

				} else {

					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%" required="true">
			<mx:TextInput id="form_gonderenAdi" width="100%" />
		</mx:FormItem>
		<mx:FormItem label="Eposta:" width="100%" required="true" >
			<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;
}

?>

Yorumlar [3 ]

  • hocam sanıyorum video ile ilgi sorun var…


  • FlexAdamı
    FlexAdamı

    Ne tür bir sorun. Bende herşey normal. Başka sorun yaşayan var mı?


  • kerem
    kerem

    video belli bir süre gectikten sonra duruyor ve tekrar baştan başlıyordu ama bu gün öle bir sorun yok belirtmek istedim…


  • Yorum Ekle

    1. (Gerekli)
    2. (Email adresi geçerli olmalıdır)
    3. (Gerekli)
     

    Ders hakkinda

    Yazar: FlexAdamı
    Yazılım: Flex - AS 3.0
    Seviye: Orta
    1 Puan2 Puan3 Puan4 Puan5 Puan (2 oy, Ortalama: 5/5)
    Loading ... Loading ...
    Bu dersimizde daha önceden hazırlamış olduğumuz form mail uygulamasına validation(form kontrolu) ekliyoruz.
    BİR KAHVENİ İÇERİM ;)
    Google Friend Connect
    Etiketler
    Ilgili Diger Konular
    Fazlaca Okunanlar