ASP Dökümanı

Degerli arkadaslar hepinize merhaba demek istiyorum bu ixirchat.netdeki ilk makalem olacak .
Efendim bu arada size kendimi takdim edeyim ben Deniz Keskin fevkialem.com un codlayicisiyimaranizdan birisiyim ;
Evet degerli arkadaslar,sanirsam bukadar künye yeterli Genel olarak size Asp hakkinda bilgiler sunmaya gayret edecegim de Nedir bu asp önce onu kavrayalim.
ASP'nin açilimi Active Server Pages seklindedir. Aktif Sunucu Sayfalari olarak türkçelestirmek mümkündür.ASP bir programdir ve IIS içinde çalisir.IIS'in açilimi Internet Information Services'dir. Internet Bilgi Sunucusu olarak türkçelestirilebilir ASP bir Microsoft teknolojisidir bu nedenledir ki çok yaygin ve kullanisli bir dildir. ASP dosyasi düz metin, HTML, XML, ve komutlar içerir ve ASP dosyasi server üzerinde çalistirilir.ASP dosyasinin uzantisi ".asp"dir
ASP ile HTML arasinda ne fark vardir?
· Tarayici bir HTML dosyasi talep ettiginde server hiç bir islem yapmadan dosyayi istemciye gönderir.
· Tarayici bir ASP dosyasi talep ettiginde, ISS bu talebi ASP derleyicine aktarir. ASP derleyicisi dosyayi satir satir okur ve ASP kodlarini çalistirir. Sonuç olarak islenmis ASP dosyasi istemciye HTML formatinda aktarilir.

ASP ile neler yapabilirsiniz?
· Web sitesinin içerigi üzerinde dinamik olarak düzenleme, degistirme, ekleme veya silme isleri yapabilirsiniz.
· Kullanici taleplerine cevap verebilir, HTML formlardan gelen bilgileri degerlendirebilirsiniz.
· Veritabanina erisir ve bilgileri tarayiciniz üzerinden alirsiniz.
· Sayfalarinizi kullanicilara göre özellestirebilirsiniz ve daha kullanisli hale getirebilirsiniz.
· ASP, CGI ve PERL'e göre daha basit ve hizlidir.
· ASP kodlariniz tarayici tarafinda görülmez ve bu size güvenlik saglar.
· ASP kodu islendikten sonra tarayiciya gönderildigi için her tarayici ile ASP dosyalari görüntülebilir.
· ASP programlari ile siteniz üzerindeki trafigi azaltabilirsiniz.
Kisaca aspye degindik elerleyen bölümlerde ve makalelerimde daha detayina inecek bu asp isini çigneyip yutacak birer coder olacagiz dikkat etti iseniz coder dedim html sayfasi ile web yayini yagpan kisilere tasarimci adi veriliyor günümüzde tasarimciligin daha ileri bir seviyesi olarak web programciligi ortaya çikmisdir bununla ilgili olarak php asp .net gibi dilleri saymak mümkün .
Efendim tamam buraya kadar hersey normal anladik biseyler dediginizi duyuyor gibiyim evet fakat benim size üstünde durmak istedigim konu etkili web programlamadir .
Neden etkili günümüzde artik kimse bastan savma islere prim vermiyor bu sanki bir sarki ile ünlü olan sonra ortadan kaybolan sanatcilara benzer eger yapdiginiz is düzgün kitleye belli bir zümreye hitab ediyor ise yükselisiniz kesinlikle engellenemez.
iste bu sebepledirki yapacaginiz proje bastan savruk anlasilmaz olmamali peki nasil olmali?
1. Göze hitab etmeli
2. Kullanisli olmali
3. Güncelleniyor olmali
4. Yararli olmali
5. Düzenli olmali
6. amaca yönelik olmali
Bu siraladiklarim etkili programlamanin görünen yüzüdür.Birde görünmeyen yüzü var
1 Veri tabanini iyi gizlenmeli
2 Proje etkinlikle korunmali
3 Toplumun ahlakidegerlerine uygun olmali
4 Projede karmasiklik olmamali
5 Eksik bir proje asla proje olmadigi unutulmamali
asagi yuklari iyibir programlama nin gereklerini çikardik bunlari ilerleyen zamanlarda yeryer gerekdigince deginecegiz bir sonraki yazida bulusuncayyadek www.ixirchat.net den ayrilmayin diyor hepinize selam ediyorum

asp biliyorum başka dil bilmiyorum diyorsanız bakınız asp de ne nimetler var ?
cesa else kullanımı ve üyelik girişi uygulaması örnek ve test için http://www.fevkialem.com tıklayabilirsiniz gelelim konumuza ;

Değerli arkadaşlar herkese selam diyerek ilk makalemi sizlerle paylaşmak istedim ben deniz özgür keskin namıdeğer matchlessman ;
Asp bilindiği gibi etkileşimli bir dildir bu dil sayesinde değişkenler gönderir ve yin bu dil sayesin de değişkenlerle yapılması gerekenleri belirlersiniz gelen değişkenin ne olduğu ve ne yapılması gerekdiğini tutmuş olursanız şayet o duruma göre genel birtavır almış olursunuz üyelik sistemlerinde üye olnurken yada üye giriş aşamalarında bazı kontroller gerekir nedir bunlar kullanıcı ismi , şifresi meili falan filan bu rayı artık asp ile işi azçok olan herkez biliyor ama biz bilmiyormuş gibi bir anlatımla üyelik ve kontrolünde Case Else kalıbını kullanacak ve anlatacağız ;

değerli arkadaşlar ilk evela bir bağlantı oluşturalım bu bağlantımızı tüm sayfalarımızda kullanacağız , vt.asp olarak kaydedeceğiz...

<%
'açıklamalarburadaki gibi(') tek tırnakla yazılır
'görülgüğü gibi bir bağlattı seti oluşturdum ve veritabanım.mdb
'adlı veritabanına bağlandım bu veri tabanın kayıt güncelleme ve
'Doğrulama işlemleri ile hep ilişkide olacağım öyle ise
'bu bağlantı yani vt.asp benim içIn çok önemli sizdaha sonra
'bu bağlantı yolunun ve veritabanın adını değiştirmelisiniz!

strMainDB = Server.MapPath("denizkeskin.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & strMainDB
%>
çeşitli bağlantı şekilleri vardır jet bağlantı gibi ama daha sonra bu konu ile ilgili bir çalışmamı sizlerle paylaşacağım
şimdi bize güvenlikdegerekli olan ve işibilen diyorum (sizde biraz daha bilgi sahibi olduğunuzda bu sınıfda yer alacaksınız)bazı açıklardan site içinde elini kolunu sallaya sallaya üye olmadan gezer hadi gezsin birde bunun yanında bazı zararlı kodlar yollar vebu bizim istemediğimiz durumlardır bunu8n içIn bir guvenlik.asp adında sayfa hazırlayalım bakınız nasıl
<%
'buradaki amacımız forumdan alınacak verilerin gereksiz
'zararlı işaretlerden temizlenmesi ve formun sadece bizim
'istediğimiz işlemleri yapmasını sağlamakdır
Function koru(data)
data = Replace (data ,"`","",1,-1,1)
data = Replace (data ,"=","",1,-1,1)
data = Replace (data ,"&","",1,-1,1)
data = Replace (data ,"%","",1,-1,1)
data = Replace (data ,"!","",1,-1,1)
data = Replace (data ,"#","",1,-1,1)
data = Replace (data ,"<","",1,-1,1)
data = Replace (data ,">","",1,-1,1)
data = Replace (data ,"*","",1,-1,1)
data = Replace (data ,"/","",1,-1,1)
data = Replace (data ,"\","",1,-1,1)
data = Replace (data ,"And","",1,-1,1)
data = Replace (data ,"'","",1,-1,1)
data = Replace (data ,"Chr(34)","",1,-1,1)
data = Replace (data ,"Chr(39)","",1,-1,1)
koru=data
End Function
%>
hani demişdikya verileri alıcaz vericez ona göre hareket ve cevaplar vericeğiz bu iki asp sayfasından sonra bir form oluşturalım yanlız dikkat ediniz diğer forumlardan daha etkin değişiklikler var amacımız burada asp bilmeyenlere asp yi etkin kullandırmakdır bunun içIn Case Else biçilmiş bir kaftandır lafı uzatmadan hemen bir forum oluşturuyorum;adı default.asp

<html>
<head>
<title>uyegiris sayfası</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<form action="girermi.asp" method="post">
<tr>
<td width="100%">adı :
<Input Type="Text" name="adi" size="20"></td>
</tr>
<tr>
<td width="100%">şifresi :
<Input Type="Text" name="sifre" size="20"></td>
</tr>
<tr><td width="100%">
<ahref="kayit.asp">kaydolacam</a></td>
</tr>
<td width="100%">
<Input Type="submit" name="komut" value="giris" size="20"></td>
</tr></form>
</table>
</body>
</html>
bu form da neler tuttuk? 1 ad değişkeni 2 sifre değişkeni
pekala bu formu nereye yolladık ? post methodu ile girermi.asp adlı sayfamıza yolladık
dikkat edilmesi gereken ise yollama butonunun özelliği yani yollanan sadece ad ve sifre değişkeni değil bunun la birlikde komut ve yapılacak işi kendim belirlediğim (giris) adlı bir kelime işde yolladığımız asp sayfası komutun ne olduğuna bakarak eğer sayfa içinde başkabir buton var ise yollanan komutun taşıdığı değere bakacakdır(giris) sanırım biraz karışık geldi amaanlayacağız Inşallah Sanıyorum buraya kadar herşey tamam kaydolacam bölümüne tıklandığında ise yeni bir kayıt oluşacakdır.
gelelim girermi.asp sayfamızda neler yapacağımıza?
default.asp den gelen değişken ve komutları tutacağız ve buna göre bazı değişkenler yollayacağız
girermi.asp miz;
<!-- #include file="vt.asp" -->
<!-- #include file="guvenlik.asp" -->
<%
'forumdan gelen adi ve sifre değişkenini tuttuk ve aynı isimde
'adi ve sifre adlı değikenlere aktardık
'aspde değişken aktarma işlemi (=) ile yapılır
'koru güvenlik aspde oluşturduğumuz zararlı kodları temizlemeye
'yarayan değişkendir 'Or' 'Or'=1 vs gibi değişkenler korunur
adi=koru(request.Form("adi"))
sifre=koru(request.Form("sifre"))

'bakınız komutun boş gelip gelmediğini tuttuk ve boşdeğilse
'forumdan gelen komut değişkenimizi komut adlı değişkenimize
'aktardık fakat komut adlı değişken veritabanına kaydedilmeyecek
'sayfa içinde döndürülecek

If komut="" Then komut=Request.QueryString("komut")

'adının ve şifresinin boş olma durumunda ? işareti ile
'sankisebebini bağlarmış gibi bir durum oluşturarak birdeğer
'yollarız aspde teksatırla ve çift satırla kullanılan
'If (eğer) değişken(kadi)="" boş Then(ise) bunu yapderiz
'If i kapatmamıza gerek kalmaz biz default.asp sayfasına
'eğer adı boşsa mss değerine hata1 i aktar yolla dedik

If kadi="" Then Response.Redirect("default.asp?mss=hata1")
If sifre="" Then Response.Redirect("default.asp?mss=hata2")
%>
<%
'ben veri tabanımda bir uye adlı tablo açmışdım
'şimdi forumdan gelen kullanıcının eğer adı aynı ise
'bu isimde bir kullanıcı var ise yeni bir hata mesajı ile
'default.asp ye yollayacağım karmaşa olmasın diye

Set uye = Server.CreateObjecT("ADODB.RecordSet")
rSQL = "Select * FROM uyeler WHERE adi = '"&adi&"' And sifre = '"&sifre&"'"
uye.Open rSQL,Connection,3,3
%>
<%
'bu kelimeveri tabanımdaki üyeler tablosunu sonuna kadar
'tarayacak eğer bu isimde bir üye yok ise girişe izin verecekdir
'dikkat edilmesi gereken If yapısının tek satırda olmadığıdır
'birazdan kapatacağız

If uye.eof Then %>

<% response.Redirect("default.asp?mss=hat3") %>
<%
'Else(değilse)anlamında kullanılır bir durumu olumsuza yapar
'başka değişle durumun tersiniyapar biz varsa bu adda üye
'hata mesajı yolladık demekki böyle bir üye yok devam edecek

Else
%>
<%
'bakınız yenibir değişken uyduruyorum uye girisuye
'çünki tüm durumlar olumlu kullanıcı giriş yapmak isteyecek

Set girisuye = Server.CreateObjecT("ADODB.RecordSet")

'üye giriş yaparken veri tabanımda kayıtta oluşturduğum
'id adi sifre utarih son_tarih adında sutunlarım olacak
'update ile son_tarih adlı sutunu o anın tarihini yazarak
'üyenin son giriş tarihini veritabanına işlemiş oluyorum
'bunu başka yerlerde örn online üyelerde kullanacağım

rSQL = "Update uyeler Set son_tarih='"& Now() &"' WHERE kimlik="& uye("kimlik") &""
girisuye.Open rSQL,Connection,1,3

'Değerli arkadaşlar burda biraz size açıklama yapacağım zira 'adımın deniz olduğu gibi beni tanıyan insanlar var
'session bilindik anlamına gelir hani mahallede bilinirsiniz
'ya öyle bişey sizin kim olduğunuzu sistem bu değerle
'tanıyacakdır bunun bir süresi vardır işde bazı sitelerde
'görürüz örn : www.ixirchat.net (biraz reklam da yapalım)
'hoşgeldin ahmet mehmet neyse işde o değerler session
'ile yazdırılır

session("adi")=adi
session("uyegirisi")=True
session("id")="1"
session.TimeOut = 60
Server.ScriptTimeOut = 60
Response.Buffer = True

'böylece sesion nesnelerimize adi ve 1 değerini aktardık
'yollayalım bakalım default.asp sayfamıza
'burda işlem adlı faklı bir değişkenle yolluyorum ki sonuç net
'olsun

response.Redirect("default.asp?mss=islem")

'bakınız If i işde şimdi kapatacağım End If ile

End If%>

<%
'buradada çeşitli açdığım setleri kapatıyorum açık oluşmasın
Set uye = Nothing
Set girisuye = Nothing
Set Connection = Nothing
%>
oradan bazı sesler duydum bana atıfta (iyi güzel diyorsunda nerde kim tutacak bu işlemleri)dediğinizi duyar gibiyim!
ilk oluşturduğumuzdefault.asp sayfamıza yolladığımız bu değerleri kontrol eden bi Case Else yapısı kuralım
<html>
<head>
<title>uyegiris sayfası</title>
</head>
<body>
<%
mss=request.QueryString("mss")
Select Case mss
Case "islem"
msj="giris basarili"

Case "hata1"
msj="adınızı yazmadiniz !"
renk="red"
'burada bir renk uydurdum hatalıise rumuz ora kırmızı olsun

Case "hata2"
msj="Sifre yazmadiniz !"

Case "hata3"
msj="Rumuzla sifre uyusmuyor"

Case Else
msj="Üye girisi yapiniz!"
End Select
%>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<form action="girermi.asp" method="post">
<tr><td width="100%">
<%=msj%>td>
</tr>
<tr>
<td width="100%" bgcolor="<%=renk%>">adı :
<Input Type="Text" name="adi" size="20"></td>
</tr>
<tr>
<td width="100%">şifresi :
<Input Type="Text" name="sifre" size="20"></td>
</tr>
<tr><td width="100%">
<ahref="kayit.asp">kaydolacam</a></td>
</tr>
<td width="100%">
<Input Type="submit" name="komut" value="giris" size="20"></td>
</tr></form>
</table>
</body>
</html>

hataları tutuk ve yanlışları varsa üye bu yanlışlara takılarak giremeyecek peki yanlışı yoksa ne olacak? işde bu aşamada bir kontrol yapacağızbu yazdığımızıüye girişi yapılamadan girilemeyecek sayfaların başına koyacaksınız

<% If session("uyegirisi")=False Then
response.Write("üyeolmalısınız")
End If
%>

ama biz artık ture değerini yolladığımız içIn
bakınız default2.asp diye bir sayfa açabiliriz oda şöyle olsun
<% If session("uyegirisi")=True Then %>
üye girişi yapıldı ise diyoruz
<html>
<head>
<title>Yeni Sayfa 1</title>
</head>
<body>
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%">hoşgeldiniz syn <% =session("adi") %></td>
</tr>
<tr>
<td width="100%">bilgileriniz vs,vs</td>
</tr>
</table></body>
</html>
<%End If%>

şimdilik bunları bilin arkadaşlar inanın bunu yazmak baya vakdimi aldı Doğru olsun yanlış bilgi aktarmayalım falan derkenbaya zaman gitti herne ise umuyorum bu yazımla üye girişi kontrolü hakkında biraz daha bir bilgi sahibi oldunuz
Efendim benim adım deniz özgür keskin namıdermatchlessman bana
www.fevkialem.com dan ve www.ixirchat.net den ulaşabilirsiniz teşekkür ediyorum yazımı okumaya layık bulduğunuz içIn bir sonraki yazımda görüşmek üzere esen kalın


Ekleyen: WALLACEs | Eklenme Tarihi: 27.01.2016