contatore con sessioni PHP. Come creare un contatore con il linguaggio di programmazione PHP e le sue sessioni.
ALLWEB free
Directory Web Script Linguaggi
Italiano Inglese Tutte
 
 24 Mar 2017
aggiungi in preferiti  
Home    Mappa directory    Script




Contatore con sessioni PHP:


Variabile sessione =
Variabile somma = 1
Costante sessione = 44852c6a75c957f1a680df674b25234b

Se vi siete collegati adesso in questa pagina, le tre righe nel riquadro qua sopra hanno i seguenti valori:

Variabile sessione =
Variabile somma = 1
Costante sessione = numero da 32 caratteri


E adesso prendete nota dei numeri dei contatori pi¨ in basso (uno nero e l'altro rosso).

Dopo aver fatto questo ricaricate la pagina (refresh-aggiorna).
Avrete notato che le scritte nel riquadro sono variate ad eccezione di Costante sessione.
Da adesso fino a quando chiuderete il browser non varieranno pi¨, e con loro resterÓ invariato il numero del contatore rosso, che prima di entrare nella pagina (la prima volta, e non avete visto il cambiamento) era una unitÓ pi¨ piccolo. In pratica il server si ricorderÓ di voi.
Solo se avete i cookie attivati nel vostro browser!!!


Contatore con sessioni PHP:

Questo articolo nasce dall'esigenza di approfondire la conoscenza delle sessioni php.
Se avete letto la sezione PHP Sessioni avrete capito che questo argomento riguarda chi ha una certa confidenza con il linguaggio PHP, tuttavia proveremo a spiegare con esempi pratici e comprensibili anche per i neofiti del settore.


Esempi pratici:

1) contatore con sessioni PHP e MySql:
Se ricaricate la pagina (refresh) il numero non varia.
78187

2) contatore con PHP e MySql:
Ogni volta che ricaricate la pagina (refresh) il numero aumenta di 1.
109521



Spiegazione:

Se avete seguito le istruzioni iniziali, e se avete i cookie attivati sul vostro browser avrete notato che il contatore rosso non varia, mentre il contatore nero varia ad ogni refresh della pagina.

Se non avete attivato i cookie la variabile $somma rimane sempre ad 1, sommando ogni volta un ingresso nella pagina, e variando anche il contatore rosso.

In pratica abbiamo creato un contatore di accessi unico che si attiva una sola volta, oppure ogni volta se non avete i cookie attivati.



PREMESSA:
Prima di vedere il codice supponiamo di avere:
$database = nome del vostro database;
$tabella = nome della tabella;
$host = nome vostro host;
$user = nome vostro user;
$password = vostra password database;

Tabella MySql:
idcontatorecontatore2
1......



Codice contatore con sessioni (rosso):

<?
session_start();//Iniziamo la sessione
$nuvisi=$_SESSION['nuvisi'];//Creo la variabile per aumentare il numero delle visite
$PHPSESSID=session_id();//Estraggo il numero univoco della sessione
if ($nuvisi!=1){//Chiedo se $nuvisi Ŕ diverso da 1. Si se Ŕ il primo collegamento
$somma=1;//Imposto la variabile somma=1
$_SESSION['nuvisi']=1;//Imposto $nuvisi a 1, da adesso non entro pi¨ inquesto ciclo if
}
else{//se $nuvisi==1 imposto $somma=0
$somma=0;
}
echo "Variabile sessione = ".$nuvisi."<br>";
echo "Variabile somma = ".$somma."<br>";
echo "Costante sessione = ".$PHPSESSID;
?>

<html>//Inizio della pagina HTML
<head>
</head>
<body>
<?//Inizio del codice PHP che interagisce col database MySql
$connessione = mysql_connect($host,$user,$password);
$risultaticontatore=mysql_db_query($nomedatabase,"select contatore from ".$tabella." where id=1 ",$connessione);
$clic=mysql_result($risultaticontatore,0,"contatore");
if ($somma==1){//$somma Ŕ uno solo se Ŕ la prima volta che ci connettiamo
$clic++;//Aumentiamo i clic di uno
mysql_db_query($nomedatabase,"update ".$tabella." set contatore=".$clic." where id=1 ",$connessione);//Salviamo il nuovo numero di clic nel database
}
?>

<div style="...">//Scrivo il contatore
<?
echo $clic;//Scrivo i clic nella tabella
?>
</div>

</body>
</html>


Se lavoriamo con una versione PHP precedente alla 4.0.1 dobbiamo variare il codice PHP iniziale come riportato di seguito:
<?
session_start();//Iniziamo la sessione
session_register("numingressi");//Definiamo la variabile della sessione
$numingressi=$_SESSION['numingressi'];//recupero la variabile globale dalla sessione
$PHPSESSID=session_id();//identifico il numero univoco della sessione (opzionale per alcune configurazioni host)
if ($numingressi==null){//Se la sessione non era aperta eseguiamo il ciclo if
$somma=1;
$numingressi=1;
}
else{//Se la sessione era aperta non eseguiamo il ciclo if(la variabile di sessione era giÓ definita)
$somma=0;
}
echo "Variabile sessione = ".$numingressi."<br>";//Lista variabili scritte in alto
echo "Variabile somma = ".$somma."<br>";
echo "Costante sessione = ".$PHPSESSID;
?>

P.S. Abbiamo dato per scontato che si conosca le query di connessione al database MySql.



Codice contatore MySql (nero):

In pratica una semplice connesione MySql con la variazione dati tabella.
<html>
<head>
</head>
<body>
<?
$connessione = mysql_connect($host,$user,$password);//Stabiliamo la connessione
$risultaticonnessione2=mysql_db_query($database,"select contatore2 from ".$tabella." where id=1 ",$connessione);//Stabiliamo la variabile per la ricerca dati
$clic2=mysql_result($risultaticonnessione2,0,"contatore");//Troviamo il risultato del contatore nero
$clic2++;//Aumentiamo i clic di uno
mysql_db_query($nomedatabase,"update ".$tabella." set contatore=".$clic2." where id=1 ",$connessione);//Salviamo il nuovo numero di clic nel database
?>

<div style="...">//Scrivo il contatore
<?
echo $clic2;//Scrivo i clic nella tabella
?>
</div>

</body>
</html>