Php Flash kullanarak ziyaretçi defteri yapımı

Bu makalemizde PHP-FLASH etkileşimini kullanarak basit bir düzeyde ziyaretçi defteri yapacağız
guest.fla'nın oluşturulması

    * File-New(Ctrl+N) ile yeni bir flash dosyası oluşturun.
    * Insert-New Symbol'e(Ctrl+F8) tıklayın.
    * Çıkan pencerenin Name kısmına guestform yazın, Movie Clip'i seçin OK'e basın.
    * Ctrl+F7 (Window-Components)'e basın.
    * Ekrana 4 Label, 3 TextInput, 1 TextArea, 2 Button'ı Resim 1'deki gibi yerleştirin.
    * Label'ların değerlerini labellar seçili iken sahnenin alt tarafında bulunan (varsayılan) Parameters - Text kısmından değiştirebilirsiniz.
    * TextInputların Instance Name'lerini ad, soyad, eposta olarak oluşturun.

Php Flash kullanarak ziyaretçi defteri yapımı

    * TextArea'ya mesaj ismini verin.
    * Butonlardan birine gonder diğerine temizle ismini verin.
    * İlk frame'i seçin F9(Window-Actions)'a basın.

Php Flash kullanarak ziyaretçi defteri yapımı

    * Aşağıdaki kodları girin.
function tikla(){
        kaydet=1;
        gonderad=_root.guestwindow.ad.text;
        gondersoyad=_root.guestwindow.soyad.text;
        gondereposta=_root.guestwindow.eposta.text;
        gondermesaj=_root.guestwindow.mesaj.text;
       
        var hatam:Hata = new Hata();
        if(hatam.epostaHatasi(gondereposta)==1) kaydet=0;
        if(hatam.boslukHatasi(gonderad,gondersoyad,gondermesaj)==1) kaydet=0;
        if (kaydet==1) {
                        _root.guestwindow.loadVariables("kaydet.php?ad="+gonderad+
                                                                                        "&soyad="+gondersoyad+
                                                                                        "&eposta="+gondereposta+
                                                                                        "&mesaj="+gondermesaj,"post");

        }
}
function temiz(){
        _root.guestwindow.ad.text="";
        _root.guestwindow.soyad.text="";
        _root.guestwindow.mesaj.text="";
        _root.guestwindow.eposta.text="";
}
_root.guestwindow.onData = function() {
    var basari:Hata = new Hata();
        basari.kayitDurumu(durum);
}

_root.guestwindow.temizle.addEventListener("click",temiz);
_root.guestwindow.gonder.addEventListener("click",tikla);
 
    * Scene 1'e tıklayıp ana sahneye dönün.
    * Ctrl+F8'e(New Symbol) basın.
    * Çıkan pencerenin Name kısmına show yazın, Movie Clip'i seçin OK'e basın.
    * Components penceresinden bir label ve bir TextArea ekleyin.(Resim 2)
    * Label'ı mesaj olarak isimlendirin ve TextArea'ya pano ismini verin.
    * Birinci Frame'e tıklayın ve aşağıdaki kodları girin.

_root.guestshow.onData=function(){
        _root.guestshow.pano.text=kayitlar;
}
 
    * Scene 1'e tıklayıp ana sahneye dönün ve Components'ten(Ctrl+F7) 2 tane buton ekleyin.
    * Button'ların instance name'lerini gonder ve ekle olarak belirleyin.
    * Button'ların label'larını Kayıtları Göster ve Yeni Kayıt Ekle olarak değiştirin.(Butonlardan herhangi biri seçili iken Parameters-Label)
    * Resim1 veya Resim2'deki gibi sağ tarafa yerleştirin.
    * Ana sahnede iken ilk frame'i seçin ve aşağıdaki kodları girin.
_root.guestwindow._visible=false;
_root.guestshow._visible=false;

function kayitGoster(){
        _root.guestwindow._visible=false;
        _root.guestshow._visible=true;
        _root.guestshow.loadVariables("guest.php","post");
       
}

function kayitEkle(){
        _root.guestwindow._visible=true;
        _root.guestshow._visible=false;
}
_root.goster.addEventListener("click",kayitGoster);
_root.ekle.addEventListener("click",kayitEkle);
_root.loadVariables("guest.txt");
 
    * Şimdi Library(Ctrl+L)'den guestform ve show pencerelerini ana sahneye yerleştirin.
    * guestform penceresinin Instance Name'ine guestwindow yazın.
    * show penceresinin Instance Name'ine guestshow yazın.
    * File-Save-guest.fla olarak kaydedin
    * Publish etmek(yayınlamak) için (guest.html ve guest.swf oluşturmak için ) shift+F12'ye basabilirsiniz(sayfalar otomatik olarak kendinden oluşur) yada File-Publish ayarlarından da yapabilirsiniz.
    * Dikkat: Bir sonraki adım olan "Hata.as ın oluşturulması" nı guest.fla'yı oluşturmadan önce yaparsınız süreç içerisindeki muhtemelen oluşabilecek hatalardan uzak kalırsınız.

 
Hata.as'ın oluşturulması

    * "as" uzantılı dosyalar Flash içinde kullanılan Action Script dosyalarıdır. Burada oluşturduğum dosya aslında bir class'dır.
    * Yukarıda oluşturduğumuz dosyanın bir yerinde şu kodlar vardı; "var hatam:Hata = new Hata();"
    * Buradaki Hata bir class(sınıf)' dır.
    * Peki buna neden ihtiyaç duyduk? Profesyonel programcılıkta çok iyi bir hiyerarşik örgütlenme becerileriniz olmalı. Burada da buna örnek vermek istedim. Çünkü kodlar arttıkça sorunlar ve hatalar artar. Düzeltmeler bir hayli zaman alır. Program yavaş çalışır ve daha çoğaltabileceğimiz bir çok soruna davetiye çıkartırız. Bunları engellemek için ve yavaş yavaş daha üst düzey programlar yazmaya başladığımız için bu becerileri kazanmamız gerektiğini düşünüyorum.
    * Şimdi Flash programı içerisinden New -ActionScript File'ı seçin ve aşağıdaki kodları yapıştırın.

     
class Hata {
        var epostaHatasi=function(posta:String){
                if (posta.indexOf("@",0)=="-1") {
                        mx.controls.Alert.show("Yanlış bir eposta adresi girdiniz.Lütfen tekrar giriniz","E-Posta Hatası");
                        break;
                        return 1;
                }
        };
        var boslukHatasi=function(ad:String,soyad:String,mesaj:String){
                if ((ad=="") || (soyad=="") || (mesaj=="")) {
                        mx.controls.Alert.show("Boş alan bırakamazsınız.Lütfen alanları doldurunuz!","Boşluk Hatası");
                        break;
                        return 1;
                }
        };
        var kayitDurumu=function(durum:String){
                if (durum=="basarili") {
                        mx.controls.Alert.show("Kayıt başarılı","Kayıt");
                } else {
                        mx.controls.Alert.show("Kayıt başarısız","Kayıt");
                }
       
        };
}
 

    * Save-Hata.as olarak kaydedin ve burada Hata.as'ın "H" harfinin büyük olduğuna dikkat edin.

guest.txt'nin oluşturulması


    * Bir metin belgesi oluşturun.

Php Flash kullanarak ziyaretçi defteri yapımı

    * Kodlamasını UTF-8 yapın böylelikle Türkçe karakterleride kullanabilirsiniz.
    * Diğer dosyaların bulunduğu klasöre guest.txt olarak kaydedin.
 

guest.php'nin oluşturulması

    * guest.php dosyası oluşturun ve aşağıdaki kodları girin.
        
<?
$dosyaAdi="guest.txt";
$dosyaAc=fopen($dosyaAdi,"r");
while (!feof($dosyaAc)){
        $satir = fgets ( $dosyaAc, 10000 ) ;
        $satir=trim($satir);
        $metin.=$satir;
}

fclose($dosyaAc);
echo "&kayitlar=$metin";       

?>
               
 
    * Dosyayı aynı dizine kaydedin.

kaydet.php'nin oluşturulması

    * kaydet.php dosyası oluşturun ve aşağıdaki kodları girin.
 
<?
$metin="<b>Adi:</b>$ad<br><b>Soyadi:</b>$soyad<br><b>E-Posta:</b><i><font color='#993333'>$eposta</font></i><br><b>Mesaj:</b>$mesaj<br><br>";
               
$dosyaAdi="guest.txt";
$dosyaAc=fopen($dosyaAdi,"a");

        if(fwrite($dosyaAc,$metin)){
                echo "&durum=basarili";
        } else {
                echo "&durum=basarisiz";
        }
fclose($dosyaAc);

?>
                 
 
    * Dosyayı aynı dizine kaydedin.


Nasıl Çalışıyor

    * Çalışma ilkesini temel olarak aşağıdaki resimle ifade etmeye çalıştım.

Php Flash kullanarak ziyaretçi defteri yapımı

    * Kodları yazarken açıklamalarda bulunmadım(yorum satırları gibi). Program yazmanın ara koşullardan birini ihmal etmiş oldum aslında. Bu benim için bir dezavantaj sizin içinse bir avantaj. Çünkü öğrenme kendine özgüdür, herşeyin hazır verilmesi anlamlı öğrenmeyi zorlaştırır ve öğreneni ezberlemeye iter. Açıklama yapmayı size bıraktım.Yorum satırlarını sizin yazabilmeniz sizin bu işi kavradığınızı gösterir.

EKRAN ÇIKTILARI

Resim 1: Kayıt Formu

Php Flash kullanarak ziyaretçi defteri yapımı

Resim 2: Kayıtların Gösterimi





Yorumunuzu Ekleyin
Php Flash kullanarak ziyaretçi defteri yapımı Yorumları +6 Yorum
  • ezgi
    1
    ezgi
    ya flashla ilgili ödevim var yapamıyorum yardım edermısnz :
    22 Mayıs 2010 14:31:28, Cumartesi
  • fatih
    1
    fatih
    elinize sağlıkçok güzel birpaylaşım ,, ama birde bunu kaydedip te link olarak paylaşsaymışsınıztam olacakmış ....:
    13 Ocak 2011 09:26:40, Perşembe
  • mustafa
    1
    mustafa
    İyi günler,öncelikle tşk ederim böyle güzel konular yayınladığınız için. Dediklerinizi aynen yaptım ancak ne kaydediyor nede kaydedilmiş verileri gösteriyor. Benim işletim sistemim Windows XP, acaba windowsta PHP scripti çalışmıyor mu? Sorduğum soru abesse lütfen bağışlayın, henüz bu konuda yeni sayılırım.
    14 Şubat 2011 01:09:09, Pazartesi
  • Kahraman
    1
    Kahraman
    Elinize sağlık güzel, acaba hangi action scrpit kodları kullanıldı 2.0 mı yoksa 3.0 m? Bir de Fatih arkadaşımızın dediği gibi keşke dosya halini de bıraksaydınız ben bunu deneyeceğim ama kesin bi uyumsuzluk bi hata ile karşılaşacağım ve düzeltmek için uğraşacağım gibi geliyor... İnşallah fazla uğraştırmaz teşekkürler ödevim için iyi olacak... -Bozok Üniversitesi Bilgisayar Destekli Tasarım ve Animasyon
    24 Mayıs 2013 23:24:53, Cuma
  • eyüp
    1
    eyüp
    güzel konu tşkkürler
    12 Haziran 2013 10:58:06, Çarşamba
  • celal
    1
    celal
    çalışmıyorrrrr kaydet.php de hata var Action 2.0 yapıldı.
    23 Temmuz 2013 16:03:05, Salı

Yükleniyor...