salve, ho realizzato il mio contatore visite che mi aggiunge in una tabella del DB ogni utente/ip/data/tipologia di browser per ogni visitatore.
il codce è questo :
per vedere poi quanti utenti sono entrati, faccio la conta delle righe aggiunte al DB.Codice PHP:<?
// loggo se non c'è la sessione e se non provengo dalla pagina logout (altrimenti mi distrugge la sessione e conta come una nuova visita)
if((!isset($_SESSION['log'])) && (!isset($_GET['general']) or ($_GET['general']!="logout"))) {
$ip=$_SERVER['REMOTE_ADDR'];
$date=date("Y-m-d H:i:s");
$browser=$_SERVER['HTTP_USER_AGENT'];
$browser=mysql_real_escape_string($browser);
if(isset($_SESSION['nickname'])) {
$user=$_SESSION['nickname'];
} else {
$user="unknownABCD1234";
}
$insert=mysql_query("INSERT INTO views (ip, user, date, browser) VALUES ('$ip', '$user', '$date', '$browser')", $mydb);
$_SESSION['log']='logged';
$_SESSION['iplog']=$ip;
$_SESSION['datelog']=$date;
}
?>
ora, tutto funziona perfettamente. solo per il fatto che mi ritrovo dati di questo genere sul DB :
ID: 1
IP : 95.108.244.252
USER : unknownABCD1234
DATE : 2010-08-07 01:16:00
BROWSER : Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
ID : 2
IP : 95.108.244.252
USER : unknownABCD1234
DATE : 2010-08-07 01:16:04
BROWSER : Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
nel momento che se non c'è la sessione aggiungo alla sessione $_SESSION['log'], quando poi vado a ricontrollare questo parametro con !isset($_SESSION['log'] (ammeno che la sessione non sia scaduta) dovrebbe esserci.
cioè in 4 secondi la sessione è scaduta? impossibile....
come mai tutto ciò?
detto questo, cosa ne pensate? si può migliorare? presenta possibili bug? così giusto a titolo di informazione...
saluti![]()

Rispondi quotando
