KONUK DEFTERİ UYGULAMASI
Bu bölümde ilk tam ASP sitesini adım adım birlikte oluşturacağız; daha önce teorik veya kısaca uygulamalı gördüğümüz komutları, metodları ve ifadeleri toplu halde kullanma imkanı bulacağız.
Konuk Defteri, Internet sitemizi ziyaret edenlerle en kolay bilgi alışverişi yöntemidir; konuklarımız defterimize kendileri hakkında bazı bilgiler girerler. Burada yapacağımız örnekte, ziyaretçimize önce konuk defterimize bilgi girmek isteyip istemediğini soran bir sayfa sunacağız; burada konuk defteri bilgilerinin yer aldığı bir Form sayfasına gitmesini sağlayan kö
prü olacak. Form sayfamızdaki Gönder düğmesi tıklandığında bir ASP sayfası, Form’un yolladığı bilgileri ziyaretçimize gösterecek ve arzu ederse defterde yer alan diğer bilgileri okuma imkanı verecek. Ziyaretçimiz defterdeki diğer bilgileri okumak isterse, bir diğer ASP sayfası, bu bilgileri dosyadan okuyarak ziyaretçimize sunacak.
Birinci sayfamız burada basit bir HTMLsayfası ancak siz bunu isterseniz kendi ana sayfanızla bütünleştirebilirsiniz. Diyelim ki aşağıdaki kodu, konuk01.htm adıyla kaydettik:
<HTML>
<HEAD>
<TITLE>KONUK DEFTERIM</TITLE>
<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<META http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<H1><CENTER>Hoşgeldiniz!</CENTER></H1>
Konuk Defterimi imzalamak ister misiniz?
Çok teşekkürler
<p><A HREF="konuk02.htm">Deftere Git</A>
</BODY>
</HTML>
Burada konuk defterini izmalamak isteyenler için konuk defterini içeren dosyaya bir kö
prü var. Aşağıdaki form da konuk defterimiz olsun! Bunu da konuk02.htm adıyla kaydedelim:
<HTML>
<HEAD>
<TITLE>KONUK DEFTERIM</TITLE>
<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<META http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<H1><CENTER>Konuk Defteri!</CENTER></H1>
Konuk defteri sayfama hoşgeldiniz. Buraya kaydedeceğiniz bilgilerle birbirimizi daha iyi tanıma imkanı bulabiliriz.
<p>Çok teşekkürler</p>
<FORM ACTION="konuk_isle.asp" METHOD="post">
<p>Adınız: <INPUT TYPE="Text" SIZE="20" NAME="Adi"></p>
<p>Soyadınız: <INPUT TYPE="Text" SIZE="20" NAME="Soyadi"></p>
<p>E-Posta Adresiniz: <INPUT TYPE="Text" SIZE="20" NAME="Email"></p>
<p>Düşünceleriniz: <br><TEXTAREA NAME="Mesaj" COLS="40" ROWS="4">Sitem hakkındaki düşünceleriniz</TEXTAREA></p>
<INPUT TYPE="Submit" NAME="Gonder" VALUE="Gönder!"> <INPUT TYPE="Reset" NAME="Sil" VALUE=" Sil! ">
</BODY>
</HTML>
Burada oluşturduğumuz HTML alanlarından dördü, daha sonra işlenmek üzere, bize dört değişken verecek: Adi, Soyadi, Email ve Mesaj.
Aşağıdaki kod ile bu verileri işleyeceğiz. Bu kodları da konuk_isle.asp adıyla kaydedelim:
<%
@LANGUAGE=VBscript
Option Explicit
%>
<HTML>
<HEAD>
<TITLE>KONUK DEFTERI KAYIT</TITLE>
<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<META http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<h2>Verdiğiniz Bilgiler:</h2>
Adınız: <%=Request.Form("Adi")%><BR>
Soyadınız: <%=Request.Form("Soyadi")%><BR>
E-Posta Adresiniz: <%=Request.Form("Email")%><BR>
Düşünceleriniz: <%=Request.Form("Mesaj")%><BR>
<p>
<%
Dim DosyaSistemi, KonukDosyasi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
Set KonukDosyasi = DosyaSistemi.OpenTextFile("c:\inetpub\
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.klar.txt",8, True)
KonukDosyasi.WriteLine Request.Form("Adi")
KonukDosyasi.WriteLine Request.Form("Soyadi")
KonukDosyasi.WriteLine Request.Form("Email")
KonukDosyasi.WriteLine Request.Form("Mesaj")
KonukDosyasi.Close
%>
<H3>Konuk Defterime kaydedildi. Çok teşekkür ederim.</H3>
<A HREF="konuk_oku.asp">Konuk Defterini Oku!</A> <A HREF="index.htm">Ana Sayfaya Dön!</A>
</BODY>
</HTML>
Burada biraz duralım ve konuk_isle.asp’yi irdeleyelim. Form’u oluşturan sayfamızda dikkat ettiğiniz gibi, verileri POST metodu ile alıyoruz; dolayısıyla Form’dan gelen bilgiler, Request nesnesinin Form kolleksiyonunda yer alıyor; ve önce bu bilgileri ziyearetçimizin Browser penceresine yazdırıyoruz. Ziyaretçimiz böylece ne bilgi verdiğini ber kere daha görmüş oluyor. Sonra, FileSystem nesnesini kullanarak, bu bilgileri Web Server’ın kök dizininde konuklar.txt adlı dosyaya eklettiriyoruz. Bu işlemi yapan WriteLine metodu, her bir değişkenin değerini yazdıktan sonra satır sonuna yeni satır karakteri girecektir. Yine Bu bilgilerin kaydedildiğini ziyaretçiye bildirdikten sonra, kendisine defterimizdeki diğer girdileri okuma veya ana sayfaya dönme seçeneğini veriyoruz. Ziyaretçi, defterdeki diğer bilgileri okuma seçeneğini seçecek olursa gideceği sayfanın kodları ise aşağıda. Bu kodları da konuk_oku.asp adıyla kaydedelim:
<%
@LANGUAGE=VBscript
Option Explicit
%>
<HTML>
<HEAD>
<TITLE>KONUK DEFTERI OKUMA</TITLE>
<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<META http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<h2>Konuk Defterimde Yeralan Bilgiler:</h2>
Bugüne kadar konuk defterimi imzalayan bütün dostlarıma teşekkür ederim.
<p>
<%
Dim DosyaSistemi, KonukDosyasi, Adi, Soyadi, Email, Mesaj
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
Set KonukDosyasi = DosyaSistemi.OpenTextFile("c:\inetpub\
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.klar.txt",1)
Do While Not KonukDosyasi.AtEndOfStream
Adi = KonukDosyasi.ReadLine
Soyadi = KonukDosyasi.ReadLine
Email = KonukDosyasi.ReadLine
Mesaj = KonukDosyasi.ReadLine
Response.Write Adi & "<BR>"
Response.Write Soyadi & "<BR>"
Response.Write Email & "<BR>"
Response.Write Mesaj & "<P>"
Loop
KonukDosyasi.Close
%>
<A HREF="index.htm">Ana Sayfaya Dön!</A>
</BODY>
</HTML>
Şimdi de bu kodun üzerinde duralım: Yine FileSystem nesnesinin OpenTextFile metodu ile, mevcut konuk girdileri dosyasını açıyoruz; ve içeriğini Do döngüsü ile, dosya sonuna varıncaya kadar ReadLine metodu ile okutuyoruz. ReadLine, dosyayı satır –satır okuyacaktır; burada ”satır” ölçüsü, dosya başı ile satırsonu-yeni satır (CRLF veya enter/Return) karakteri, iki satırsonu arası, veya bir satırsonu ve dosya sonu işareti arasında kalan metindir. Dosyamızın her bir satırı bir değişkenin değeri olarak yazıldığına göre, okunan her satır sırasıyla, Adi, Soyadi, Email ve Mesaj değişkenlerine değer olarak kaydedilecek ve ziyaretçininin Brıowser penceresine yazılacaktır.
Bu ana kodun etrafında sayfalarını görsel olarak zenginleştirmek, tabiî sizin elinizde!