Html Dersleri  

Go Back   Html Dersleri > Programlama > ASP & MsSQL

Cevapla
 
Seçenekler Stil
Alt 03-11-2011, 07:46 PM   #1
by_ukala
Junior Member
 
Üyelik tarihi: Mar 2011
Mesajlar: 6
Standart asp nedir

ASP NIN MANA VE EHEMMIYETI
GIRIS
Yetenekler yavas yavas yeryüzüne çikiyor arkadaslar. Artik internet herkesin, hepimizin oluyor farkinda
misiniz? Her client(istemci) ayni düzeyde erisim ve gezinim hakkina sahip. Soz ve düsünce ozgürlügü var.
Kendinizi sinif arkadasiniza bile ifade etmekte güçlük çekerken, karsimiza dev gibi dikilen bu zahiri alemde
en kolay seyin bir “kendimi ifade edeyim” alani (homepage derler) yaratmak oldugunu gorünce sasirmistik.
Insanlar HTML kullaniyorlardi eski çaglarda. Yapilan webolojik çalismalar ve derin darbeler, Frig
medeniyetinde “hypertext markup language” teriminin bilindigini, Urartu taraflarinda da HTML adli bir
canavarin varligindan süphe edildigi gerçeklerini ortaya çikarmistir.
Meshurlugu eski çaglara kadar dayanan HTML neydi peki? Sadece insanlara yazdiklarimizi, çizdiklerimizi
ve begendigimiz site koprülerini yerlestirdigimiz, envai çesit editorü bulunan, utanilmasa “Nesneye Yonelik
Programlama Dili” gurubuna alinacak bir çesit kod akaidi. Excel’in içinden çikan, Word’de tek tusla
ciziliveren tablolar HTML’de de var. Form ogeleri koyabiliyorsunuz. Yazi yazabiliyorsunuz (pes yani).
“Bu ask fazla sana”
Askimiz evrim geçirecek. Insanlar daha dogrusu webmimarlar, HTML yi tek tarafli metin ve grafik ogesi
olmaktan çikarmak için çabaladilar. Microsoft’un evliyalari devreye girdiler. NT4 isletim sistemi mimarisine
dayanan, Internet Information Server ‘ de çalisip, yeni bir ekmek kapisi olacak olan ASP yi gelistirdiler.
ASP artik Türkiye’nin yeni yüzü olacak!
Herkes ASP kullanacak, herkes rahatlayacak.
ISTE SIZE ASP
Neden hep ASP diyoruz. Bunu bir açmak gerek. ASP Ingilizce “Active Server Pages” tümcesinin
kisaltmasidir. Ingilizce bilenler bunun “Aktif Sunucu Sayfalari” manasina geldigini anlamistir. Aslinda
Türkçesi de mantikli geliyor insana. Sunucu tarafinda islenen sayfalar demek oluyor ASP.
Sunucu ne peki? Internette bilgi alisverisi bakkalla müsterisi arasindaki alisveristen çok da farkli degil.
Istemci (Client) talip olandir; sunucu (Server) arz edendir. Genelde internete bagli bilgisayarlar (sizinki de
muhtemelen bu genellemeye dahildir) istemci konumundadir. Bilgisayarinizin diger insanlara, yani dünyaya
sundugu, arz ettigi bir meta yoktur. Sunucularin arz ettigi web sitelerini gezersiniz. Kendi web sitenizi
olusturursunuz, ancak kendi sitenize yine istemci olarak girersiniz. Sunan kimdir? (Hypermart, Xoom... ama
asla siz degil!)
ASP NIN MANA VE EHEMMIYETI 1 ASP NEDIR
PERSONAL WEB SERVER NE KI?
PWS YI KURDUN MU ?
Bu makalede Microsoft Windows 98 CD si içinde gelen Personal Web Server'dan bahsedecegiz. Oncelikle bu
programi sisteminize kurmaniz gerekiyor. Basit bir kuruluma sahip. Normal kurulum bize yeterli olacaktir.
Kurulumu tamamladiginizi varsayip basliyoruz.
GENEL MANZARA
Baslat > Programlar > Donatilar > Internet Araçlari > Personal Web Server > Personal Web Manager
ile veya C:\WINDOWS\SYSTEM\INETSRV\pws.exe ile Personal Web Manager programini açalim
bakalim.
Bu program bizim Web sunucumuzu yonetmekte kulllanacagimiz "manager" dir diyecegiz. Neler
yapabiliyoruz peki bununla?
Once programin açildiktan sonraki manzarasi ve endamini gorelim. Ilgili resim asagidadir.
Yukaridaki ekran gorüntüsünde "dur" yazan butonun ne ise yaradigini açiklayalim:
Bu buton serverinizin çalismasi veya durdurulmasi durumlari arasinda size geçis yaptiriyor. Su anda butonda
dur yaziyor. Demek ki dügmeye tiklayinca serverin isleyisi duracak; bilgisayariniz sadece client olacak.
Butonun üzerindeki metin ise "baslat" (bildigimiz baslat) a donüsecek. Bu durumda butona tekrar tiklanirsa
server aktif hale gelecek. Istemci bilgisayariniz, fukara bir server haline gelecek tekrar. Butonda "dur" yazisi
belirecek. Hayat bu sekilde devam edecek.
"http://mucit" ifadesi sunucunuzun aktif ana dizinidir. Web sitenizin giris sayfasi bu dizinde olmalidir.
"mucit" benim sunucumun adidir. Buraya tiklarsaniz browser açilir ve http://mucit adresini bulmaya çalisir.
Sunucunuz aktif ise bulacaktir olagan olarak. Ve giris sayfasina bakacaktir. Eger giris sayfaniz varsa (ornegin
default.asp) onu açacaktir. Burada "mucit" yerine localhost yazarsaniz ayni sonuçla karsilasirsiniz.
"E:\inetpub" ifadesi, sunucunuzun aktif dizininin "fiziksel yol" udur. Yani http://localhost adresi aslinda
"e:\inetpub" a isaret etmektedir ve buradaki giris sayfasini açmaktadir. Web server kurulurken
c:\inetpub\wwwroot yolunu sizin ana dizininiz yapar. Bunu "gelismis" seçenegiyle kolayca degistirebilirsiniz.
PERSONAL WEB SERVER NE KI? 3 ASP NEDIR
DEGISKENLERIMI KIMSEYLE DEGISMEM
ASP YI YAZMAYA BASLAYALIM
HTML bildiginiz varsayiliyor. Tablolama tasarim konusunda ayri bir oneme sahiptir. Bir de ileride veritabani
ile iliskilerimizde arayüz olarak kullanacagimiz için formlari ve nesnelerini iyi bilmeniz lazim.
HTML belgelerinde, HTML taglari < ile > simgeleri arasina yazilmaktaydi. Bu sekilde diger metinlerden
ayirt edilmekteydi. Yazacagimiz ASP kodlari ise benzer formda <% ile %> ayraçlari arasina yazilacak.
Sunucu bu iki ayraç arasindaki ifadelerin ASP kodu oldugunu bildiginden bunlari yürütecek ve klullaniciya
salt, ASP den arinmis HTML belgesi gonderilecek. Ornegi inceleyterek bunu daha iyi anlayacagiz. Asagidaki
kodu bos bir metin belgesine kopyalayip "ilk.asp" diye kaydedin.
1.sekil: ilk.asp nin ham
kaynak kodu
<html>
<body>
<p>Asagida simdinin
zamani gorüntülenecek
<%
Dim simdi ' degisken
tanimladik
simdi = now ' degiskene
simdi nin zaman degerini
atadik.
Response.Write "<p><font
color=""red"">" & simdi
& "</font>"
' ve belgeye formatlayarak
yaziyoz
%>
</body>
</html>
ASP kodlarini ayirt etmissinizdir. Dim ile "simdi" diye bir degiskeni deklare ediyoruz. "simdi" degiskenine
now hazir zaman fonksiyonunun degerini atiyoruz (VB SCRIPT). "Response.Write" komutuyla küçük bir
formatlama yapip simdi yi belgeye yazdiriyoruz. Tek tirnak isaretinden satir sonuna kadar yazilan ifadeler,
artik olmazsa olmaz olan comment (yorum) lardir. Yani sunucu buradaki deyimleri anlamaya ugrasmak
yerine kaale bile almayacaktir; gülüp geçecektir. Ote yandan buradaki yorumlar istemci bilgisayara da
ulasmayacagina gore webmimarin tapulu mali olarak kabul edilebilir. Webmimar içinden geçen her seyi satir
DEGISKENLERIMI KIMSEYLE DEGISMEM 6 ASP NEDIR
FORM'UNDA SAYFALAR YAZMAK
Form lar veritabani ile olan iliskilerimizde aramizdaki çopçatan gibi bir sey olacak. (ne benzetme!) Kimi
zaman veritabanindan aldigimiz verileri düz metin haline dokmekten baska, formdaki alanlara da dokmek
isteyecegiz. En onemlisi veritabanina web den veri basarken, formlari kullanacagiz. Elimiz mahkum.
Bütün bilgi girisleri formlar üzerinden gerçeklesiyor desek yalan omaz degil mi? Anketler, ziyaret defterleri,
forumlar, arama sorgulari... Hepsini olusturacagimiz form nesneleriyle teker teker halledecegiz.
Bu makalede HTML formlarini ASP de nasil amacimiza yonelik kullaniriz; onu inceleyelecegiz. Bunu için
HTML nin form unsurlarini bilmeniz gerekiyor. Asagi yukari her HTML editoründe bu unsurlar listelenerek
hazir sekilde size sunuluyor.
FORMDAN IÇERIK TALEBI
Ilk once formlardaki elemanlarin içerigini talep etmeyi ogrenelim. Bir formda çesitli elementler bulunabilir.
Bunlardan bilgi girisleri için metin kutulari (input text), metin alanlari (text area), seçme kutulari (checkbox,
input radio), seçim menüleri (select option) vs.. kullanilabilir. Kullanici karsisina dikilen bir formdaki gerekli
alanlara bilgi girisi yapar ve “submit” tusuyla formu tüm unsurlariyla “action” ozelliginde belirtilen URL ye
gonderir. “Action” ozelligine girilen bu URL bir ASP dosyasi olabilir. Çünkü ASP ile gonderilen form
unsurlarindaki bilgilere ulasabiliriz. Iste burada, bir asp dosyasinda form elemanlarindaki içerigin nasil talep
edilecegini gorecegiz. Bunun için bir form barindiran HTML dokümani olusturalim ve “form.html” olarak
kaydedelim.
Sekil1. Form.html kaynak kodu
<html>
<body bgcolor="#FFFFFF">
<form method=post action="getform.asp">
<input
type="hidden" name="FormAdi" value="Müsteri
Anketi">
Adiniz : <input type="text" name="ad">
<<−−!−−−−−−−àrequest.form”ad” −−>>
<<br><br>
Cinsiyetiniz : <input
type="radio" name="cinsiyet" value="bay"> Bay
<input
type="radio" name="cinsiyet" value="bayan">
FORM'UNDA SAYFALAR YAZMAK 8 ASP N
SORGU CÜMLECIKLERI KULLANMAK
SORGU CÜMLECIGI : QueryString
ASP sayfalari kodlarken, bir sayfadan diger bir sayfaya bilgi aktarmanin degisik yollari vardir. Bunlardan biri
olan Form kullanarak bilgi geçirmeyi gormüstük. Bir diger yol ise sorgu cümlecigi kullanmaktir. Sorgu
cümlecigi, link verecegimiz sayfanin URL sinin sonuna eklenen çesitli string (katar) tipteki ifadelerdir.
Ornek : http://www.x.com/deneme.asp?telefon_numarasi=4121254
Yukaridaki URL de belirtilen deneme.asp sayfasina “telefon_numarasi” kimligiyle bir deger yolluyoruz.
Burada deger olarak sayisal ifade yazdik gibi gorünüyor. Ancak hayir! Buraya istediginiz kadar rakam
esitleyin, yazdiginiz bir string dir, yani matematiksel olarak bir anlami yok. Bildigimiz düz metin.
Evet, hernagi bir sayfanin URL sinin sonuna bu sekilde sorgu stringleri ekleyebiliriz. Birden fazla eklemek
istersek aralara “&” isareti koyariz.
Ornek: http://www.x.com/siparis.asp?musteri...&siparis_no=52 gibi.
Boylece bir sayfaya sorgu stringi yoluyla bilgi geçirme ifadesinin ne kadar kolay hazirlandigini gorüyoruz.
Bir de madalyanonu oteki tarafina geçelim. Yani sorgu cümlesiyle yollanan bilgileri talep edecek bir asp
dosyasina ihtiyacimiz olacak. Bu asp dosyasinda sorgu stringini talep etmek için asagidaki kod kullanilir.
Request.QueryString(“eleman_adi”)
Ornegin yukarida verdigimiz, URL deki sorgu cümlesinden deger çeken siparis.asp dosyasinda su kodlar
kullanilabilir.
Dim musteri_no, siparis_no
Musteri_no = Request.QueryString("musteri_no")
Siparis_no = Request.QueryString("siparis_no")
Bu kodun çalismasiyla Musteri_no degiskenimize sorgu stringinden aldigimiz “15” degeri, Siparis_no
degiskenimize ise “52” degeri atanmistir. Tekrar edersek bu degiskenlerdeki degerler string tiptedir. String ve
Sayisal tiplerin farki için asagidaki kullanimi inceleyelim: (yukaridaki koda devam ediyoruz)
Response.Write (Musteri_no + Siparis_no)
Yukaridaki ifade sonucu sayfaya 15 + 52 = 67 yazilacak diye beklemeyin. Bunlar string ifade olduklarindan
aradaki toplama isareti matematiksel toplama islemi yapmak yerine iki stringi birlestirecektir. Ve sayfaya
‘1552’ yazilacaktir.
Bir asp belgesine sorgu cümlecigi yoluyla bilgi geçirmenin yolunu ogrenmis bulunuyoruz. Peki bu yontemi
nerelerde kullanabiliriz? Tabi ki bu yontemi de daha çok veritabanlariyla ugrasirken kullanacagiz. Zaten
anlatilan bu konularla hep veritabani kullanimina hazirlik yapiyoruz. Sadede geldigimizde bu yontemleri çok
kullanacagiz. Ornegin veritabanindan tekil kayitlar seçerken sorgu stringi kullanmak en kullanisli yoldur.
Okudugunuz bu web dokümanindaki yazilar da bir veritabanindan çekilmistir. Ve çekilirken de kolaylikla
SORGU CÜMLECIKLERI KULLANMAK 12 ASP NEDIR
AH VERITABANI AH!
Sira geldi dilimizden düsmeyen veritabani kullanmayi
ogrenmeye...
Veritabani: Veritabanlarini verilerin depolandigi
tablolari barindiran dosyalar seklinde düsünebiliriz.
Tablolar ise ad, soyad, telefon gibi alanlardan (field)
olusur. Bu alanlarin tamami ise bir kayiti (record)
olusturur. Kayit kavrami satir kavramiyla hemen
hemen aynidir. Veritabani tablosundaki satirlara
record, sütunlara field diyecegiz.
Veritabani dosyalari, farkli programlarla hazirlanabilir.
Ancak biz burada yaygin olarak kullanilan Microsoft
Access programiyla yaratilmis veritabanlarini
inceleyecegiz. Microsoft’un bu programiyla kolayca kendi spesifik veritabani dosyanizi hazirlayabilirsiniz.
(Excel de tablo hazirlamak kadar kolaydir.) Veritabani dosyanizin uzantisi .mdb olacaktir.
Yeni bir veritabani olustururken yapacaginiz en onemli islem, amaciniza ve kayitlariniza uygun tablolar,
sonra da tablolar için field (alan) lar olusturmaktir. Ve de alanlarin tutacagi verilerin tipini belirlemek
gerekecektir.
Ornegin yukaridaki resimde ornek bir veritabanindaki bir tablonun kayitlari gorünüyor. (Access buna
verisayfasi gorünümü demis). Tablonun adi da onemlidir. Diger tablolardan adiyla ayrilacaktir. Buradaki
tablomuzun adi “OrnekTablo” dur. (Microsoft Access yazisinin yaninda yaziyor). Ornektablo adli
tablomuzda id, AdSoyad, Adres, Telefon, Mail adlariyla olusturulmus 5 tane field (alan) bulunuyor. Resimde
tabloya üç adet kayit girilmis. “id” alani birincil anahtar dir. Tabloya eklenen her yeni kayitta bu alan
otomatik olarak bir sayi yazilir. Diger tablolarla, veritabanlariyla iliskilerde, ozellikle bizim kullancagimiz
ASP sayfalarindaki sorgularda bu kayit seçmek için bu tür alanlari çok kullanacagiz. Diger alanlarda düz
metin tipindeki alanlardir. Metin tipindeki alanlarda her kayit en fazla 255 karakter bilgi tutabilir. Bu
okudugunuz yazi da veritabanindan geliyor. Sizce 255 karakteri çoktan geçmedi mi okudugunuz kisim.
Elbette geçti. Iste bu tür uzun metin verilerinde “not” tipi veri tutan fieldlar kullaniyoruz. Eger yukaridaki
“adres” sütunu yerine “Ozgecmis” diye bir sütun olsaydi (255 karakteri asar degil mi bir ozgeçmis) ve biz
buraya kisilerin ozgeçmislerini girseydik, Ozgecmis alaninin tutacagi veri tipini access deki tasarim
gorünümüne gelip ilgili yerden “not” a çevirecektik. Ote yandan tarih veya saat türünde veriler girilecek bir
alanin veritürünü de tarih/saat olarak seçecegiz. Ve sayisal kayitlar için sayi veri türü seçilmeli.
AH ERITABANI AH! 15 ASP NEDIR
ASP ILE VERITABANI BAGLANTISI
BAGLANMAK...
Artik "yaz askimiz veritabanlariyla nasil temasa geçecegiz" mes'elesine geldik. Gerçekten olaganüstü basit ve
kisa kodlamalarla dev gibi bir veritabanini onümüzde diz çoktürecek güçteyiz. Yasasin!
Hangi veritabanina baglanacagiz problemimiz yok çünkü onceki makalede ornek bir Access veritabani
dosyasi hazirladik (kisiler.mdb). Bu dosyayi zip'ik halini buraya tiklayarak indirebilirsiniz (8,15 kb).
Baglanti muhabbetimiz bu dosya çerçevesinde olacak.
Veritabani dosyaniz "c:\inetpub\wwwroot\db" dizininde olsun. Simdi "c:\inetpub\wwwroot" dizininde yeni
bir asp dosyasi yaratacagiz. Kullandiginiz editorü açin ve asagidaki kaynak kodunu kopyalayin. Sonra da
vtbaglanti.asp adiyla wwwroot dizinine kaydedin.
Sekil1. vtbaglanti.asp kaynak kodu
<%
' vtbaglanti.asp
' bu sayfada db alt dizinindeki kisiler.mdb veritabani
' dosyasiyla baglanti denemesi yapiliyor.
' çevreye verecemiz rahatsizlik
' umurumuzda deeeldir.
%>
<%
'' BAGLANTI KISMI BASLIYOR *****
' baglanmadan once baglanti nesnesi olusturmamiz
lazim.
' adini da ismail koyalim. elbet bir hatirasi var.
Set ismail =
Server.CreateObject("ADODB.Connection")
' Artik nurtopu gibi bir baglantimiz var. Adi da ismail.
' sonra ismail adini verdigimiz baglanti nesnemizle
kisiler.mdb veritabani
' dosyamizi açalim.
ismail.Open ("DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=" &_
Server.MapPath("db/kisiler.mdb"))
' kisiler.db de bulunan kisiler tablosundaki tüm
kayitlari almak için
ASP ILE VERITABANI BAGLANTISI 20 ASP NEDIR
devamı gelicek
by_ukala isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Hizli Erisim


Tüm Zamanlar GMT Olarak Ayarlanmış. Şuanki Zaman: 03:26 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.