Salut à tous je suis tous nouveau dans le monde de l'asp . j'ai longtemps cherché un compteur qui fonctionne correctement mais tous fonctionne soit avec des cookies , soit avec des variables de sessions ,voici un compteur qui utilise seulement une base de donnée avec 2 tables "matable" et "compteur_live" , c'est un meltintop de tous ce que l'on peut faire .
Ce code utilise aussi l'ecriture das un fichier,
Le code est tres brut , si quelqu'un pouvait m'aider à le rendre plus asp et claire , ça serait sympa
Conclusion :
Tous est dans le zip
le fichier du zip est :
<%
a=2
' Connexion à la BD
database = server.mapPath("compteur.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _
& " DBQ=" & database
' IP du visiteur
IP=request.serverVariables("REMOTE_ADDR")
' Date/heure courante en minutes
date0 = dateDiff("n","14/04/2002",now)
' Durée de vie max
vie = 60
' Suppression des anciens
Conn.execute "DELETE * FROM matable" _
& " WHERE start<" & (date0-vie)
%>
<%
' Stockage du hit courant
SQL = "SELECT * FROM matable WHERE IP='" & IP & "'"
RS.open SQL,Conn,3,3
' Si non stocké, on ajoute
if rs.eof then a=a+1
if RS.eof then RS.addnew
' Mise à jour
RS("IP") = IP
RS("start") = date0
RS("logue") = (session("jou"))<>""
RS.update
RS.close
' Déconnnexion
Conn.close : Set conn=nothing
%>
<style type="text/css">
<!--
.Style47 {color: #00FFFF}
-->
</style>
<span class="Style47"> Déjà
<%'gestion du compteur de visites
set fso = createobject("scripting.filesystemobject")
set act = fso.opentextfile(server.mappath("compteur.txt"))
counter = clng(act.readline)
if a=3 then
counter = counter + 1
Set act = fso.CreateTextFile(server.mappath("compteur.txt"), true)
act.WriteLine(counter)
act.Close
end if
%>
<%Response.Write counter%>
Visiteurs...
<br>
<%
' Connexion à la BD
database = server.mapPath("compteur.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _
& " DBQ=" & database
' Durée de vie max
vies = 5
' Suppression des anciens
Conn.execute "DELETE * FROM compteur_live" _
& " WHERE start<" & (date0-vies)
%>
<%
' Stockage du hit courant
SQL = "SELECT * FROM compteur_live WHERE IP='" & IP & "'"
RS.open SQL,Conn,3,3
' Si non stocké, on ajoute
if RS.eof then RS.addnew
' Mise à jour
RS("IP") = IP
RS("start") = date0
RS("logue") = (response.write(session("loguer"))<>"")
RS.update
RS.close
' Nombre de visiteurs en ligne
SQL = "SELECT count(IP) FROM compteur_live"
RS.open SQL,Conn,3,3
online = RS(0)
RS.close
' Nombre de visiteurs logues
SQL = "SELECT count(IP) FROM compteur_live" _
& " WHERE logue=true"
RS.open SQL,Conn,3,3
nblog = RS(0)
RS.close
' Déconnnexion
Conn.close : Set conn=nothing
' Affichage
%>
<%=online%> en ligne
<%=nblog%> sont identifiés ... </span>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.