Yazar : Paul Jerry
Uyarlama : Batuhan Kırımlı
Ders Konusu : Asp Öğreniyorum
Anlatım Tarihi : 31.Ekim.2006
ASP nedir?
ASP (Active server pages) bir web programcılığı ve elektronik ticaret teknolojisidir. Günümüz deki pek çok profosyonel anlamda yayımlanan bir çok web sitesi ASP teknolojisiüzerine kurulmuştur Web programcılığı anlamında kendini geliştirmek isteyen herkes mutlaka bu dili öğrenmelidir. Ancak gerek bu konuda gerekse diğer diller konusunda yeterli kaynak yok ben de bu eksiği doldurak için böyle bir web sitesi yapmaya karar verdim.
Asp Dersleri örnekleri ve yazıları anlayabilmeniz için az da olsa html dillinden bilginiz olması gerekli.
Ayrıca ASP uzantılı dosyalarınızı bilgisayarınızda görüntülemek için bilgisayarınız da PWS (Personel web server) kurulu olması lazım aksi taktirde .asp uzantılı dosyalarınız bilgisayarda görüntülenmez.
ASP ile ilk script'imizi yapmaya başlıyalım
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>ASP ile ilk sicript calismamiz.!</title>
</head>
<% @ LANGUAGE=VBScript CODEPAGE=1254 %>
<%
response.write "Nihayet ASP ile ilk Scriptimizi yapıyoruz bu yazı asp nin yazdırma komutu olan respone.write ile yazdırılmıştır."
%>
</html>
Bu kodları Frontpage'de yada isterseniz not defterinde bile yazabilirsiniz ama profosyonel olması için Frontpage'de yapıp ilk.asp ismiyle kaydediniz.
Yukarıdaki <% - %> kodları arasında yazılan ifadeler asp kodlarımızdır. Bu kodlar önce sunucu tarafından yorumlanır ve sonuçları sayfaya html formatında yazdırılır. Daha açık konuşmak gerekirse bu yaptığımız örneği browser'de gösterirken kaynağı görüntüle dediğimizde karşımıza aşağıdaki gibi kodlar gelecektir.
Kod:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1254"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>ASP ile ilk script calismamiz.!</title></head>Nihayet ASP ile ilk Scriptimizi yapıyoruz bu yazı asp nin yazdırma komutu olan respone.write ile yazdırılmıştır.</html>
Bakın ve farkı kendiniz görün bizim yazdıklarımız la hiçbir ilgisi yok Çünkü ASP bu bizim yazdığımız kodları aldı kendi içinde derledi ve normal html kodu olarak bize geri gönderdi İşte ASP nin temel mantığı budur ASP yi öğrenmek için ASP'nin temel mantığını çok iyi bilmek gerekir.
Birden çok sayfalı sayfa
Bir ASP sayfası içerisinde birden fazla farklı dosya ve sayfaları barındırabilir. Bu özellik ASP'nin en çok kullanılan ve en önemli özelliklerinden birisidir Örneğin pek çok sayfadan oluşan bir web sitemiz olsun ve bu sayfaların en üstünde bir sayfanın sürekli olarak görünmesini istiyorsunuz bunu nasıl yaparsınız.
1. Bütün sayfalara üst kısımın html kodunu kopyalarım olur biter dediğinizi duyar gibiyim Fakat bu oldukça amatör olur çünkü üst sayfamız da bir değişiklik yapmak istediğimizde bütün sayfalara girip tek tek değişikliği yapıp kaydetmek olduk ça amatör aynı zamanda dosyaların kapladıkları yerlerde ona göre artacaktır yani dosyalarda fazladan (gereksiz yere) yer kaplayacaklar. böyle olmaz tabi.
2. Sayfaların üst kısmını bir frame kullanırım. bu yöntemte tıpkı asp gibi biraz avantajlı gibi görünsede (en azından ilk maddeden kat kat daha avantajlı) bu yöntemdede görsellik bakımından bir dezavantaj var Yani sayfaları framelere bölmek basit gibi görünen fakat web sitesinin görünümünü bozan bir yöntemdir.
3. Tabiki anlayacağınız gibi ASP tekolojisini kullanmak Nasıl İŞTE BÖYLE;
Öncelikle her sayfada görünmesini istediğimiz üst sayfayı oluşturuyoruz
Daha sonra bu dosyanın ismini kullanarak yanlızca yazacağımız bir satırlık komut ile o sayfayı o bölüme çağırabiliriz.
Kod:
<!--#include virtual="../iissamples/ust.htm"-->
Response ve Requset Nesneleri
Response Nesnesi
Kod:
Response.write Response.Redirect Response.Flush Response.Clear Response.End
Request Nesnesi
Kod:
Request.Querystring Request.Querystring de form kullanımı Request.ServerVeriables
Response.write nesnesi
Response komutu sayesinde ASP ziyaretçiye sunucudan yazılar gönderir. Bu nesnenin en çok kullanılan metodu write dir. <% %> tagları arasında yazacağımızResponse.write ifadesi ile sayfada asp kodları içerisinde istediğimiz bir yazı yada bir değişkeni gönderebiliriz. Hemen bir örnek yapalım :
Kod:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1254"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>ASP ile ilk script calismamiz.!</title></head><% @ LANGUAGE=VBScript CODEPAGE=1254 %><% degisken="Web"response.write "bu komutu ilk script calismamiz bölümünde de görmüştük hatırladınızmı? "response.write "FORUMUZ.NET"response.write (degisken)%></html>
Dikkat etmemiz gereken eğer bir yazıyı görüntüleyeceksek bu yazıları " örneğin bu " tırnak içinde yazmalıyız eğer yazacağımız bir değişken ise bunları da parantez içinde yazmalıyız Ayrıca Response.write ASP'de en çok kullanılan komutlardan biri olduğu için daha pratik bir yazılış biçimi vardır.
Kod:
<%="FORUMUZ.NET " buradaki = response.write anlamına gelmektedir.
Response.Redirect Deyimi
Response.redirect deyimi ASP'de kullanılan (bu da bayağı sık kullanılıyor) ve bir sayfadayken başka bir sayfaya yönlendirme yapmak için kullanılır. Yani sunucunun karşısına böyle bir ifade geldiğinde ne olursa olsun çalışılan sayfayı durdurup Response.redirect içerisindeki sayfaya yönlenir.
Hemen bir örnek yapalım
Öncelikle birinci sayfaya aşağıdaki gibi bir textbox ve bir buton koyalım
[_______] - [_____]
Buradaki text box'ın namesi (ismi) sifre olsun butonun ise actionuna responseredirect2.asp yazalım bu örneğimizde birinci sayfadaki text box'a bir sifre girmemiz isteniyor ve butona basarak ikinci sayfaya yönlendirme yapıyor ikinsayfamızdada bu text box taki bilgi bir deyim sayesinde sifre isimli bir değişkene aktarılıyor ve bu değişkenin içeriği kontrol edilerek sifrenin dogru olup olmadığı karşılaştırılıyor eğer doğruysa sayfaya girmeyi başarıyoruz eğer yanlış ise response.redirect deyimi sayesinde tekrar birinci sayfaya yönlendirilme yapılıyor gördüğünüz gibi asp'nin çalışma mantığı hakkında biraz daha bilgi sahibi olmuşsunuzdur umarım.
İkinci sayfanın kodlarıda aşağıda yazmakta Ayrıca bu örnekleri buradan bilgisayarınıza indirebilirsiniz
Kod:
html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1254"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>Respons e redirect</title></head><body><%sifre=Request.Form("sifre")if sifre="neolsun" then%>Sayfaya girmeyi başardınız<% else response.redirect("responseredirect1.asp")end if%></body></html>
Response.Flush
Sunucu eğer çalışma zamanın da bu deyime rastlarsa o zamana kadar tampon bellekteki sakladığı degerleri browsere gönderir.
Kod:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1254"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>Respons e flush</title></head><% @ LANGUAGE=VBScript CODEPAGE=1254 %><%Response.buffer=true%>Bu satır sunucunun hafızasında saklanan ilk satır<%response.flush%>bu satır ise flush metodundan sonra gösterilmiştir.</html>
Diğer Asp Öğreniyorum ders konuları : Response.clear Response.End Request.Querystring Request.querystring de Form kullanımı hakkında olacaktır. Kolay gelsin diğer ders konularını yakın zamanda yayınlayacağım.
PHP- Kodu:
<?php
$originaltext = 'Bu metin ihtiva etmez \\n bir new-line!';
$encoded = addcslashes($originaltext, '\\');
$decoded = stripcslashes($encoded);
//$decoded şimdi bir kopya ihtiva et $originaltext mükemmel bütünlük ile
echo $decoded; //Display mahkum et onunla sözlü \n dokunulmamış.
?>