- 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
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.
hatasayfasi.asp kısmını tamamladık.
hatalisanatcilar.asp adında yeni bir dosya açtık.
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.
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.
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.