Salve,
mi sono scritto un file ( scopiazzando ) per contare i click unici uscenti dal mio sito ( nelle 24 ore ) basandomi sull' ip dell' utente che clicca. Il tutto ( id del link su cui l' utente clicca, ip dell' utente, e ora in cui clicca ) viene memorizzato in una tabella "controlloclicks"

Lo script è il seguente:

Codice PHP:

<%
' Apro la connessione
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open db_path

Sql = "SELECT * FROM members WHERE id = '" & Request.QueryString("
sid") & "'"
Set Rs = Conn.Execute(Sql)

url_sito = Rs("url")
counterclicksout = Rs("clicksout") + 1


Verifico l' ip dell' utente che sta generando il click
IpUtente 
Request.ServerVariables("REMOTE_ADDR")
   
Sql "SELECT * FROM controlloclicks WHERE ((ip = '" IpUtente "') AND (idsito = '" Request.QueryString("sid") & "'))"
Set Rs Conn.Execute(Sql)

' Se l' ip non esiste conto il click unico e inserisco i dati dell' utente
If Rs.EOF Then
   
   Sql = "UPDATE members SET clicksout='" & counterclicksout & "' WHERE id = '" & Request.QueryString("
sid") & "'"
   Set Rs = Conn.Execute(Sql)

   Sql = "INSERT INTO controlloclicks (idsito, ip, dataclick) VALUES ('" & Request.QueryString("
sid") & "', '" & IpUtente & "', '" & Now() & "')"
   Set Rs = Conn.Execute(Sql)
      
   Response.Redirect (url_sito)

Se l' ip esiste controllo da quanto      
Else
   
   DateDB = CDate(Rs("dataclick"))
   DateAttuale = CDate(Now())
    
   If CInt(DateDiff("h", DateDB, DateAttuale)) < 24 Then
      
      Response.Redirect (url_sito)

   Else
      
      Sql = "UPDATE members SET clicksout='" & counterclicksout & "' WHERE id ='" & Request.QueryString("
sid") & "'"
      Set Rs = Conn.Execute(Sql)

      Sql = "UPDATE controlloclicks SET dataclick = '" & Now() & "' WHERE ip = '" & IpUtente & "'"
      Set Rs = Conn.Execute(Sql)

   
      Response.Redirect (url_sito)    
         
   End If
      
End If


Conn.Close
Set Conn = Nothing

Rs.Close
Set Rs = Nothing
%> 

Volevo chiedere se qualcuno:

1) Mi aiuta a mettere tutti i

Rs.Close
Set Rs = Nothing

Conn.Close
Set Conn = Nothing

nei punti in cui serve ( non vanno messi dopo ogn if oppure dopo ogni else ?? Io credo di si perchè se la condizione è verificata, si ha l' uscita dallo script e quindi si deve chiudere il tutto... )


2) Se l' algoritmo in questione è efficiente secondo voi. Lavoro con database mysql ma credo che se i click sono molti, ogni giorno la tabella in questione si riempe di record con nuovi ip e dopo un mese? dopo un anno ? il database scoppia o no ?????