|
|
ATTENZIONE:
Prima di procedere guardate cosa c'è scritto in alto sopra il sito:
Variabile sessione = 1
Variabile somma = 1
Costante sessione =
E adesso prendete nota dei numeri dei contatori più in basso (uno nero e l'altro rosso). (P.S.
la scritta in alto 'costante sessione' risulta nulla solo se non avete attivato
nessun'altra sessione da questo sito, in alternativa ci sarà una riga con 32 caratteri)
Dopo aver fatto questo ricaricate la pagina (refresh-aggiorna).
Avrete notato che le scritte in alto sono variate ad eccezione di variabile 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 la macchina host 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.
2) contatore con PHP e MySql:
Ogni volta che ricaricate la pagina (refresh) il numero aumenta di 1.
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:
| id | contatore | contatore2 |
1 | ... | ... |
1) Vediamo il codice per il contatore rosso (con sessioni):
<?
session_start();//Iniziamo la sessione
session_register("numingressi");//Definiamo la variabile della sessione
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;
?>
<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++;
mysql_db_query($nomedatabase,"update ".$tabella." set contatore=".$clic." where id=1 ",$connessione);
}
?>
<table border="1" width="60" bgcolor="#660000">//Scrivo la tabella
<tr>
<td align="right">
<?
echo $clic;//Scrivo i clic nella tabella
?>
</td>
</tr>
</table>
</BODY>
</HTML>
P.S. Abbiamo dato per scontato che si conosca le
query di connessione al database MySql.
2) Vediamo il codice per il contatore nero (solo MySql):
In pratica una semplice connesione MySql con la variazione dati tabella.
<HTML>//Inizio della pagina 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
?>
<table border="1" width="60" bgcolor="#660000">//Scrivo la tabella
<tr>
<td align="right">
<?
echo $clic2;//Scrivo i clic nella tabella
?>
</td>
</tr>
</table>
</BODY>
</HTML>
|
|
|
Script
| |
Motore di ricerca script
|
|