viewtopic.php?t=4576
ama kimse beni anlamak istememişti...

istediğim olayın nasıl yapılacağını buldum ve sizlerle paylaşmak istedim :
Hepinize İyi Çalışmalar...Frame ile Yönlendirme
NetBul ve Hotmail gibi sitelerdeki url yönlendirmelerini görmüşsünüzdür. Frame kullanılan bir sayfada altta veya üstte açılacak sayfa çıkar diğer bölümde ise sitenin reklamı. Bu sistem MaxiASP'nin reklamlarında da kullanılmaktadır Şimdi bu işi nasıl yaptığımızı anlatacağız.
Aslında bu şi veri tabanı kullanmadan yapmakta mümkün ama ben size kullanılarak nasıl yapıldığını anlatacağım. Her zamanki gibi önce bir veri tabanına ihtiyacımız var. Access ile adı siteler.mdb olan bir veri tabanı yaratın ve içinde Siteler adlı bir tablo oluşturun. Bu tablonun içinde de sno , Site_Url, Hit gibi alanlar olsun. sno alanı otomatik sayı, Site_Url metin ve Hit alanı da sayı olsun.
Veri tabanımız kullanım için hazır olduğuna göre sıra kodlarda. Biz bu iş için 4 sayfa kullanacağız. Bu sayfalardan bir tanesi ayar dosyası olacak, diğeri veri tabanındaki linkleri listeletecek. 3.sayfa sizin reklamınızın olduğu sayfa, 4. sayfa ise frame kodlarının olduğu sayfa. Bu sayfaların kodlarını bu sayfalarda bulacaksınız...
Önce ayar dosyası. Her sayfada veri tabanımızın yerini teker teker tanıtmaktansa bu çok iyi bir yoldur. Tavsiye ederim. Bu aşağıdaki kodlar ayar.asp sayfasına aittir.
Bundan sonra her sayfaya bu kodu ekleyeceğiz. Böylece otomatikman veri tabanına başlanacak. Sıra listelemeyi yapacak sayfada. Bu aşağıdaki kodlarda default.asp sayfasına aittir.Kod: Tümünü seç
<% Db = Server.Mappath("siteler.mdb") ' Aynı klasörde bütün dosyalar Set Conn = Server.CreateObject("Adodb.Connection") Conn.Open "DBQ="& Db &";Driver={Microsoft Access Driver (*.mdb)}" %>
Kayıtlı siteleri de listelettikten sonra yapacak tek şey bu adrese gitmek. Ama bu gitme işini bir frame sayfası yapacak. Bu aşağıdaki kodlar site_yolla.asp sayfasına aittir.Kod: Tümünü seç
<!-- #include file="ayar.asp" --> <% Set Siteler = Server.CreateObject("Adodb.Recordset") sSQL = "Select * from Siteler order by Hit desc" ' Hit'i yüksek olanı en başa Siteler.Open sSQL, Conn, 1, 3 %> <html> <head> <title>Linkler</title> </head> <body> <center><font face="verdana" size="1">Aşağıda sitemize kayıtlı linkler mevcuttur. İstediğinizin üstüne tıklayıp gidebilirsiniz.</font></center> <br> <% Do while not Siteler.Eof Response.Write "<a href='site_yolla.asp?sno="& Siteler("sno") &"' target='_blank'>"& Siteler("Site_Url") &"</a><br>" Siteler.MoveNext Loop Siteler.Close Set Siteler = Nothing %> </body> </html>
Kod: Tümünü seç
<html> <head> <title>Site Yolla</title> </head> <% sno = Request.QueryString("sno") Set Siteler = Server.CreateObject("Adodb.Recordset") sSQL = "Select * from Siteler where sno = "& sno Siteler.Open sSQL, Conn, 1, 3 Siteler("Hit") = Siteler("Hit") + 1 Siteler.Update %> <frameset rows="18%,*" framespacing="0" border="0" frameborder="0"> <frame name="top" src="reklam.htm"> <frame name="bottom" src="<%=Siteler("Site_Url")%>" scrolling="yes" noresize> <noframes> <body> <p>Bu sayfa frame kullanmaktadır.</p> </body> </noframes> </frameset> </html> <html> <head> <title>Site Yolla</title> </head> <% sno = Request.QueryString("sno") Set Siteler = Server.CreateObject("Adodb.Recordset") sSQL = "Select * from Siteler where sno = "& sno Siteler.Open sSQL, Conn, 1, 3 Siteler("Hit") = Siteler("Hit") + 1 Siteler.Update %> <frameset rows="18%,*" framespacing="0" border="0" frameborder="0"> <frame name="top" src="reklam.htm"> <frame name="bottom" src="<%=Siteler("Site_Url")%>" scrolling="yes" noresize> <noframes> <body> <p>Bu sayfa frame kullanmaktadır.</p> </body> </noframes> </frameset> </html>
Burada size kalan reklam.htm adında bir sayfa hazırlamak. Bu sayfayı istediğiniz gibi yapabilir hatta orada da başka bir reklam gösterebilirsiniz. Bu hafta basitçe bir örnekle bu sistemi yaptık artık bunu arttırmak ve güzelleştirmek sizin işiniz.