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

    Conta click non ripetitivo

    Salve a tutti

    Ho inserito un contatore di click delle pagine,
    ma vorrei che il contatore si incrementasse una sola volta per pagina nell'ambito della sessione.

    Cioè se l'utente clicca su pagina AAA.php, poi va a pagina BBB.php e poi va nuovamente a pagina AAA.php, il contatore di pagina AAA.php viene incrementato solo una volta.

    In asp l'avevo risolto, ma in php come si può fare?
    grazie e scusate la banalità della domanda
    Pino

  2. #2
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Bhe, potresti mettere tutto in un database:
    id sessione e id pagina.
    L'id sessione è un id univoco che assegni tu alla sessione.

    Oppure puoi risolvere con i cookie: quando apri un articolo controlli se l'id è già nel cookie, se c'è non fai nulla, altrimenti incrementi il contatore e aggiungi l'id pagina nei cookie

  3. #3
    La prima cosa che mi viene in mente è, dopo aver incrementato il contatore, mettere il nome della pagina in un array in sessione e, nella funzione che si occupa di incrementare il contatore, prima di effettuare l'incremento verificare che la pagina non sia già in sessione.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    potresti anche usare il referrer, ma non è il massimo perché dipende anche dal browser
    e comunque perderesti le informazioni se il percorso fosse AAA -> BBB -> CCC -> AAA

    il massimo sarebbe avere tutto il percorso in sessione

  5. #5
    Quote Originariamente inviata da mt19 Visualizza il messaggio
    Bhe, potresti mettere tutto in un database:
    id sessione e id pagina.
    L'id sessione è un id univoco che assegni tu alla sessione.

    Oppure puoi risolvere con i cookie: quando apri un articolo controlli se l'id è già nel cookie, se c'è non fai nulla, altrimenti incrementi il contatore e aggiungi l'id pagina nei cookie
    mmh quella sul db non mi convince molto, io ho l'url della pagina già sul db, come farei a gestire più utenti che vogliono accedere alla medesima pagina?

    quella con i cookie, se ho capito bene, significherebbe scrivere un cookie per ogni pagina che visito, aggiungendo l'id della sessione, se quando vado a leggere/scrivere il cookie trovo il medesimo id di sessione non aggiorno il contatore: potrebbe essere una soluzione.
    Grazie

  6. #6
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Quote Originariamente inviata da rainbow.pino Visualizza il messaggio
    mmh quella sul db non mi convince molto, io ho l'url della pagina già sul db, come farei a gestire più utenti che vogliono accedere alla medesima pagina?

    quella con i cookie, se ho capito bene, significherebbe scrivere un cookie per ogni pagina che visito, aggiungendo l'id della sessione, se quando vado a leggere/scrivere il cookie trovo il medesimo id di sessione non aggiorno il contatore: potrebbe essere una soluzione.
    Grazie
    bhe, sì e no: ricorda che ci sono utenti che hanno disattivato i cookie sul proprio browser, quindi il tuo conta click non funzionerebbe! Per questo il metodo migliore sarebbe di utilizzare sia i cookie che il database.

  7. #7
    Quote Originariamente inviata da satifal Visualizza il messaggio
    La prima cosa che mi viene in mente è, dopo aver incrementato il contatore, mettere il nome della pagina in un array in sessione e, nella funzione che si occupa di incrementare il contatore, prima di effettuare l'incremento verificare che la pagina non sia già in sessione.
    in asp facevo qualcosa del genere però creavo direttamente in session il nome della pagina
    in php come potrei fare? (sono proprio agli inizi)
    grazie
    Pino

  8. #8
    Quote Originariamente inviata da clasku Visualizza il messaggio
    potresti anche usare il referrer, ma non è il massimo perché dipende anche dal browser
    e comunque perderesti le informazioni se il percorso fosse AAA -> BBB -> CCC -> AAA

    il massimo sarebbe avere tutto il percorso in sessione
    mmh credo che avrei qualche problema...
    metti che il mio sito ha molte pagine interessanti e un utente ne visualizza 200...
    magari andando avanti e indietro e saltando...
    comunque grazie
    Pino

  9. #9
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Basta che generi un id univo per ogni pagina

  10. #10
    Quote Originariamente inviata da mt19 Visualizza il messaggio
    Basta che generi un id univo per ogni pagina
    la mia domanda (molto terra terra) è:
    se le mie pagine si chiamano AAA.php e BBB.php
    in asp facevo:
    session w_id = "1"
    dove w_id conteneva "AAA" o "BBB"

    in php quale sarebbe la sintassi?

Tag per questa discussione

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