Cleanuke, iamma scripts, phpnuke e altro

Menu
Statistiche
[phpBB Debug] PHP Notice: in file [ROOT]/blocks.php on line 18: Undefined variable: title


Anubis

Anubis

Altri temi

Donazione

Supporta Clean Nuke e tutti gli altri Iamma Scripts.

Effettua una liberazione donazione, segnalacela, diventerai sottoscritto e potrai accedere all'area per gli Scripts Premium.


Right Bottom
Forums

[PHP DA ZERO - LEZIONE 11]Sessioni e Cookie

Discussione e supporto di questo famoso linguaggio e della sua interazione con il mysql

Moderatori: ultraphonic2, queen_live78

  Regole del forum
Oltre alle regole di convivenza civile e basilare che tutti conosciamo,
per queste sezioni voglio sottolineare queste altre due regole:

1 ) USATE UN ITALIANO CORRETTO QUANDO SCRIVETE IN MODO DA FARVI CAPIRE

2 ) NON ROMPETEMI (SCUSATE LA VOLGARITA') SU MSN O IN CHAT CHIEDENDOMI AIUTO PRIVATO GRATUITO.
DO' SOLO AIUTO PUBBLICO GRATUITO.  
 

[PHP DA ZERO - LEZIONE 11]Sessioni e Cookie

Messaggioda matteoiamma » sab ago 08, 2009 3:37 pm

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:
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.
Avatar utente
matteoiamma
Fondatore
Fondatore
 
Messaggi: 286
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 ++
 

Torna a Php e Mysql

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Forums Bottom
cron