|
|
| |
ASP Alışveriş sistemi yapımı |
|
|
Uyarı Bu yazı orta düzey bilgi gerektiren bir yazıdır! Bu dersimizde basit olarak bir alışveriş sitesi yapıcağız.Baya uzun bir ders olacak sabırla okursanız faydalı şeyler öğrendinizi görüceksiniz.Yazıma başlamadan önce veritabanıyla ilgili dersleri okumanızı öneriyorum."db.mdb" diye bir veritabanımımız olsun içine urun adında bir tablo oluşturalım.Tablomuzun alanları : id (otomatik sayı ) , ad(not ) , fiyat (sayı ) olsun ve tablomzua bir kaç kayıt girin.Ana sayfamızda bu tablomuzdaki kayıtları listelicez.Veritabanı bağlantımızı "db.asp" olarak kaydedelim:
| Kod Alanı: |
<% db = Server.MapPath("db.mdb" ) Set baglanti = Server.CreateObject("ADODB.Connection" ) baglanti.Open "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & db & ";" ' veritabanı bağlantımızı yaptık %> |
|
Veritabanı bağlantımızı her sayfamızda yeniden yazmak yerine include etmek sitemizin performansını arttıracaktır. Ana Sayfamız ise Şöyle olacak:
| Kod Alanı: |
Ana Sayfa <% Set Rs = Server.CreateObject("ADODB.RecordSet" ) sql = "Select * from urun order by id desc;" Rs.Open sql,baglanti,1,3 if Rs.eof then Response.Write "Kayıt Yok" End if Do while not Rs.eof 'Tum kayıtları yazdırabilmek icin dongumuzu baslattık with Response .Write " Urun Ad: "&Rs("ad" )&" " ' : boslugun ascii kodudur.Urun adımızı yazdırdık .Write "Urun Fiyat: "&Rs("fiyat" )&" YTL " 'Urun fiyatını yazdırdık .Write "Sepete At " 'sepete_at.asp 'ye link verdik.Alacağımız urunu belirleyebilmek içinde urunun idsini sepete_at.asp sayfamıza yolladık End with Rs.MoveNext Loop'Dongumuzu sonlandırdık %> Yönetici Girişi |
|
Ana Sayfamız tamamlandı.Şimdi sıra sepete_at.asp 'de.Bunun için veritabanımızda sepet adında bir tablo oluşturalım.Tablonun Alanları: id (otomatik sayı ) , Session_id(not ) , urun_id (sayi ) şeklinde olacak.Artık sepete_at.asp sayfamızı oluşuturabiliriz:
| Kod Alanı: |
<% id = Request.QueryString("id" ) 'ana sayfamızdan yolladığımız id değerini id değişkenine atadık if id = "" or not isnumeric(id ) then 'eğer id değeri boşsa yada bir sayı değilse Response.Write "Güvenlik Duvarı" 'Güvenlik Duvarı yazısı yazdırdık Response.End 'Bu bir güvenlik önlemidir kötü niyetli kişiler eğer bu kontrolu yapmazsanız sitenizi hackliyebilirler End if Set Rs = Server.CreateObject("ADODB.RecordSet" ) 'urunumuzle ilgili bilgileri alabilmek için RecordSetimizi açtık sql = "Select * from urun where id = "&id&" " 'Sql kodumuz Rs.Open sql,baglanti,1,3 if Rs.eof then 'Eger kayıt bulunamzsa Rsponse.Write "Böyle bir ürün bulunmamaktadır" 'Böyle bir ürün bulunmamaktadır yazısı yazdırdık Response.End End if Set Rs2 = Server.CreateObject("ADODB.RecordSet" )'urunumuzu sepete atabilmek için RecordSetimizi açtık sql = "Select * from sepet" 'sql kodumuz Rs2.open sql,baglanti,1,3 Rs2.AddNew 'sepet adlı tablomuza yeni bir kayıt ekledik Rs2("Session_id" ) = Session.SessionID 'tablomuzdaki Session_id adlı alanımızın değerini oturumuz idmiz oalrka belirledik Rs2("urun_id" ) = Rs("id" ) 'tablomuzdaki urun_id adlı alanımızın değerini ilk tablomuzdaki id alanının değeri olarka belirledik Rs2.Update Response.Write "Urun Sepetinize Eklendi" 'Urun Sepetinize Eklendi yazısı yazdırdık. Response.Write " Sepetinize bakmak için tıklayın" 'Sepetimizi kontrol etmek için sepetim.asp 'ye link verdik %> |
|
Geriye 4 tane sayfamız kaldı ilki sepetimizi kontrol edeceğimiz sayfa ikincisi sepetimizden urun cıkaracagımız sayfa ucuncusu urunleri sipariş edeceğimiz sayfa sonuncusu ise site sahibinin sipariş edilen urunleri göreceği sayfa.İşte sepetim.asp sayfamızın kodları:
| Kod Alanı: |
<% Session_id = Session.SessionID Set Rs = Server.CreateObject("ADODB.RecordSet" ) Sql = "Select * from sepet where session_id = '"&Session_id&"' " Rs.Open sql,baglanti,1,3 if Rs.Eof Then Response.Write " Hiç Bir Ürün Bulunamadı" End if Do while not Rs.eof Set Rs2 = Server.CreateObject("ADODB.RecordSet" ) 'urunumuzle ilgili bilgileri alabilmek için RecordSetimizi açtık sql = "Select * from urun where id = "&Rs("urun_id" )&" " 'Sql kodumuz Rs2.Open sql,baglanti,1,3 with Response .Write " Urun Ad: "&Rs2("ad" )&" " '.Urun adımızı yazdırdık .Write "Urun Fiyat: "&Rs2("fiyat" )&" " 'Urun fiyatını yazdırdık .Write "Sepeten Çıkart "'sepetten_cikart.asp 'ye link verdik. End with Rs.MoveNext Loop %> Ürünleri Sipariş Et |
|
sepetim.asp de bitti sırada ürünlerimizi çıkaracağımız sepetten_cikart.asp var :
| Kod Alanı: |
<% id = Request.QueryString("id" ) 'Diğer sayfamızdan gelen di değerini id değişkenine atadık if id = "" or not isnumeric(id ) then 'Güvenlik kontrolu Response.Write "Güvenlik Duvarı!" End if Session_id = Session.SessionID Set Rs = Server.CreateObject("ADODB.RecordSet" ) 'RecordSetimizi açtık sql = "Delete from sepet where urun_id = "&id&" and session_id = '"&Session_id&"' " 'Aynı ürünü iki kişininde sepete atma olsaılığ olduğundan oturum idsi kontrolude yaptık Rs.Open sql,baglanti,1,3 Response.Write "Urun Sepepetten Çıkarıldı" %> |
|
Geldik urunlerimizi sipariş edeceğimiz sayfaya bunun için bir form hazırlıyacağız ziğariş edenin adı soyadını, adresini , ve oturum idsini veritabanına kaydettireceğiz.Bu yüzden siparis adında yeni bir tablo oluşturlım.Tablomuzun alanları : id (otomatik sayı ),ad-soyad(not ), adres(not ),tel(sayi ) ,session_id(not ).Formumuzun bulunduğu siparis.asp sayfamız:
Okunma : 235 |
|