[Tutorial PHP]Cookie-uri in PHP

#1
Nume Tutorial:Cookie-uri in PHP
Descriere:Cookie-uri in PHP
Download:Nu necesita
Autor:Anonim
Sursa (Link-ul oficial):
tutorialeonline.net
Propria parere:Util.
Tutorialul:
Pentru cei noi într-ale programării web, la nivel de “cum funcţionează”, cookie-urile reprezintă un aspect destul de alambicat.
Un cookie este un set de informaţii stocate de către browser în calculatorul vizitatorului, la cererea unei pagini web. Informaţia este transmisă constant, în headerele HTTP, între browser şi serverul web. Browserul trimite cookie-ul către server, ca parte a cererii sale, iar serverul trimite, înapoi, datele actualizate, ca parte a răspunsului său.
Marimea unui cookie depinde în mare măsura de browser, dar în general acesta nu ar trebui să depăşească 1K (1024 biti). Informaţia poate fi orice: un nume, numărul de vizite în site, informaţii despre coşul de cumpărături al unui magazin online, preferinţele personale ale vizitatorului etc.
Pe lângă informaţia pe care o stochează, un cookie mai dispune şi de un set de atribute: data expirării, un domeniu valid, o cale în domeniul valid sau opţiunea pentru conexiune securizată (SSL). Aceste atribute fac ca browserul să trimită, către server, datele care trebuie şi când trebuie, în momentul în care vizitatorul accesează o pagină.

Cookie-ul de bază

Să vedem un exemplu foarte basic:
Cod:

Cod: Selectaţi tot

 <?php
 if (! isset($_COOKIE['nume']))
 {
 setcookie('nume', $_POST['nume']);
 setcookie('vizite', 1);
 echo 'Salut '.$_POST['nume'].'<br>';
 echo 'Aceasta este prima ta vizita !';
 }
 else
 {
 setcookie('vizite', ++$_COOKIE['vizite']);
 echo 'Bine ai revenit, '.$_COOKIE['nume'].'<br>';
 echo 'Ne-ai vizitat de '.$_COOKIE['vizite'].' ori !';
 }
 ?>
Cele două puncte de interes sunt $_COOKIE şi setcookie().
Informaţia trimisă de browser se accesează cu $_COOKIE, un array super-global, având ca şi chei ale valorilor, numele.
Funcţia setcookie() este folosită pentru a stabili perechi cheie/valoare ce urmează a fi trimise către browser. Browserul foloseşte noile valori pentru a-şi actualiza informaţia pe care o deţine deja. Dacă informaţia nu există, un cookie nou-nouţ va fi creat.
Ţine minte că informaţia din cookie este trimisă în headerele HTTP, de aceea, cookieurile trebuiesc trimise înainte ca scriptul să genereze vreun output către browser.

Atributele unui cookie

Timpul de expirare este utilizat de către browser pentru a determina când anume informaţiile stocate nu mai sunt valabile. Este exprimat sub formă de timestamp UNIX la care se adună numărul de secunde până la expirare.
Domeniul valid este un nume parţial sau complet de domeniu către care cookie-ul va fi trimis. De exemplu, dacă se menţionează www.site.ro, de fiecare dată când vizitatorul va accesa subdomeniul www.site.ro, informaţiile din cookie vor fi trimise. Pentru ca un cookie să fie valid pentru toate subdomeniile unui domeniu activ, atunci trebuie menţionat .site.ro (se scrie un punct înainte de numele domeniului)
Calea este folosită pentru a stabili anumite zone dintr-un domeniu anume. De exemplu, cookieurile care au ca şi cale / vor fi atribuite şi pentru site.ro/~user1 şi pentru site.ro/~user2. Dacă la cale se menţionează site.ro/~user1, pentru site.ro/~user2 cookie-ul nu va fi valabil.
Opţiunea pentru conexiune securizată opreşte browserul să trimită informaţii atât timp cât transferul datelor nu se realizează prin intermediul unei conexiuni securizate (HTTPS). Valoare implicită este 0 (zero) ceea ce înseamnă că informaţiile vor fi trimise indiferent de natura conexiunii.
Începând cu versiunea 5.2.0 a PHP, a fost adăugat şi atributul httponly care menţionează că transferul se va realiza strict prin protocolul HTTP. Asta înseamnă că cookieul nu va putea fi accesat din JavaScript, de exemplu. Valorile suportate sunt TRUE sau FALSE
Funcţia setcookie nu acceptă numai perechi cheie/valoare ci şi atributele menţionate mai sus. Sintaxa generală este

setcookie(nume, valoare, [[expirare], [cale], [domeniu], [securizat], [httponly]])

Astfel,

setcookie('culoarefavorita', 'albastru', time() + 60 * 60 * 24 * 30, '/~user1', '.site.ro', 1, true);

va genera un cookie ce stochează albastru ca $_COOKIE['culoarefavorita'].
Cookie-ul va expira la 30 de zile după ce a fost iniţializat şi va fi disponibil doar prin conexiuni securizate, pentru adresa http://www.site.ro/~user1.
De asemenea, nu va putea fi accesat din JavaScript.

Sfaturi utile

Atunci când este scris şi setat corespunzător, cookie-ul va fi trimis către site-ul care trebuie. Totuşi, cookie-ul este stocat în calculatorul userului sub formă de text în clar, putând fi astfel accesat direct de oricine foloseşte respectivul calculator.
Nu folosi niciodată cookie-urile pentru a stoca informaţii sensibile, cum ar fi parole, date de cărţi de credit. Asigură-te că orice schimbare de informaţie importantă este realizată doar după ce utilizatorul a confirmat o eventuală parolă pe care site-ul ar putea-o cere.
N-am cerut la nimeni niciodata,
Chiar de-a fost sa rabd, in viata mea.
Am dat totul fara nici o plata,
Nevoind nimic sa mi se dea.

@Virgil Carianopol
Vezi-ti de treaba si retine:
"E treaba ta sa spui ce vrei si sa nu conteze pentru nimeni".

@Kazi Ploae

Înapoi la “Tutoriale PHP”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 2 vizitatori