Dreamweaver Uygulamaları : Veri giriş formu yapmak

advertisement
Veri giriş formu yapmak
Veri giriş formu yapmak
Bu işlem için DW'da iki seçeneğimiz var; bunlardan ilki formlarımızı kendimiz
tasarlayıp daha sonra bu formun hangi veritabanı tablosuna hangi bilgiyi
gireceğini belirtmek. İkinci seçenek ise DW'ın içerisindeki bir sihirbaz aracı
ile bu form yaratma işlemini de DW'ın üzerine yıkmak. Ben ilk yöntemi yani
el ile kayıt girme formları nasıl yapılıyor onun üzerinde duracağım. Diğerinin
bundan çok da bir farkı yok zaten. Evet başlıyoruz;
Bu işlem için DW'da iki seçeneğimiz var; bunlardan ilki formlarımızı kendimiz tasarlayıp daha sonra bu formun hangi veritabanı
tablosuna hangi bilgiyi gireceğini belirtmek. İkinci seçenek ise DW'ın içerisindeki bir sihirbaz aracı ile bu form yaratma işlemini de
DW'ın üzerine yıkmak. Ben ilk yöntemi yani el ile kayıt girme formları nasıl yapılıyor onun üzerinde duracağım. Diğerinin bundan
çok da bir farkı yok zaten. Evet başlıyoruz;
Önceki makalelerde kullandığımız Blog veritabanını kullanarak bu makale anlatımına devam edeceğim. Sitemiz dosyalar
bölümünden sizde ilgili veritabanını indirip sisteminizde örnek çalışmalara eşlik edebilirsiniz. Bu örneğimizde "makaleler" tablosuna
yeni bir makale girme işlemini yapacağız.
İlk basamak olarak yeni bir doküman oluşturup sitemiz altında uygun bir yere uygun bir isimle kaydediyoruz.
www.dersmax.com
Veri giriş formu yapmak
1
Veri giriş formu yapmak
Önce formu yapalım
Insert panel altındaki "Forms" sekmesi altından nasıl form yaratıp form bileşenleri ekleyeceğimizi görmüştük. Şimdi bu bilgiler
ışığında şekildeki gibi bir form yaratıyoruz
Kayıt giriş işlemleri için kullanacağımız form
Bu formu oluşturmak için neler yaptık kısaca bir özet geçelim. Öncelikle bir "Form" ekledik ve Properties paneli vasıtası ile
"Name" bölümüne "makale_ekle_form" yazıp "Method" kısmında ise "POST" olarak seçili olmasına özen gösterdik. "Action"
kısmına bir şey yazmadık.
Ardından şekildeki gibi bir tablo yaratıp biraz CSS ile tabloyu biçimlendirdikten sonra "makale_baslik" adında bir "Text field" yani
metin alanı ekledik. Bunu takiben "makale_ozet" ve "makale_detay" isimli iki adet "Textarea" form bileşeni ekleyip kategorileri
seçebilmemize olanak sağlayacak bir "List menu" yarattık ve adını "makale_kategori" olarak belirledik. Son olarak "Value"
değeri "Ekle" olan bir "Submit button" ekleyerek formumuzu yaratmış olduk.
Burada dikkatinizi çektiği üzere "makale_kategori" isimli liste menümüz için herhangi bir seçenek eklemedik. Çünkü veritabanından
bir kayıt dizisi (recordset) ile çektirdiğimiz kategori bilgilerini yazdırarak dinamik bir liste menü yaratacağız. Öncelikle
veritabanındaki kategorileri çeken basit bir kayıt dizisi yaratıyoruz.
Kategorileri çektiren bir kayıt dizisi tanımlıyoruz
Ardından eklediğimiz liste menümüzün üzerine bir kez tıklayarak onu seçiyor ve Properties panelinden "Dynamic..." düğmesine
tıklıyoruz ve bu liste menüsünü dinamik bir menü haline getirmeye başlıyoruz.
Liste menüsünü seçip Properties panelinden Dynamic düğmesine tıklıyoruz
Açılan dinamik liste menü iletişim penceresinden "Menu" kısmında biraz önce eklediğimiz liste menünün seçili olduğuna dikkat
ediyoruz. "Static options" bölümüne isterseniz "Label" değeri "Bir kategori seçiniz" olan boş değerli bir statik seçenek
ekleyebilirsiniz fakat şart değil.
"Options from Recordset" seçeneğinden ise biraz önce kategoriler için tanımladığınız kayıt dizisini seçiyor ve "Value" kısmı için
"id", "Label" kısmı için "baslik" alanlarını seçerek "Select value equal to" seçeneğini boş bırakarak dinamik menümüzü
yapılandırmış oluyoruz. Bu yaptığımız yapılandırma çerçevesinde kategoriler için tanımladığımız kayıt dizesi ile veritabanımızdaki
kategoriler bir liste menüsünün içerisine yazdırılacak ve makale ekleme işlemi sırasında listeden bir kategoriyi rahatlıkla seçmemize
olanak tanıyacaktır.
Dinamik liste menüsü iletişim penceresi
Bu tür dinamik form öğelerini yarattığınız veri giriş ve güncelleme formlarında kullanarak güçlü ve esnek yönetim işlemleri
gerçekleştirebilirsiniz. Insert / Application Objects / Dynamic Data menüsü ya da Insert panel altındaki "Application" sekmesi
altında yer alan "Dynamic Data" düğmesi ile hangi dinamik objelere ulaşabildiğinizi görebilir ve kullanabilirsiniz.
Dinamik objeler ile formlarınızı zenginleştirebilirsiniz.
Veri giriş formumuz hazır olduğuna göre bu forma girilen verileri veritabanına girme işlemine başlayabiliriz.
Bilgilerin veritabanına girişi işlemi
Şimdi eğer açık değilse Window / Server Behaviors CTRL+F9 menüsü ile Server Behaviors panelini açıyor ve (+) işaretine
tıklayarak açılan menüden "Insert Record" seçeneğine tıklıyoruz.
Server Behaviors menüsünden Insert Record seçeneğine tıklıyoruz
Açılan kayıt girişi iletişim penceresinden ilgili yapılandırmaları yaparak kayıt girişi işlemlerini yapabiliriz.
www.dersmax.com
Veri giriş formu yapmak
2
Veri giriş formu yapmak
Kayıt ekleme iletişim penceresi
Submit values from: Bu açılır menüden bilgi girişini yaptıracağımız formu seçiyoruz. Sayfada birden fazla form olduğu
durumlarda daha çok anlam kazanan bu menüden hangi formu seçtiğimize dikkat etmeliyiz.
Connection: Hangi veritabanı bağlantısını kullanarak veri girişinin yapılacağını seçiyoruz.
Columns: Veri girişi yaptığımız ilgili tablonun alanlarını gösteren bu listeden bir alan seçip listenin altında yer alan "Value"
menüsünden sayfadaki form elemanlarından bu veritabanı alanına girilecek veriyi içeren elemanı seçiyoruz. "Submit as"
seçeneği ise girilen veritürünü belirtiyor. Sayı (integer), metin (Text) ya da tarih (date) gibi seçeneklerden alana uygun olanı
seçiyoruz.
After inserting go to: bölümüne veri giriş işlemi tamamlandıktan sonra kullanıcının yönlendirileceği sayfayı giriyoruz (Örn.
islem_basarili.php gibi).
Veri giriş işlemi için ilgili ayarlar bu şekilde yaptıktan sonra "OK" diyerek işlemi sonlandırabiliriz. İşlemi bitirdiğimizde formumuz
açık mavi bir biçimde işaretlenerek dinamik veri girişinin yapıldığı bir form olduğu vurgulanacaktır. Bu aşamadan sonra hiçbir form
elemanına müdahale etmemeye özen gösteriniz. Zira veri giriş işlemleri değişen parametreler doğrultusunda sekteye uğrayabilir.
İşlem tamamlandıktan sonra formun DW içerisindeki görünümü
Teorik olarak tarih alanına kaydın eklendiği andaki tarihi girmemiz gerekiyor. Bu işlemi bir metin alanı (text field) ya da gizli alan
(hidden field) içerisine o anki tarih zaman bilgisini yazdırarak veritabanına girilmesini sağlayabilirsiniz.
Özellikle site yöneticilerinin inisiyatifinde olmayan veri girişlerinde (forum mesajı ve yorum gibi) kullanıcılarınızın formu eksiksiz
olarak doldurmaları veya alanlara doğru bilgiler girip girmediklerini kontrol etmemiz gerekmektedir. Peki form geçerlilik kontrollerini
nasıl yapacağız. Bunun için DW içerisinde Behaviors paneli altında yer alan "Validate Form" özelliğini kullanacağız.
Behaviors panel menüsünden Validate Form seçeneğine tıklıyoruz
Açılan form geçerleme iletişim penceresinden ilgili form elemanlarını seçerek girilme zorunluluğu olanları "Required" olarak
işaretliyoruz. Aynı şekilde "Accept" kısmında yer alan veri türlerinden birini seçerek de tür kontrolü yapabilmemiz mümkün.
Form geçerleme iletişim penceresi
Bu işlemi daha ayrıntılı olarak yapan eklentileri sitemiz dosya arşivinden temin edebilirsiniz. Fakat yeri gelmişken bir noktaya açıklık
kavuşturmakta fayda var; bu tür girdi kontrol işlemleri sadece kullanıcı tarafında kontrol yaparlar. Fakat ziyaretçinin tarayıcısı
JavaScript çalıştırmıyor ise ya da JavaScript çalıştırma özelliğini devre dışı bıraktı ise bu tür form geçerleme işlemleri
çalışmayacaktır. Bir diğer ihtimal de kötü niyetli kullanıcıların bu engeli oldukça kolay aşabilecekleri gerçeğidir.
Her ne olursa olsun bu tür veri geçerliliği kontrolleri kullanıcı tarafının yanı sıra sunucu taraflı diller ile sunucu tarafında da kontrol
edilmeli böylece girilen (ya da girilmeyen) bilgiler çerçevesinde çeşitli hata mesajları ile ziyaretçinin veri girişini engellenmelidir.
DW içerisinde henüz böyle bir kontrol mevcut değil. DW'ın en büyük eksiklerinden olan bu açığı bir çok firma tarafından hazırlanan
eklentiler ile kapatmak mümkün. Fakat bu tür eklentilerin ücretli olmaları da kullanımlarını kısıtlayan en önemli etmen. DW ile
dinamik bir uygulama yaparken bu özellikleri de göz önünde bulundurmanız ve kendi çözümlerinizi bu çerçevede yapmanızı tavsiye
ederek bu konuya da açıklık getirmiş olalım.
PHP MySQL sunucu modeli ile çalışıyorsanız eğer veritabanı olarak MySQL 4.1.1 ve sonrası bir sürüm kullanıyor iseniz;
sayfalarda Türkçe karakter problemi yaşamamak için collation bilgisini sayfalarınıza eklemeniz gerekmektedir. Bu işlem için "Set
Collation" eklentisini kullanabilirsiniz. Aynı şekilde kod görünümüne geçip sayfanın en başına Insert / PHP Objects / PHP Page
Encoding menüsü ile sayfaya girdi ve çıktılar için kodlama türü belirtmeleri gerekmektedir.
Aynı şekilde ASP sunucu modeli ile çalışıyorsanız sayfanın başında "CODEPAGE" belirtiminin yapılmış olduğundan emin olmalısınız.
Sihirbazı kullanarak kayıt giriş sayfası yapmak
Bu anlattığımız işlemleri çok daha pratik bir biçimde yapmamıza olanak sağlayan sihirbaz ile veri giriş sayfası yapmak aslında diğer
yöntemden çok da farklı değil. Bunun için yeni bir doküman oluşturup kaydediyoruz ve kategorileri listelettiğimiz bir kayıt dizisi
ekliyoruz. Ardından Insert / Application Objects / Insert Record / Insert Record Form Wizard ile sihirbazı başlatıyoruz.
Kayıt ekleme formu sihirbazı
Sihirbaz iletişim penceresinde ilgili bağlantı ve tabloyu seçtikten sonra "Form Fields" bölümünde kayıt ekleme formunda olmasını
www.dersmax.com
Veri giriş formu yapmak
3
Veri giriş formu yapmak
istediğiniz elemanları yönetebilirsiniz. Örneğin "id" alanı için bir form elemanına ihtiyacımız olmadığından bu seçeneği (-)
düğmesine tıklayarak kaldırabiliyoruz.
"Label" kısmına kullanıcıların göreceği ara yüzdeki isimi girip "Display as" menüsünden bu elemanın ne tür bir form bileşeni
olarak sayfaya eklenmesini istediğimizi seçiyoruz. "Submit as" seçeneği ise bu girilen verinin veritabanına ne tür bir bilgi olarak
girileceğini belirtiyor. "Default value" kısmı da bu form bileşenine varsayılan olarak girilmesini istediğiniz değeri belirtiyor.
Örneğin tarih girdileri için gizli bir alan yaratıp varsayılan değer olarak <?php echo date("Y-m-j H:i:s"); ?> verdiğinizde kaydın o
an girildiği tarih bilgisini veritabanına girmiş olursunuz.
İlgili ayarları yapıp "OK" dediğinizde kayıt ekleme formu ve sunucu modeli uygulaması sayfaya otomatik olarak eklenecek böylece
oldukça hızlı bir biçimde veri giriş formları hazırlayabileceksiniz. Form ile ilgili düzenlemeleri daha sonra DW içerisinde yapabilirsiniz
fakat form elemanlarının isimlerini değiştirmemeye özen göstermelisiniz.
Veri giriş işlemleri bu şekilde. Kendi bilgisayarınızda farklı örnekler yaparak kendinizi geliştirebilir ve sistemin işleyişini daha iyi
kavrayabilirsiniz.
Kaynak www.dw.gen.tr/
www.dersmax.com
Veri giriş formu yapmak
4
Download