Fondatore
Messaggi: 256
Iscritto il: sab ott 11, 2008 11:00 pm
Località: Torremaggiore(Foggia),Italia
Conoscenze Informatiche: Ottime conoscenze del mondo phpnuke, dell'html, php, mysql, css, javascript(Tutto del web!),
discrete conoscenze grafiche, infarinatura di c ++
[PHP DA ZERO - LEZIONE 11]Sessioni e Cookie
Le sessioni e i cookie sono entrambe variabili speciali in cui è possibile immagazzinare dati per un certo periodo di tempo.
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:
)
Ma andiamo nella pratica.
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).:
Per "distruggere" il cookie, cioè eliminarlo prima della scadenza.
Si può impostare un tempo di durata "negativo":
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:
Per capirci meglio, ecco il codice completo:
Se vogliamo distruggere la sessione, come prima anticipato:
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
Nella prossima lezione incomincieremo a parlare di database mysql.
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:
)
Ma andiamo nella pratica.
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).:
Per "distruggere" il cookie, cioè eliminarlo prima della scadenza.
Si può impostare un tempo di durata "negativo":
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:
Per capirci meglio, ecco il codice completo:
Se vogliamo distruggere la sessione, come prima anticipato:
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:
<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.
