İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Asp İle Hata Sayfaları Yönetimi (Klasörleme ve Sayfalama)

disconnect

0
İyinet Üyesi
Onaylı Üye
Katılım
1 Şubat 2005
Mesajlar
3,367
Reaction score
5
Hata sayfalarını kullanarak sef linkler nasıl yapılır.
Veritabanımız mysql ve içeriği şarkı sözleri olsun.

sitemizde linklerimizi klasörleme şeklinde yapacağız.
site.com/askin-nur-yengi (Bu linkte sanatçıya ait şarkı sözlerini liseteleyeceğiz.)
site.com/askin-nur-yengi/hesap-ver (Bu linkte şarkının sözleri olacak.)

Ben linklerde herhangi bir id nosu kullanmak istemediğim için veritabaninda değişiklik yapmam gerekli.
Bunu da basit bir asp koduyla halledeceğim.
Veritabanimizda yeni bir bileşen oluştuyoruz adı sarkilinki
<%
set veri=Server.CreateObject("ADODB.Connection")
dsn="Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=veritabanim;Uid=root;Pwd=;"
veri.open dsn

function trsil(veri)
veri = Replace (veri ,"ğ","g",1,-1,1)
veri = Replace (veri ,"İ","i",1,-1,1)
veri = Replace (veri ,"ı","i",1,-1,1)
veri = Replace (veri ,"ş","s",1,-1,1)
veri = Replace (veri ,"ö","o",1,-1,1)
veri = Replace (veri ,"ü","u",1,-1,1)
veri = Replace (veri ,"Ü","U",1,-1,1)
veri = Replace (veri ,"Ç","c",1,-1,1)
veri = Replace (veri ,"Ğ","g",1,-1,1)
veri = Replace (veri ,"Ş","s",1,-1,1)
veri = Replace (veri ,"Ö","o",1,-1,1)
veri = Replace (veri ,"ç","c",1,-1,1)
veri = Replace (veri ,chr(10),"",1,-1,1)
veri = Replace (veri ,"´","",1,-1,1)
veri = Replace (veri ,""","",1,-1,1)
veri = Replace (veri ,"(","",1,-1,1)
veri = Replace (veri ,")","",1,-1,1)
veri = Replace (veri ,"&","",1,-1,1)
veri = Replace (veri ,"?","",1,-1,1)
veri = Replace (veri ,"’","",1,-1,1)
veri = Replace (veri ,"'","",1,-1,1)
veri = Replace (veri ,",","",1,-1,1)
veri = Replace (veri ,"!","",1,-1,1)
veri = Replace (veri ,"´","",1,-1,1)
veri = Replace (veri ,Chr(32),"-",1,-1,0)
trsil=lcase(veri)
end function

set rs = veri.execute("Select sarkiadi,id from sarkilar")
Do While Not rs.Eof
sarkiadi=trsil(rs("sarkiadi"))
id=rs("id")
%>





<%
set conn=Server.CreateObject("ADODB.Connection")
dsn="Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=veritabanim;Uid=root;Pwd=;"
conn.open dsn


conn.execute("Update sarkilar set sarkilinki ='"&sarkiadi&"' where id = "&id)
rs.Movenext

Loop
%>

bu kodlari, koddonustur.asp olarak kaydedip localhostta çalıştıyoruz. 2-3 saniyede tüm veritabanındaki sarki isimleri sarkilinki olarak türkçe karakterlerden temizlenip boşluklara - koyarak yazılıyor.
Sanatçi isimleri için aynı işlemi tekrarlıyoruz.
Veritabanı tamamlandıktan sonra

hatasayfasi.asp oluşturuyoruz. Bunu iis den hata sayfaları yönetiminde 404 hata kodunun karşılığı olarak ekliyoruz.

<%On error Resume Next
set strURL = Request.ServerVariables("QUERY_STRING")
bolum= split(strURL,"/")
On error Resume Next
bol=split(bolum(4),"-")
sayfa=bol(0)
if not sayfa="sayfa" and not sayfa="" then%>
<!--#include file="hatalisarkilar.asp"--><%else%><!--#include file="hatalisanatcilar.asp"-->
<%end if%>
http://www.site.com/askin-nur-yengi/sayfa-2
http://www.site.com/askin-nur-yengi/hesap-ver
Linkler bu şekilde sayfalamalı olursa haliyle işler zorlaşacak. Sayfalamayı ayırd edebilmek için
bol=split(bolum(4),"-")
sayfa=bol(0)
4. bölümün ilk kısmını alıyoruz. eğer sayfa geliyorsa hatalisanatcilar.asp
Eğer sayfa yoksa hatalisarkilar.asp kısmını include edecek.

hatasayfasi.asp kısmını tamamladık.

hatalisanatcilar.asp adında yeni bir dosya açtık.

<%
set strURL = Request.ServerVariables("QUERY_STRING")
bolum= split(strURL,"/")
sanatcilinki=bolum(3)

bol=split(bolum(4),"-")
sayfam=bol(1)

KayitSayisi = 13
If sayfam <> "" Then
Sayfa = CInt(sayfam)
Else
Sayfa = 1
End If

set ms = veri.execute("Select * from sarkilar where sarkilinki='"&sarkilinki&"' order by id desc LIMIT " & (KayitSayisi*Sayfa)-(KayitSayisi) & "," & KayitSayisi)
Set SQLTop = veri.Execute("SELECT COUNT(id) FROM sarkilar where sarkilinki='"&sarkilinki&"' limit 0,1")
TopKayit = SQLTop(0)
%>

sarkilinki=bolum(3)
http://www.site.com/askin-nur-yengi/sayfa-2
1 / 2 / 3 / bol(0)-bol(1)

bol=split(bolum(4),"-")
sayfam=bol(1)

bol(1) den
Sayfa numarasını alıyoruz. Ve verileri sorgulatarak yazdırıyoruz.
Bu kısımları kendi tasarımınıza göre yapmalıyız.


hatalisarkilar.asp adında yeni bir asp sayfası oluştuyoruz.
<%
set strURL = Request.ServerVariables("QUERY_STRING")
sarkilinki=bolum(4)
set ms = veri.execute("Select * from sarkilar where sarkilinki='"&sarkilinki&"' limit 0,1")
%>

http://www.site.com/askin-nur-yengi/hesap-ver
1 / 2 / 3 / 4

sarkilinki=bolum(4)
bolum 4 ten sarki adini alıp veritabanından sorgulatıp verilerimizi sayfaya basıyoruz.

Hızlı bir şekilde hazırladığım için bir çok yerde hatalar olabilir.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst