|
ASP NEDİR ?
Asp Microsoft tarafından 1996 yılında
gelistirilmiştir. Asp Activ Server Pages ( Aktif sunucu
sayfaları )nın kısaltılmıs biçimidir.Asp tek başına bir
programlama dili degildir.Özellikle web sunucusu ile çalışan bir
tekniktir.Asp sayesinde veri tabanı uygulamaları ve elektronik
ticaret siteleri kolayca yaratılabilir.Html sayfaları içerisine
asp kodlarını gömerek dinamik sayfalar oluşturabiliriz. Bu html
kodlarının içerisine gömdügümüz asp kodları sunucu tarafında
işlenerek istemcinin browserına sadece duragan html kodları
gönderilir.Asp kodları hiç bir şekilde browserda çalıştırılmaz (
browsera gönderilmez) Buda demek oluyorki Asp Tüm tarayıcılardan
bagımsız olarak çalısır.İnternet explorer,Netscape Nevigator,Opera
gibi Browserlarda aynen çalışacaktır.Bir html sayfasına
Javascript yazildıgında sag tıklayarak kaynagı görüntüle (view
source) ü tıkladıgımızda bu java script kodlarını
görebiliriz.Fakat Asp'de yazdıgımiz kodlar kesinlikle bu şekilde
görünmeyecek böylelikle bir çok çaba harcayarak yazdığınız
kodları kimse çalamayacaktır. Asp içerisinde Vbscript ve
javascript denilen scripting dilleri kullanılabilir.Buda Asp yi
daha cazip hale getiren özelliklerden birisidir.Eger daha önce
javacript veya Vbscript dilini biliyorsaniz Asp ögrenmek sizin
için tahmininizden de kolay olacaktır.
ASP ÖĞRENMEK İÇİN NELERE İHTİYACIMIZ VAR?
Aslinda asp kodlarının hep basit bir metin editörü notepad gibi
bir editörde yazılacagını söylerler. Dogrudur yazılabilir ama
ben hiç sanmıyorum böyle basit bir editör ile asp kodu yazan
kalmamıştır. Mesala ben homesite kullaniyorum. Bunun dışında
Microsoft Frontpage, Microsoft Visual Interdev,Asp express Vb
gibi programlar kullanılabilir. Bunları sitenin Asp programları
bölümünden daha ayrıtılı bir şekilde ögrenebilirsiniz.
Yazdığımız Asp kodları web server üzerinde yayın dizinine
konulur.Web server olarak Windows 98 Pws,Windows NT Workstation
pws,Windows NT İnternet Information Server,Windows 2000 Server
İnternet Information Server kullanabilir.( windows2000 server
kuruldugunda İnternet Information Server kendiliginden kurulur)
İlerleyen bölümlerde pws'nin kurulumunuda gözönüne alacağız.Asp
,web sunucusu,Asp kodu ve html kodu olmak üzere değişik
bölümleri olan proğramlardır.Asp sayfaları bir html kodu gibi
yazılıp çalıştırılamazlar.Asp sayfalarının uzantısı .asp olmak
zorundadır.bu yazdıgımız kodlar yukarıda bahsettiğimiz web
server üzerinde çalıştırılırlar.Bu kodları kendi server'ınız
üzerinde çalıştırırken http://localhost/sayfanızinismi.asp
şeklinde çağırırsınız.
Bir Asp sayfasında aşsağıdakiler kullanılır:
1. Düz metin
2. Html kodları
3. Script dilleri
4. Asp nesneleri
5. Ado nesneleri
Html kodları içerisinde asp kodlarını yazarken <%... %>
İşaretleri arasına yazdıgımız asp kodlarını koyarız. Aşagıda
html kodları arasından asp ile o anki tarihi yazdırıyoruz.
<HTML>
<BODY>
<%=Now()%>
</BODY>
</HTML>
Yukarıda vbscript fonksiyonlarından Now () fonksiyonu
kullanılmıştır.Bu kodun çıktısı 25/06/2002 22:11:02 gibi
olacaktır.O an server'daki tarih ve saati ekrana yazacaktır.Asp
ile ilgilendikçe daha çok seveceksiniz ve göreceksiniz ki Asp
gerçekten ögrenilmesi en kolay web programlarından birisidir.
ASP NASIL ÇALIŞIR?
Asp sayfaları sunucu tarafında çalısacak kodlar içerir .Böylece
dinamik olarak web sayfaları yaratmamızı sağlar.Asp sayfalarında
bir birtakım yerleşik nesneler bulunur.Ayrıca Asp sayfaları
bileşenlerlede zenginleşebilir.Veri tabanları ile çalışma E-pota
gönderme veya dosya sistemine erişmeyi sağlar.bunun için Asp ile
yapılabileceklerin sınırı yok gibidir.
Şimdi gelelim Asp'nin nasıl çalıştıgına.
1. Kullanıcı tarayıcısına istedigi adresi yazar. (http://localhost/default.asp
)
2. Tarayıcı bu istegi DNS aracılıgı ile Web Server'a gönderir.
3. Web sunucusu bu adrese dahil dizinde bu sayfayı arar bulur ve
Asp sayfasının içerisindeki kodları daha öncede belirttigimiz <%
%> tag ları arasındaki kodları bulur ve ayırır
4. Web sunucusu bu dosyayı ASP.DLL 'e gönderir.
5. Asp dosyası içerisindeki komutlar işlenir ve bir html sayfası
oluşturulur.
6. html belgesi buradan tarayıcıya gönderilir
7. Bu kodlarda tarayıcı tarafından yorumlanarak görüntülenir.
Şunu söylemeliyim ki Asp diger web programlama tekniklerine göre
çok daha hızlıdır.
PEKİ ASP İLE NE YAPACAĞIM?
Asp özellikle Microsoft SQL Server ve MicrosoftAccess gibi veri
tabanlarına erişerek yeni kayıt eklemeyi, sorgulama yapmayı,
değiştirmeyi veya değişik scriptlerle aklınıza gelecek birçok
şeyi yapmanızı ağlar.Bir de asp e-ticaretin vazgeçilmez
unsurlarından biridir.Şimdi bir veritabanına erişim yaparak
kayıtları listeleyelim.
<%@Language=vbscript %>
<HTML>
<HEAD>
<TITLE>Asp ile veritabaný sorgulama</TITLE>
</HEAD>
<BODY>
Üyeler;
<%
Dim conn
Dim Rs
'Önce veritabanýna baðlantýmýzý yaratalým
Set conn=Server.createObject("ADODB.connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&
server.MapPath("veritabanim.mdb")"
Set Rs=Conn.Execute("Select * From uyeler")%>
<TABLE BORDER="1">
<%
'Þimdi tüm alanlarý listeleyecek dögüyü baþlatýyoruz.
While not Rs.Eof
%>
<TR>
<TD><%=Rs("uye_adi")%></TD>
<TD><%=Rs("soyadi")%></TD>
<TD><%=Rs("mail_adresi")%></TD>
<TD><%=Rs("url_adresi")%></TD>
</TR>
<%
Rs.MoveNext
Wend
%>
</TABLE>
<%
Rs.close
Conn.Close
%>
</BODY>
</HTML>
PWS(PERSONEL WEB SERVER) KURULUMU
Windows 98 CD-ROM’unda Add-ons klasöründeki PWS dizininde Kur.exe’yi
tıklayın Personel Web Server’ı kurarken karşımıza çıkan diyalog
Custom/Özel’i seçin ve açılacak yeni diyalog kutusunda Microsoft
Data Access Components (MS Veri Erişim Bileşenleri) satırına
işaret koyarak, Alt Bileşenleri Göster düğmesini tıklayın.
Açılacak seçme kutusunda ise ADO Documentation satırını
işaretleyin sonra next ileri butonuna tıklayarak kuruluma devam
edin.Kurulum bittikten sonra program sizden bilgisayarınızı
yeniden başlatmanızı isteyecektir.
Windows 98’e Personel Web Server kurulduğunda Masaüstü’nde
Yayımla (Publish) adlı bir simge belirecektir. Ayrıca görev
çubuğunda sağ alt köşedede ayni yayımla adlı simge belirecektir.
Personel Web Server’da Yönetici kutusu açıldığında soldaki araç
çubuğunda Yönetici’nin çeşitli bölümlerine gitmeniz için gereken
gezinme simgelerini göreceksiniz. Şimdi, açılan ana pencerede
iki unsura dikkat edin:
1. Kişisel Web Server’ınızın adı. Buraya Server adı olarak
yazılmış olmalı. Daha sonra Asp ile yaptığınız sayfaları test
etmek için asp sayfalarını çağırırken,Tarayıcının adres kutusuna
burada gördüğümüz adı yazacağız.
2. Personel Web Server ’ın bilgisayarımızda sabit diskteki
gerçek adresi. Bu, sizin Kişisel Web Server’ınızın kök (root)
dizinidir. Bu genellikle C:\inetpub\wwwroot klasörüdür.
Yapacagımız Asp çalışmalarını bu kök dizine koyarak buradan
çalıştırıyoruz.
Neyse sonra soldaki araç çubuğunda Gelişmiş simgesini tıklayın;
sanal dizinlerinizi görüyorsunuz. Home dizinini seçerek
“Özellikleri düzenle” düğmesini tıklayın.
Ana dizininiz olan home için okuma, yürütme, makro sekmelerinin
seçili oldugundan emin olun. Gelişmiş penceresinde Ekle
düğmesini tıklayarak bu gerçek dizini de sitenin sanal
dizinlerinden biri haline getirmeniz gerekir. Gerçek dizinin adı
ne olursa olsun yaptığınız sayfayı test ederken sanal dizinin
adını yazmanız gereklidir.
PWS HATA VERDİYSE
Windows 98’e PWS kurarken, programın Microsoft Transaction
Server bölümüne ilişkin sistem kayıtları yapılırken, mesajı ile
karşılaşabilirsiniz (0x80004005 ve 0xfee662). Bu, orijinal
Windows 98 CD-ROM’undaki PWS Kur programının, Windows Registry
dosyasının büyük olması halinde hata vermesinden kaynaklanıyor.
Böyle bir durumla karşılaşırsanız, Bilgisayarım/Denetim
Masası/Program Ekle Kaldır aracılığıyla, Personel Web Server’ı
kaldırın. Bilgisayar kapanıp açıldıktan sonra, Windows 98
CD-ROM’unda Add-ons/PWS dizinindeki bütün dosyaları, sabit
diskinizde Temp dizinine kopyalayın. Sonra http://support.microsoft.com/support/kb/articles/q246/0/81.asp
adresinde Download Mstsetup.dll satırını tıklayın. Mssetup.exe
adlı bir dosya bilgisayarınıza indirilince; bu dosyayı iki kere
tıklayın ve dosyanın açılacağı yer olarak C:\Temp’i gösterin;
program Mstsetup.dll dosyasının değiştirilmesini isteyip
istemediğinizi sorduğu zaman “Tamam”ı tıklayın. Şimdi, C:\Temp’deki
Kur.exe yi iki kere tıklayın. PWS şimdi hatasız kurulacaktır.
Herkese kolay gelsin.
.NET'İN KURULUMU
Asp.net'i serverinizda çalıştırabilmek için .NET Framework'ü
IIS'a yüklemelisiniz.Asp.net'te yine Asp gibi server taraflı
çalışır.Sanırım tekrar anlatmaya gerek yok.Fakat .NET in tabi ki
klasik Asp'den çok fazla farkları var.
Asp.net'i Server'ınıza kurmak için öncelikle .NET Framework'ü
indirmelisiniz.Asp.net kodlarınızın çalışabilmesi için bu
kesinlikle gereklidir.
.NET Framework'ü Microsoft'un sitesinden indirebilir yada CD
sini ücretsiz sipariş edebilirsiniz.(Kargo vs dahil değil)
http://www.msdn.microsoft.com/netframework veya
http://www.asp.net/download.aspx adreslerinden temin
edebilirsiniz. Fakat Framework'ün "Redistributable" ve SDK diye
farklı iki çeşidi vardır.Bunlardan ilki 21mb diğeri 131mb
boyutlarındadır. Görüyorsunuz ki aralarında çok fazla bir veri
büyüklüğü mevcut.Redistributable versiyonda sadece kodların
çalıştırılabilmesi için gerekli kurulum mevcuttur. SDK'da
çalışan tüm kodlar çalışır.SDK'nın farkı ise içerisinde çok
fazla miktarda yardım dosyaları ve kaynaklar
bulunmaktadır.Yukarıdaki adreslerden birini tıklayıp .NET
Framework'ü temin ettiğinizi varsayarak kuruluma başlayalım.
İndirdiğiniz setup.exe dosyasına tıklayarak kurulumu
başlatıyoruz.Dosyalar extracting edildikten sonra karsınıza
aşağıdaki ekran geliyor.
Next 'tıklayarak devam ediyoruz.
Tekrar Next'e tıklıyoruz.
Kurulum başlıyor ve devam ediyor.Bir süre bekledikten sonra
karşımıza aşağıdaki ekran çıkıyor.
Yukarıda .NET Framework SDK'nın kurulduğunu belirten mesajı
alıyoruz.Redistributable versiyon için Redistributable
(English).Bilgisayarınızı yeniden başlattığınızda Artık
Server'ınız asp.net'i öğrenmiş oluyor.Tabi şimdi test etmek
isteyeceksiniz.Aşağıdaki kodları kopyalayarak .aspx olarak
kaydedin ve root klasörüne yerleştirerek Internet Explorer'ın
adres çubuğuna localhost/net.aspx yazın ve test edin.
<%@ Page Language="VB"%>
<Script runat="server">
Sub Page_Load(Sender As object, e As eventargs)
net.text="Hoþ geldin .NET "
end Sub
<html>
<body>
<asp:Label id="net" runat="server" />
</body>
</html>
Yukarıdaki kod çalıştığında ekrana Hoş geldin .NET yazısını
yazdığında artık .net çalışmanız için bir problem yok
demektir.Fakat ufak tefek sorunlardan bahsedecek olursak mdac
2.7 versiyonunu yine Microsoft'un sitesinden indirirseniz hiç
bir problem çıkmaz.Eğer mdac 2.7 versiyonu indirmezseniz
veritabanı bağlantılarında problemler yaşarsınız.mutlaka
indirmenizi tavsiye ederim.
http://www.microsoft.com/data/download_270RTM.htm adresinden
MDAC2.7 versiyonu temin edebilirsiniz. Şimdilik buraya kadar
.NET kurmayı deneyen herkese kolay gelsin.
APPLICATION NESNESİ
Yığın halinde tek başlarına çalışabilen asp uygulamarımızı
birbirleriyle ilişkilendirmek Application nesnesi ile mümkündür.
Application nesnesi aynen session nesnesi gibi calışmaktadır.
Tek farkı Application nesnesi global bir nesnedir. Bütün
kullanıcılar aynı Application nesnesini kullanabilirler.
Application Nesnesi global düzeyde oldugu icin her zaman
global.asa dosyası altında tutulur.
Şimdi örnek kodumuzu inceliyelim:
Burada gösterilen kod günümüzde asp çatısı altında bulunan hemen
hemen her sitede kullanılmaktadır. Sitemizde şuanda kaç kişi
var?
Global.asa Dosyasının görünümü:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
'Eðer aktif bir application yoksa bu demektir ki application
nesnesi ilk defa
baþlýyor.
'Buna baðlý olarak aktif kullanýcý sayýmýzý sýfýrlýyoruz.
Application("AktifKullanici") = 0
end Sub
Sub session_OnStart
'Her yeni kullanýcý için açýlan session nesnesine tekil
dosyalardan olduðu gibi
'buradanda deðer verebiliriz.
session.Timeout = 20
'kullanýcýnýn session nesnesinin deðer dýþý kalma süresi
session("baslangic") = Now
' ornek olarak her kullanýcýnýn session nesnesinde baslangýç
degiþkenine zamaný
deðer olarak yazdýrýyoruz.
Application.Lock
'Application.Lock application nesnesini kitler. Bu iþlemi
yapmamýzýn sebebi ise
application nesnesine deðer atarken baþka bir kullanýcýnýn
application
nesnesini degistirmemesini saglamak.
Application("AktifKullanici") = Application("AktifKullanici ") +
1
Application.UnLock
've tekrar UnLock ile application nesnemizi serbest birakiyoruz.
end Sub
Sub session_Onend
Application.Lock
'Kullanýcýnýn session I bittiði takdirde application nesnesini
kitliyoruz ve
yeni degerimizi veriyoruz.
Application("AktifKullanici") = Application("AktifKullanici") -
1
Application.UnLock
end Sub
</SCRIPT>
Peki bunu sayfada nasıl göstereceğiz? – Bunuda aynen session
nesnesini kullandıgımız gibi kullanıyoruz.
Ornek: <%=Application(“AktifKullanici”)%> kisi su anda
sayfamizda.
ASP'DE MATEMATİKSEL İŞLEMLER
Öncelikle bu işlemler matematik amaçlıdır. Yani kullanıcağımız
değikenler sayı yüklü olmalıdır.
Degisken1 = "1"
Bu bir metindir. Siz sayı olarak görsenizde ASP metin
diyecektir. Nedeni ise tırnaklardır.
Degisken1 = 1
Bu bir sayıdır. Her işlemi yapabilirsiniz. Üsttekini
kullanırsanız
Degisken1 = "1"
Degisken2 = Degisken1 + 2
Bu durumda Degisken2 12 olur ama ikinci durumda
Degisken1 = 1
Degisken2 = Degisken1 + 2
Bu durumsa Degisken2 3 olur.
Degisken1 = 2
Degisken2 = Degisken1 * 2 + 10 / 2
Bu durumda sonuç 9 çıkar ama sonucun 7 olması lazımdı dimi niye
olmadı? Çünkü ASP işlem önceliğine bakar. Peki nasıl yapıcaz?
Parantez kullanıcaz!
Degisken1 = 2 Degisken2 = ((Degisken1 * 2) + 10) * 2
Şimdi oldu. İşlemlerimiz normal simgeler (+, -, *, /) Diğer
işlemler ise trigonometriye kadar giriyor onların komutlarını
ileride vericem. Ayrıca ^, \. "^" üssünü almak için
kullanılıyor, \ ise tamsayı böler.
BUFFER HAKKINDA
Sayfa Tamponlaması ASP'de kullanılan ilginç bir özelliktir.
Sayfa Tamponlanması, response nesnesinin bir özelliğidir. Bize
getirdiği fayda ise; Client tarafı, sunucudan bilgiyi talep
ederken bize ne aldığını kontrol ettirir, yani denetletir.
response nesnesine bağlı çalışan Buffer özelliğinin default
değeri daima False dır. Değer bu iken, yani false iken bir
sayfadaki ASP scripti oluştuğu gibi sunulur, yani script adım
adım uygulanarak sayfaya yapması isteneni uygular. Fakat biz
Buffer değerini True olarak atarsak, Script tamamen
çalıştırlmadan daha doğrusu tamamlanmada client tarafına bilgi
sunulmaz. Kullanım şekli;
<% response.Buffer = True %>
Dikkat edilmesi gereken bir husus, bu tanımlama sayfadaki Html
taglarının üstünde yer alıyor olması gerekir. Aksi takdire hata
alırsınız. Bu arada hemen belirtelim, bu özellik ile Flush
özelliğini beraber kullanabiliriz. Flush, bir script işleminde
elde edilecek sonuçlar sayfaya yazdırılana kadar daha önce
istemci tarafına yollamak istediğimiz bilgileri gönderir. bu da
bize bir nevi hız kazandırır. Buffer özelliğin kullanılmasının
en iyi örneğini cookielerde verebiliriz. Burada sunucu ve
istemci ile bilgi alışverişi esnasında oluşabilecek hataları
Buffer özelliği ile önleyebiliriz. Buna kısa ve basit bir örnek
vermek gerekirse:
Diyelim, bir sayfanız var ve buraya kimsenin ulaşmasını
istemiyorsunuz. Hali ile şifre koyarsınız.
<%
response.Expires = 1000
response.Buffer = True ' ýþte Buffer özelliði burda devreye
giriyor !
session("UserLoggedIn") = ""
if Request.Form("login") = "true" then
CheckLogin
else
ShowLogin
end if
Sub ShowLogin
%>
Bakınız sayfadaki scripte (yukarıda) bir istek geliyor. Nedir?
parolayı kontrol et ! yani Scriptin bu kısmı formdan gelen
bilgiyi aşağıdaki scripte paslıyor, ve oda şifrenin doğru olup
olmadığını kontrol ediyor. ışte burda "Buffer =True" olayı
kontrol ediyor.
%>
Sub CheckLogin
if LCase(Request.Form("kullanýcýadi")) = "AliVeliKonya" And
LCase(Request.Form
("sifre")) = "123456" then
session("UserLoggedIn") = "true"
response.Redirect "falanca.asp"
else%>
<%
response.write("þifre geçersiz..")ShowLogin
end if
end Sub
%>
Bu tabii gayet basit ve kısa bir script. Burada sadece bir
örnek teşkil etsin diye verdim. Bu olay daha karmaşık ve uzun
scriptlerde daha da belirgin bir şekilde rol oynayacaktır.
COMPONENTS
Kuşkusuz ASP deki Sunucu objeleri ASP programcıları için
bulunmaz bir nimet. Çünkü bunlar ASP yi zenginleştiren ve daha
interactive yapan öğelerdir. Nelerdir bunlar ?
ASP nin normalde standart onbir tane sunucu bileşeni vardır.
Bunlar;
- Ad Rotator Bileşeni
- Browser Capabilities Bileşeni
- Content Linking bileşeni
- Content Rotator Bleşeni
- Page Counter Bilşeni
- Permission Checker Bileşeni
- Counters Bileşeni
- MyInfo Bileşeni
- Tools Bileşeni
- Status Bileşeni
Bunlar tabii Microsoft ile beraber gelen standart IIS
bileşenleridir. Hepsi bunlarla sınırlı değil tabii. ıleri seviye
olarak kendi Bileşenlerinizi bile yazabilirsiniz. Bunu VB 6.0 da
ActiveX bileşenleri olarak yaratabilir ve derleyebilirsiniz.
Birde hazır ticari amaçla yapılmış sunucu bileşenleri vardır,
bunlarda Sunucu sahipleri tarafından Sunuculara kurulup hizmete
sunulan bileşenlerdir. Bunlarada 3.parti sunucu bileşenleri
olaral adlandırabiliriz. File Uploader, Mail sender, Asp Tear
gibi değişik bileşenler buna örnek olabilir. Biz burda kısaca
Standart sunucu bileşenlere göz atacağız.
Ad Rotator Bileşeni:
Bu bileşen, bizlere ASP sayfalarımızda değişik imajlar yahut
Grafikler göstermemize olanak sağlayan bir bileşendir.Daha
ziyade ticari amaçlar için kullanılabilir diyebiliriz. Her
defasında eriştiğimizde değişen Bannerlar buna güzel bir örnek
teşkil ediyor. Sadece Banner grafiklerini değiştirmeklede
kalmayıp, bunlara kaçar defa tıklandığını sayabilen ve birtakım
istatistiklerde tutabilen bir bileşendir. Bileşen nesnesinin
kullanım şekli;
<% Set NesneAdRotator = Server.CreateObject("MSWC")%>
Genelde bu bileşenin kullanım amacı yukarıda belirttiğim gibi
Ticari kullanımdır. Bu tür bir obje yaratmak için birden fazla
adım gerektirir. Öncelikle bileşen nesnesini oluştururuz ve daha
sonrası Ad Rotator Schedule dosyasını yaratırız. Bu bileşen
Adrot.dll içinde oluşturulur.
Browser Capabilities Bileşeni:
Bu bileşen, bize sayfalarımıza gelen ziyaretcilerin
kullnadıkları Tarayıcılar (Browser) hakkında bir fikir verir.
Her ne kadar IE ve Netscape en çok kullanılan Tarayıcılar
olsalar bile diğer başka Tarayıcılarda mevcuttur. İşte bu tüm
Tarayıcların desteklediği Html tagları, javascripler, ActiveX
ler vs. vardır. Bu konu hakkında (destekleme konusu)
Browscap.ini dosyasını incelemenizi ve araştırmanzı
önerebilirim. Win 98 de Windows/system directory sinde NT de ise
Winnt/system32 klasörünün nün içinde bulunur. Ayarları ile
oynamamanızı öneririm..
İşte bu bileşen ile bir tarayıcının hangi özellikleri
desteklediğini öğrenebiliriz. Bunu HTTP başlığını kullanarak
user agent dediğimiz ve içerdiği Server Variables ile
sağlayabiliriz.
<% = Request.Server.Variables("HTTP_USER_AGENT")
Content Linking bileşeni:
Bu aslında basit ama faydalı bir Bileşendir. Bunu, esasen bir
kitapdaki index sayfası gibi görebilirsiniz. Bulunduğumuz bir
sayfanın içinden Sitede bulunan diğer linkleri gösteren ve
içerisinde bize ileri veya geri hareket etmemizi sağlar.
Kullanım şekli aşağıdaki gibidir;
<% Set NesneSonrakiSay = Server.CreateObject("MSWC.nextLink") %>
Kısa bir örnek ile bunu açıklayalım:
<% Set SonrakiSay = Server.CreateObject("MSWC.nextLink")
zCounter = SonrakiSay.GetListCount("index.txt")
For z = 1 To zCounter
%>
Content Rotator Bileşeni:
Ad Rotator Bileşeninin daha basit bir şeklidir. Grafikleri
değil, text içerikli dosyalara aynı desteği sağlar.(bkz.Ad
Rotator Bileşeni)
Permission Checker Bileşeni :
Bu bileşen bir kullanıcının herhangi bir dosyayı okuması için
yetkisi olup olmadığını kontrol eder, ve IIS in şifre doğrulama
özelliğini kullanarak çalışır. Kısacası, bir sitede farklı
kullanıcılar için sayfaları yetkiye göre izlenip izlenememesini
ayarlayabilirsiniz. Anonim, Basic ve NTML şeklinde üç değişik
şifre kontrolü sağlamak mümkündür.
My Info Bileşeni :
Bu bileşen, Server yöneticisi tarafından sağlanan kşişsel
bilgilerin saklanması için kullanılır. Yani içerik, e-mail,
adres vs. tipi bilgiler tutlduğu, parametre olarak oluşturulan
bir formdur. Hani bilirsiniz, makinanıza PWS yada IIS kurarken,
ilk bir default page oluşturulur. ışte bu MyInfo bunu ta
kendisidir. Burda kişisel bilgiler bulunur. Bu bilgiler
MyInfo.xml adlı bir dosyada tutulur. Peki web de bunun bize
faydası nedir? Faydası, mesela sayfalarda e-mail adresi
oluşturdunuz. Myinfo daki mail adresini değiştirdiğiniz zaman
tüm asp sayfalarındaki mail adresiniz değişmiş olur. Tabii bunu
Html deki css ile karıştırmıyoruz. Örneğin:
<%
(ref+MyInfo.Email'">+'Mail'+'</a>')
%>
bu şekilde <a>....</a> arasında kalan kısmı oluşturmuş
olursunuz. xml özelliğini kullanarak kendi etiketlerinizide
kullanabilirsiniz.
Tools Bileşeni :
<% Set Tool = server.CreateObject("MSWC") %>
Bu bileşen bizlere, aps ye bazı fonksiyonlar yani ek
işlevsellikler eklememize olanak tanır. Mesela, Tools.FileExist
metodu ile dosyaların var olup olmadığını kontrol
edebiliriz.Sunucu pluf inlerini kontrol edebilir veyada Bir Html
formunu oluşturabilirsiniz.
Status Bileşeni :
Bu bileşen, server durum bilgsinini içeren bir nesne oluşturur.
Yani server durumunu bildirir.
COOKIE'LER VE KULLANIM ALANLARI
Cookie ( çerez ) ler sayesinde istemcinin bilgisayarında bazı
bilgiler saklanabilir Bu bilgiler kişisel bilgilerin veya sitede
o kullanıcıyla ilgili bilgilerin saklanması için
kullanılabilirler. Cookie "response" nesnesinin bir
koleksiyonudur.
Cookielerde bilgiler isim-değer çiftleri şeklinde tutulurlar
kullanıcının bilgisayarına yollanırken de bu şekilde
yollanırlar.
Örnek:
response.cookie("isim")="xxx"
Bir cookiede birden fazla alt anahtar bulunabilir.
Örnek:
response.cookie("aaa")("bbb")("ccc")="xxx"
Cookielerin "expires" adynda bir özeliği vardır Bu şekilde
cookienin kulanıcı bilgisayarında hangi tarihe kadar saklanacağı
belirtilebilir.
Örnek:
response.cookie("xx").expires="feb 11,2000"
Bu ifade ile bu cookienin 11 şubat 2000'e kadar bilgisayarda
saklanacağını belirtilir. Cookie bilgilerinin alınması ise şu
şekilde olur..
response.cookie("xxx")="aaa"
şeklinde kullanıcı bilgisayarına yollanan cookie
Request.cookie("xxx")
şeklinde çağırılıp bir değişkene atanarak kullanılabilir.
Genel olarak tüm cookiler bir klasör altında saklanır
"windows/cookies" gibi... Cookielerin Haskey denilen özelikleri
belirtilerek başka sitelerin aynı çereze erişmesi,çerezin
saklanacağı path'in belirtilmesi gibi işlemlerde yapılabilir
INCLUDE - SERVER.TRANSFER
Include bir sayfanın kodlarını mevcut sayfaya ekler. ASP'de ise
Server.Transfer bu işi yapar. Mesela;
<!-- #include file="veri.asp" -->
Bu kodu ASP taglarının dışına yazabiliriz. Fakat;
<%
Server.Transfer("veri.asp")
%>
bu başlı başına bir ASP komutudur. Daha çok Include kullanılır;
fakat uzmanlar Server.Transfer kullanmayı öneriyorlar.
NOT: Bu kodları nereye koyarsanız, oraya eklenir. Yani
anlaşıldığı gibi bunu menü, anket, üye girişi, şifre kontrol
gibi yerlerde kullanıyoruz.
RESPONSE NESNELERİ
"response" bir ASP nesnesidir ve sunucudan Ziyaretciye çıktılar
Gönderir. Şimdi sırasıyla response nesnelerini tanıyalım:
response.write:
.asp sayfası içinde istedigimiz degişken ya da yazıların
görünmesini saglayabiliriz. Örnek verecek olursak:
<% @LANGUAGE=VBScrip CODEPAGE=1254 %>
<% d=Mehmet Selçuk Batal
response.write("Bu Dersi, Editör: ")
response.write(d)
response.write "Hazýrlamýþtýr"
%>
response.write'nin kısa yazım biçimi ise;
<%=(degiþken veya sabit)
response.flush:
Sunucu sayfa içinde bu ifadeye rastlarsa, tampon(buffer)
hafızada tuttuğu degerleri, browser'a gönderir:
<% @LANGUAGE=VBScrip CODEPAGE=1254 %>
<%response.Buffer=true%>
<p>Bu Satýr tompon hafýzata saklanan satýr.</p>
<%response.Flush%>
<p>Buyazý ise Flush metodundan sonra yazýlmýþtýr<p>
Bu işlem çok hızlı olacagından, bize normal bir sayfa
yükleniyormuş gibi gözükür.
response.end:
Sunucu bu satırı gördügünde işlemi durdurur ve tampon hafızadaki
degerleri browser'e gönderir ve sciptin çalışması durur.
<% @LANGUAGE=VBScrip CODEPAGE=1254 %>
<%response.Buffer=true%>
<p>Bu yazýyý yazdýktan sonra response.end metodu çalýþtýrýlmýþýt
o yüzden
burdaki yazýlardan sonrakiler gözükmeyecekler</p>
<%response.end%>
<p>Bu yazý hiçbir zaman gözükmeyecek </p>
response.clear:
Sunucu bu methodu görene kadar tampon hafızada tuttuğu bütün
bilgileri siler. Yani response.end'in tam tersi bir işlem yapar.
<% @LANGUAGE=VBScrip CODEPAGE=1254 %>
<%response.Buffer=true%>
<p>Bu satýrlar sunucunun tampon hafýzasýnda saklanýyorlar ama bu
satýrlardan
sonra response.Clear metodu ile silinecek ve gözükmeyecekler</p>
<% response.Clear %>
response.redirect:
Sunucu bu sayfada bu ifadeye rastlarsa çalışmasını durdurup
belirtilen URL adresindeki sayfayı browser'a getirir.
response.Redirect "yönlendirecegimiz Sayfa.asp"
response.expires:
Ziyaretci sunucudan sayfayı istedigi zaman, bu sayfalar
ziyaretcinin bilgisayarında geçiçi bir bellekte saklanır.
Ziyaretci tekrar aynı sayfaya geldigi zaman browser ilk önce, bu
bellekte arar, bulursa görüntüler. Ancak siz bunu
istemeyebilirsiniz veya bunun olmaması gereken bir durum vardır.
Bunu engellemek için yani sayfanın her seferinde sunucudan
gönderilmesini saglamak için kullanabilirsiniz.
<% response.Expires=0 %>
Değeri sıfır yaparak geçici bellekte saklanmasını engelledik.
İstersek bunu belirli bir tarihe kadar saklanmasını
saglayabiliriz. Yani istedigimiz tarihte silinir.
<% response.ExpiresAbsolute=#May 01,2001 08:30:00# %>
SERVER DEĞİŞKENLERİ VE SUNUCU BİLGİLERİ
ALL_HTTP İçindeki bütün degişkenler ve değerleri
ALL_RAW İçindeki bütün degişkenler ve değerleri ni İstemci
şeklinde gösterir.
APPL_MD_PATH Web sunucusunun ISAP:DLL'in varsayım olarak
kullandıgı kök dizin.
APPL_PHYICAL_PATH Web server sunucusunun varsayım olarak
kullandıgı kök dizin yolu.
AUTH_PASSWORD Web sunucusunun bağlanmak için kullangıgı parola.
AUTH_TYPE Web sunucusunda kullanılan kimlik denetim yöntemi.
AUTH_USER Web sunucusuna bağlanmak için kullanılan kullanıcı
adı.
CERT_COOKIE Kullanılan güvenlik sertifikası tarafından
kullanıcıya verilen kimlik bilgisi.
CERT_ISSUER Sertifikanın verildigi - alındığı kurum.
CERT_FLAGS Sertifikanın oldugunu belirten bir bit.
CERT_KEYSIZE SSL için bağlantı anahtar değeri.
CERT_SECRETKEYSIZE Özel Anahtar değeri.
CERT_SERIALNUMBER Sertifikanın seri numarası.
CERT_SERVER_SUBJECT Sertifikanın konusu.
CONTENT_LENGTH İstemcinin gönderdiği bilgi kümesinin boyutu.
CONTENT_TYPE Kullanıcıdan alınan bilgilerin GET y ada POST
olduğu tür. HTTPS Bağlantı güvenli ise ON, değilse OFF.
INSTANCE_ID Web sunucusunun aynı anda çalışma sayısı.
INSTANCE_META_PATH Web sunucusunun meta bilgi yolu.
LOGON_USER Kullanıcının win_NT yada win_2000'de oturum acma adı.
LOCAL_ADDR İstemci IP adresi.
REMOTE_ADDR Web sunucusunun IP adresi.
REMOTE_HOST Web sunucusunun adı.
SERVER_PROTOCOL Sunucunun çalıştıgı http sürümü.
SERVER_SOFTWARE Sunucu programının adı ve sürümü.
Bunları bir örnekle daha iyi anlarsınız ve kullanabilirsiniz
<html>
<title>Sunucu Bilgileri</title>
Tarayıcı & Kullanıcı Yazılımı :
<%response.write (Request.ServerVariables ("http_user_agent"))
%>
<br>
IP Adresi :
<%response.write (Request.ServerVariables ("remote_addr")) %>
<br>
Domain Adı :
<%response.write (Request.ServerVariables ("server_name")) %>
<br>
Web sunucusunun çalıþma sayısı :
<%response.write (Request.ServerVariables ("INSTANCE_ID")) %>
<br>
Çalıþmakda olan script adı :
<%response.write (Request.ServerVariables ("SCRIPT_NAME")) %>
<br>
HTTP sürümü :
<%response.write (Request.ServerVariables ("SERVER_PROTOCOL"))
%>
<br>
Programın Adı ve Sürümü :
<%response.write (Request.ServerVariables ("SERVER_SOFTWARE"))
%>
<br>
Geçerli URL :
<%response.write (Request.ServerVariables ("URL")) %>
|