Se io creo una variabile normale,
il valore varrà solo per la pagina in cui la variabile è definita;
invece se setto un cookie o creo una sessione il valore di quel cookie e di quella sessione varrà per un certo tempo(anche lungo) in tutte le pagine del mio sito.
Iniziamo parlando dei cookie.
Per creare un cookie si usa una semplice funzione di nome setcookie();
(La funzione setcookie ha la seguente sintassi:
setcookie("nomecookie", "valorecookie", "tempocookie");
)
,
dopodichè per richiamare il cookie basterà stampare la variabile $_COOKIE(In questo modo:
- Codice: Seleziona tutto
<?php
echo $_COOKIE['nomecookie'];
?>
)
Ma andiamo nella pratica.
- Codice: Seleziona tutto
<?php
$name="Matteo";
setcookie("nome", $name, time() + 3600); //Creo un cookie che durerà 3600 secondi, che si chiama "nome" e che ha come valore il valore della variabile $name, cioè Matteo
echo $_COOKIE['nome']; //Mostro il valore del cookie
?>
Adesso ogni volta che in una pagina del mio sito scrivero',
mi apparirà la scritta "Matteo", finchè il cookie non scadrà(Cioè fra 3600 secondi).:
- Codice: Seleziona tutto
<?php
echo $_COOKIE['nome'];
?>
Per "distruggere" il cookie, cioè eliminarlo prima della scadenza.
Si può impostare un tempo di durata "negativo":
- Codice: Seleziona tutto
<?php
setcookie("nome", "", time() - 3600);
?>
Parliamo adesso delle Sessioni.
In realtà cookie e sessioni si possono usare indistintamente.
Si chiamano e si usano diversamente, ma in pratica servono alla stessa cosa.
Per le sessioni si usano alcune funzioni:
session_start(); (Questa funzione bisogna usarla obbligatoriamente prima di settare una funzione )
session_destroy(); ( Con questa funzione vegono distrutte/eliminate tutte le sessioni)
Una sessione si definisce in questo modo:
$_SESSION['nomesessione'] = "valore";
e si richiama in questo modo:
- Codice: Seleziona tutto
<?php
echo $_SESSION['nomesessione'];
?>
Per capirci meglio, ecco il codice completo:
- Codice: Seleziona tutto
<?php
session_start(); //Funzione che "crea un terreno" adatto alla definizione delle sessioni
$_SESSION['username'] = "Matteo"; //Stabiliamo la sessione di nome username
echo $_SESSION['username']; //Mostriamo il valore della sessione username
?>
Se vogliamo distruggere la sessione, come prima anticipato:
- Codice: Seleziona tutto
<?php
session_start();
session_destroy();
?>
Tramite le sessione e i cookie che abbiamo appena di visto, con un po' di logica si possono sviluppare sistemi di registrazione e login, ma anche semplici aree private, sfruttando i dati provenienti da form($_POST)
pagina.php
- Codice: Seleziona tutto
<form action="pagina.php" method="post">
<input type="text" name="username"/>
<input type="password" name="pass"/>
<input type="submit" name="login" value="Login"/>
</form>
<?php
if ($_POST['login']){
$password="123"; //Password per il login
if ($_POST['pass'] == $password){
//Se il dato proveniente dal campo username del form e il dato è uguale alla variabile username e il dato //proveniente dal campo pass del form è uguale alla variabile password
setcookie("username", $_POST['username'], time() + 3600);
//Crea un cookie di nome username, che contenga l'username inserito nel campo username del form
setcookie("login", "ok", time() + 3600);
//Crea un cookie di nome login, di valore "ok" e che duri 3600 secondi
} else { //Altrimenti
echo "Username e/o Password errati. Riprova"; //Fai apparire questo messaggio
}
}
?>
Nella prossima lezione incomincieremo a parlare di database mysql.
Posts totali: 432 |
Topics totali: 149 
Home
Forum
News
Downloads
Temi
Webmaster



