Asp Nedir 2

     
ASP teknolojisi ile oluşturduğunuz sayfaları, yani içinde ASP teknolojisinin gerektirdiği kodlar bulunan HTML dosyalarını, .asp uzatmasıyla kaydederiz. Bu dosyalar talep edildiğinde, Web Server programı, eğer ASP teknolojisini tanıyorsa, talep edilenin ASP sayfası olduğunu dosya adının uzatmasından anlar; ve bu sayfayı ziyaretçiye yollamadan önce kendisi işleme tabi tutar. ASP sayfamızdaki kodlar büyük bir ihtimalle bir takım dinamik işler yapacak, örneğin hesaplamalar, araştırmalar, veri tabanından veri çekme, dosya sisteminden dosya isteme gibi görevlerini yerine getirecek, ve ortaya çıkacak olan HTML dosyasını ziyaretçiye gönderecektir. Diyelim ki bu kitapçıktaki örnekleri yaptınız ve ücretsiz Site yeri edinmiş olduğunuz Hosting firmasının bilgisayarındaki sitenize yerleştirdiniz. Sonra Browser’ınızın URL hanesine bu ASP dosyasının adını yazdınız ve sayfayı talep ettiniz. Karşınıza, ya ASP sayfasının içindeki kodları görüntüleyen veya sadece sayfanın HTML unsurlarına yer veren bir sayfa geldi! Bu Server’ınızın ASP anlamadığını gösterir. ASP sayfalarınızı ASP-uyumlu Web sunucularında çalıştırabilirsiniz. Sitenizde ASP sayfaları bulunacaksa ve ücretli evsahibi firmalardan site alanı edinecekseniz, sunucunun ASP-uyumlu olmasına dikkat edin.<br>
Hakkı Öcal ‘dan<br>
<br>

Bilgisayarınızın adını degiştirmek çok kolay. Artık http://localhost veya http://127.0.0.1 yazarak baglanmak istemiyorsanız Ag baglantıların üzerine gelip mouse un Sag tuşuyla tıklayın
ve acılan yerden özellikleri secin şimdi Tanımlama basın ve oradan bilgisayarın Adını Degiştirin
işte bukadar basit.
Bunu aynı Zamanda Denetim Masasından da yapa bilirsiniz bunun için
denetim masası–>Ag—>Tanımlama

şecenegi secin ve yine buradan ismi degiştire bilirsiniz
Hangisi kolayınıza gelirse onu yapın

Asp kodlari yazmaniz için sadece basit bir metin editörüne ihtiyaciniz var
Asp kodlari normal html etiketleri ile birlikte yazilabildigi gibi
hiç html kodu olmadan da yazilabilir. Suna dikkat edilmelidir, bir .asp uzantili dosyada
HTML etiketi buluna bilir ama bir .htm uzantili dosyada ASP etiketi bulunamaz

Şimdi Sizlere Asp de çok kullanılan bir özelligi anlatacagım
<!–#include virtual=”dosyaadı.htm”

Mesala Kullanmak istedigimiz bir sayfam menü Diye bir kısım oluşturduk ve bunu hersayfamızda görünmesini istiyoruz
Bunu include virtualile yapabiliyoruz ve Görünmesini istedigimiz sayfalara bu nu yazıyoruz ve ardından hazırladıgımız sayfanın adını yazıyoruz ve her sayfada ayrı ayrı hazırlama derdinden kurtuluyoruz. Buna bir örnek yapalım:

<body>
<p align=”center”>
<img src=”/resimlerim/banner.gif”
<p align=”center”>
<font><strong><font face=Lucida sans unicode” size=”2″>
<a href=”http://sitem.com”>Ana Sayfa</a>

<a href=”http://sitem.com/oyun.asp”>Oyunlarımız</a>

<a href=”http://sitem.com/Arama.asp”>Arama</a>

<a href=”http://sitem.com/Öneriler.asp”>Önerileriniz</a>

<a href=”http://sitem.com/spor.asp”>Spor Haberleri</a>
</font>
</strong>
</font></p>

**********************************
Yukarıdaki Sayfayı “ust.htm” Adıyla Kaydedin;

*********************************
<html>
<head>
<meta http-equiv=”content-Type”content=”text/html;charset=ISO-8859-9″>
<meta http-equiv=”content-Type”content=”text/html;charset=windows-1254″>
<title>include virtual</title>
<!–#include virtual=”ust.htm”–>
</BODY>
</HTML>

**********************************
Yukarıdaki koduda “ilk.asp” Adıyla Kaydedin;

*********************************
Bunun sayesinde bütün sayfalarımızda başlık kısmını ayrı ayrı hazırlamaya gerek kalmadı, sadece başlık kısmana ait sayfayı degiştirip yayınlamamız yeterli olacak. Bu sayede zamandan kazanmış olacagız.
Başarılar…

Aşagıdaki kodu notdefterinde yazın ve uzantısını.asp olarak kaydedin.
<meta http-equvi=”content-type” content=”text/html;charset=ISO-8859-9″>
<meta http-equiv=”content-type” content=”text/html;charset=windows-1254″>
<% @ LANGUAGE=VBScript CODEPAGE=1254 %>
bu yazı html sayfasıyla yaqzıldı
<%
Response.Write “bu tazı ise asp sayfsıyla yzılmıştır”
%>
Yazdıklarımızı tanıyalım :::::
Yukarıda yazdıgımız meta etiketleri Sayfamızın turkce karakterlere göre yazıldıgını anlatıyor
CODEPAGE=1254 ise kotların turkce karaktere göre kodlandıgını anlatıyor
Response.Write bunu zaten Biliyoruz Sayfaya İstegimimiz Şeyleri yazdırmaya yarıyorAşagıdaki kodu notdefterinde yazın ve uzantısını.asp olarak kaydedin.
<meta http-equvi=”content-type” content=”text/html;charset=ISO-8859-9″>
<meta http-equiv=”content-type” content=”text/html;charset=windows-1254″>
<% @ LANGUAGE=VBScript CODEPAGE=1254 %>
bu yazı html sayfasıyla yaqzıldı
<%
Response.Write “bu tazı ise asp sayfsıyla yzılmıştır”
%>
Yazdıklarımızı tanıyalım :::::
Yukarıda yazdıgımız meta etiketleri Sayfamızın turkce karakterlere göre yazıldıgını anlatıyor
CODEPAGE=1254 ise kotların turkce karaktere göre kodlandıgını anlatıyor
Response.Write bunu zaten Biliyoruz Sayfaya İstegimimiz Şeyleri yazdırmaya yarıyor

Sanırım ASP’nin ne olduğunu öğrendiniz şimdi birazda ASP’nin temel taşları değişkenler ve değişmeyenler duralım.
Değişken, içine çeşitli türlerde bilgi atanabilen birer elemandır. Değişkenleri Dim ile Deklare edebiliriz ama bu gerekli değildir. Tabii bu ne kadar iyi gibi gözükse de zararı daha büyüktür. Mesela ufak bir yazım hatası 200 satırlık bir dosyayı hatta bir kaç dosyayı bile tekrar tekrar incelememize neden olabilir. Bu yüzden Option Explicit diye bir özellik eklenmiş ASP’ye. Böylece değişkenleri tanımlamak bir zorunluluk oluyor. Aksi takdirde hata veriyor dosyamız. Option Explicit’i sayfanın en başına koymalıyız. Yani sayfamız;
<% Option Explicit %>
diye başlamalı. Değişkenlere değer vermek için “=” koyduktan sonra tırnak işareti (“) içinde değeri yazmalıyız veya başka bir değişken ismini koymalıyız.
<%
Dim Degisken1, Degisken2
Degisken1 = “Merhaba”
Degisken2 = Degisken1
Response.Write Degisken1
Response.Write Degisken2<br>%>
bu komutlarla degisken1’e Merhaba yazdık ve degisken2’ye de degisken1’in içindeki değeri yani Merhaba’yı ekledik. Sonra bu değişkenlerin değerini ekrana yazdırdık. Ekranda MerhabaMerhaba yazıcaktır.
Yazının başındada bahsettiğim gibi bir de değişmeyenler var. Bunları Const ile deklare ediyoruz. Yani;
<%
Const dolar = “1300000”
%>
dolar sabitini ürettik ve değer olarak 1300000 yazdık. Burda dikkat edilmesi gereken bir sabite değişken değeri ekleyemeyiz. Yani;
Const Yazi = Degisken1
bu kod hata verir.
İşte böyle emekleye emekleye girdik ASP dünyasına umarım hepimiz birer maraton koşucusu olucaz.

Değişkenleri öğrendik şimdi de form’dan gelen bilgilerin değişkenlere aktarılmasını öğrenelim. Öncelikle bir form.htm isimli bir dosya oluşturun ve içine bunları ekleyin
<form action=”form.asp” method=”post”>
<input type=”text” name=”field1″>
<input type=”submit” value=”Yolla”>
</form>
Sonra bir form.asp dosyası oluşturun ve içine de
<%
Formdan_Gelen = Request.Form(“field1″)
Response.Write Formdan_Gelen
%>
yazın. Böylece formdan gelen field1’i formdan_Gelen değişkenine atadık ve ekrana yazdırdık. Ama burda dikkat etmeniz gereken yer eğer form post methodu ile yollanırsa Request.Form, eğer GET methodu ile yollanırsa Request.QueryString kullanmamız gerekecek. Bunların arasındaki fark ise POST methoduyla yollanan veriyinin başkaları tarafından görünmemesi GET in ise adres çubuğunda görünmesidirDeğişkenleri öğrendik şimdi de form’dan gelen bilgilerin değişkenlere aktarılmasını öğrenelim. Öncelikle bir form.htm isimli bir dosya oluşturun ve içine bunları ekleyin
<form action=”form.asp” method=”post”>
<input type=”text” name=”field1″>
<input type=”submit” value=”Yolla”>
</form>
Sonra bir form.asp dosyası oluşturun ve içine de
<%
Formdan_Gelen = Request.Form(“field1”)
Response.Write Formdan_Gelen
%>
yazın. Böylece formdan gelen field1’i formdan_Gelen değişkenine atadık ve ekrana yazdırdık. Ama burda dikkat etmeniz gereken yer eğer form post methodu ile yollanırsa Request.Form, eğer GET methodu ile yollanırsa Request.QueryString kullanmamız gerekecek. Bunların arasındaki fark ise POST methoduyla yollanan veriyinin başkaları tarafından görünmemesi GET in ise adres çubuğunda görünmesidir

ASP’ye Başlarken…

Web tarayıcınızın yetenekleri ile sınırlı olan sayfalarınızı, tarayıcınızdan bağımsız dinamik bir hale getirmenin yolu, ASP teknolojisini bir an önce kavramaktan geçiyor. Korkulduğu gibi ASP yeni bir programlama dili değil, aksine HTML ve scripting kodlarını iç içe bulunduran web sayfalarını, sunucu tarafında çalıştırma tekniğidir. Yalnız bu tekniği tam olarak anlayabilmek için Web’in nasıl çalıştığını, Server (Sunucu) ve Client (İstemci) ilişkisinin nasıl yürüdüğünü bilmek gerekiyor. Ayrıca Jscript, Vbscript, Perl gibi scripting dillerinden herhangi birine aşinalık veya en azından nesneye yönelik bir programlama dili, örneğin. Visual Basic kullanmış olmak ve HTML kodlarına yabancı olmamak başlangıç için yeterli olacaktır.

 

ASP Nedir?

Active Server Pages kelimelerinin baş harflerinden oluşan ASP, sunucu taraflı geliştirme ortamıdır. Dosya uzantısı “.asp” olan ASP sayfalarında HTML ve Script dili bir arada kardeşçe bulunabilmektedir. ASP sayfalarının çalışmasını kısaca şöyle izah edebiliriz: Web tarayıcınıza .asp uzantılı bir adres girildiğinde, normal şartlar altında Web Server bunun ASP olduğunu anlar ve dosya içerisindeki script kodlarını işletir. Kodlar işletildikten sonra kodun sonucunda oluşan HTML kodlar ise kullanıcının tarayıcısına geri yollanır. ASP teknolojisi sayesinde, sayfalarınıza koyacağınız HTML, VBScript kodları ve veritabanı uygulamaları, Server’da icra edileceğinden, ziyaretçinin Browser’ının örneğin VBScript’i tanımayan Netscape olması, hiç önemli değildir. ASP bu özgürlüğü, kodların server tarafında işletilmesine borçludur. Kullanıcının ekranında sadece kodların işletilmesi sonucunda oluşan HTML sayfası görüntülenir. ASP’nin bir avantajı da, kullanılan kodların başkaları tarafından kopyalanamamasıdır.

 

ASP İçin Neler Gereklidir?

ASP, sunucu taraflı uygulama geliştirme ortamı olduğu için Web Server’ın varlığına ihtiyaç duyar. Microsoft’un ASP için kullanabileceğiniz iki adet Web Server uygulaması var. Bunlar Personal Web Server (PWS) ve Internet Information Server (IIS)’dir. Ayrıca ASP ile veritabanı uygulamaları da geliştirelim abi diyorsak, veritabanları ile bağlantıyı sağlayan ODBC uygulamasının yüklü olması gerekiyor. Web sayfalarınızı kendi bilgisayarımdan yayınlarım ve günde 5-10 hit’e razıyım, makinemde zaten Windows 98 işletim sistemi yüklü derseniz PWS’yi tavsiye ederiz. Yok eğer baba gibi bir sisteminiz var ve her gün yüksek hit almak istiyorsunuz tabii ki IIS diyoruz. Çalıştığınız platform Windows 95, 98, NT4 WorkStation veya NT4 Server ise sisteminize Web Server programını kendiniz kurmalısınız. Hayır Windows 2000 Server kullanıyorsanız, bu işlemin otomatik olarak gerçekleştiği aklınızda bulunsun. Sayfalarınızı kendi kendinize deneyebilmek için mutlaka bilgisayarınıza Web Server kurmalısınız. Şimdi Web Server’ın nasıl kurulduğundan ve hangi ayarlamaların yapılması gerektiğinden kısaca bahsedelim…

 

Kişisel Web Server (PWS) Kurulumu

Sisteme Web Server kurmazdan önce bilgisayarınıza bir ad tanımlanmış olması gerekiyor. Eğer bilgisayarınızın adı olup olmadığından emin değilseniz, masaüstündeki “Ağ Komşuları” simgesine sağ tıklayıp, “özellikler” seçeneğini seçtiğinizde karşınıza çıkan pencerede “Tanımlama” sekmesini tıklayın. Bu sekmedeki “Bilgisayar Adı” hanesi boş ise istediğiniz adı girip gönül rahatlığıyla tamam düğmesine basabilirsiniz. Buraya yazdığınız isim aklınızın bir ucunda bulunsun. Bu ismi daha sonra web sayfamıza erişirken kullanacağız.

Windows 98’e Kişisel Web Server kurmak için iki yol izleyebilirsiniz. Windows 98 CD-ROM’unda Add-ons klasöründeki PWS dizininde Kur.exe’yi tıklayın veya Windows NT Option Pack CD-ROM’unda Default.htm’i açın. Bilgisayarınızın Windows 98 ile çalıştığını algılayacak olan program size Personal (kişisel) Web Server (PWS) kurmayı önerecektir. Kişisel Web Server’ı kurarken her iki durumda da ikinci diyalog kutusunda Minimum/En az veya Typical/Tipik seçeneğini değil, 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ına işaret koyun. Bu belgelerden daha sonra veri-yönlendirmeli Web Uygulaması yaparken yararlanacağız.

Kişisel Web Server kurulduktan sonra bilgisayarı yeniden başlatmak gerekir.

Windows NT4.0 Workstation veya Server’a IIS4.0 kurmak için Option Pack CD-ROM’undaki default.htm’i çalıştırmanız ve açılacak Browser penceresinde IIS’i kurma seçeneğini tıklamanız yeter. Burada da ADO Documentation’ı sabit diskinize aktarabilmek için gerekli seçenekği işaretleyin.

Windows 98’e Kişisel Web Server kurulduğunda Masaüstü’nde Yayımla (Publish) adlı bir simge belirecektir. NT sistemlerinde ise Başlat menüsünde Programlar bölümüne IIS Manager satırı eklenir. Bu yollardan biriyle PWS veya IIS’i çalıştırın.

Kişisel Web Server’da Personel Web Server Manager (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ı. Bilgisayarınızın adı buraya Server adı olarak yazılmış olmalı. Biraz sonra, Internet’e koymadan önce sınayacağımız ASP sayfalarını çağırırken, Browser’ın adres kutusuna burada gördüğümüz adı yazacağız.

2. Kişisel 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. Kişisel Web sitesi yaparsanız, sitenin gerektirdiği bütün dizinleriniz ve dosyalarınız burada gördüğünüz dizinin içinde olmalıdır. Yapacağımız ASP dosyalarını işte bu dizinin içine koyacağız.

Bunları bir kenara not ettikten sonra, soldaki araç çubuğunda Gelişmiş simgesini tıklayın; ortadaki pencerede sanal dizinlerinizi görüyorsunuz. Bunlardan Home’u seçin ve sağdaki “Özellikleri düzenle” düğmesini tıklayın.

Ana dizinin okuma, yürütme ve makro erişim haklarının işaretli olmasına dikkat edin. İlerde kendinize Kişisel Web Server’ınızın kök dizininde yeni bir dizin oluşturursanız (örneğin “resimler” gibi) ve içine sitenizle ilgili dosyalar koyarsanız, Gelişmiş penceresinde Ekle düğmesini tıklayarak bu gerçek dizini de sitenin sanal dizinlerinden biri haline getirmeniz gerekir. Gerçek dizinin adı XYZ bile olsa, sanal dizin haline getirirken istediğiniz sanal adı verebilirsiniz. Ama unutmayın, Browser’ın adres hanesine gerçek dizin adını değil sanal dizin adını yazmanız gerekir.

Bu işlemleri IIS’te değişik araçlar ve diyalog kutularıyla, fakat temel ilkeler itibariyle aynı şekilde yapabilirsiniz. NT4 sistemlerine IIS’i kurmadan önce, Service Pack 3’ü uygulayın; Internet Explorer 5’i kurun. Elinizde varsa Service Pack 4, 5 veya 6’yı en son uygulayın.

Bu noktada, ASP sayfalarınızı sınayacağınız bilgisayarda Microsoft Internet Explorer programının kurulu bulunmasının şart olmadığını hatırlatalım. ASP sayfalarınızı Netscape ile de sınayabilirsiniz.

 

PWS Kurulurken Hata Verirse

Windows 98’e PWS kurarken, programın Microsoft Transaction Server bölümüne ilişkin sistem kayıtları yapılırken, iki hata 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 genişletileceği 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 (Windows CD-ROM’unuz İngilizce ise Setup.exe) programını iki kere tıklayın. PWS şimdi hatasız kurulacaktır.

 

ODBC İşliyor mu?

Kolları sıvayıp, ASP’ye kodu yazmaya başlamadan önce yapmamız gereken bir iş daha var: ASP sayfaları geliştirme ortamımızda, ODBC (Open Database Connectivity, Açık Veritabanı Bağlantısı) olması gerekir.

Windows 98, 95 (OSR2) veya NT4.0 işletim sisteminizde Denetim Masası’nda ODBC, ODBC32 veya “ODBC Veri Kaynakları (32 Bit)” adlı bir simge görüyor olmalısınız. Bunu açın, Sistem DSN sekmesini ve açılan pencerede göreceğiniz Ekle düğmesini tıklayın. Buradaki Access, dBase, Excel, FoxPro, Paradox sürücüleri 4.00.3711.08 veya daha büyük mü? Değilse, Microsoft’un sitesinden (http://www.microsoft.com/data/download.htm) Microsoft Data Access Components (sürüm 2.1.1.3711.11 GA, 6.2 MB) güncelleme dosyasını indirin ve sisteminizi güncelleştirin. Windows 2000 kurulu sistemlerde bunu yapmaya gerek yok. Böylece sisteminiz, ilerde yazacağımız veri-yönlendirmeli Web uygulamaları için hazır hale gelmiş olacaktır.

 

ASP ile Dünyaya Merhaba Diyelim…

Şimdi ilk ASP sayfamızı yapalım ve bununla kişisel Web Server programının çalışıp çalışmadığını sınayalım. Buraya kadar anlamış olduğunuz gibi ASP sayfası da HTML gibi düz yazı dosyasıdır; dolayısıyla beğendiğiniz bir düz yazı programı ile ASP yazabilirsiniz. Şimdi açın en beğendiğiniz düz yazı programını ve başlayın yazmaya. Eğer kelime-işlemci kolayınıza gidiyorsa, dosyayı ASCII veya ANSI biçiminde kaydetmeyi unutmayın.

ASP sayfalarında server’ın işleyeceği ASP kodları <%…%> işaretleri arasında yer almaktadır. Verdiğimiz örneklerde bu noktaya dikkat edin. Başta söylediğim gibi ASP ve HTML kodları içiçe kullanılmaktadır, kafanız karışmasın….

Merhaba.asp

<%@ LANGUAGE = VBScript %>

<% Option Explicit %>

<!– İlk Satır VBScript kullanıldığı server’a bildirilir. –>

<!–İkinci satırdaki komut girildiğinde hiçbir değişken Dim komutu ile tanımlanmadan kullanılamaz. –>

<HTML>

<HEAD>

<TITLE>ASP</TITLE>

</HEAD>

<BODY BGCOLOR=”White” TOPMARGIN=”10″ LEFTMARGIN=”10″>

<!– Başlık gösterilir. –>

<FONT SIZE=”4″ FACE=”ARIAL, HELVETICA”>

<B>ASP ile İlk Örneğimiz</B></FONT><BR>

<HR SIZE=”1″ COLOR=”#000000″><H1><CENTER>

<%

response.write “Merhaba Dünya!”

‘ Tarayıcımıza server tarfından ” Merhaba Dünya!” yazılır. –>

%>

</H1>

<H2>Bugün:<% Response.Write(Date) %></CENTER></H2>

<!– Tarayıcımıza server’daki tarih ne ise o yazılır. –>

</B></FONT><BR><HR>

</BODY>

</HTML>

Bu dosyayı merhaba.asp adıyla kaydedin ve kendi bilgisayarınızda kişisel Web Server’da veya ISS’te sınayacaksanız, bu programları çalıştırın. Browser’ınızın URL hanesine, kişisel Server’ınızın adıyla birlikte dosyanın adını yazın; ve ilk ASP programınız dünyaya Merhaba desin.

Sonuc:

Şimdi ikinci ASP örneğimizi yazalım. Bu örnekte ise for döngüsünü kullanarak sizlere “Hoşgeldiniz!” diyoruz…

Hosgeldiniz.asp

<%@ LANGUAGE = VBScript %>
<% Option Explicit %>
<!– Bu komut girildiğinde hiçbir değişken Dim komutu ile tanımlanmadan kullanılamaz. –>
<HTML>
<HEAD>
<TITLE>ASP</TITLE>
</HEAD>
<BODY BGCOLOR=”White” TOPMARGIN=”10″ LEFTMARGIN=”10″>
<!– Başlık gösterilir. –>
<FONT SIZE=”4″ FACE=”ARIAL, HELVETICA”>
<B>ASP ile İkinci Örneğimiz</B></FONT><BR>
<HR SIZE=”1″ COLOR=”#000000″>
<!– For döngüsü ile ekrana “Hoşgeldiniz!” yazılır. –>
<%
Dim sayac
‘ Sayac değişkeni tanımlanır. Eğer tanımlanmazsa Option Explicit kullanıldığı için hata verir.
For sayac = 1 to 5
‘ Sayac değişkenine 1’den 5’e kadar değer atanarak döngüye sokulur.
%>
<FONT SIZE=<% = sayac %>>Hoşgeldiniz!<BR></FONT>
<!– Yazı puntosu sayac değişkenine eşitlenir ve dinamik olarak değişik ebatlarda yazı yazılır.–>
<% next %>
<!– Her next deyimine gelindiğinde sayac 1 artırılr ve bu işlem sayac değeri 5 olana kadar devam eder. –>
<HR>
</BODY>
</HTML>

Sonuc:

 

Internet’te ASP Nasıl İşler

ASP teknolojisi ile oluşturduğunuz sayfaları, yani içinde ASP teknolojisinin gerektirdiği kodlar bulunan HTML dosyalarını, .asp uzatmasıyla kaydederiz. Bu dosyalar talep edildiğinde, Web Server programı, eğer ASP teknolojisini tanıyorsa, talep edilenin ASP sayfası olduğunu dosya adının uzatmasından anlar; ve bu sayfayı ziyaretçiye yollamadan önce kendisi işleme tabi tutar. ASP sayfamızdaki kodlar büyük bir ihtimalle bir takım dinamik işler yapacak, örneğin hesaplamalar, araştırmalar, veri tabanından veri çekme, dosya sisteminden dosya isteme gibi görevlerini yerine getirecek, ve ortaya çıkacak olan HTML dosyasını ziyaretçiye gönderecektir. Diyelim ki bu örnekleri yaptınız ve ücretsiz Site yeri edinmiş olduğunuz Hosting firmasının bilgisayarındaki sitenize yerleştirdiniz. Sonra Browser’ınızın URL hanesine bu ASP dosyasının adını yazdınız ve sayfayı talep ettiniz. Karşınıza, ya ASP sayfasının içindeki kodları görüntüleyen veya sadece sayfanın HTML unsurlarına yer veren bir sayfa geldi! Bu Server’ınızın ASP anlamadığını gösterir. ASP sayfalarınızı ASP-uyumlu Web sunucularında çalıştırabilirsiniz. Sitenizde ASP sayfaları bulunacaksa ve ücretli evsahibi firmalardan site alanı edinecekseniz, sunucunun ASP-uyumlu olmasına dikkat edin.

 

Şimdi, ilk ASP’mizi çalıştırdığımıza göre, biraz teknikten söz edebiliriz. HTML’in ziyaretçinin bilgisayarında çalıştığını biliyorsunuz; istemci Browser, sizin URL hanesine adını yazdığınız HTML dosyasını yine adresteki sunucu Web Server’dan ister. Web Server da bu dosyayı bulur ve içinde kayıtlı resim ve diğer unsurlarla birlikte istek sahibine gönderir. Fakat kimi zaman Server’a bize sadece bir dosyayı göndermesini değil, fakat bu dosyanın içinde kayıtlı komutlar varsa onları icra etmesini de bildirebiliriz. Bunu yapmanın bir yolu CGI programlarıdır. Bir diğer yolu ise ASP’dir. Web Server, kendisinden bir ASP belgesi talep edildiğinde, kendi kendine “Dur bakalım! ASP istendiği zaman hemen alıp göndermek yok, önce bunu ASP.DLL programına gönderelim.. Ondan sonra işimize devam ederiz!” der.

 

 

ASP.DLL, kendisine .asp dosyasının geldiğini görünce, hemen ASP’lerin Anayasası olan global.asp’nin çalışıp çalışmadığına bakar. global.asa, tıpkı diğer ASP dosyaları gibi bir düz yazı dosyasıdır ve ASP programlarının çalışma koşullarını düzenleyen kuralları içerir. (Bu dosyayı sırası gelince ele alacağız.) Yukarıdaki örneklerde gördüğümüz gibi ASP dosyası hem HTML kodları içerir, hem de içinde bir Script diliyle yazılmış kodlar vardır. ASP’ye “program” özelliği kazandıran bu Script dili ile yazılmış kodlardır. ASP.DLL, önce gelen .asp dosyasında hangi Script dilinin kullanıldığına bakar ve bunun için gerekli ortamı oluşturur; yani bu Script dilini yorumlayacak programı çalıştırır; bu program Script’i yorumlar ve icra edilecek komutları icra eder; ASP.DLL, icra edilen komutlar, işletim sisteminin yardımını istiyorsa (örneğin bir veritabanından veri çekmek gibi, veya dosya sistemine bir dosya açtırmak, yazdırmak, sildirmek gibi) bu yardımın edinilmesini de sağlar. Bütün bu işlerin sonunda sizin yazdığınız HTML kodlarına ek yapmak (örneğin bir tablonun içini, çekilen verilerle doldurmak veya dosya sisteminden edinilen bir dosyanın içeriğini sayfaya aktarmak gibi) gerekiyorsa bu ekleri ASP.DLL yapar.

ASP.DLL, kendisine sevk edilen dosyayı satır satır okur ve önce dosyadaki ASP kodlarının gerektirdiği HTML değerlerini bulur; yani önce ASP icra edilir, gereği yerine getirilir. Sonra HTML bölümleri ile birleştirilip sonuçta sunucuya saf ve temiz bir HTML sayfası gönderilir. Bu sayfanın içinde bir satır bile ASP kodu bulunmaz. Eğer sayfanıza ziyaretçinin Browser’ında çalışması amacıyla Javascript veya VBScript kodları koydu iseniz, elbette bu kodlar HTML’in parçası olarak ziyaretçiye gidecektir. Fakat giden sayfada artık ASP’ye ilişkin hiç bir şey kalmamış olacaktır.

Biliyorsunuz, mevcut sürümleri itibariyle Browser programları içinde Netscape VBScript dilini anlamaz. ASP sayfalarımızda istediğimiz Script dilini kullanabiliriz; VBScript de kullanabiliriz. Netscape’in VBScript anlamamasıyla, ASP sayfalarımızda VBScript kullanmamızın bir ilgisi yoktur; çünkü ASP sayfasının ortaya çıkartacağı HTML kodunda ASP dolasıyla VBScript bulunmayacaktır; dolayısıyla ASP sayfalarınız, Netscape tarafından da anlaşılıp, görüntülenebilecektir. Tabiî ortaya çıkacak HTML sayfasının Netscape tarafından arzu ettiğiniz gibi görüntülenebilmesi için Netscape’in anlayabildiği dinamik HTML unsurlarına yer verme zorunluğunuz hâlâ devam ediyor.

ASP tekniğinin nasıl çalıştığını anladığımıza göre şimdi biraz terminoloji serpiştirelim ki, Webmaster meslektaşlarınızla biraraya geldiğinizde, gerçekten ASP ile mesela Javascript arasındaki farkı bildiğiniz belli olsun. ASP bir Server-Side Script teknolojisidir. Internet’te istemci ile sunucu arasındaki çizginin sunucu tarafına Server-Side (Sunucu Tarafı), istemci tarafına da Client-Side (evet, doğru tahmin ettiniz: İstemci Tarafı) denir. Server-Side’da çalışan Script programları da “Server-Side Script” (Sunucu Tarafı Script’i) adını alır. Dolayısıyla şöyle bir sayfa yaparsanız (merhaba.htm), bu sayfada Client-Side Script teknolojisi kullanmış olursunuz:

Merhaba.htm

<HTML>
<HEAD>
<TITLE>JavaScript ile Tarih</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 BGCOLOR=WHITE>
<H1>Merhaba Dünya</H1>
<H2>Bugün:</H2>
<H3>
<SCRIPT LANGUAGE=JAVASCRIPT>
<!–
tarih = new Date();
document.write(tarih);
//–>
</SCRIPT>
.</H3>
</BODY>
</HTML>

Sonuc:

HTML sayfanıza <SCRIPT>..</SCRIPT> etiketleri arasına yerleştireceğiniz bu kodun çalışması için Server’ın hiçbir şey yapması gerekmez; kodu Browser çalıştıracak ve günün tarihini size (Türkçeleştirmediğiniz için İngilizce olarak) bildirecektir. Şimdi, bir de Server tarafında çalışan Script içeren sayfaya örnek verelim (merhaba2.asp). Bu kodu yazarken kapanan Script etiketinden sonra nokta olduğuna dikkat edin:

 

Merhaba2.asp

<HTML>
<HEAD>
<TITLE>VBScript ile Tarih</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 BGCOLOR=WHITE>
<H1>Merhaba Dünya</H1>
<H2>Bugün:</H2>
<H3>
<SCRIPT LANGUAGE=VBScript RUNAT=SERVER>
Response.write(Date)
</SCRIPT>.
</H3>
</BODY>
</HTML>

Sonuc:

Bu sayfada kullandığınız Script’i VBScript ile yazdığınızı farkettiniz. Yani? Bu HTML sayfası, Netscape’de görüntülenemez! Hayıır. Görüntülenir, çünkü Script’i Netscape değil, Server çalıştıracak. Bunu <SCRIPT> etiketinin içindeki “RUNAT” özelliği ile belirtiyoruz. (“Run,” çalıştır; “at” ise “içinde, üzerinde” anlamına gelir. “RUNAT” “…de çalıştır” gibi bir anlama sahiptir.) Burada RUNAT’in karşısına yazdığımız SERVER ifadesi ile, Script’in Browser’a gönderilmeden önce Server’da çalıştırılmasını sağlıyoruz; Server’a “Bu Script’i Server’da Çalıştır!” demiş oluyoruz.

Yukarıda ASP’nin icrasında HTML sayfa Server’a verilmeden önce ASP.DLL tarafından içindeki ASP kodlarının icra edildiğini söylemiştik. Nitekim, burada gördüğünüz gibi, ASP.DLL, HTML sayfayı içinde Server’ın çalıştırması gereken bölümle birlikte Server’a gönderdi; Server kendisine gelen dosyada kendi icra etmesi gereken (RUNAT=SERVER özelliği verilmiş olan Script’i) bölümü icra etti ve sonucu Browser’a aktardı. Yani, Server’ın çalıştırdığı Script’in sonucu sayfaya ASP’den sonra eklendi. Dolayısıyla, nokta, yanlış yerde kaldı.

Bundan çıkartacağımız sonuç şu olacak: ASP sayfalarımıza, Browser, Server ve ASP.DLL tarafından çalıştırılacak kodları yerleştirirken, sırasına dikkat edeceğiz ve hangi sırada icra edilmelerini istiyorsak, o sırada koyacağız.

Server ile ASP.DLL’in ilişkisi sadece Script dilini çalıştırmaktan ibaret değildir. ASP, istemciden gelen HTTP İstemi (Request) ve HTTP’ye giden Karşılık (Response) unsurlarından tutun, ActiveX Data Objects (ADO, AcvtiveX Veri Nesneleri) aracılığıyla, işletim sisteminin sunacağı veritabanına erişim imkanını ve işletim sisteminin sunduğu dosya yönetimine kadar bir çok imkanı kullanır. Bu “imkanlar” ASP’nin eline geçtiği anda “nesne” (Object) sayılırlar.