Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Un contatore accessi con cookie da correggere

    Salve a tutti, ho improvvisato uno script dove dovrebbe contarmi i visitatori unici in una pagina usando i cookies, in modo tale che ad ogni refresh della pagina il contatore non incrementa il numero dei visitatori.
    Purtroppo questo non succede, ed oltre ad incrementare, lo fa in modo anomalo, a volte incrementa di un punto, a volte di 8 punti.
    Questo il codice:
    codice:
    set rs2 = Server.CreateObject("ADODB.Recordset")
    set rs2 = conn.Execute("Select hits from dati where id = "&id)
    
    If Request.Cookies("contatore") = "" Then
    incr = rs2("hits") + 1
    conn.Execute("Update dati set hits = "&incr&" where id = "&id)
    else
    incr = rs2("hits")
    End If
    
    rs2.Close
    set rs2 = nothing
    
    Response.Write("Visite: "&incr)
    Dove sbaglio?
    grazie, ciao.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Ma il cookie quando lo valorizzi?
    Lo dovresti fare SOLO quando incrementi il contatore.

    Roby

  3. #3
    Grazie per la tua risposta roby, ma siamo sempre li:
    codice:
    set rs2 = Server.CreateObject("ADODB.Recordset")
    set rs2 = conn.Execute("Select hits from dati where id = "&id)
    
    If Request.Cookies("contatore") = "" Then
    incr = rs2("hits") + 1
    conn.Execute("Update dati set hits = "&incr&" where id = "&id)
    
    Response.Cookies("contatore") = "ok"
    
    else
    incr = rs2("hits")
    End If
    
    rs2.Close
    set rs2 = nothing
    
    Response.Write("Visite: "&incr)

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Fallo in due pagine.
    Mi spiego. In un pagina fai l'UPDATE se serve.
    In un'altra leggi le visite.


    Roby

  5. #5
    mmmm, in una pagina non si può fare proprio?
    ho visto parecchi script e tutorial, e lo fanno tutti in una pagina, ma provandoli non funziona nemmeno

    e se dovessi farlo in due pagine devo includere la pagina di update in quella dove leggo le visite?

  6. #6
    ma il cookie te lo salva?
    passa per variabili di comodo

  7. #7
    ho messo un response.cookie("contatore") sia all'inizio dello script che alla fine e quando faccio il refresh mi stampa ok, ma il valore incrementa ugualmente

  8. #8
    se io fossi in te farei

    codice:
    set rs2 = Server.CreateObject("ADODB.Recordset")
    set rs2 = conn.Execute("Select hits from dati where id = "&id)
    
    If Request.Cookies("contatore") = "ok" Then
    incr = rs2("hits")
    
    else
    
    incr = rs2("hits") + 1
    conn.Execute("Update dati set hits = "&incr&" where id = "&id)
    
    Response.Cookies("contatore") = "ok"
    End If
    
    rs2.Close
    set rs2 = nothing
    
    Response.Write("Visite: "&incr)
    e meglio ancora userei variabili di comodo

  9. #9
    e se io fossi in te sarei un genio!
    un applauso funziona!!!!
    grazie di cuore, anche se non ho capito cosa sono le variabili di comodo, scusa la mia ignoranza

  10. #10
    Originariamente inviato da DarioMarco
    variabili di comodo
    esempio:

    test=Request.Cookies("contatore")

    if test="ok" then
    ..

    test è una variabile di comodo XD

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 © 2024 vBulletin Solutions, Inc. All rights reserved.