Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Inserire contatore visite truccato
#1
Ciao Mattia, ho una domanda bella ignorantella da farti..
Dovrei inserire un contatore visite "truccato" in questo sito:
http://www.godzilla.altervista.org/
visto che nn l'ho mai fatto mi potresti spiegare come fare??

Grazie
Cita messaggio
#2
Vuoi che questo contatore restituisca un numero "corretto", cioè che aumenti di tot. visitatori invece che di uno alla volta, oppure vuoi che restituisca dei valori a caso?
Mattia!
Cita messaggio
#3
(23/06/2011 06:43)Mattia Ha scritto: Vuoi che questo contatore restituisca un numero "corretto", cioè che aumenti di tot. visitatori invece che di uno alla volta, oppure vuoi che restituisca dei valori a caso?

La prima che hai detto, ovvero che aumenti di X visitatori ogni visita effettiva (ad esempio che ogni visita valga per 5 accessi).
Oppure si potrebbe fare pure che parte ad es. già da 500 e poi aumenta di un normale accesso (o magari sempre di 5 per ogni accesso)..

Sono entrambe fattibili??

Grazie
Cita messaggio
#4
Sono entrambi fattibili, ma non puoi utilizzare solamente HTML e JavaScript. Visto che sei su AlterVista, puoi utilizzare PHP (quindi sposto la discussione nella sezione specifica).
Tramite PHP si stamperà, aumenterà e salverà il valore del contatore, ma da qualche parte bisogna salvare questo valore. Di solito si utilizzerebbe un database, ma so che su AlterVista è disponibile un database MySQL a pagamento. Si potrebbe allora utilizzare un file di testo dove salvare questo valore oppure un database SqLite (è sempre un file che si trova sul server, ma che si può trattare tramite SQL) se è supportato da AlterVista.
Per adesso comincio a scriverti la parte in PHP senza l'estrazione e il salvataggio, perché prima bisogna sapere che cosa vuoi utilizzare per salvare il dato.
Codice PHP:
<?php
$contatore 
100//Estraggo il dato da qualche parte (database, file di testo, ecc...)
if(!isset($_COOKIE['contatore'])){ //Controllo tramite i cookie che il visitatore non abbia ancora visitato il sito
    
$contatore += 5//Aumento il contatore di cinque visite
    //Qui dovrei salvare il nuovo dato del contatore da qualche parte (database, file di testo, ecc...)
    
setcookie('contatore',1,time()+86400,'/'); //Salvo il cookie che durerà 24 ore (86400 secondi)
}
echo 
$contatore//Stampo il valore del contatore
unset($contatore); //Se non mi serve più sapere il valore del contatore, libero la memoria dal suo valore
?>
Mattia!
Cita messaggio
#5
(24/06/2011 07:06)Mattia Ha scritto: Sono entrambi fattibili, ma non puoi utilizzare solamente HTML e JavaScript. Visto che sei su AlterVista, puoi utilizzare PHP (quindi sposto la discussione nella sezione specifica).
Tramite PHP si stamperà, aumenterà e salverà il valore del contatore, ma da qualche parte bisogna salvare questo valore. Di solito si utilizzerebbe un database, ma so che su AlterVista è disponibile un database MySQL a pagamento. Si potrebbe allora utilizzare un file di testo dove salvare questo valore oppure un database SqLite (è sempre un file che si trova sul server, ma che si può trattare tramite SQL) se è supportato da AlterVista.
Per adesso comincio a scriverti la parte in PHP senza l'estrazione e il salvataggio, perché prima bisogna sapere che cosa vuoi utilizzare per salvare il dato.
Codice PHP:
<?php
$contatore 
100//Estraggo il dato da qualche parte (database, file di testo, ecc...)
if(!isset($_COOKIE['contatore'])){ //Controllo tramite i cookie che il visitatore non abbia ancora visitato il sito
    
$contatore += 5//Aumento il contatore di cinque visite
    //Qui dovrei salvare il nuovo dato del contatore da qualche parte (database, file di testo, ecc...)
    
setcookie('contatore',1,time()+86400,'/'); //Salvo il cookie che durerà 24 ore (86400 secondi)
}
echo 
$contatore//Stampo il valore del contatore
unset($contatore); //Se non mi serve più sapere il valore del contatore, libero la memoria dal suo valore
?>

Ok, ipotizziamo di salvare su txt... cosa occorre fare dopo aver applicato questo codice??
Cita messaggio
#6
Utilizzando un file di testo lo script diventerebbe una cosa del genere:
Codice PHP:
<?php
$path 
'percorso/del/file.txt'//Assegno il percorso del file a una variabile visto che lo devo utilizzare più volte
$contatore file_exists($path) ? file_get_contents($path) : 0//Estraggo il dato dal file di testo, se esiste
$contatore is_numeric($contatore) && $contatore>? (int)$contatore 500//Controllo che il dato sia un numero e se non lo è gli assegno il valore iniziale del contatore (in questo caso 500, ma si sarebbe messo 0 per un contatore regolare)
if(!isset($_COOKIE['contatore'])){ //Controllo tramite i cookie che il visitatore non abbia ancora visitato il sito
    
$contatore += 5//Aumento il contatore di cinque visite (si sarebbe aumentato di una in caso di contatore regolare)
    
$f fopen($path,'w'); //Apro il file di testo o lo creo se non esiste e imposto in modo da sovrascriverlo
    
if($f){ //Controllo che il file sia aperto correttamente
        
fwrite($f,$contatore); //Scrivo il nuovo valore del contatore nel file
        
fclose($f); //Chiudo il file
    
}
    unset(
$f); //Libero la memoria dal file
    
setcookie('contatore',1,time()+86400,'/'); //Salvo il cookie che durerà 24 ore (86400 secondi)
}
unset(
$path); //Libero la memoria dal percorso del file
echo $contatore//Stampo il valore del contatore
unset($contatore); //Se non mi serve più sapere il valore del contatore, libero la memoria dal suo valore
?>
Mattia!
Cita messaggio
#7
Perfetto!! Testato e funzionante!! E tu sempre chiaro e disponibile

Grazie Mattia!
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)