Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142

    Contatore accessi con Global.asa

    Salve a tutti, ho trovato in rete il codice che mi permette di contare il numero di visitatori di un sito, il problema è che a quanto pare il Global.asa non venga proprio considerato e quindi non viene effettuato alcun incremento, sapete dirmi dove è l'errore? Premetto che il file si trova nella directory principale del sito (lo sto testando in locale) e ho i permessi necessari. Questo è il codice:

    Global.asa:

    <script language="VBScript" RUNAT="Server">

    Sub Session_OnStart()

    posizione=server.mappath("contatore.txt")


    set fsy=server.createobject("scripting.filesystemobjec t")
    set fsytesto=fsy.opentextfile(posizione,1,true,-2)
    valore=fsytesto.readline

    fsy.close
    set fsy=nothing
    fsytesto.close
    set fsytesto=nothing

    set fsy=server.createobject("scripting.filesystemobjec t")
    set fsytesto=fsy.opentextfile(posizione,2,false,-2)

    fsytesto.writeline(valore)+1

    fsy.close
    set fsy=nothing
    fsytesto.close
    set fsytesto=nothing

    end sub

    Sub Session_OnEnd()
    Session.Abandon()
    end sub

    </Script>


    Mentre il seguente è il codice che dovrebbe stampare a video il n° di visite:

    <%
    posizione=server.mappath("contatore.txt")

    set fsy=server.createobject("scripting.filesystemobjec t")
    set fsytesto=fsy.opentextfile(posizione,1,false,-2)

    if not fsytesto.AtEndOfStream then
    valore=fsytesto.readline
    end if

    fsy.close
    set fsy=nothing

    fsytesto.close
    set fsytesto=nothing

    response.Write(valore)

    %>

    Errori a video non compaiono, quello che fa è stampare a video l'unico valore (quello iniziale) presente nel file contatore.txt e cioè 0, senza mai incrementare, sapete aiutarmi per favore? Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142
    Nessuno sa rispondermi???????

  3. #3
    Perchè non metti un pezzetto di codice asp ad hoc nella tua index? Poi puoi passare la variabile nella session e recuperarla quando serve

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142
    Così, la variabile viene incrementata anche con un semplice refresh o quando si torna a quella pagina!

  5. #5
    no se lo prevedi nel codice.... ti serve un esempio?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142
    Magari!!!!

  7. #7
    in cima alla index.asp inserisci.....

    <%
    Dim nomefile, filestream
    nomefile = Server.MapPath("/public/visite.txt")
    Set objFile = CreateObject("Scripting.FileSystemObject")

    'se il file non esiste, crealo
    if not objFile.FileExists(nomefile) then
    Set filestream = objFile.OpenTextFile(nomefile, 2, true)
    filestream.WriteLine("0")
    end if

    'legge il numero attuale di visite
    Set filestream = objFile.OpenTextFile(nomefile, 1, true)
    Dim visite
    visite = filestream.ReadLine()
    filestream.Close

    'se non è ancora presente la variabile di sessione
    if Session("visiting")<>1 then
    Session("visiting") = 1 'crea la variabile di sessione
    visite = visite + 1 'incrementa di uno gli accessi al sito
    end if

    'scrive nel file il valore aggiornato di visite
    Set filestream = objFile.CreateTextFile(nomefile, true)
    filestream.WriteLine(visite)
    filestream.Close

    Set filestream = Nothing
    Set objFile = Nothing
    %>


    e quest'altro codice puoi inserirlo dove ti serve ke sia visualizzato il contatore ad esempio...

    Dim nomefile, filestream
    nomefile = Server.MapPath("/public/visite.txt")
    Set objFile = CreateObject("Scripting.FileSystemObject")


    'legge il numero attuale di visite
    Set filestream = objFile.OpenTextFile(nomefile, 1, true)
    Dim visite
    visite = filestream.ReadLine()
    filestream.Close


    Set filestream = Nothing
    Set objFile = Nothing

    'visualizza sul browser il numero totale di visite
    Response.Write "Numero visite: " &visite

    response.write "
    "
    %>

    Ricordati di creare in file visite.txt che contenga solamente il numero da cui vuoi partire il conteggio.... (0 - 1 ...... 10000!!!!) e che sia salvato in una cartella coi permessi di scrittura (da me si chiama public ma penso anche da te)

    Fammi sapere se ti da problemi....

    Ciao
    Fabio

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    142
    Il codice sembra funzionare, ma ha un difetto, quando apro di nuovo il browser, il contatore viene incrementato di 2 e non di uno, e non me lo spiego perchè nel codice sembra che non ci siano problemi!

  9. #9
    davvero? sai che nn me ne ero mai accorto? farò delle prove e ti faccio sapere. Ciao

  10. #10
    ho provato... a me incrementa di 1

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.