Compteur asp sans objet session fonctionne impecc

Soyez le premier à donner votre avis sur cette source.

Vue 10 894 fois - Téléchargée 864 fois

Description

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>

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_tidave
Messages postés
18
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
16 juin 2009
-
salut
je suis vraiment tout nouveau en asp;
mon code fonctionne bein , et repond a un besoin, mais il est tres mal ecrit , en fait on pourrait dire qu'il est ecrit en français pas en asp , quelqu'un parmit les plus balaise pourrait le reecrire please ; je sais que ça pourra servir, car avec ça on peut gerer plein de compteur.

merci
ThunderPsycho
Messages postés
180
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
4 février 2007
-
Salut,
Comme tu dis, c'est assez brut, on ne sait pas qui fait quoi...
Tu devrais utiliser des fontions pour chaque fonction (justement ;o) ) et les commenter...

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.