Ciao a tutti, ho realizzato questo script per creare un contatore, la tabella nel db è semplice ha solo 3 campi:
-------------------------------------------
pagine | visite | flag
-------------------------------------------
index.php | 2 | n
indexprogetti.php | 3 | n
Il mio obbiettivo è quello di incrementare il contatore solo al primo accesso di una pagina, quindi se ad esempio accedo su index.php si incrementa il contatore, il mio problema che non riesco a risolvere è che fatto il primo click non voglio piu che si incrementi sulla stessa pagina.
Calcolate che ad index gli passo ad esempio delle sottopagini quindi tipo index.php?pag=chisono
Codice PHP:
<?php
require_once('interDB.php');
$um = interDB::getInstance();
$pagina = basename($_SERVER['PHP_SELF']);
$user_active = $um->getUserActive(); // Mi restituisce gli utenti attivi
$contatore = $um->getContatore(); // Mi restituisce il contatore
$flag = $um->getFlag(); // Mi restituisce il campo flag
if($pagina == 'indexstudio.php' && $flag == 'n'){
$updateContatore = $um->putContatore();//incrementa il contatore e setta il campo flag 'a'
$contatore = $um->getContatore();
}else{
$updateContatore2 = $um->putContatore2();// Aggiorna il contatore e setta il campo flag 'n'
}
if($pagina == 'index.php' && $flag == 'n'){
$updateContatore = $um->putContatore4();//incrementa il contatore e setta il campo flag 'a'
$contatore = $um->getContatore2();
}else{
$updateContatore2 = $um->putContatore3();// Aggiorna il contatore e setta il campo flag 'n'
}
if($pagina == 'indexprogetti.php' && $flag == 'n'){
$updateContatore = $um->putContatore53();//incrementa il contatore e setta il campo flag 'a'
$contatore = $um->getContatore33();
}else{
$updateContatore2 = $um->putContatore43();// Aggiorna il contatore e setta il campo flag 'n'
}
echo 'Utenti loggati:[b]'.$user_active.'[/b]
';
echo 'Contatore accessi:[b]'.$contatore.'[/b]';
?>