Şimdi Ara

Asp Nedir? Nasıl Programlanır? Nasıl Çalışır??

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
9
Cevap
0
Favori
5.930
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • ASP
    Son yıllarda İnternet’in hızlı bir şekilde yaygınlaşması bu alandaki teknolojilerin de hızla gelişmesine neden oldu. Üniversiteler, kamu kuruluşları, özel şirketler kısacası İnternet’e bağlı sunucularında bir siteye sahip olan tüm kurumlar bu siteyi ziyaretçilerle daha etkileşimli olarak kullanmak istediler. Yazılım üreticileri de kurumların bu isteklerini gerçekleştirmek üzere daha hareketli sayfalar hazırlayabilmek, kullanıcıdan veri alıp diske kaydetmek gibi işlemleri yapacak ürünler geliştirdiler.
    ASP ‘yi öğrenmeye başlamadan önce, web sayfalarının hazırlanmasında kullanılan yazılımların neler olduğunu ve bunların hangisinin ne işe yaradığını bilmek web sitesi tasarımcılığı için bir bakış açısı sağlayacaktır. Öncelikle tüm web sayfalarının arkasında yatan teknoloji HTML’ dir. Uzman bir web sitesi tasarımcısı HTML dilini bilmek zorundadır. Piyasada hiç programlama mantığı kullanmadan site tasarlayabilecek paket programlar vardır, fakat bunlar web tasarımcılığını profesyonelce yapan insanlar için yeterli olmayacaktır. İnternet Explorer ya da Netscape Navigator gibi tarayıcılar kullanarak bağlanmak istediğiniz adresi girip istediğiniz sitenin ana sayfasına girdiğinizde, bağlantıyı yaptığınız sunucu bilgisayar size o sayfayı HTML kodları halinde gönderir ve sizin kullandığınız tarayıcı bu HTML kodlarını alıp yorumlayarak, yazılar, nesneler,resimler şeklinde karşınıza getirir. Sadece HTML kullanılarak hazırlanmış bir sayfada hareket eden nesneler göremezsiniz(Animated GIF olarak adlandırılan hareketli resimler hariç). Burada hareket eden nesneler ile bir yazının hareket etmesi, bir bağlantının üzerine gelince onunla ilgili açıklama çıkıp kaybolması ve buna benzer şeyler kastedilmektedir. Web sayfalarında bu hareketliliği sağlamak için Scripting dilleri denilen ve normal programlama dillerinden bazı farklılıkları olan diller kullanılır. Bu Script dillerden bazıları JavaScript, Visual Basic Script(VBScript olark bilinir), Jscript, PHPScript, PerlScript’tir. Aslında bu nesneleri gizlemek-göstermek ve hareket ettirmek için DHTML(Dynamic HTML) denilen ve HTML’nin, bu bahsettiğimiz işlemleri yapabilmesi için, ekrandaki nesneleri katmanlara ayırmamızı sağlayan bir dil de gereklidir. HTML ve DHTML komutları arasında ilk bakışta ayrım yapmak zordur, yani bunlar iç içe kullanılan dillerdir. Scripting dillerinin normal programlama dillerinden farkı özel bir derleyiciye sahip olmamaları ve yorumlanmalarının sonunda çalıştırılabilir(.exe veya .com uzantılı bir dosya) dosyalar elde edilmemeleridir. Bu diller tarayıcı olarak adlandırılan programlar tarafından işlenir ve direk çıktı üretilir.
    Buraya kadar kullanıcının karşısına yazılar, resimler çıkarabilmemizi sağlayan diller ve sayfada daha hareketli işler yapabilmemizi sağlayan dillerden bahsettik. Peki biz sitemize giren kullanıcıdan bilgi alıp bunları diske daha doğrusu bir metin dosyasına ya da gelişmiş bir veritabanına kaydetmek istersek ne yapacağız? İşte bu noktada ASP, PHP, CGI gibi dillerden yararlanacağız.
    ASP, PHP, CGI gibi diller sunucu taraflı scripting dilleri, JavaScript, VBScript, Jscript gibi diller ise istemci taraflı scripting dilleri olarak bilinir. İstemci taraflı bir dil ile yazdığınız kodlar kullanıcının bilgisayarına olduğu gibi gönderilir ve kullanıcının tarayıcısı bu kodu yorumlayıp gerekli işlemleri yapar. Oysa ki sunucu taraflı dillerde bu durum farklıdır. İçerisinde ASP, PHP, CGI kodu bulunan sayfaya girildiğinde sayfanın istendiği sunucu bu kodları alır, yorumlayıp gerekli işlemleri yapar ve sonuçları HTML’ye çevirip kullanıcıya yollar. Böylece kullanıcı sayfanın kaynak koduna baktığında sunucu taraflı dillerle yazılmış tek satır kod bile göremez.
    Active Server Pages (Aktif Sunucu Sayfaları) kelimelerinin baş harflerinden oluşan ASP, daha önce de söylediğimiz gibi 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 teknolojisi sayesinde, sayfalarınıza koyacağınız HTML, VBScript kodları ve veritabanı uygulamaları, sunucuda icra edileceğinden, ziyaretçinin tarayıcısının örneğin VBScript’i tanımayan Netscape olması, hiç önemli değildir. ASP bu özgürlüğü, kodların sunucu 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’ nın bir avantajı da, kullanılan kodların başkaları tarafından kopyalanamamasıdır.
    Buraya kadar anlattıklarımızdan bir özet yaparsak bir ASP sayfasının nelerden oluştuğu hakkında şunları söyleyebiliriz:
    ASP sayfasının içinde kod vardır.
    ASP sayfasının kodları Web sunucusu tarafından icra edilir.
    ASP sayfası kullanıcının tarayıcısına salt HTML kodu olarak gelir.





    ASP İçin Neler Gereklidir?
    ASP sayfalarının çalışabilmesi için sayfaların bulunduğu bilgisayarın bir Web sunucusu haline getirilmesi gerekir. Bunu için Microsoft’un iki ürünü vardır: birincisi Windows 95 ve 98 için ayrı sürümleri olan PWS(Personal Web Server ) yani Kişisel Web Sunucusu, diğeri Windows NT ve Windows 2000 için geliştirilmiş IIS(İnternet İnformation Services) yani İnternet Bilgi Servisi. Bu iki ürünün arasında bazı farklılıklar vardır. PWS en fazla 5-10 ziyaretçinin aynı anda bağlanabileceği küçük çaplı uygulamalarda kullanılır. Eğer çok fazla sayıda kişiye, hızlı hizmet vermek istiyorsanız o zaman IIS bu iş için daha uygundur.
    ASP uygulamaları yazmak için bir editör gerekir. Bu piyasada bulunan herhangi bir editör olabilir. Web tasarımı için özel olarak hazırlanmış editörler bu iş için daha uygundur. Sadece Notepad kullanarak bir ASP sayfası hazırlanabilir. Özel olarak hazırlanmış editörlerden Microsoft FrontPage, Allaire HomeSite ya da Cofffe Cup HTML Editor kullanılabilir. Bu özel editörleri kullanırsanız kullanımı pratik olan sürükle-bırak nesneleri kullanabilir ve yazdığınız kodları ayırt edebilmek için renklendirme özelliklerinden yararlanabilirsiniz.
    Kişisel Web Server (PWS) Kurulumu
    Hazırlayacağımız ASP sayfalarını sitemize ev sahipliği yapacak sunucuya yükleyeceğiz. Bu yüzden sadece sunucumuzun PWS ya da IIS kurulumu yapmış olması yeterli, fakat sayfalarımızı kendi bilgisayarımızda deneyebilmek için bizim de PWS ya da IIS kurulumunu gerçekleştirmemiz gerekiyor. Bu aşamada PWS kurulumu ayrıntılı olarak anlatılacaktır. Gerekli yarlerde IIS kurulumu için de ek bilgiler verilecektir.

    IIS-PWS Kurulumu
    PWS' nin kurulumunu 3 Adımda gerçekleştireceğiz.

    1) Kurulumdan önce gerekli kontrollerin yapılması:
    2) Kurulumun gerçekleştirilmesi:
    3) Kurulum sonrası ayarların yapılması:

    1) Kurulumdan önce gerekli kontrollerin yapılması

    1. Sisteminiz Windows2000 Professionel veya Windows2000 Server ise:
    Web Sunucu programını(IIS) kendiliğinden kurar.
    2. Sisteminiz Windows95/98, NT4 Workstation veya NT4 Server ise:
    Kişisel Web Server'ınızı siz kurmak zorundasınız. PWS' yi kurmadan önce kontrol etmemiz ve uygulamamız gerekenler nelerdir? Önce buna bir bakalım.
    Windows 95/98
    Bilgisayarım>Denetim Masası>Program Ekle/Kaldır>İnternet Araçları > Personel Web Server Seçeneğinin işaretlenmiş olması gerekir. Eğer Windows'unuzu normal seçeneği ile kurmuşsanız bu seçenek işaretli demektir. Bilgisayarınıza bir kimlik vermeniz gerekir. Bunun için Bilgisayarım > Denetim Masası > Ağ'ı tıklayarak, karşımıza gelen diyalog kutusunun ikinci sekmesi olan “Tanımlama”’yı açın ve "Bilgisayar Adı" kutusuna istediğiniz ismi verin. Bilgisayarınızın IP yapılandırmasının doğru çalışıp çalışmadığını kontrol etmek içinde Başlat>Çalıştır' ı açıp, "winipcfg" yazarak kontrol edebiliriz.
    NT4 Workstation veya Server
    Option Pack CD-ROM' undaki default.htm' i çalıştırmanız ve açılacak tarayıcı penceresinde ISS kurma seçeneğini tıklamanız yeterlidir.
    2) Kurulumun gerçekleştirilmesi
    PWS'yi kurabilmemiz için Windows 95/98 CD-ROM'unun içinde ki Add-ons klasörünün içerisindeki kur programını çalıştırmamız gerekiyor. Eğer Sisteminiz NT4 Workstation veya NT4 Server ile çalışıyorsa ayni işlemleri ISS için yapmalısınız. ISS' i kurmadan önce Bilgisayarınıza Service Pack 3 ve/veya üstünü uygulayın. Artık kurulumumuza geçebiliriz.
    Kur işlemini başlattıktan sonra karşımıza aşağıdaki gibi kur işleminin ilk penceresi gelecektir:

    Bu ilk penceremizde ileri butonuna bastığımızda Personel Web Server'a ait kurulumun çeşidi karşımıza çıkar. Burada Kısa, Normal ve Özel olmak üzere 3 çeşit kurulum vardır. Biz PWS içerisindeki ayarları kontrol edebilmek için özel kurulumu seçeceğiz.
    Özel seçeneğini seçtikten sonra kontrol edeceğimiz bölüm, Microsoft Data Access Components bölümüdür. Microsoft Data Access Components seçeneği seçili durumda iken Alt Bileşenleri Göster butonunu kullanarak, içerisindeki bileşenlerin seçili olup olmadığını kontrol etmemiz gerekir. Çünkü ADO kullanarak yapacağımız programlar bu bileşenleri kullanır:

    Bu basamakta sitemizin dosyalarının bulunacağı dizini belirleyeceğimiz bölümdür. Burada isterseniz PWS' nin varsayılan dizini olan C:Inetpubwwwroot 'a, istersenizde Gözat butonunu kullanarak istediğiniz bir dizini belirtebilirsiniz:

    Bu işlemden itibaren son butonuna basarak kurulumu bitirebilirsiniz. Kurulum bittikten sonra bilgisayarınızı yeniden başlatın. Şimdi kurulumdan sonra PWS' de yapılacak ayarlara gelelim.

    3) Kurulum sonrası ayarların yapılması
    PWS' nin masaüstünüzde oluşturduğu ikon' u tıklayarak veya görev çubuğunuzdaki PWS simgesine tıklayarak, Personel Web Manager'ı şekildeki gibi açın.


    Şimdi burada sol alt köşedeki Gelişmiş seçeneğini tıklayın, karşınıza bir pencere gelecek, bu pencerede de Özellikleri Düzenle butonuna basın karşınıza şöyle bir pencere gelecek:

    Özellikleri Düzenle butonuna bastığımızda gelen yukarıdaki gibi pencerede Okuma, Yürütme ve Makro seçeneklerinin işaretlenmiş olması gerekiyor. Örneğin Yürütme bölümü işaretlenmemiş olursa yazmış olduğunuz asp programlarını PWS kurulu olduğu halde tarayıcınız da çalıştıramazsınız. Bunu da kontrol ettikten sonra PWS' nin Kurulumu işlemini bitirmiş bulunmaktayız. Artık bir ASP sayfamızı çalıştırmak için, önce sayfayı belirlediğimiz dizine kaydetmeli(bu normalde c:inetpubwwwroot dizinidir.), sonra da tarayıcımızı açıp adres bölümünehttp://bilgisayar_adı/sayfa_adı.asp yazmamız gerekecek. Bu adresteki bilgisayar_adı sizin bilgisayarınızın adı(yani PWS ana penceresinde görülen isim), sayfa_adı da yine hazırlayıp yayınlama dizinine(yani PWS ana penceresinde görülen yayın dizini) kopyaladığınız sayfa adı olacak
    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. Sonrahttp://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?
    ASP 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.
    Çalışmanın bu kısmında önce HTML kodlarına aşina olmak ve ASP yazılım kurallarına alışmak için basit bir örnek ve sonra ASP ile bir veritabanı uygulaması örneği yapılacak. Çalışmanın amacı ASP kullanarak Oracle veritabanına kayıt yapmak olduğu halde, başlangıçta işin mantığının anlaşılması için önce Access ile hazırlanan bir veritabanına, kullanıcıya sunulacak bir formdan bilgi alıp kayıt yapılacak ve sonra bu işlemlerin anlatılmasına geçilecek.
    Basit Bir ASP Örneği
    Öncelikle bir ASP sayfalarınızı hazırlayacağınız bir editörü çalıştırın. Sonra aşağıda verilen kodların yazın ve dosyayı uzantısı .asp olacak şekilde yayın dizini olarak belirlediğiniz dizine kaydedin.
    <html>
    <head>
    <title>Sayfama Hosgeldiniz</title>
    </head>
    <body>
    <center>
    <% Dim Boy %>
    <% For Boy = 1 to 7 %>
    <font size = <%=Boy%>>
    Sayfama Hosgeldiniz <BR>
    </font>
    <% Next %>
    </center>
    <center>
    <h3> Su an Sunucu’nun saati <%= Time %>.</h3>
    </center>
    </body>
    </html>
    Şimdi bu yazdığımız kodu açıklayalım: Burada <html>, <head>,<body>,<center>, <font>, <title> şeklinde gördüğünüz kodlar HTML ‘ye aittir ve HTML “tag” ‘ları olarak adlandırılırlar. Bu tagların çoğu <xxx> şeklinde açılır ve </xxx> şeklinde kapatılır. HTML’nin ekrandaki görünümü ayarlayabilmek için daha bir çok tag’ı vardır. Amacımız bunları anlatmak olmadığı için gerektikçe açıklama yapılacaktır.
    Şimdi asıl ASP kodlarımız “<%” ve “%>” işaretleri arasına yazılanlardır. Fakat bu işaretler arasına yazılan her kodu ASP olarak yorumlamamak gerekir. ASP bize işlemlerimizi yapabileceğimiz hazır nesneler sağlar. Biz bu nesneleri döngü içinde kullanabilmek, koşullu-koşulsuz dallanmalar yapabilmek için yukarıda bahsettiğimiz JavaScript, VBScript, Jscript gibi script dillerden birini kullanmak zorundayız. Yukarıdaki kodun yazılmasında VBScript kullanılmıştır ve bu çalışmada tamamen VBScript kullanılacaktır. Çalışmanın sonunda VBScript hakkında ayrıntılı bilgiler yer almaktadır.
    Burada For, Dim kelimeleri VBScript kodlarıdır. Burada kullanılan ASP kodları koyu harflerle yazılmış olan <%=Boy%> ve <%=time%> kodlarıdır. Bu aslında <%Response.Write(Boy)%> koduna karşılık bir kısaltmadır. Response nesnesi ileride açıklanacaktır.
    Kodu genel olarak yorumlarsak, standart HTML kodlarıyla bir sayfa hazırlanmaya başlanıyor, Boy adlı bir değişken tanımlanıyor(Dim Boy), bu değşkenin değeri For döngüsü içerisinde 1’den 7’ye kadar artırılıyor ve değişkenin değeri ekrana yazılacak yazının büyüklüğünü değiştirmek için kullanılıyor (<%=Boy%>) . Burada <center> yazıları ekranda ortalamak için, <h3> te HTML’nin standart yazı tipi ve büyüklüklerinden birini kullanmak için kullanılıyor. Sunucunun saati de VBScript’ e ait “Time” fonksiyonu aracılığı ile alınıp yine <%=....%> ASP kodu ile ekrana yazdırılıyor. Normal olarak ekranda şu çıktıyı görmeniz gerekiyor:


    ASP İle Adım Adım Bir Veritabanı Örneği
    ASP ile bir veritabanı örneği yapmamız için öncelikle bir veritabanı oluşturmamız ve veritabanına erişmemiz için bazı ayarlar yapmamız gerekiyor. Veritabanı olarak Access, FoxPro, Dbase vb. gibi her hangi bir veritabanı kullanabilirsiniz. Bizim bu iş için önerimiz Access kullanarak bir veritabanı oluşturmanızdır. Burada bunun iki avantajını görebilirsiniz: Birincisi Access ile çok hızlı ve kolaylıkla bir veritabanı oluşturulabilir. İkincisi biz DSN ayarı yaparken Access kullandığımız bir veritabanı örneği göstereceğimiz için hata yapma olasılığınız azalır. Şimdi veritabanınızı bir “isim” bir de “email” alanlarından oluşacak şekilde ayarlayın. Burada veritabanının nasıl oluşturulduğu anlatılmayacak DSN bağlantısının kurulması anlatılacaktır. Veritabanını oluşturduktan sonra BaşlatàAyarlaràDenetim Masası menüsünü tıklayın. Burada ODBC Veri Kaynakları ikonunu göreceksiniz. Bu ikonu tıklayıp programı çalıştırın. Sonra açılan pencerede System DSN sekmesini tıklayın:

    Burada Add butonuna basın ekrana Yeni Veri Kaynağı Oluştur penceresi gelecek.

    Burada bizim örneğimiz için Microsoft Access Driver(*.mdb) seçili. Eğer başka bir veritabanı kullanıyorsanız kullandığınız veritabanına uygun ismi seçmelisiniz. Daha sonra Finish butonuna basın. Ekrana gelen yeni pencerede Data Source Name kutusuna bir veri kaynağı ismi yazın, fakat bu ismi unutmayın, çünkü bunu ASP kodlarımızı yazarken kullanacağız. Daha sonra Select butonu ile hazırlayıp diske kaydettiğiniz veri tabanını seçin ve OK butonuna basarak Veri Kaynağı Adı oluşturma yani veritabanımız için DSN tanımlama işlemini bitirin. Biz örneğimiz için içerisinde email_rehber adlı bir tablo bulunan rehber adlı bir veritabanı hazırladık. Ekranda oluşması gereken son durum aşağıdaki gibi olmalıdır.

    Bu işlemleri tamamladıktan sonra veritabanına kayıt yapabileceğimiz sayfaları oluşturmaya başlayalım. Kayıt işlemini yapabilmek için iki sayfa kullanacağız. Bunlardan birincisi kullanıcıdan bilgi alacağımız form sayfası, diğeri de veritabanına kayıt işlemlerini yapacağımız ASP sayfası. Birinci sayfamızda iki adet metin kutusu,bir adet Submit butonu ve bir adet Reset butonu yer alacak. Kullanıcı isim ve e-mail bilgilerini metin kutularına girip Submit butonuna basacak. Böylece veritabanına kayıt yapacağımız sayfa çağrılacak ve bu sayfadaki kodlarda kayıt işlemini gerçekleştirecek. Üzerinde formumuzun bulunacağı sayfa form.htm ve işlemleri yapacak ASP sayfamız da yaz.asp olsun. Aşağıda form.html’ nin kodları yer almaktadır.
    Form.htm
    <html>
    <head>
    <title>Bilgileri giriniz</title>
    </head>
    <body>
    <form method="post" action="yaz.asp">
    İsminiz : <input type="text" name="isim"><br>
    E-mailiniz : <input type="text" name="email"><br>
    <input type="submit" value="Kaydet">
    <input type="reset" value="Temizle">
    </form>
    </body>
    </html>
    Şimdi bu sayfada neler oluyor ona bakalım. Burada bir form tag'i var. Bu <form> ve </form> arasında kalan tüm input alanları bizim diğer sayfamıza değer olarak aktarabileceğimiz şeylerdir. Yani form bir tür gruplayıcı elemandır diyebiliriz. Bu formun özelliklerine baktığımızda method="post" ve action="yaz.asp" görüyoruz. Method, bu form içindeki bilgileri diğer sayfaya nasıl göndereceğini belirtir. Biz burada “post” seçmişiz. Bir diğer alternatif de “get” metodudur. Get ve Post metodu işlevsel olarak farklı metotlar değildir. Get metodu kullanılırsa aktarılabilecek karakter sayısı sınırlandırılmış olur. Bu sınır tarayıcı ve sunucuya bağlı olmakla birlikte 4000 byte civarındadır. Yine Get metodunda formda kullandığımız yaz.asp’ye parametre olarak aktarılacak değişkenler adres çubuğunda görülür. Eğer “Post” metodu kullanılırsa istenildiği kadar veri aktarılabilir ve parametre değişkenler adres çubuğunda görünmezler. “Action” ise bu bilgilerin gönderileceği sayfanın adıdır. Formun içinde ise iki tane text alanı var; isim ve email. Bu isimler bizim yaz.asp dosyamızda bu değişkenleri alacağımız isimler olduğu için önemli. Bir de Submit butonumuz var tabi. Submit butonları basıldıkları anda içinde bulundukları formun içindeki tüm bilgileri action'da belirtilen sayfaya gönderirler. Bu yüzden her formda bir (ve yalnız bir) submit butonu olması şarttır. Reset butonu ise metin kutularına yanlış bilgi yazıldığında bunları silmek için kullanılan butondur.
    Şimdi yaz.asp adlı sayfamızın kodlarını da görelim ve açıklayalım:
    Yaz.asp
    <html>
    <head>
    <title>Bilgiler Kaydediliyor</title>
    </head>
    <body>
    <%
    Dim isim,email,baglanti,SQLcumlesi,veriseti
    isim=request.form("isim")
    email=request.form("email")
    'Değişken değerlerini aldık
    set baglanti=Server.CreateObject("ADODB.Connection")
    'Bağlantı nesnesi yaratıldı
    baglanti.open "rehber"
    'ODBC'de rehber ismiyle belirtilen veritabanı bağlantısı kuruldu
    SQLcumlesi="insert into email_rehber (isim,email) values ('"&isim&"','"&email&"')"
    ' bilgileri veritabanına yazmak için gerekli SQL cümleciğini hazırladık
    set veriseti = baglanti.execute(SQLcumlesi)
    ‘ hazırladığımız cümleciği daha önce açtığımız veritabanı bağlantısı ile çalıştırdık
    baglanti.close
    'bağlantıyı kapattık ki veritabanını meşgul etmesin
    set baglanti = nothing
    'nesneyi sunucu hafızasını meşgul etmemesi için siliyoruz.
    %>
    Kaydınız yapılmıştır.
    </body>
    </html>
    Veritabanı işlemlerimize Dim ile değişkenlerimizi tanımlayarak başlıyoruz. Burada form.htm dosyasından parametre olarak gelen isim ve email değişkenlerini ASP’nin bize sunduğu Request nesnesinin form özelliği ile yakalayıp yine isim ve email değişkenlerine atıyoruz. Burada atama yaptığımız değişkenlerin adlarını faklı kullanabilirdik. Bu atama işlemi yapıldıktan sonra isim ve email değişkenlerini karşı formdan gelen ve kullanıcının girdiği iki bilgi olarak yaz.asp boyunca kullanabiliriz. Ardından veritabanımıza bağlantı yapabilmek için bir bağlantı nesnesi oluşturuyoruz. Bu işlemi yine ASP’nin Server nesnesinin CreateObject metodu ile gerçekleştiriyoruz. Artık bu aşamadan sonra “baglanti” değişkenini veritabanı bağlantısını açma, kapama ve SQL cümleleri çalıştırma için kullanabiliriz. Zaten “baglanti.open “rehber”” cümlesi ile DSN olarak “rehber” diye tanımladığımız veritabanı bağlantısını açıyoruz. SQLcumlesi adlı bir değişkene çalıştırmak istediğimiz(yani burada veritabanına kayıt ekleme komutu) SQL komutunu string bir ifade olarak atıyoruz. “baglanti.execute(SQLcumlesi)” ile bu komutu çalıştırıyoruz. Görüldüğü gibi “baglanti” değişkeni veritabanı için bir SQL komutunu çalıştırabiliyor ve bunu “execute” metoduna parametre olarak bir string ifade geçirerek yapıyor. Şu an veritabanımızdaki email_rehberi adlı tabloya kayıt işlemi gerçekleştirildi. Bu işlemler bittikten sonra aynı anda veritabanına bağlanan pek çok kişi olduğunu düşünerek veritabanı bağlantımızı kapatıp, oluşturduğumuz değişkeni siliyoruz. Böylece veritabanını meşgul etmeyi bırakıp değişkenimizin de bellekte yer kaplamamasını sağlamış oluyoruz. Böylece veritabanına basitçe kayıt yapma işlemlerini tamamlamış olduk.
    Kayıt işlemini gerçekleştirdikten sonra bir de veritabanından kayıt okuma işlemi yapalım. Bu amaçla yine kullanıcının karşısına bir form getirelim ve kullanıcın bu formda bir metin kutusuna isim girmesini sağlayalım. Veritabanımızda bu isimde bir ya da birden fazla kaydın olup olmadığına bakalım. Eğer kayıt ya da kayıtlar bulursak bunları ekrana listeleyelim. Bu sefer okuform.htm adında bir form ve bul.asp adında bir sayfa hazırlayalım. Aşağıda okuform.htm sayfasının kodları verilmiştir:
    Okuform.htm
    <html>
    <head>
    <title>Bilgileri giriniz</title>
    </head>
    <body>
    <form method="post" action="bul.asp">
    İsminiz : <input type="text" name="isim"><br>
    <input type="submit" value="ARA">
    <input type="reset" value="Temizle">
    </form>
    </body></html>
    Bu form dosyamız bir önceki örneğin hemen hemen aynısı. Burada Action olarak “bul.asp” girilmiş ve parametre olarak ta sadece isim adlı değişkenimiz var. Yani kullanıcı aradığı ismi girip Submit butonuna bastığında bul.asp dosyası çalıştırılacak ve isim adlı değişken bu dosyaya parametre olarak gönderilecek. Bul.asp dosyamızın kodları ise şöyle:
    Bul.asp
    <html>
    <head>
    <title>Okuma İşlemleri</title>
    </head>
    <body>
    <%
    Dim isim,email,baglanti,SQLcumlesi,veriseti
    isim=request.form("isim")
    ' Değişken değerini aldık
    set baglanti=Server.CreateObject("ADODB.Connection")
    'Bağlantı nesnesi oluşturuldu
    baglanti.open "rehber"
    'ODBC'de rehber ismiyle belirtilen veritabanı bağlantısı kuruldu
    SQLcumlesi="select * from email_rehber where isim='"&isim&"'"
    ' SQL cümleciğini oluşturduk.
    set veriseti=baglanti.execute(SQLcumlesi)
    ' Şu anda aradığımız tüm bilgiler veriseti isimli recordset nesnesi içinde.
    ' Şimdi ekranda bir tablo oluşturup bilgileri sırayla yazdıralım.
    %>
    <table border="1">
    <tr>
    <td>İsim</td>
    <td>e-mail</td>
    </tr>
    <% while not veriseti.eof %>
    <tr>
    <td><%= veriseti("isim") %></td>
    <td><%= veriseti("email") %></td>
    </tr>
    <%
    veriseti.movenext
    wend

    baglanti.close
    'bağlantı kapandı
    set baglanti=nothing
    ' nesneyi bellekten sildik
    %>
    </table>
    </body>
    </html>

    Bu örnekte diğerinden farklı olarak oluşturduğumuz veri setini bir döngü içinde kullanmak ve bun setteki bilgileri bir tablo içerisine koymak yer almaktadır.Yine “baglanti” adında veritabanımıza bir bağlantı oluşturup açıyoruz. Daha sonra “SQLcumlesi” olarak ifade ettiğimiz komutu çalıştırıp bir veri seti elde ediyoruz. Zaten elde ettiğimiz bu veri seti ile işlemlerimizi yapacağımız değişkenin adı da “veriseti”. Çalıştırdığımız SQL komutu ilgili tablodan istediğimiz özellikteki verileri çekip “veriseti” adlı bir kayıt grubu oluşturuyor. Tabi bu tek kayıttan oluşan bir grup ta olabilir. Bizim bu oluşturduğumuz veri seti içerisindeki kayıtları baştan sona kadar ekrana yansıtmamız gerekiyor. Bu yüzden “while not veriseti.eof” cümlesi ile bu veri setinin sonuna kadar istediğimiz işlemleri yaptırabileceğimiz bir döngü başlatıyoruz. Eğer veri setimize hiç kayıt gelmediyse döngüdeki şart gerçekleşeceği için döngü içindeki komutlar hiç işlenmeyecek. Eğer setimizde bir kayıt varsa önce ilk kayda ait değerler ekrana yazdırılır. Daha sonra “veriseti.movenext” cümlesi ile bir sonraki kayda geçmeyi sağlıyoruz, tabi bir sonraki kayıt yoksa “eof” konumuna gelmiş olacağız ve döngümüz şart kontrolü yaptıktan sonra bitecek. Burada kullandığımız VBScript döngüsü “while-wend” döngüsü idi. Bu yüzden “wend” ile döngümüzü kapatıyoruz. En son da yine bağlantıyı sona erdirip değişkenimizi bellekten siliyoruz. HTML bilgisi olmayanlar için burada <table> tag’ı yabancı gelebilir. Ekranda bir tablo çizmek ve verilerimizi bu tablonun içerisinde göstermek için bu tag’ı kullanıyoruz. <tr> tag’ı satırları ve <td> tag’ı da sütunları ifede ediyor.
    ASP Nesneleri
    Çalışmanın bu kısmında ASP’de kullanabileceğimiz nesneleri ve bu nesnelerin metot ve özelliklerini örneklerle anlatmaya çalışacağız. Burada anlatacağımız nesneler Response, Request, Application, Session, Server nesneleri.
    RESPONSE (Cevap) Nesnesi
    Response nesnesi ziyaretçiye sunucudan çıktılar gönderir. Bunun tersi olan Request nesnesi de kullanıcının sunucudan istek yapmasıdır. Bunu şöyle gösterebiliriz:

    WEB Sunucu
    (Server)


    Kullanıcı(Client)
    Tarayıcı


    İstek(Request)





    http://

    Cevap(Response)

    Sunucudan tarayıcıya giden her şey bir cevaptır. Bu bir ASP veya HTML sayfası olabilir; sayfanın içindeki GIF, JPG veya PNG grafiği; bir Flash, video veya ses dosyası olabilir. Böylesine zengin içeriği olmakla birlikte Response nesnesinin çok sayıda özelliği ve metodu vardır.
    Response.Write
    Ziyaretçinin penceresine bir şeyler yazdırmak istiyorsak bu metot kullanılır.
    <%
    Dim universite,bolum
    universite=”Gazi”
    bolum=”Bilgisayar”
    Response.Write(universite)
    Response.Write(bolum)
    %>
    Bu metodun pratik bir kullanım yolu vardır. Eğer <%=universite%> yazarsak bu yazım Response.Write şekline eşdeğerdir.
    Response.Redirect
    Kullanımı Response.Redirect “dosya_adi.asp” şeklindedir. Bu ifade işlendiğinde mevcut ASP sayfası çalışmasını durdurup belirtilen adresteki sayfa tarayıcıya getirilir. Bu metodu açıklamak için iki ASP sayfası oluşturalım. Birincisi cagiran.asp ikincisi cagrilan.asp olsun.
    Cagiran.asp
    <html>
    <head>
    <title>Çağıran ASP</title>
    </head>
    <body>
    <%Response.Redirect "cagrilan.asp"%>
    <%="Bu Yazı Hiç Görünmeyecek"%>
    </body>
    </html>
    Cagrilan.asp
    <html>
    <head>
    <title>Çağrılan ASP</title>
    </head>
    <body>
    <%="Ben Çağrılan Sayfadaki Yazıyım"%>
    </body>
    </html>
    Response.Expires
    Sunucu sayfaları gönderildiğinde, bu sayfalar ziyaretçinin bilgisayarında geçici bir bellekte(cache) saklanır. Tarayıcı ilk önce, adreste belirtilen sayfayı bu bellekte arar ve bulursa görüntüler. Burada amaç hızdır. Ancak bazen sayfanın her seferinde sunucudan gönderilmesi gerekebilir. Sunucu da belki bir takım değişkenlerin değeri değişecek, ya da bir takım güncellemeler yapılıyor olabilecektir. Bu durumda sayfaların ziyaretçinin bilgisayarındaki geçici bellekte saklanmasını engellememiz gerekir. Bunu “Expires” özelliği ile sağlayabiliriz.
    Expires.asp
    <%Response.Expires=0%>
    <html>
    <head>
    <title>Expires Özelliği</title>
    </head>
    <body>
    <p>Bu Sayfa Geçici Bellekte Saklanmayacak, Her Seferinde Sunucudan Gönderilecektir.
    </p>
    </body>
    </html>
    Response.ExpiresAbsolute
    Bazen de sayfaların belirli bir tarihe kadar geçici bellekte saklanmasını isteyebiliriz. Bu durumlarda Response nesnesinin ExpiresAbsolute özelliğini kullanırız.
    Expiresabs.asp
    <%Response.ExpiresAbsolute=#May 05,2001 05:30:30#%>
    <html>
    <head>
    <title>ExpiresAbsolute Özelliği</title>
    </head>
    <body>
    <p>
    Bu Sayfa 5 Mayıs 2001 Saat 05:30:300 a kadar Geçici Bellekte Saklanacaktır.
    </p>
    </body>
    </html>
    REQUEST(İstek) Nesnesi
    Kullanıcının sunucudan talep ettiği her sayfaya istek(request) denir. Request nesnesi kullanıcıdan bilgi sağlamaya yönelik bir nesnedir.
    Request.QueryString
    Aynı sayfaya ya da başka sayfalara değişken veya değişkenlerin taşınmasını sağlar. <A href> tag’ıyla veya Response.Redirect ile yönlendirdiğimiz sayfalara istediğimiz değişkenlerin değerini taşır. Bu ifadeler ile yönlendirdiğimiz sayfanın adresini yazdıktan sonra “?” işareti ardından sayfaya taşıyacağımız değişkenin adını ve değerini belirtiriz. Değişkene verilecek değer için başka bir değişkenin değeri de kullanılabilir. Bunun için <%=değişken_ismi%> şeklinde bir bildiri yapabiliriz. QueryString metodu form değişkenleri içinde kullanılabilir. Yani bir formda bir metin kutusunun adı “Ad” gibi bir değişken ise, bu formu işleyecek ASP dosyasında bu değişkeni Degisken_Ismi=Request.QueryString(“Ad”) şeklinde elde edebiliriz.
    QueryFrom.asp
    <html>
    <head>
    <title>QueryString Denemeleri</title>
    </head>
    <body>
    <%Dim a
    a="Son Link"%>
    <a href="querystring.asp?gonder=1">
    Birinci Link </a>
    <a href="querystring.asp?gonder=2">
    Ýkinci Link </a>
    <a href="querystring.asp?gonder=<%=a%>">
    Üçüncü Link </a>
    </body>
    </html>
    QueryString.asp
    <html>
    <head>
    <title>QueryString Denemeleri</title>
    </head>
    <body>
    <%
    alici=Request.QueryString("gonder")
    If alici="Son Link" Then
    Response.Write(alici)
    Else
    Response.Write(alici)
    Response.Write(".Link")
    End If
    %>
    </body>
    </html>
    Request.ServerVariables
    Adından da anlaşılabileceği gibi kullanıcıya sunucu ve tarayıcı hakkında bilgiler getirir. Bu metodun bir çok parametresi vardır. Aşağıda bunların bazılarını içeren bir örnek verilmiştir:
    ServerVariab.asp
    <html>
    <head>
    <title>ServerVariables Denemeleri</title>
    </head>
    <body>
    <p> Kullandığın Tarayıcı:
    <%Response.Write(Request.ServerVariables("http_user_agent"))%> <p>
    &nbs

    alıntıdır.. tşklr...







  • alinti oldugunu belirtmissin ama kaynagini yazsan iyi olurdu, nerden alinti oldugu ve adresi gibisinden.
    Boylece gercek yazinin sahibi de gerekli krediyi alir.
  • yahu bari yeni bir yazı kopyalasaydın.

    Ne 2003 Server'dan ne de Asp.NET 'ten bahsediyor. ASP tarihe gömüldü nerdeyse.
  • abi text doyası olarak versen daha iyi olurdu ya. yine de teşekkürler.
  • <title></title> arasında asp kodu çalıştırabiliyor muyuz ?
  • quote:

    Orjinalden alıntı: SLiM_BoY

    <title></title> arasında asp kodu çalıştırabiliyor muyuz ?


    çalıştırırsın.. yanlız merak ettim sormadan önce denedinmi bu dediğini ?
  • quote:

    Orjinalden alıntı: oduth

    yahu bari yeni bir yazı kopyalasaydın.

    Ne 2003 Server'dan ne de Asp.NET 'ten bahsediyor. ASP tarihe gömüldü nerdeyse.




    asp.net öldü desek hatta ölü doğan bir teknolojiydi. Python, Ruby veya Java gibi daha kapsamlı dil ve teknolojilere yönelin.

    ASP kolay kolay ölmez. Çünkü tüm alternatiflerine göre sorunsuz çalışır. ASP.NET gibi sistemi sömürmez.

    CGI bir dil değildir.

    Title içinde ne görmek istiyorsan onu gösteren kod yazarsın çalışır.
  • Yapay Zeka’dan İlgili Konular
    Bu program nasıl?
    2 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orjinalden alıntı: apostylee


    quote:

    Orjinalden alıntı: SLiM_BoY

    <title></title> arasında asp kodu çalıştırabiliyor muyuz ?


    çalıştırırsın.. yanlız merak ettim sormadan önce denedinmi bu dediğini ?


    evet denedim.
    fakat yazdığım kod veritabanından bir şeyler çağırıyor.demek ki orada bir yanlış yaptım..



    < Bu mesaj bu kişi tarafından değiştirildi SLiM_BoY -- 23 Şubat 2006 23:54:13 >
  • arkadaşlar slm
    ben asp içindeki değişkeni java scriptte kullanmak istiyorum bunu yapabilirmiyiz.
    doğrudan olmaz ama dolaylı birşekilde nasıl olabilir.


    < % while not tablo.eof %>

    <script type="text/javascript">
    add( <%=tablo("ad")%>,<%=tablo("link")%> );
    </script>

    <%
    tablo.movenext
    wend%>


    böyle olmaz tabi ama olabildiğini düşünün. ve sonucunu düşünün.

    işte böyle bir sonucu nasıl alabilirim.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.