0% au considerat acest document util (0 voturi)
8 vizualizări50 pagini

PHP: Personal Home Page: Curs Viii

Încărcat de

Adi Adița
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
8 vizualizări50 pagini

PHP: Personal Home Page: Curs Viii

Încărcat de

Adi Adița
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

PHP:

Personal Home Page


CURS VIII
Outline
 Utilizare matrice - Array

 Utilizarea functiilor

 Variabile si referinte in functii

 Lucrul cu siruri

 Lucrul cu fisiere

 Utilizarea de sesiuni PHP


Utilizare matrice - Array
1. Utilizarea matricelor
• Deseori este convenabila stocarea mai multor valori într-o
variabila.
• O asemenea variabila se numeste matrice (Array sau
"tablou"), iar valorile individuale se numesc elementele
matricei.
• Fiecare element al unei matrici are doua elemente
importante: cheia si valoarea elementului.
• Matricele pot fi create folosind doua medode principale:
• utilizand direct instructiunile de atribuire
• folosind sintaxa array()
Utilizare matrice - Array
1) Crearea de matrice folosind sintaxa array()
• Pentru a crea o matrice, atribuiti unui element al matricei o
valoare si o cheie. De exemplu, urmatoarea instructiunea
de atribuire:
$clasa[1] = "geometrie";
creeaza un tablou denumit "$clasa" si un element cu valoarea
"geometrie" identificat prin cheia "1".
• Pentru a stoca în matrice o a doua valoare, puteti folosi
urmatoarea instructiune de atribuire:
$clasa[2] = "algebra";
• Pentru a obtine acces la un element al matricei, specificati
numele matricei si valoarea cheii. De exemplu,
instructiunea de atribuire
$clasa_mate = $clasa[1];
• Atribuie valoarea "geometrie" variabilei $clasa_mate.
Utilizare matrice - Array
2) Crearea de matrice folosind sintaxa array()
• modalitate principala de creare a unui tablou PHP consta în
utilizarea functiei array()
$limbaje = array("Perl", "PHP", "Python");
• Deoarece valoarea cheilor nu a fost specificata, acestea vor
fi automat trecute de program ca numere intregi
consecutive, incepand de la "0" (prima cheie va avea
valoarea '0', a doua cheie va avea valoarea '1', ...)
0 => Perl
1 => PHP
2 => Python
• Daca doriti sa asociati unei valori o anumita cheie, puteti folosi
operatorul =>, astfel:
$limbaje = array("PHP"=>"Ridicat", "Python"=>"Mediu", "Perl"=>"Redus");
Utilizare matrice - Array
2. Matrici multi-dimensionale
• Este posibil ca un element al matricei sa fie de asemenea o
matrice.
• In acest caz avem de-a face cu o matrice multi-
dimensionala.
• In exemplul urmator vom declara un array cu 2 linii si 3 coloane.
• Prima linie este identificata de array-ul cu numele "firstLine", iar
ce-a de-a doua linie este identificata de "nextLine".
<?php
$multiDimArray = array("firstLine"=>array(1=>10, 2=>20,
"a"=>"alpha"), "nextLine"=>array(1=>20, 2=>40,
"b"=>"beta"));

echo "<br />".$multiDimArray["firstLine"][1];


echo "<br />".$multiDimArray["nextLine"][1];
echo "<br />".$multiDimArray["firstLine"][2];
echo "<br />".$multiDimArray["firstLine"]["a"];
echo "<br />".$multiDimArray["nextLine"]["b"];
?>
Utilizare matrice - Array
3. Accesul la datele dintr-un array
 Când ati stocat date într-un tablou, puteti obtine acces la
valoarea unui element al tabloului sau îi puteti modifica
valoarea prin intermediul cheii asociate elementului.
 De exemplu, sa presupunem ca folositi urmatoarele
instructiuni pentru a crea un tablou:
$x = array(1=>10, 2=>100, 3=>1000);
 Puteti obtine acces la valoarea asociata cheii 2 prin
intermediul unei instructiuni ca aceasta:
$y = 3*$x[2];
 Similar, puteti modifica valoarea asociata cheii 3 prin
intermediul unei instructiunu ca aceasta:
$x[3] = 101;
Utilizare matrice - Array
3. Accesul la datele dintr-un array
 Incepand cu versiunea PHP 5.4 a fost introdus un nou
mod de a defini variabile array, folosind o sintaxa scurta.
 Ex.:
$arr = []; // array gol, in loc de array();

$arr = [1, 2, 3, 4]; // array numeric

$arr = ['eng'=>‘Ecommerce', 'ro'=>‘Comert electronic',


'num'=>8]; // array asociativ
Utilizare matrice - Array
4. Functii pentru array. Cateva din cele mai utile functii
PHP pentru Array (matrice)
 array_chunk(array, nr)- Imparte "array" intr-un numar de sub-
matrici, precizat la "nr", indexate de la 0. Daca "array" nu are
elemente, returneaza NULL.
 array_combine(array_k, array_v)- Creaza un array folosind
valorile din "array_k" pentru chei, iar elementele din "array_v"
pentru valorile lor. Numarul de elementele din cele 2 matrici trebuie
sa fie egal, in caz contrar returneaza FALSE.
 array_count_values(array)- Returneaza o matrice cu numarul de
repetari a fiecarui element din "array".
 array_diff(array1, array2)- Returneaza o matrice cu elementele
din "array1" care nu se gasesc in "array2".
 array_intersect(array1, array2, ...)- Returneaza o matrice cu
toate valorile din "array1" care se gasesc in toati ceilalti "array" dati
ca parametri.
Utilizare matrice - Array
4. Functii pentru array. Cateva din cele mai utile functii
PHP pentru Array (matrice)
 array_merge($array1, $array2, ...)- Uneste mai multe array in
unul singur. Daca au cheie de tip sir identice, va fi pastrata valoarea
ultimei chei.
 array_product(array)- Returneaza produsul elementelor din
"array"
 array_reverse(array)- Returneaza "array" cu ordinea elementelor
inversata.
 array_sum(array)- Returneaza suma elementelor din "array"
 array_values(array)- Returneaza o matrice cu toate valorile din
"array", ordonate numeric de la 0.
 array_map("functie", array)- Aplica functia pentru fiecare
element din "array"
Utilizare matrice - Array
5. Parcurgerea unui Array asociativ
 Tablourile de date pot avea si elemente ale caror chei pot fi
numere aleatoare sau chiar cuvinte, aceste matrici se numesc
"matrici asociative" (non-secventiale)
 Pentru citirea datelor dintr-un Array asociativ se poate folosi
instructiunea foreach care simplifica parcurgerile de acest
gen.
 Instructiunea foreach are urmatoarea forma generala:
foreach (tablou as $cheie => $valoare) {corp}
 Instructiunea parcurge în mod iterativ (element cu element)
tabloul denumit "tablou", stabilind valori adecvate pentru
valorile variabilelor "$cheie" si "$valoare" aferente fiecarui
element al tabloului.
<?php
$limbaje = array(10=>"Perl", 20=>"PHP", 21=>"Python");
foreach ($limbaje as $index => $limbaj) { // parcurge
iterativ tabloul
echo "<br />$index =>$limbaj";
}
?>
Utilizare matrice - Array
6. Lucrul cu functii lista
 În afara de modalitatile de parcurgere a matricelor, PHP ofera
numeroase functii care va permit traversarea tablourilor,
deplasându-va înainte sau înapoi prin elementele acestuia.
Functia current()
 Functie care returneaza valoarea curenta a tabloului. Functia
current() foloseste un pointer intern de tablou, pe care PHP îl
creeaza pentru fiecare tablou.
 Functiile next() si prev() modifica pointerul intern al tabloului si
se pot folosi alaturi de functia current() pentru a parcurge un
tablou.
 functia next() modifica pointerul intern al tabloului astfel încât
acesta sa faca referire la urmatorul element
 functia prev() modifica pointerul intern al tabloului astfel încât
acesta sa faca referire la elementul anterior.
<?php
$limbaje = array(10=>"Perl", 20=>"PHP", 21=>"Python");
$curent = current($limbaje);
echo "<br />functia current() a returnat $curent";
$urmator = next($limbaje);
echo "<br />functia next() a returnat $urmator";
$urmator = next($limbaje);
echo "<br />functia next() a returnat $urmator";
$anterior = prev($limbaje);
echo "<br />functia prev() a returnat $anterior";
?>
Utilizare matrice - Array
Functia key()
 Functia key() este corelata cu functia current().
 Daca functia current() returneaza valoarea asociata
elementului curent, functia key() returneaza cheia asociata
elementului curent.
Functia each()
 O alta functie utila în parcurgerea tablourilor este each().
 Functia each() returneaza perechea "cheie-valoare" care se
afla la pozitia curenta din tabloul specificat.
 Perechea "cheie-valoare" este returnata sub forma unui Array
asociativ cu patru elemente, dupa cum urmeaza
Utilizare matrice - Array
Functia list()
 Functia list() va permite sa atribuiti valori la numeroase
variabile în cadrul unei instructiuni.
 Functia list() este deseori folosita cu functia each(), deoarece
functia list() faciliteaza accesul separat la cheia si la valoarea
returnate de functia each().
list($var1, $var2, ..…, $varn) = valoare_tablou;
 Fiecare dintre variabilele specificate, de la $var1 la $varn,
primeste o valoare din tabloul "valoare_tablou".
 functia list() este opusa functiei array(), deoarece functia
list() împarte un tablou într-o serie de valori scalare, în timp ce
functia array() construieste un tablou dintr-o serie de valori
scalare.
Utilizare matrice - Array
7. Sortarea tablourilor
 Sortarea reprezinta o alta operatie frecvent aplicata tablourilor.
 PHP furnizeaza o suita de functii care faciliteaza sortarea unui
tablou
 Vom lua ca model pentru exemplificare urmatoarea matrice:
$limbaje = array(10=>"Perl", 20=>"PHP", 21=>"Python");
Utilizare matrice - Array
Transformarea sirurilor in matrice si invers
 Pentru a transforma un sir intr-o matrice folosim functia
explode(). Sintaxa aceste functii este:
$matrice = explode(" ", $sir);
 In loc de spatiul dintre (" "), ca indiciu de separare, poate fi
scris orice caracter; dupa cum se doreste impartirea sirului.
 Pentru a transforma o matrice intr-un sir, folosim functia
implode(). Sintaxa aceste functii este:
$sir = implode(" ", $matrice);
<?php
$matrice = array("Popescu", "Avram",
"Cristian", "Dan");
sort($matrice);
$sir = implode(" - ",$matrice);
echo "<br />Sirul rezultat : \"$sir\"";
?>
Utilizarea functiilor
 Functiile reprezinta secvente de cod care sunt apelate foarte
frecvent in cadrul codului PHP
 Folosirea frecventa a functiilor duce la micsorarea cantitatii de
cod scris
 Pentru a folosi o functie, scrieti numele functiei, urmat de o
pereche de paranteze
 Majoritatea functiilor preiau argumente, reprezentând valori,
de intrare care influenteaza operarea si rezultatul functiei.
 Pentru a specifica argumente, acestea se insereaza între
paranteze; daca specificati mai mult de un argument, fiecare
argument trebuie separat de vecinul sau printr-o virgula.
 Argumentul unei functii poate fi o valoare literala, o variabila
sau o expresie.
Utilizarea functiilor
 Functiile PHP va permit sa obtineri accesul la programe PHP
scrise anterior, create într-un alt fisier extern
 Pentru aceasta puteti folosi functia require(), care are
urmatoarea forma:
require("nume_fisier")
 Când este încarcat un script PHP care contine o
instructiune require, continutul fisierului specificat este inserat
si executat în script, înlocuind instructiunea require
 O alta functie, similara instructiunii require este functia
include().
 functia include() este o instructiune executabila ce determina
evaluarea scriptului PHP din fisierul extern si codul acestuia
este executat ca si cum ar fi aparut în textul scriptului unde
este inclus.
include("nume_fisier.php");
Utilizarea functiilor
Definirea unei functii
 În afara de a utiliza functiile din biblioteca de functii a
limbajului PHP, va puteti defini si folosi propriile functii.
function nume_functie(nume_argument1,
nume_argument2,…) {
Aici se insereaza corpul functiei
}

 Cuvântul cheie "function", "numele_functiei" si


"nume_argument1" alcatuiesc antetul functiei
 Termenul de corp al functiei se refera la instructiunile
incluse între acolade care urmeaza dupa antetul functiei.
 Numele functiilor nu prezinta sensibilitate la diferenta
între majuscule si minuscule
Utilizarea functiilor
Definirea unei functii
 Exemplu: o functie care calculeaza aria unui dreptunghi

<?php
function arie($lungime, $latime) {
return $lungime * $latime;
}
?>
 Daca doriti ca o functie sa returneze o valoare, trebuie sa
determinati functia sa execute o instructiune return care
furnizeaza valoarea respectiva
Utilizarea functiilor
Apelarea unei functii definite de utilizator
O functie definita de utilizator poate fi apelata ca orice
functie.
<?php
function arie($lungime, $latime) {
return $lungime * $latime;
}
$rezultat = arie(5,3);
echo "Aria exte : $rezultat";
?>
Utilizarea functiilor
Terminarea executiei unui script
 O instructiune return determina sistarea executiei
functiei care o contine. In cazul în care doriti sa sistati
prelucrarea unui întreg script, puteti invoca functia exit().

<?php
function stop() {
exit();
}
echo "<br />Unu...";
echo "<br />Doi...";
stop();
echo "<br />Trei...";
?>
Variabile si referinte in functii
1. Utilizarea variabilelor globale

 variabilele globale sunt cele declarate în afara oricarei functii.


 Totalitatea locurilor unde este accesibila o variabila se
numeste "domeniu de existenta al variabilei“
 Variabilele globale nu pot fi accesibile din interiorul corpului
unei functii; cu alte cuvinte, domeniul de existenta al unei
variabile globale, nu include corpurile functiilor.
 Daca doriti sa obtineti accesul la o variabila globala în cadrul
unei functii, puteti extinde domeniul de existenta al variabilei
prin specificarea in functie a numelui variabilei, în cadrul unei
instructiuni GLOBAL.
GLOBAL variabila1, variabila2, variabila3;
Variabile si referinte in functii
1. Utilizarea variabilelor globale Exemplu
<?php
<?php
$var1 = 135;
$var1 = 135;
$var2 = 250;
$var2 = 250;
function Suma() {
function Suma() {
GLOBAL $var1, $var2;
return $var1 + $var2;
return $var1 + $var2;
}
}
echo "Suma este ". Suma();
echo "Suma este ". Suma();
?>
?>
Variabile si referinte in functii
1. Utilizarea variabilelor globale
 O alta metoda prin care putem solutiona aceasta
problema este prin folosirea variabilei PHP
predefinite $GLOBALS
 $GLOBALS este o variabila predefinita, este de fapt un
array ; elementele acestei matrice au cheia egala cu
numele variabilelor declarate si valoarea egala cu cea a
variabilelor declarate.
 $GLOBALS este o variabila superglobala, ea va fi
recunoscuta in orice script.
Variabile si referinte in functii
2. Utilizarea variabilelor locale
 Variabilele locale sunt create in interiorul functiei si sunt
distruse cand se încheie apelul la functia respectiva
 Argumentele functiilor constituie un tip important de variabila
locala
 puteti crea o variabila locala prin simpla atribuire a unei valori
unei variabile din interiorul unei functii.
3. Utilizarea variabilelor statice
 Uneori este nevoie ca o variabila locala sa-si pastreze
valoarea de la un apel al functie asociate la altul.
 Pentru acest lucru puteti folosi instructiunea STATIC
STATIC $var1, $var2, $var3
Variabile si referinte in functii
<?php
function v_local() {
$x = $x + 1;
echo "<br /> x = $x";
}
function v_static() {
STATIC $x;
$x = $x + 1;
echo "<br /> x = $x";
}
@v_local();
@v_local();
@v_local();
echo "<br />";
v_static();
v_static();
v_static();
?>
Lucrul cu siruri
Manipularea sirurilor
PHP contine peste 70 de functii care lucreaza cu siruri:
 De exemplu functia strlen() returneaza lungimea sirului
specificat ca argument al functiei.
 Functiile PHP de eliminare a caracterelor din siruri:
Lucrul cu siruri
Compararea sirurilor
 PHP furnizeaza patru functii care sunt deosebit de utile pentru
compararea sirurilor:
Lucrul cu siruri
Descoperirea si extragerea sub-sirurilor
 PHP include numeroase functii care gasesc si extrag sub-tiruri, adica
parti dintr-un sir:
Lucrul cu siruri
Înlocuirea unui sub-sir
 O operatie frecvent folosita în programare consta în gasirea
unui sub-sir si înlocuirea sa cu o valoare noua. PHP are doua
functii deosebit de utile pentru asemenea operatii, si
anume str_replace() si substr_replace():
str_replace(cauta, înlocuire, subiect) -
 Se cauta în sirul 'subiect' sub-sirul 'cauta'; daca sub-sirul este
gasit, returneaza valoarea 'subiect', înlocuindu-se prima
aparitie a sirului 'cauta' cu 'înlocuire'.
substr_replace(subiect, înlocuire, start, lungime)
 Returneaza valoarea 'subiect', înlocuind sub-sirul care începe
de la 'start' si având lungimea 'lungime' cu sirul 'înlocuire'.
Lucrul cu fisiere
Obtinerea atributelor unui fisier
 Privilegiile asociate unui fisier sau unui catalog determina
operatiile pe care le poate executa un utilizator cu fisierul
sau catalogul respectiv.
Pentru a adauga un fisier intr-un director, folosind PHP,
trebuie sa aveti permisiunea de scriere in acel director,
de asemenea, pentru a adauga date intr-un fisier, trebuie
sa aveti permisiunea de scriere in fisierul respectiv
 PHP furnizeaza numeroase functii care va permit sa
obtineti informatii care descriu un fisier
Lucrul cu fisiere
Lucrul cu fisiere
Privilegii de fisier
 Privilegiile asociate unui fisier (sau director) determina
operatiile pe care utilizatorii le pot efectua cu fisierul (sau
directorul) respectiv
 Privilegiile sunt date sub forma a trei grupuri alcatuite din câte
trei caractere fiecare; cu alte cuvinte, trei triade.
 Cele 3 caractere care alcatuiesc un grup sunt reprezentate, in
sistemele UNIX, prin urmatoarele tri litere: 'r', 'w' si 'x'; acestea
reprezinta:
 r - fisierul poate fi citit
w - se poate scrie în fisier
x - continutul fisierului poate fi executat
 Caracterele unei triade apar întotdeauna în secventa 'rwx'.
 Daca o anumita litera este înlocuita de o cratima (-), privilegiul
asociat nu este accesibil.
Lucrul cu fisiere
Modificarea privilegiilor unui fisier
 Pentru a modifica privilegiile unui fisier, folositi
functia chmod():
chmod(nume_fisier, mod)
 Argumentul 'nume_fisier' specifica numele si calea de acces a
fisierului ale carui privilegii urmeaza a fi modificate, iar
argumentul 'mod' specifica privilegiile dorite
 In general, se prefera exprimarea privilegiilor sub forma unui
numar scris în octal. Pentru aceasta, prefixati valoarea
folosind cifra 0.
 Pentru a specifica privilegiile folosind cifre în octal, calculati
valoarea numerica a fiecarei triade
 Numerele asociate privilegiilor sunt urmatoarele: r - 4; w - 2;
x-1
 De exemplu, privilegiul "rwx" are valoarea 4 + 2 + 1 = 7.
Similar, privilegiul "r-x" are valoarea 4 + l = 5, iar privilegiul "r--"
are valoarea 4.
Lucrul cu fisiere
Modificarea privilegiilor unui fisier
 Pentru a modifica grupul posesor al unui fisier, invocari
functia chgrp(), care are forma:chgrp("nume_fifier", grup)
 - Unde "grup" este un nume sau numar care desemneaza
grupul respectiv.

Deschiderea unui fisier


 Inainte de a putea citi sau scrie într-un fisier, trebuie sa
deschideti fisierul folosind functia fopen().
fopen("nume_fisier", "mod")
 unde 'nume_fisier' specifica numele si calea spre fisierul care
urmeaza a fi deschis, iar 'mod' indica tipul de acces dorit.
Lucrul cu fisiere
Deschiderea unui fisier
 Modurile de deschidere a unui fisier sunt urmatoarele:r -
Permite doar citirea fisierului
r+ - Citire sau scriere de la inceputul fisierului
w - Creaza fisierul daca nu exista si suprascrie datele existente
w+ - Citire sau scriere; la scriere , creeaza fisierul daca nu
exista si suprascrie datele existente
a - Adaugare; Creaza fisierul daca nu exista si adauga datele
noi la sfarsitul fisierului existent
a+ - Citire sau scriere; la scriere, creaza fisierul daca nu exista
si adauga datele noi la sfarsitul fisierului existent
x - Doar scriere; Creaza fisierul daca nu exista si genereaza un
averisment daca acesta exista
x+ - Citire sau scriere; Creaza fisierul daca nu exista si
genereaza un averisment daca acesta exista
b - Deschide fisierul in mod binar
Lucrul cu fisiere
Inchiderea unui fisier
 Un fisier deschis consuma resursele sistemului.
 Când un script a terminat de utilizat un fisier, scriptul
trebuie sa închida fisierul, eliberând aceste resurse.
 La sfârsitul unui script, PHP închide în mod automat
fisierele deschise.
 Pentru a închide un fisier, folositi functia fclose():
fclose(identificator_fisier)
 'identificator_fisier' este identificatorul fisierului, returnat
la deschiderea acestuia cu functia fopen()
Lucrul cu fisiere
Citirea dintr-un fisier
 PHP furnizeaza o varietate de functii pentru citirea fisierelor.
 Una dintre acestea este fread(), care are urmatoarea
forma:
fread(identificator_fisier, lungime)
 Argumentul 'identificator_fisier' este valoarea returnata de
functia fopen(), iar argumentul 'lungime' specifica numarul
maxim de octeti care vor fi cititi.
 Octetii cititi din fisier sunt returnati sub forma de valoare de tip
sir.
 Daca operatia de citire întâlneste sfârsitul fisierului, PHP va
returna mai putin de lungime octeti data.
 PHP include o functie conexa, denumita fgetc(), care citeste
un octet din fisierul specificat.
Lucrul cu fisiere
Scrierea într-un fisier
 Pentru a scrie intr-un fisier se foloseste functia fwrite(),
aceasta are urmatoarea forma:
fwrite(identificator_fisier, date);
 Unde 'identificator_fisier' este identificatorul de fisier
returnat de functia fopen(), iar 'date' este o valoare sir
care determina datele care urmeaza a fi scrise.
 Daca executia functiei reuseste, returneaza numarul
octetilor scrisi; în caz contrar, returneaza valoarea —l.
 PHP dispune de o alta functie pentru scrierea
fisierelor, fputs(). Totusi, în afara de nume, fputs() este
similara cu functia fwrite().
Utilizarea de sesiuni PHP
 Sesiunea reprezinta o modalitate prin care PHP retine
informatii de la o pagina la alta
 Odata cu initializarea unei sesiuni, utilizatorul poate pastra
anumite variabile chiar daca in continuare viziteaza si alte
pagini ale site-ului
 Lucrurile se desfasoara ca in felul urmator:
 In momentul cand un user s-a logat la site, PHP atribuie acestuia
un identificator unic de sesiune : SID.
 Acest SID este inglobat intr-un coockie cu numele PHPSESSID si
trimis apoi catre browserul utilizatorului.
 Daca browserul nu suporta cookie-uri sau acestea sunt
dezactivate, atunci acest SID este adaugat la adresa URL.
 In acelasi timp se creeaza pe server un fisier cu numele SID.
 In continuare daca utilizatorul doreste sa stocheze anumite
informatii, acestea vor fi practic scrise in acest fisier SID de pe
server.
Utilizarea de sesiuni PHP
 Sesiunile au urmatoarele avantaje:
 Pot fi folosite chiar daca browserul utilizatorului nu suporta
cookie-uri sau daca acestea sunt dezactivate.
 Permit stocarea unui volum mare de informatii, spre deosebire
de cookie-uri care sunt limitate in aceasta privinta.
 Sunt mai sigure in raport cu cookie-urile deoarece informatiile
nu sunt transmise in mod repetat intre client si server.
 Initializarea unei sesiuni se face cu functia:
session_start()
 Instructiunea session_start() nu este necesare daca in
fisierul de configurare "[Link]", variabila
"session.auto_start" are valoarea TRUE.
Utilizarea de sesiuni PHP
Manipularea variabilelor sesiunii.
 in anumite momente ar putea fi util sa aflam identificatorul
sesiunii curente. Pentru aceasta folosim functia session_id(),
ca in exemplul urmator:
<?php
echo "<br /> Identificatorul sesiunii curente SID este:". session_id();

//Va afisa un rezultat asemanator cu: "Identificatorul sesiunii curente SID


este:2846240682abf24a09f42664fc03bbf3"
?>

 Functia session_id() accepta un parametru.


 Astfel putem seta un anumit SID pentru sesiunea curenta. In
acest caz trebuie sa apelam functia session_id() inainte de
functia : session_start()
Utilizarea de sesiuni PHP
Manipularea variabilelor sesiunii.
 Deoarece variabilele de sesiune pot fi citite de alti utilizatori
neautorizati, nu este indicat sa pastram aici informatii
esentiale cum sint parolele.
 Pentru a creea un minimum de securitate putem codifica
aceste informatii, folosind functile de criptare oferite de PHP:
md5() sau crypt()
 Functia md5(sir_de_caractere) cripteaza sirul de caractere
furnizat ca parametru si returneaza un sir de 32 charactere
hexazecimale.
 Aceasta functie foloseste algoritmul de criptare: "RSA Data
Security, Inc. MD5 Message-Digest Algorithm".
Utilizarea de sesiuni PHP
Exemplu:
 Consideram cazul in care avem o variabila de sesiune "$parola"
care pastreaza o parola si dorim sa codificam si sa transmitem
acrasta variabila astfel incat utilizatorii neautorizati sa nu o
poata folosi.
 Folosim functia md5(), pentru a o cripta. Mai mult initializam o
variabila globala cu numele "$secret", careia ii atribuim ca
valoare un sir de caractere oarecare. In continuare, inainte de a
introduce parola intr-o sesiune PHP, concatenam valorile
"$secret" si "$parola" si criptam rezultatul.
 Astfel, chiar daca cineva reuseste sa decripteze variabila de
sesiune, este putin probabil sa poata separa sirul "$secret"
creat de noi.
 Este bine sa pastram acest fisier intr-un director pretejat, cum
ar fi cu un nivel mai sus decat directorul pentru pagini de Web.
Utilizarea de sesiuni PHP

<?php
$secret = 'abcgfd43599oopjhfdxcaqq30pmnvcx';
$parola = 'mypass';
$cod = md5($secret. $parola);
session_start();
$_SESSION['parola'] = $cod;

// Consideram variabila "$passtest" pentru a testa daca valoarea acesteia este egala cu
parola
if (md5($secret. $passtest) == $_SESSION['parola'])
echo "Parola acceptata";
else
echo "Parola nu este valida";
?>
Utilizarea de sesiuni PHP
Stergerea unei sesiuni
 Pentru a putea sterge o sesiune este necesar sa incepem
scriptul PHP cu instructiunea: session_start(), ca intotdeauna
cand folosim sesiuni.
 Pentru a sterge toate variabilele memorate in matricea
$_SESSION folosim:
unset($_SESSION);
 Pentru a sterge doar o variabila memorata in sesiune folosim :
unset($_SESSION['nume_variabila']);
 Datele sesiunii sunt memorate in server in fisiere temporare.
Pentru a sterge datele sesiunii din server folositi:
session_destroy()

S-ar putea să vă placă și