Bu tür bir çalışma için genellikle asp,cgi gibi eklentiler yapılır.Kullanıcı
sayfanızı açtığında üye değilse bir üyelik formu doldurur ve size
gönderir, siz de o kişiye ait bir kullanıcı adı ve şifre düzenlersiniz.
Peki cgi,asp bilmiyorsanız veya server`ınız bunları
desteklemiyorsa bu tür bir çalışma yapılamaz mı? Bir text dosyası
kullanarak küçük bir ayrıntı hariç yapabilirsiniz. Üyelik formu
için bir mail programını kullanmak durumundasınız. Kişi üye değilse
üye olma butonuna basar ve size bir mail gönderir.Siz de o kişiye
verdiğiniz kullanıcı adı ve şifreyi text dosyasına işler ve fla
dosyasına dokunmadan üyelik listesini güncelleyebilirsiniz.
Alttaki örnek dosya için kullanılan kullanıcı
adı ve şifrelerden 2 tanesi altta yazılıdır. Bunları kullanarak
bir deneme yapabilirsiniz.Yanlış şifre veya boş alanları doldurmadan
giriş butonuna basmayı da deneyin. Bir hata uyarısı alacaksınız:
Şifre ile giriş veren bir sayfada kullanıcı 3 tür
tutum sergiler:
- Üye ise üyelik giriş bilgilerini doğru girer
- Hatalı şifre veya kullanıcı adı girer
- Boş alanlara hiçbirşey yazmadan giriş butonuna basar. Animasyonda
bu 3 durumu da gözönüne almalıdır.
1- Önce şifreleri içeren metin
dosyasını hazırlayalım. Bir txt dosyası açın ve içine şunları
yazın:
Burada 5 tane kullanıcı adı ve şifre kullanılmıştır.
Üye sayınız artıkça sadece bu dosyaya gerekli isimleri yazmanız
sayfanızı güncelleme için yeterli olacaktır.
Burada 2 noktaya çok dikkat etmelidir. Her eklentiden
önce mutlaka virgül ile ayırma yapılmalıdır.
İkinci olarak kullanıcı adının hemen altındaki şifre o kullanıcıya
ait olmalıdır. Yani ali`nin şifresi 123, veli`nin 456, bekir`in
789..... şeklinde sıralanmalıdır. Flash içinde kullanılacak kodlar
bu sisteme göre planlanmıştır.
Şimdi metin dosyamızı verilerimiz.txt olarak
kaydedelim.
2- Flash ile yeni bir sayfa
açalım. Sahneye 2 tane input metin kutusu bir tane giriş butonu
ekleyelim. Giriş butonunun hemen altına üye olmak isteyenler için
bir üyelik butonu yerleştirelim. Sembollerimiz tamam. Kullanıcı
adı olan input metin kutusu için variable alanına kullanici
yazalım ve single line seçeneğini işaretleyip max. karakter olarak
da 16 değerini girelim. Şifre kutusu içinde variable alanına sifre
yazalım.Satır tipi olarak password kısmını seçelim ki yazılan
şifreler gizli kalsın, max karakter olarak yine 16 değerini girelim.
3- Önce üyelik butonunu seçelim
ve butona şu komutları verelim:
on (release) {
getURL("mailto:lazoid@yahoo.com?subject=Üyelik bilgileri");
}
Butona bastığınızda mail programı açılacak ve
email adresiniz ve subject alanı metni hazır olarak kullanıcıya
sunulacaktır. Cgi ve asp desteğinde ise sayfadaki forma gerekli
bilgiler girildikten sonra mail programını kullanmadan mesaj alma
şansınız olacaktı. Bu kadar eksikliğe göz yummakta yarar var.
Bu kısım hariç diğer işlemler cgi destekli olan sayfalardan farklı
olmayacaktır.
4- Artık asıl çalışmaya gelelim.
Ana sahnede 1.kareyi seçerek şu komutları atayalım:
verilerimiz level0`a yükleniyor ve 2. ve 3. dizilerdeki
komut sayesinde girdi metin kutularının daima boş olması sağlanıyor.
5.kareye bir keyframe ve stop komutu atayalım. Bu 5 karelik alan
verilerin flash içine yüklenmesini sağlayacaktır. 5.kareye dur
label adını atayalım.
5- Hatalı girişler için yeni
bir katman ekleyelim ve 6.kareye bir blank keyframe atayalım.
6.kare seçili iken hatalı girdiğine dair bir metin ve geri butonu
ekleyelim.Burada dikkat edilecek konu ilk 5 karenin boş bırakılmasıdır.
Bu katman 6. kareye de hata label adını atayalım. Geri butonuna:
on (release) {
gotoAndPlay(1);
}
komutlarını yazalım. Butona basıldığında animasyon 1.kareden itibaren
oynayacak ve 1.kareye atadığımız kullanici="";sifre
=""; komutları sayesinde girdi metin kutularına yazılan
hatalı yazılar temizlenecektir.
6- Şimdi de asıl animasyon
katmanına geçelim. Bu katman sadece üyelerin girebileceği ana
sayfanızı temsil etmektedir. Yeni bir katman ekleyelim ve 7. kareyi
seçerek animasyonunuzu bu kareden itibaren hazırlayın. Bu kareye
basla label adını verin.Bizim ana sayfamız sadece
1 kareden ibarettir. Burada da ilk 6 karenin tamamen boş olmasına
dikkat edin.
7- Herşey hazır artık. Şimdi
giriş butonunu seçip komutlarımızı verelim:
on (press) {
kullanicilar= user.split(",");
sifreler= pass.split(",");
for (i=0; i<sifreler.length; i++) {
if (_root.kullanici==_root.kullanicilar[i]&&_root.sifre==_root.sifreler[i])
{
gotoAndStop("basla");
}
}
}
on (release) {
if (_root.kullanici!=_root.kullanicilar[i]||_root.sifre!=_root.sifreler[i])
{
gotoAndStop("hata");
}
}
Veriler.txt dosyamızda isimler virgül ile ayrılan
düz string şeklinde idi. user.split ve pass.split komutları ile
bu iki string virgülden itibaren ayrılarak 2 ayrı dizi şekline
çevrilmektedir. Artık veriler.txt bilgileri kullanicilar ve sifreler
adı altında 2 ayrı diziye ve isim ve şifrelerde bu diziye ait
elemanlara çevrilmişlerdir.
For döngüsü ile tüm elemanları içerek bir döngü
sağlamakta bu döngü sayesinde tüm dizi elemanları taranmaktadır.
_root.kullanici==_root.kullanicilar[i] bu komutla kullanici değişken
adı verilen metin kutusuna girilen değerler kullanicilar dizisindeki
değerlerle eşleşme sağlayıp sağlamadığı araştırılıyor.Aynı işlem
diğer metin kutusu içinde yapılıyor. && operatorü ve anlamında
kullanılır, yani her iki kutuya girilen değer dizilerdeki değerlerle
eşit ise film 7. karede basla etiket adlı animasyona geçecek,
dolayısı ile sayfaya giriş izni verilecektir.
7- Şayet işlem eşit değilse
fare tuşu bırakıldığı an alttaki değer okunacaktır. != operatorü
eşit değilse anlamındadır. Yani yazılan değerlerle okunanlar eşit
değilse hata etiket adlı sayfaya flash atlayacaktır.
Buradaki || operatorü veya anlamında kullanılır. Yani her iki
kutudan bir tanesi bile yanlış girilmişse hata sayfasına atlanacaktır.