Frame ile Yönlendirme!

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Kilitli
Misafir

Frame ile Yönlendirme!

Mesaj gönderen Misafir »

daha önce yönlendirme diye bir konu açmıştım.
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 :
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.

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)}"
%>
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ç

<!-- #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>
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ç

<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.
Hepinize İyi Çalışmalar...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Re: Frame ile Yönlendirme!

Mesaj gönderen mussimsek »

MustafaGenc yazdı: ama kimse beni anlamak istememişti... :(
hocam bu nedir yaaa :twisted: size yardımcı olmaya çalışan insanlara karşı haksızlık yapıyorsunuz. Bu forumda buna asla müsade etmeyiz.

Neden siz eksik anlatmış olmuyorsunuz da karşıda size yardımcı olmaya çalışan insanlara böyle diyorsunuz. Tam 17 cevap gelmiş o başlığa. Bu forumda en çok cevap yazılan başlıklardan birisi.

Beğenmiyorsanız kapı orada.
Kilitli