Sunteți pe pagina 1din 30

1

LUCRUL CU SESIUNI DE UTILIZATOR


Definire
2

 Sesiunea permite stocarea de informaţii în cadrul unei


variabile pentru a fi utilizată în cadrul mai multor pagini.
 sesiunile nu păstrează valorile stocate pe calculatorul
utilizatorului
 păstrează informaţiile până la închiderea browser-ului,
sau până când utilizatorul distruge în mod explicit sesiunea
curentă
Crearea unei sesiuni
3

 pentru a putea lucra cu sesiuni trebuie să se deschidă


sesiunea folosind funcţia session_start()
 session_start() se introduce în antetul paginii web
 la crearea unei sesiuni se creează un identificator de
sesiune (SID)
 setarea variabilelor sesiune se face prin variabila
superglobală $_SESSION[’nume_variabila’]
 la fiecare pagină care foloseşte variabila sesiune va
trebui deschisă sesiunea
 nu se transmite variabila de la o pagină la alta, ci
informaţiile conţinute în aceasta
Manipularea variabilelor sesiune
4

 session_id()-află identificatorul sesiunii


 dacă se doreşte atribuirea unei anumite valori pentru
sesiune, aceasta va fi declarată înainte de a deschide
sesiunea
<?php
session_id('1a2bda3bad');
session_start();
echo “Identificatorul sesiunii curente SID=". session_id();
?>
Distrugerea unei sesiuni
5

 session_destroy()- distruge sesiunea şi va şterge şi toate


variabilele sesiune
 unset(nume_variabila_sesiune)-şterge variabila de sesiune
specificată
 session_unset()-şterge toate variabilele de sesiune, dar nu
şi sesiunea în sine
6

FUNCŢII DE DATE ŞI TIMP.


FUNCŢII CARACTER.
ALTE TIPURI DE FUNCŢII.
Funcţii de date şi timp
7

 checkdate(int $month,int $day,int $year )-validează data


 date(string $format)-întoarce data curentă conform unui
format
 getdate()-întoarce un tablou asociativ conţinând informaţia
despre dată şi oră
 gettimeofday()-întoarce un tablou ce conţine datele
întoarse în rezultatul apelului funcţiei de sistem
Checkdate
8

<?php
var_dump(checkdate(2, 29, 2001));
?>

Funcţia var_dump va afişa informaţii despre variabilă.


Întoarce o valoare booleană.
Date
9
Format Efect
a am sau pm
A AM sau PM
d Ziua lunii de forma 01 până la 31
F Luna, sub formă de caractere (March)
h Ora – format pe 12 ore (01-12)
H Ora – format pe 24 ore (00-23)
i Minute, de la 00 la 59
j Ziua din lună, adică de la 1 la 31
l Ziua săptămânii
m Luna, adică de la 1 la 12
s secunde
w ziua săptămânii format întreg,
unde 0 reprezintă Duminică până la 6 reprezintă Sâmbătă
y anul cu 4 cifre
Y anul cu 2 cifre
z ziua din an, adică de la 0 la 365
Date
10

<?php
echo date(„l,j F, Y”);
?>
Getdate
11

timestamp Valoare
„seconds” secunde
„minutes” minute
„hours” ore
„mday” ziua din lună sub formă de număr
„wday” Ziua din săptămână sub formă de număr
„mon” Luna sub formă de număr
„year” anul
„yday” Ziua din an, sub formă de număr
„weekday” Ziua, (Friday)
„month” Luna, (May)
Getdate
12

<?php
$data=getdate();
echo $data[’mday’].”.”.
$data[’month’].”.”.$data[’year’]
?>
Gettimeofday
13

Cheie Valoare
„sec” secunde
„usec” microsecunde
„minuteswest” Minute vest faţă de Greenwich

<?php
echo gettimeofday();
?>
Funcţii pe şiruri de caractere
14

 explode (string $delimiter, string $string [, int $limit])


 ltrim/ rtrim/ trim(string $str[,string $charlist])
 md5 (string $str)
 str_ireplace ($search,$replace,$subject)
 str_repeat(string $input,int $multiplier )
 str_replace($search, $replace, $subject[, $count])
 strcasecmp(string $str1 , string $str2 )
 strcmp(string $str1 , string $str2 )
 stripos(string $haystack, string $needle)
 strlen ( string $string )
 substr ( string $string , int $start [, int $length ] )
 str_replace($search, $replace, $subject)
Explode
15

 explode (string $delimiter, string $string [, int $limit])


 $delimiter–este caracterul după care se face împărţirea
 $string – şirul care este împărţit

 $limit–precizează în câte subşiruri se împarte.

<?php
$sir="subsir1 subsir2 subsir3";
$subsir=explode(" ",$sir);
echo $subsir[0];
echo $subsir[1];
$sir1='sir1|sir2|sir3';
print_r(explode('|',$sir1,2));
print_r(explode('|',$sir1,-1));?>
Ltrim/ rtrim/ trim
16

 ltrim/ rtrim/ trim(string $str) -elimină spaţiile din stânga,


dreapta sau din ambele capete ale şirului
<?php
$variabila=‘ valoare variabila ‘;
echo trim($variabila);
?>
Md5
17

 md5 (string $str)-codifică şirul de caractere. Întoarce un şir


de 32 de caractere hexazecimale.
 nu va mai putea fi decodificat

<?php
$variabila='programare1';
if(md5($variabila)=='be394f7907863ddf6edfacecdf476aa8')
echo 'S-a scris Programare';
else exit('Nu este ceea ce trebuie');
?>
 Funcţia exit($mesaj)-afişează mesajul şi întrerupe execuţia

script-ului curent
Str_ireplace
18

 str_ireplace ($search,$replace,$subject)
 înlocuieşte un şir de caractere cu un alt şir de caractere,
fără a face diferenţă între litere mari şi litere mici

<?php
$sir='Marti avem cursul de PW';
$modificare = str_ireplace("PW", "Programare Web",$sir);
echo $modificare;
?>
<?php
$sir='Marti avem cursul de PW';
$modificare = str_ireplace("pw", "Programare Web",$sir);
echo $modificare;
?>
Str_repeat
19

 str_repeat(string $input,int $multiplier) - repetă un şir de


caractere
<?php
$sir='repetare ';
$repeta=str_repeat($sir,4);
echo $repeta;
?>
Str_replace
20

 str_replace($search, $replace, $subject[, $count])


 înlocuieşte toate apariţiile şirului de caractere căutat cu
şirul de înlocuire, fiind case-sensitive
 $search – ce anume va înlocui
 $replace – şirul cu care se va înlocui

 $subject – şirul unde se va înlocui

 $count – va returna numărul rezultatelor găsite

Dacă $subject este tablou, atunci şirul se va înlocui în toate


elementele tabloului.
Str_replace
21

<?php
$sir=‘Marti avem cursul de PW';
$modificare = str_replace("pw", "Programare Web",$sir);
echo $modificare;?>
<?php
$sir=‘Marti avem cursul de PW';
$modificare = str_replace(“PW", "Programare Web",$sir);
echo $modificare;?>
<?php
$sir=‘Marti avem cursul de Programare Web';
$vocale=array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$modificare=str_replace($vocale,"",$sir);
echo $modificare;?>
<?php
$sir=‘Marti avem cursul de PW';
$vocale=array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$modificare=str_replace($vocale,"",$sir,$aparitii);
echo $modificare.'<br>'.$aparitii;?>
Strcasecmp
22

 strcasecmp(string $str1 , string $str2 )-compară două şiruri


fără a face distincţie între litere mari şi mici şi va întoarce
>0 dacă primul şir este mai mare decât al doilea şir, <0
dacă primul este mai mic decât al doilea şi 0 dacă sunt
egale
<?php
$var1="sir";
$var2="SIR";
if(strcasecmp($var1,$var2)==0)
{echo 'Sirurile sunt la fel';}
?>
Strcmp
23

 strcmp(string $str1 , string $str2 )-compara doua siruri de


caractere făcând diferenţă între litere mari şi litere mici

<?php
$var1="sir";
$var2="SIR";
if(strcasecmp($var1,$var2)==0)
{echo 'Sirurile sunt la fel';}
else echo 'Sirurile nu sunt la fel';
?>
Stripos
24

 stripos($sir, $cautare)-găseşte poziţia primei apariţii a


unui şir de caractere într-un alt şir, fără să facă diferenţă
între literele mici si cele mari
 $sir– şirul în care se face căutarea
 $cautare – şirul care este căutat
<?php
$cauta='a';
$sir=‘Marti la ora 8 avem PW';
$pozitie=stripos($sir,$cauta);
if($pozitie!==false)
{echo "Pozitia este ".$pozitie;}
else echo "Nu s-a gasit caracterul cautat";
?>
Substr
25

 substr ($sir, $inceput [,$lungime ])-returnează o parte a


şirului
 $inceput<0- se va porni de la sfârşit către început
 $lungime<0 - nu se vor lua ultimele $lungime caractere.

<?php
$rest=substr("abcdef",-1);
$rest=substr("abcdef",-2);
$rest=substr("abcdef",-3,1);
$rest=substr("abcdef",0,-1);
$rest=substr("abcdef",2,-1);
$rest=substr("abcdef",4,-4);
$rest=substr("abcdef",-3,-1);
?>
Strlen
26

 strlen ($sir)-obţine lungimea unui şir de caractere

<?php
$sir='Am de cautat litera a';
$numar=strlen($sir);
echo $numar
?>
Alte tipuri de funcţii-funcţii matematice
27

 abs ( mixed $number )-valoarea absolută a unui nr.


 ceil ( float $value )-rotunjeşte la cel mai mare nr. întreg
 exp ( float $arg )-calculează exponenţiala
 floor ( float $value )-rotunjeşte la cel mai mic nr. întreg
 max/min(array $values )
 mixed max/min(mixed $val1,mixed $val2 [,mixed
$val3...])
 pow(number $baza,number $exponent)
 rand ( int $min , int $max )
 round(float $val[,int $precision=0])
 sqrt ( float $arg )
Exemple 1
28

<?php <?php
$abs=abs(-4.2); echo exp(5.7);
?> ?>
<?php <?php
$a=ceil(7.9); echo floor(4.3);
$b=ceil(-7.5); echo floor(9.999);
echo $a; echo floor(-3.14);
echo $b;?> ?>
<?php
echo round(3.4);
echo round(3.5);
echo round(1.95583,2);
?>
Exemplu max/min
29

 Dacă argumentul este tablou va afişa valoarea cea mai


mare din tablou
 Dacă se compară tablouri, atunci evaluarea se va face de
la stânga la dreapta.
Exemplu max/min
30

<?php
echo max(1, 3, 5, 6, 7);
echo max(array(2, 4, 5));
$val = max(array(2,4,8),array(2,5,7));
$val = max(array(2,5,7),42);
?>