ASP Nedir?
ASP Microsoft tarafından geliştirilmiş sunucu tabanlı bir web programlama teknolojisidir. Açılımı Active Server Pages yani Aktif Sunucu Sayfaları'dır. Bir çok kişi ASP'yi bir web programlama dili sanır. Ancak ASP bir web programlama dili değil, kullanımı sırasında farklı programlama dillerinin kullanılabildiği bir web teknolojisidir.
ASP tabanlı web sayfaları hazırlanırken iki farklı programlama dilinden herhangi birisi kullanılabilir. Bunlar JavaScript ve VBScript'dir. VBScript JavaScript'e göre daha basit bir sözdizimine sahiptir. Biz bu kitaptaki uygulamalarda VBScript'i kullanacağız.
Kurulum
Bilgisayarımızda ASP sayfalarını çalıştırabilmek için IIS veya PWS yüklü olmalıdır. Biz şimdi IIS kurulumunu anlatacağız. PWS kurulumu da pek farklı değildir.
Windows kurulum CD'nizi bilgisayarınıza takın.
Başlat->Denetim Masası->Program Ekle&Kaldır yönergesini izleyin.
Açılan pencerenin sol kısmındaki Windows Bileşenlerini Ekle&Kaldır seçeneğine tıklayın.
Ekrana gelecek listede Internet Information Services (IIS)'i seçili hale getirin ve İleri tuşuna basarak yönergeleri izleyin.
Kurulum sonunda işletim sistemizin kurulu olduğu sürücüde (genellikle C:) Inetpub klasörünün oluştuğunu göreceksiniz. ASP sayfalarınızı Inetpub\wwwroot klasörü içine kaydetmelisiniz.
İlk Uygulamamız (Merhaba Dünya)
Geleneğe sadık kalarak ilk olarak sayfaya 'Merhaba Dünya' yazacak bir ASP sayfası yapıyoruz. Aşağıdaki kodları Inetpub\wwwroot klasörü altına default.asp olarak kaydedin. Üzerine çift tıkladığında çalışmaz. Çalıştırmak için tarayıcınızı açın ve adres çubuğuna http://localhost yazın. Eğer IIS'i sorunsuz bir biçimde kurduysanız ekranda Merhaba Dünya! yazısıyla karşılaşacaksınız.
<%
Response.Write("Merhaba Dünya!")
%>
ASP kodları <% ve %> etiketleri arasına yazılır. Response ASP'nin bir nesnesi olup ziyaretçiye sunucudan çıktılar gönderme işlevini görür. Ekrana herhangi bir şey yazdırmak için Response nesnesinin Write metodu kullanılır. Yani Write metoduda ekrana yazdırma işlevini görür.
NOT:
ASP'de ve bir çok nesne yönelimli dilde Nesne.Metot şeklinde yazım görülür. Yani kullanılacak nesnenin isminden sonra . koyulur ve o nesnenin sahip olduğu kullanılacak metot ismi yazılır.
Write metodundan sonra ekranda gözükmesini istediğimiz yazıyı " " içine aldık. " " içinde yazdığımız yazı sayfada aynen görüntülenir ve String değeri taşır. Eğer ekranda önceden tanımladığımız bir değişkeni göstermek isteseydik " " (çift tırnak) kullanmayacaktık.
<%
degisken = 1990
Response.Write (degisken)
%>
Yukarıdaki örnekte tanımladığımız bir değişkeni ekrana yazdırmak istediğimizden çift tırnak kullanmadık. Eğer degisken ifadesini çift tırnak içine alırsak ekranda 1990 yerine degisken yazdığını görürüz. Bu degisken ifadesinin çift tırnak içinde String (dize) olarak algılanmasından kaynaklanır.
ASP'de her ekrana yazı yazdırmak istediğimizde Response.Write nesne ve metodunu yazmaya gerek yoktur. Bunun daha kısayolu vardır. Response.Write yerine = yazarsak aynı şeyin gerçekleştiğini görebiliriz.
<%
degisken = 1990
=(degisken)
%>
ASP Nesnelerini tanıyalım
ASP nin kullanılmasında esas etken, kullanıcıdan gelen veriyi (form elemanları, cookie, url vs.) kolaylıkla alabilmemiz ve sunucuda bulunan bir bilgiyi (veritabanı, metin dosyası, xml, hatta sunucunun kendi bilgilerini tutan Active Directory) kullanıcıya bizim belirlediğimiz şartlarda gösterebilmemizdir.
Request
Request nesnesi ile kullanıcıdan gelen herhangi bir veriyi kolaylıkla alabiliriz. İki çeşit veri alma şekli yaygın olarak tercih edilmektedir. Form ve QueryString. Sadece Request("deger") yazarak her iki şekilde gelen veriyi de alabiliriz. Örnek :
ornek.asp
<html>
<head><title>Falan neyi getiriyor : <%=Request("falan")%></title></head>
<body>
<h1>Bu form veriyi POST metodu ile gönderir.</h1>
<%If Len(Request("filan") & "")>0 Then%>
<h1>Hey! daha önceden gönderilmiş değeri : <%=Request("filan")%>
<%End If%>
<form method="post">
<input type="text" name="filan"/>
</form>
</body>
</html>
ASP, ya da Active Server Pages (Etkin Sunucu Sayfaları), Microsoft tarafından geliştirilen internete yönelik sunucu taraflı (serverside) çalışan bir teknolojidir. Sunucunun sadece durağan sayfaları istemciye (ziyaretçi) göndermesi yerine, ziyaretçiden veri kabul edilmesi gerekliliğinin sonucunda ortaya çıkmıştır.
ASP sayfaları çoğunlukla VBScript kullanılarak yazılır, ancak @Language komutuyla JScript, hatta Perl gibi başka bir dil de seçilebilir.
Bir ASP dosyasının içinde, özel nesneler ve VBS, JS, SQL kodları bulunur, bu sayfalar istemci tarafından istendiğinde sunucu öncelikle ASP içindeki kodları icra ederek, istemciye göndereceği bilgiyi oluşturur ve gönderir. Gönderilen bilgi genellikle HTML (ya da SGML) şeklindedir. Fakat sadece bunlarla sınırlı değildir, aynı şekilde bir grafik dosyasıda oluşturulup, istemciye gönderilebilinir.
ASP sayfaları HTML kodlarının içine gömülü şekilde oluşturulduğu halde bir kez server tarafından yorumlandığında saf HTML olarak döner. Kaynak kodlara bakıldığında ASP kodları görülmez. Bu kodlamacıların kaynaklarını saklamalarını kolaylaştırır.
ASP'nin ortaya çıkış nedenlerinden birisi de CGI dillerinin Oturum (Session) ve Uygulamaların (Application) başından sonuna kadar izlenmesinin yetersiz oluşundandır.
ASP'de Kullanılan Nesneler [değiştir]ASP sayfalarında özel altı adet nesne kullanılır.
Application:
ObjectContext:
Request:
Response:
Server:
Session:
--------------------------------------------------------------------------------
<%
Response.Write "Merhaba Dünya"
Response.End
%>
Yazdırma işlemidir. HTML ile daha kolay ve daha hızlı yapıldığı halde daha önceden tanımlanmış değişkenleri çalıştırabilir.
<%
%>
Değişkenler için çift tırnak ("") ifadesi kullanılmaz. Aşağıdaki kod ise sayfayı farklı bir sayfaya yönlendirir.
<%
RESPONSE.REDIRECT "default.asp"
%>
<%
RESPONSE.cookies("cookiename")("yetki")="tam"
RESPONSE.cookies("cookiename")("yetki")="yok"
RESPONSE.cookies("cookiename").expires=date()+365
%>
Bu kod sayesinde bir bilgisayara cookies(çerez) bırakabilirsiniz ama tekrar okuyamazsınız onun için request.cookie kodunu kullanmalısınız. çerez: bir sistemin sizi hatırlaması için bırakmış olduğu text dosyalarıdır.
Lazım olabilecek ve öğretici bir fonksiyon. Aşağıdaki kodlar yardımıyla yazınızın içerisindeki istemediğiniz kelimelerin görünmesini engelleyebilirsiniz.
<%
Private Function yassak ( yokla )
const sakinca = "free|freemitnick|hackhell|freemitnick.net|chootox|chotox"
dim ara, c
ara = Split(sakinca, "|")
For c = 0 to CInt(UBound(ara))
if InStr(yokla, ara(Int(c))) <> 0 then yokla = Replace(yokla, ara(Int(c)),
String(Len(ara(Int(c))),"*"), 1, -1, 1)
next
yassak = yokla
'© chotoox
End Function
%>
<%=yassak( "free - yandaki yıldızlar sakıncalı kelimeleri kamufle eder." )%>
15.08.2007, 21:19 tarihinde, E.J.T tarafından düzenlendi.