Konuyu görüntüle
IUCODERS FORUM > Programlama > Diğer (COBOL,asp php js..) > Online Ziyaretçi
Yazar
muratgokcek


avatar

Kayıt: 02.09.2006
01.01.2007-15:11 #13143
<%

Response.Buffer = True

sayacgorunsun=1 ' SAYACIN GÖRÜNMESİNİ İSTİYORSANIZ 1 DEĞİLSE GİZLİ OLMASI İÇİN 0 YAPIN
banlaacik =0 ' BANLA AÇIKSA 1 DEĞİLSE 0
bansure =5 'banlama zamanı saniye
banhak =5 'banlamak için ziyaretçiye verilen hak adeti
mdbyolu ="../../db/sayac.mdb"

Set Sur = Server.CreateObject("ADODB.Connection")
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(""&mdbyolu&"")
Set efkan = Server.CreateObject("ADODB.Recordset")
Set efkan1 = Server.CreateObject("ADODB.Recordset")
Set efkan2= Server.CreateObject("ADODB.Recordset")

Session.LCID = 1055
Session.CodePage = 1254

zamanmiktari=1
ip_no= Request.ServerVariables("REMOTE_ADDR")

'GELEN İP YASAKLIMI BAK
sor = "SELECT * FROM yasakli where ip='"& ip_no &"'"
efkan.open sor, sur, 2, 3
If efkan.eof Then
Else
response.redirect "sayacadmin/banla.asp?islem=banla"
Response.End
end if
efkan.close

If banlaacik=0 then
sor = "SELECT * FROM online where ipno='"& ip_no &"'"
efkan.open sor, sur, 1, 3
If efkan.eof Then
efkan.addnew
efkan("ipno")=ip_no
efkan("zaman")=Now()
Session ("hak") = 1
elseif datediff("s",efkan("zaman"),Now()) < bansure and Session ("hak") < banhak then
Session ("hak") = Session ("hak") + 1
response.redirect "sayacadmin/banla.asp?islem=uyar"
Response.End
elseif datediff("s",efkan("zaman"),Now()) < bansure and Session ("hak") => banhak then
sor = "SELECT * FROM yasakli "
efkan1.open sor, sur, 1, 3
efkan1.addnew
efkan1("ip") = ip_no
efkan1("tarih") = Now()
efkan1.update
efkan1.close
response.redirect "sayacadmin/banla.asp?islem=banla"
Response.End
else
'efkan("zaman")=now()
end if
efkan.update
efkan.Close
End if



'ONLİNE ZİYARETÇİ
zamanmiktari=1
ipno=Request.ServerVariables("REMOTE_ADDR")
sor = "SELECT * FROM online where ipno='"& ipno &"'"
efkan.open sor, sur, 1, 3

If efkan.eof Then
efkan.addnew
efkan("ipno")=ipno
efkan("zaman")=Now()
else
efkan("zaman")=Now()
end if
efkan.update
efkan.Close
sor = "SELECT * FROM online"
efkan.open sor, sur, 1, 3
Do While Not efkan.eof
zaman=datediff("n",efkan("zaman"),Now())
if zaman > zamanmiktari then
sor = "DELETE FROM online WHERE ipno = '"&efkan("ipno")&"'"
efkan1.open sor, sur, 1, 3
end if
efkan.movenext
Loop
onlineadet = efkan.RecordCount 'ONLİNE TOPLAM ZİYARETCİ
efkan.Close



'SAYAÇ BAŞLA
Dim ip_no,site_name,zaman,site_gel
ip_no= Request.ServerVariables("REMOTE_ADDR")
site_ad= Request.ServerVariables("URL")
site_gel= Request.ServerVariables("HTTP_REFERER")
if site_gel="" then
site_gel="Sayfam"
else
uzunluk=len(site_gel)
kisa=mid(site_gel,8,uzunluk)
bul=instr(kisa,"/")
if bul<>"0" then
site_gel=mid(site_gel,1,bul+6)
end if
end if

zaman= mid(now(),1,10) 'BUGUN
if session("ziyaretaa")<>"yes" then

'HİT GONDEREN SİTELERİN TOPLAM SAYACI
sor="Select * from say_site where site_name like '"&site_gel&"' "
efkan.Open sor,Sur,1,3
if efkan.eof then
efkan.AddNew
efkan("site_name")=site_gel
efkan("hit")="1"
efkan("gun")=zaman
efkan.Update
efkan.close
else
efkan("hit")=efkan("hit")+1
efkan.Update
efkan.close
end if

'HİT GONDEREN SİTELER GUNLUK SAYACI
sor="Select * from site_gel where (gun like '"&zaman&"' and site_gel like '"&site_gel&"')"
efkan.Open sor,Sur,1,3
if efkan.eof then
efkan.AddNew
efkan("site_gel")=site_gel
efkan("hit")="1"
efkan("gun")=zaman
efkan.Update
efkan.close
else
efkan("hit")=efkan("hit")+1
efkan.Update
efkan.close
end if


'EN ÇOK ZİYARET EDEN İPLER İP TOPLAM SAYACI
sor="Select * from say_ip where ip_number like '"&ip_no&"' " 'İP İLKEZ GELİYORSA
efkan.Open sor,Sur,1,3
if efkan.eof then
efkan.AddNew
efkan("ip_number")=ip_no
efkan("hit")="1"
efkan("vakit")=zaman
efkan.Update
efkan.close
tekil="ok"
else

if efkan("vakit") <> zaman then tekil="ok" else tekil="no" end if 'İP KAYITLI AMA BUGUN GELMEDİYSE T. SAY
efkan("hit")=efkan("hit")+1
efkan("vakit")=zaman
efkan.Update
efkan.close
end if


'GÜNLÜK HİTİ
Sor="Select * from say_hit where gun like '"&zaman&"'"
efkan.Open sor,Sur,1,3
if efkan.eof then
efkan.AddNew
efkan("gun")=zaman
efkan("tekil")="1"
efkan("cogul")="1"
efkan.Update
efkan.close
else

if tekil="ok" then 'EGER BUGUN GELMEDİ İSE
efkan("tekil")=efkan("tekil")+1
efkan("cogul")=efkan("cogul")+1
efkan.Update
efkan.close
else 'EĞER BUGUN ÖNCEDEN GİRİŞ YAPTISA
efkan("cogul")=efkan("cogul")+1
efkan.Update
efkan.close
end if
end if


end if

Dim gunt,gunc,topt,topc
gunt=0
gunc=0
topt=0
topc=0

Sor="Select * from say_hit"
efkan.Open sor,Sur,1,3
toplamgun=efkan.recordcount
Do while not efkan.Eof

if efkan("gun")=zaman then
gunt=efkan("tekil")
gunc=efkan("cogul")
end if

topt=efkan("tekil")+topt
topc=efkan("cogul")+topc
efkan.movenext
loop
efkan.close

gunluktekilortalama = topt / toplamgun
gunlukcogulortalama = topc / toplamgun

Session("ziyaretaa")="yes"

%>






Arkadaşlar iyi bayramlar hepinize.

Yukarıdaki kod sitedeki o an online ziyaretçi sayısını gösteriyo..Ama online ziyaretçi sayısı sürekli 1.Yani 1'den fazla kullanıcı siteye girse bile sürekli 1 olarak gösteriyor..Kodun MDB'sine baktığımda orada 1 tane kullanıcı kayıtlı ama 1'den fazla kullanıcıyı mdb'ye almıyor..Mdb yolları falan doğru..Bir arkadaş DATEDİFF'lerdesorun olabilir dedi ama teşhisi tam koyamadık...

Bir fikri olan var mı?





Ahirette haklilar kuvvetlidir.Dünyada ise kuvvetliler haklidir.







Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb