Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    contatore visite: ip , cooky

    sto cercando di creare un contatore visite per un sito in php e subito avevo pensato di usare i cooky (per stabilire se il visitatore fosse nuovo o stesse semplicemente guardando un altra pagina del sito) ma questo tipo di contatore falliva nel caso i cooky fossero disattivati

    ho provato col rilevare l'ip e contollare se un utente con quell' ip fosse gia entrato entro le 24 ore ma anche questo ha fallito perchè ho notato che l'ultimo blocco dell'ip cambia ad ogni pagina anche se è lo stesso visitatore a richiederla

    (io credevo l'ip fosse un identificativo fisso che si creava con l'inizio di una connessione e si mantenesse uguale per la durata di questa )

    come posso creare un contatore visite davvero efficacie ? con quale metodo?

  2. #2
    Quà:
    codice:
    <?
    if(file_exists("counter.txt")){
        $f=fopen("counter.txt","r");
        $impressioni=(int) fgets($f,255);
        $unici=(int) fgets($f,255);
        $data=fgets($f,255);
        fclose($f);
        }
    else{
        $impressioni=0;
        $unici=0;
        $data=date("d/m/Y");
        }
    if(!isset($HTTP_SERVER_VARS['HTTP_REFERER']) || !strstr($HTTP_SERVER_VARS['HTTP_REFERER'],$HTTP_SERVER_VARS["HTTP_HOST"]))
        $unici++;
    $impressioni++;
    echo $totali." impressioni di pagina e ".$unici." acessi unici dal ".$data;
    $f=fopen("counter.txt", "w");
    fputs($f,$totali."\n".$unici."\n".$data);
    fclose($f);
    
    ?>
    lo script visualizza le impressioni per la pagina e le visite unike utilizzando della variabili del php...e segna la data da cui inizia il conteggio.

    Ciao...


  3. #3

    Re: contatore visite: ip , cooky

    Originariamente inviato da lelmarir
    ho provato col rilevare l'ip e contollare se un utente con quell' ip fosse gia entrato entro le 24 ore ma anche questo ha fallito perchè ho notato che l'ultimo blocco dell'ip cambia ad ogni pagina anche se è lo stesso visitatore a richiederla

    (io credevo l'ip fosse un identificativo fisso che si creava con l'inizio di una connessione e si mantenesse uguale per la durata di questa )
    VVoVe:
    Ciao!

  4. #4

    re

    il codice genera due errori ma a parte questo gli accessi unici si incrementano a ogni refresh e $totali non è inizializzata generando un errore quando la si richiama in echo

    oltretutto non ho neanche ben capito il principio con cui funziona visto che utilizza il referente e host che penso sia il percorso base del 'sito (giusto?)

    puoi tentare di spiegarmi cosa dovrebbe fare??

  5. #5
    cosa volevi dire con ??

  6. #6
    Allora...codice corretto..
    codice:
    <?
    if(file_exists("counter.txt")){
        $f=fopen("counter.txt","r");
        $impressioni=(int) fgets($f,255);
        $unici=(int) fgets($f,255);
        $data=fgets($f,255);
        fclose($f);
        }
    else{
        $impressioni=0;
        $unici=0;
        $data=date("d/m/Y");
        }
    if(!isset($HTTP_SERVER_VARS['HTTP_REFERER']) || !strstr($HTTP_SERVER_VARS['HTTP_REFERER'],$HTTP_SERVER_VARS["HTTP_HOST"]))
        $unici++;
    $impressioni++;
    echo $impressioni." pagine viste e ".$unici." acessi unici dal ".$data;
    $f=fopen("counter.txt", "w");
    fputs($f,$impressioni."\n".$unici."\n".$data);
    fclose($f);
    
    ?>
    poi...
    $HTTP_SERVER_VARS['HTTP_REFERER'] (o $_SERVER['HTTP_REFERER']) è un header
    inviato dal client http al servere indica la pagina di provenienza.

    $HTTP_SERVER_VARS['HTTP_HOST'] indica come hai detto tu il percorso base del sito (ad es: www.tuosito.it).
    Lo script controlla se la variabile ke indica la pagina di provenienza non è settata oppure se non è possibile ricavare il nome della pagina richiesta mediante la funzione "strstr()"...e poi esegue le altre operazioni..cappito??
    ciao...

  7. #7
    Originariamente inviato da lelmarir
    cosa volevi dire con ??
    che l'IP rimane assegnato dal provider all'utente connesso fino alla disconessione e successivamente assegnato ad un nuovo utente che si conette.

    Non può variare durante una stessa sessione di navigazione.

    se cambia da una pagina all'altra che lo stesso utente visita nel tuo sito, ci deve essere qualche errore nel codice che lo prende, oppure l'utente utilizza un servizio di quelli che ti maschera l'ip (ma può essere uno, due, non tutti...).

    Ciao!

  8. #8

    re

    non genera piu errori ma continua a non contare gli accesi unici a ogni refresh aumenta.

    lo sto provando su un server locale (easy php)

    il principio sembra giusto comunque

  9. #9

    re

    io utilizzo la variabile php $REMOTE_ADDR

    non dovrebbe sbagliare eppure....

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.