Precedente :: Successivo |
Autore |
Messaggio |
sevenjeak Semidio


Registrato: 04/02/08 22:05 Messaggi: 308 Residenza: Roma
|
Inviato: 28 Mar 2008 17:47 Oggetto: * Semplice contatore visite con mysql |
|
|
Salve utente.
Scrivo questo script perchè a differenza dell' artre volte che prendevo i contatori da altri siti questa volta lo fatto uno io che memoriza le date sul databese mysql il codice è questo:
Codice: |
$IP = $_SERVER['REMOTE_ADDR'] ;
if (!isset($_SESSION["visita"])) {
$visita = mysql_query("INSERT INTO visita (Id, Ip) VALUE ('','$IP')") ;
}
$visite = mysql_query("SELECT COUNT(Id) FROM visita") ;
$visite_count = mysql_fetch_row($visite) ;
$rs_visite_count = $visite_count[0] ;
echo $rs_visite_count ;
|
l' unica if presente in questo script mi dovrebbe permettere di non fare incrementare il contatore ogni volta che l' utente che ha gia incrementato almeno una volta il contatore non mi lo faccia reinclementare di nuovo, ma questo non me lo fa, come mai? |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 28 Mar 2008 18:02 Oggetto: |
|
|
La condizione che poni nell'IF è che non sia stata settata una variabile di sessione chiamata "visita". Se poi incrementi il valore nella tabella del tuo DB, dovrai anche settare la variabile così che al prossimo IF non avvenga più l'inserimento, no?
quindi aggiungi qualcosa tipo
Codice: | $_SESSION["visita"] = "1" |
dentro l'IF
 |
|
Top |
|
 |
sevenjeak Semidio


Registrato: 04/02/08 22:05 Messaggi: 308 Residenza: Roma
|
Inviato: 28 Mar 2008 20:54 Oggetto: Re: Semplice contatore visite con mysql |
|
|
Ora infatti lo script va. Senti, scusa la mia ignoranza, ma mi potresti rispiegare ha che cosa serve dare il valore 1 alla $_SESSION["visita"] ? |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 31 Mar 2008 10:18 Oggetto: Re: Semplice contatore visite con mysql |
|
|
sevenjeak ha scritto: | Ora infatti lo script va. Senti, scusa la mia ignoranza, ma mi potresti rispiegare ha che cosa serve dare il valore 1 alla $_SESSION["visita"] ? |
non è tanto il fatto di dargli valore 1, ma quanto il fatto di dargli un valore: nel momento in cui questo viene fatto allora la variabile viene settata e quindi la condizione della IF isset (<variabile>) diventa vera  |
|
Top |
|
 |
sevenjeak Semidio


Registrato: 04/02/08 22:05 Messaggi: 308 Residenza: Roma
|
Inviato: 03 Apr 2008 18:30 Oggetto: Re: Semplice contatore visite con mysql |
|
|
capito...però non mi si inclementa di uno solamente fino a quando durane le sessioni, cioè, quando scadono le sessione me lo conta sempre come una nuova visita |
|
Top |
|
 |
mdweb Dio maturo


Registrato: 18/12/07 16:59 Messaggi: 4412
|
Inviato: 03 Apr 2008 20:08 Oggetto: |
|
|
Almeno hai più visite!  |
|
Top |
|
 |
sevenjeak Semidio


Registrato: 04/02/08 22:05 Messaggi: 308 Residenza: Roma
|
Inviato: 03 Apr 2008 21:48 Oggetto: |
|
|
Hai proprio raggione  |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 04 Apr 2008 17:18 Oggetto: Re: Semplice contatore visite con mysql |
|
|
sevenjeak ha scritto: | capito...però non mi si inclementa di uno solamente fino a quando durane le sessioni, cioè, quando scadono le sessione me lo conta sempre come una nuova visita |
è perchè gli hai chiesto esattamente questo. Se vuoi invece che conti solo la prima volta e non le successive devi usare un cookie. Che comunque può essere cancellato dall'utente e quindi non sarai mai veramente sicuro che sia un 'nuovo' visitatore. |
|
Top |
|
 |
mdweb Dio maturo


Registrato: 18/12/07 16:59 Messaggi: 4412
|
Inviato: 04 Apr 2008 17:25 Oggetto: |
|
|
Utilizzando la seguente sintassi(cioè cookie):
Codice: | setcookie('prova_cookie', 'valore cookie', time() + 3600); |
Questo è un cookie che dura un ora.
______________________________________________________________
Ora fai due contatori uno per gli utenti registrati e uno per quelli non registrati.Cosi quando scade la sessione passera tra gli altri utenti.Ma lui se ne accrogerà e rifarà il login o no? |
|
Top |
|
 |
|