1. Accesul la variabilele cookie

Valorile majoritatii variabilelor dispar atunci când scriptul PHP care le contine îsi încheie executia. Spre deosebire de acestea, valorile variabilelor cookie se pot pastra un timp indefinit. Pentru ca valorile lor sa se poata pastra, browserul utilizatorului stocheaza variabilele cookie în unitatea de hard-disc a utilizatorului.
Majoritatea navigatoarelor de Web au posibilitatea sa activeze/dezactiveze cookie-urile. Trebuie sa tineti cont de acest lucru cand doriti sa folositi cookie in scripturile dv., totusi, comform statisticilor, in jur de 1% dintre utilizatori au optiunea cookie dezactivata.
PHP pune la dispozitia utilizatorilor functii pentru transmiterea cookie-urilor de la server la browser, si modalitati de citire a cookie-urilor.
Pentru a citi cooki-urile puteti utiliza variabila PHP de tip tablou $_COOKIE sau $_HTTP_COOKIE_VARS, acestea contin numele si valoarea fiecarei variabile cookie curenta. Daca doriti sa obtineti acces la acest tablou, puteti folosi un program ca urmatorul:

- $_COOKIE['numeCookie'] este o variabila super-globala, putand fi accesata si in functii fara a mai specifica "global".

2. Crearea unei variabile cookie

Un lucru important de retinut este faptul ca cookie-urile trebuie sa fie transmise la browser inaintea oricarei alte informatii.
Pentru a evita problemele, asigurati-va ca un script PHP care stabileste o valoare a unei variabile cookie este plasat în partea superioara a fisierului, fara caractere de tip spatiu alb care sa-l preceada. De asemenea, stabiliti valoarea variabilei cookie înainte de a executa o instructiune 'echo' sau o alta instructiune PHP care trimite browserului date de iesire.
Pentru a crea o variabila cookie, folositi functia setcookie(), care are urmatoarea forma:

- Argumentul 'numeCookie' specifica numele variabilei cookie, iar argumentul 'valoare' specifica valoarea variabilei.
- Valoarea variabilei cookie este automat transmisa "urlencode" si cand este primita e automat decodata.
- Argumentul 'expirare' indica momentul expirarii variabilei cookie; dupa ora specificata, variabila cookie nu mai este accesibila.
În general, este convenabil sa se specifice momentul expirarii folosind functia time(), care returneaza intervalul de timp (exprimat în secunde) scurs de la 1 ianuarie 1970. Puteti adauga o valoare de tip decalaj (offset), care specifica intervalul de timp pe durata caruia variabila cookie trebuie sa fie accesibila.
Folosind aceasta functie se pot transmite mai multe cookie-uri succesiv; protocoalele Web limiteaza insa la maximum 20 numarul cookie-urilor ce pot fi trimise aceluiasi utilizator.
De exemplu, sa luam în considerare urmatoarea instructiune: Aceasta instructiune creeaza o variabila cookie denumita 'fruct', care are valoarea 'banana'. Variabila cookie va fi disponibila timp de o ora (3600 secunde) de la crearea sa.
Daca preferati, puteti specifica momentul expirarii folosind functia mktime(). Aceasta functie are urmatoarea forma: De exemplu, urmatoarea instructiune creeaza o variabila cookie care expira la o secunda dupa miezul noptii primei zile a anului 2009:

3. Stergerea unei variabile cookie

Deoarece o variabila cookie are o data de expirare, aceasta va fi stearsa automat la un oarecare interval de timp dupa crearea sa. Totusi, puteti sterge o variabila cookie imediat. Pentru aceasta, fixati momentul expirarii variabilei cookie la un moment de timp in trecut.
De exemplu, pentru a sterge o variabila cookie denumita 'fruct', puteti folosi urmatoarea instructiune:

Aceasta instructiune stabileste timpul de expirare cu o ora (3600 de secunde) în urma.
Remarcati ca valoarea variabilei cookie este exprimata sub forma unui sir vid (""); din moment ce variabila cookie nu va mai fi disponibila, valoarea sa nu mai are importanta.

4. Specificarea accesului la o variabila cookie si alte optiuni

Functia setcookie() poate prelua maximum sase argumente.
Iata formatul complet al functiei setcookie():

Argumentele 'nume', 'valoare' si 'expirare' au fost descrise în sectiunea precedenta.
- Argumentul 'cale' va permite sa specificati calea URL asociata variabilei cookie. În mod prestabilit, variabila cookie este disponibila pentru scripturile din catalogul care contine scriptul în care a fost configurata variabila respectiva, precum si pentrul scripturile din sub-cataloagele aferente catalogului respectiv. În particular, scripturilor din cataloagele parinte ale catalogului care contine scriptul nu li se permite accesul prestabilit la variabila cookie.
Pentru a pune variabila cookie la dispozitia scripturilor dintr-un anumit catalog si cataloagele sale, specificati o valoare a argumentului 'cale'. De exemplu, pentru a pune variabila cookie la dispozitia întregului arbore de cataloage, specificati " /" ca valoare a argumentului cale; pentru a face variabila cookie disponibila în catalogul "/test" si în sub-cataloagele sale, specificati "/test/" ca valoare a argumentului 'cale'.
- Daca nu este specificat nici un argument 'domeniu', o variabila cookie este disponibila numai pentru scripturile din domeniul Web care a creat variabila respectiva. Argumentul 'domeniu' va permite sa specificati numele de domeniu asociat unei variabile cookie. În consecinta, variabila cookie va fi disponibila numai pentru siturile Web din cadrul domeniului specificat. De exemplu, sa presupunem ca un script din serverul Web http://www.subdomeniu.domeniu.com creeaza o variabila cookie. În mod prestabilit, variabila cookie este disponibila numai pentru gazda respectiva. Cu toate acestea, puteti face variabila cookie disponibila pe întreg domeniul 'subdomeniu.domeniu.com', specificând "subdomeniu.domeniu.com" ca valoare a argumentului 'domeniu'.
- Argumentul 'secure' este o valoare întreaga, care specifica daca variabila cookie trebuie trimisa prin intermediul unei conexiuni sigure (HTTPS). Specificati valoarea l pentru a împiedica transmiterea variabilei cookie în cazul în care conexiunea nu este sigura; pentru a permite transmiterea variabilei cookie prin conexiuni HTTP obisnuite, specificati valoarea 0.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce element HTML adauga continut flash SWF in pagina web?
<object> <div> <script>
<object type="application/x-shockwave-flash" data="file.swf" width="500" height="250">
 <param name="src" value="file.swf" />
 Browser-ul dv. nu suporta SWF.
</object>
Care pseudo-clasa CSS adauga un stil la un camp input de formular cand e cursorul in el?
:active :focus :hover
input:focus {
  background-color: #88fe88;
}
Clic pe instructiunea care transforma un sir JSON in obiect JavaScript.
JSON.stringify(javascript_object) object.toString() JSON.parse(json_string)
var jsnstr = '{"url": "http://coursesweb.net/", "title": "Web Development Courses"}';
var obj = JSON.parse(jsnstr);
alert(obj.url);
Indicati functia PHP care poate crea sau scrie un fisier pe server.
fopen() file_put_contents() file_get_contents()
if (file_put_contents("file.txt", "content")) echo "Fisierul a fost creat";
else echo "Fisierul nu poate fi creat";
Cum se spune "al treilea" in engleza?
threeth third three
I planted the third tree.
- Am plantat al treilea pom.
Cum se spune "al treilea" in spaniola?
segundo tres tercero
Yo planté el tercero árbol.
- Am plantat al treilea pom.
Utilizare variabile cookie

Last accessed pages

  1. Viitor simplu si continuu - Future Tense Simple and Continuous (22796)
  2. Blog si Cugetari Personale (3848)
  3. Sufixele -ful, -less si -ness - ful, less and ness suffixes (6661)
  4. Trecutul simplu si continuu - Past Tense Simple and Continuous (43074)
  5. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (43910)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (3002)
  2. Curs HTML gratuit Tutoriale HTML5 (2246)
  3. Curs si Tutoriale JavaScript (2124)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (2081)
  5. Blog si Cugetari Personale (1924)