Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I [612062]
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
1
Limbajul PHP
1. Ce este PHP ………………………….. ………………………….. ………………………….. ………………………….. …… 2
2. Tehnologia client – server ………………………….. ………………………….. ………………………….. …………… 2
3. Ce inseamna site? ………………………….. ………………………….. ………………………….. ………………………. 3
4. Vizualizarea fisierelor scrise in cod PHP ………………………….. ………………………….. …………………….. 4
5. Sintaxa limbajului ………………………….. ………………………….. ………………………….. ………………………. 4
6. Afisarea in PHP ………………………….. ………………………….. ………………………….. ………………………….. 5
7. Comentarii in PHP ………………………….. ………………………….. ………………………….. ………………………. 5
8. Variabile in PHP ………………………….. ………………………….. ………………………….. …………………………. 5
1. Declararea variabilelor ………………………….. ………………………….. ………………………….. ……………. 6
2. Atribuirea de valori unei variabile (prin initializare) ………………………….. ………………………….. … 7
3. Variabile numerice ………………………….. ………………………….. ………………………….. …………………. 7
9. Operatori PHP ………………………….. ………………………….. ………………………….. ………………………….. .. 8
1. Operatori aritmetici ………………………….. ………………………….. ………………………….. ………………… 8
2. Operatori de atribuire ………………………….. ………………………….. ………………………….. …………….. 9
3. Operatori de comparare ………………………….. ………………………….. ………………………….. ………….. 9
4. Operatori logici ………………………….. ………………………….. ………………………….. ………………………. 9
10. Siruri de caractere ………………………….. ………………………….. ………………………….. ………………….. 9
1. Operatorul de concatenare ………………………….. ………………………….. ………………………….. ……. 10
11. Ghilimele simple s i duble ………………………….. ………………………….. ………………………….. ………. 10
12. Formulare ………………………….. ………………………….. ………………………….. ………………………….. .. 11
1. Formularul HTML ………………………….. ………………………….. ………………………….. ………………….. 12
2. Fisierul test -form.php ………………………….. ………………………….. ………………………….. ……………. 13
13. Structuri de control in PHP ………………………….. ………………………….. ………………………….. …….. 13
1. Structura alternativa if ………………………….. ………………………….. ………………………….. ………….. 13
2. Instructiunea de selectie multipla ………………………….. ………………………….. ……………………….. 14
3. Structura repetitiva for ………………………….. ………………………….. ………………………….. ………….. 14
4. Foreach ………………………….. ………………………….. ………………………….. ………………………….. …… 14
5. Structura repetitiva while ………………………….. ………………………….. ………………………….. ………. 15
6. Sortarea vectorilor ………………………….. ………………………….. ………………………….. ………………… 15
7. Structura repetitiva do… while ………………………….. ………………………….. ………………………….. .. 15
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
2
14. Includerea altor scripturi ………………………….. ………………………….. ………………………….. ……….. 16
15. Aplicatii – Structuri repetitive ………………………….. ………………………….. ………………………….. …. 16
1. Afisarea unui element de tip select cu valori de la 1 la 100 ………………………….. …………………. 16
2. Afisarea unui element de tip select cu toate tarile ………………………….. ………………………….. … 17
3. Cautarea unei valori intr -un vector ………………………….. ………………………….. ……………………… 18
4. Operatii comune cu indicatori de timp ………………………….. ………………………….. ………………… 18
5. Variabi le speciale – (superglobals) ………………………….. ………………………….. ………………………. 18
$_GET ………………………….. ………………………….. ………………………….. ………………………….. …………. 19
$_POST: ………………………….. ………………………….. ………………………….. ………………………….. ……… 19
$_REQUEST: ………………………….. ………………………….. ………………………….. ………………………….. … 19
$_SESSION ………………………….. ………………………….. ………………………….. ………………………….. ….. 19
$_SERVER: ………………………….. ………………………….. ………………………….. ………………………….. …… 19
1. Ce este PHP
Initial PHP era acronimul pentru „Personal Home Page”, un limbaj de scriptare creat in
1994 de Rasmus Lerdorf pentru a contabiliza vizitatorii CV -ului personal, publicat pe
Internet. Pe masura ce a inceput sa fie folosit in contexte cu caracter profesional numele
limbajulu a devenit: „ PHP: Hypertext Preprocesor ”.
PHP este un limbaj de script are inglobat in HTML. Scripurile PHP pot fi intr etesute cu
scriptul HTML.
Scripturile scrise in PHP sunt stocate si executate pe u n calculator gazda numit server, nu
pe client. Serverul transmite pagini web catre vizitatorii care le solicita folosind un
browser. Daca se incearca vizualiza rea codul ui sursa al unei pagini web dinamice se va
observa ca el contine doar tag -uri html, acestea fiind rezultatul obtinut în urma
interpretarii codului php.
Atunci cand un vizitator ajunge la un site web scris in PHP, serverul citeste codul PHP si il
prelucreaza in conformitate cu directivele din scripturi. Acest mod de lucru este diferit
fata de cazul unui site HTML static, unde serverul nu face decat sa transmita datele catre
browser -ul de web si unde nu se face nici o operatie de interpretare pe partea de server.
2. Tehnologia client – server
In sens larg, un server este un dispozitiv (combinatie de hardware si software) care ofera
servicii si/sau informatii utilizatorilor (clientilor).
Odata cu notiunea de server apare si cea de arhitectura client -server , care se refera la
un ansamblu format dintr -un dispozitiv server (furnizor de informatii) si un dispozitiv
(calculator) client, conectate prin intermediul unei retele si care fac schimb de informatii.
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
3
Cel mai comun exem plu al acestui ansamblu este dat de functionalitatea de partajare a
fisierelor in retea (File Sharing). Spre exemplu, un calculator contine un folder partajat
(share -uit) si un alt calculator copiaza folderul prin retea. In aceasta situatie, calculatorul
care ofera folderul are functia de server iar cel care preia folderul – pe cea de client. Rolul
de client/server nu este statornic in acest scenariu, oricare din cele doua calculatoare
putand oricand sa detine oricare din functii.
Un tip particular de serv er, este server -ul web . Un server web este un sistem care
gazduieste si ofera pagini web prin intermediul unei retele . De cele mai multe ori,
termenul de server web desemneaza o aplicatie, un program care ruleaza pe
calculatorul -server si care este respons abil cu primirea cerintelor de la utilizatori si
transferarea paginilor web catre ei.
Instaland pachetul EasyPHP, calculatorul personal devine un server web (local, ce -i drept –
accesibil doar de catre tine). Practic PC -ul se comporta ca un site ce are adresa http://localhost/
(sau http://127.0.0.1/ ). Este foarte important ca fisierele PHP sa fie accesate prin intermediul
serverului web, deoarece acesta recunoaste scripturile PHP si invoca aut omat interpretorul
PHP. Fara aceasta intermediere oferita de web -server, scripturile PHP nu ar fi procesate ci
trimise asa cum sunt la browser .
De exemplu, avem un fisier care contine doar urmatorul cod: (atentie la semnul ! in afara
tagurilor).
<?php print "Salut" ; ?>
Sa presupunem ca fisierul se numeste salut.php
– Daca il accesam in browser folosind adresa "http://localhost/salut.php" (prin intermediul
serverului web local) atunci interpretorul PHP este invoca t, scriptul este executat iar
rezultatul procesarii afisat de browser va fi "Salut!".
– Daca accesam fisierul direct de pe disc, scriind in browser calea lui "file:///C:/Program
Files/EasyPHP -12.0/www/salut.php" nu se va afisa nimic . Asta pentru ca int erpretorul PHP
nu este invocat , iar fisierul este transmis ca atare, cu secventa de cod PHP ne -interpretata
(accesati view -source din browser pentru a verifica).
3. Ce inseamna site?
Paginile stocate pe un calculator -server si oferite publicului larg sunt g rupate sub
denumirea generica de site. Un site (denumit si website ) este, asadar, o colectie de
pagini web, interconectate, stocate pe un server web.
In momentul in care un server web primeste o cerinta de la un utilizator pentru o pagina,
se verifica mai intai existenta acesteia. Daca pagina exista fizic pe server atunci este
transmisa catre utilizator. Paginile returnate de un server web sunt de obicei in format
HTML. Navigatoarele web (browserele) sunt capabile sa interpreteze codul HTML si sa
afiseze i nformatiile intr -un mod usor de citit.
In imaginea de mai jos este reprezentata o comunicare tipica intre un server web si un client.
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
4
Cel mai simplu mod de a lucra cu PHP este sa fie instalat pe calculatorul personal. Este
nevoie, asadar, ca propriul cal culator sa devina un server web mai intai.
4. Vizualizarea fisierelor scrise in cod PHP
Va trebui instalat pe calculatorul propriu un server de WEB care va stoca fisierele. Veti
avea nevoie deci de un soft pentru serverul de web si pentru SQL (pentru site -urile ce
contin baze de date). Un astfel de soft este EasyPHP care poate fi considerat este un
pachet "All in one" si contine urmatoarele componenete:
serverul Apache – are rolul de server de web;
Mysql pentru partea de manipulare a bazelor de date;
php myad min – aplicatia de administrare a bazelor de date .
Eu folosesc versiunea 3.5.2.2.
Toate fisierele cu extensia php vor fi stocate in directorul www aflat la calea: program
files/EasyPHP -12.1/www.
Deoarece scripturile PHP trebuie analizate de server este obligatoriu ca accesul la scrip turile
PHP sa fie facut prin adresa URL (http://localhost/nume_fisier ).
5. Sintaxa limbajului
Codul PHP trebuie inclus in fisiere cu extensia .php ce vor fi deservite utilizatorilor finali si
trebuie delimitat de restul continutului prin tagul de inceput <?php si tagul de sfarsit ?>.
Un fisier php contine tag -uri normale de html si cod php. Marcarea începutului codului
php se face cu „<? PHP” iar sfârsitul bocului de cod php cu „?>”.
Fisierul va fi salvat cu extensia PHP, ceea ce va indica serverului sa trateze scripul ca
pagina PHP . Scripturile se pot scrie in orice editor de text (Notepd sau Notepad++).
Se pot ingloba sesi uni multiple de cod PHP in acelasi document HTM L. Cu alte cuvinte se
poate comuta intre cele doua limbaje.
Exemplu:
<html>
<body>
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
5
<?php echo "Hello lume" ; ?>
</body>
</html>
Observatii:
Fisierul de mai sus trebuie salvat cu extensia php pentru ca severul de web sa
transmita fisierul interpretorului php, i ar codul sursa returnat (vizibil de altfel cu View
Source) este urmatorul:
<html>
<body>
Hello lume</body>
</html>
Un bloc de script php poate fi inserat în orice loc a unui document html.
Fiecare instruct iune php trebuie separata de o alta instructiune cu „;”.
PHP este folosit in principal pentru a genera cod HTML, asa ca de cele mai multe ori
instructiunile folosite sunt cele de afisare.
In aplicatii mai complexe se pot insa folosi si instructiuni de con ectare la bazele de date,
de citire/scriere/manipulare fisiere, intructiuni de trimitere email -uri si altele.
Instructiunile se pot grupa in blocuri delimitate de acolade { }. Aceste blocuri, numite si
"instructiuni complexe" se comporta ca si cum ar fi o singura instructiune (vezi mai jos
exemple de blocuri).
6. Afisarea in PHP
Pentru a afisa ceva în PHP (adica codul html pentru o pagina) se pot utiliza mai multe
functii: echo , print und printf . Functia printf() se utilizeaza asemanator ca în C, în sensul
ca permite formatarea afisarilor. Noi vom folosi functia echo care este putin mai rapida
ca print . Diferenta dintre echo si print este ca print returneaza întotdeauna valoarea 1
dupa ce a fost executata si deci poate fi utilizata în constructii mai complexe.
Exemplu 1
<?php
echo "Acesta este textul care se va afisa" ;
?>
7. Comentarii in PHP
#-ptr un rand;
//…text terminat cu „.”
/* ………..text pe mai multe randuri */
8. Variabile in PHP
Nu trebuie specificat un tip pentru ele (de genul "variabila text", "variabila numerica") ci
acesta este determinat in mod automat.
Variabilele sunt diferentiate de celelalte elemente ale limbajului prin caracterul $. Astfel,
o variabila are forma $nume .
Numele variabilei poate fi orice identificator valid (un text ce contine doar l itere, cifre si
underscore, fara spatii sau alte caractere; un identificator nu poate incepe cu o cifra).
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
6
In PHP exista urmatoarele tipuri:
1. Booleene;
2. Intregi;
3. In virgula mobila;
4. Siruri de caractere ;
5. Tablouri;
6. Obiecte;
7. Resurse (ptr baze de date);
8. Null.
1. Declararea variabilelor
Toate variabilele incep cu semnul de dolar $ urmat de o litera sau cu semnul $ urmat de
„_”. Variabilele sunt case -sensitive astfel incat $ID nu este aceeasi variabila ca $Id.
In PHP declararea variabilelor se realizeaza in acelasi t imp cu initializarea lor (cu
atribuirea unei valori de inceput).
Atribuirea unei valori se realizeaza cu ajutorul instructiunii de atribuire ce are
forma <nume variabila> = <valoare>;
// variabile numerice
$variabila = 1;
$numar = 0;
$text = "Salut" ;// variabile text (stringuri)
$text2 = 'Ce faci?' ;
$stiuPHP = true ; // variabile logice (boolean)
$uitRepede = false ;
// vector
$vectorS = array ( 10,11,12,13 ); // vector simplu
// vector asociativ
$vector = array (
'luni' => 'Monday' ,
'marti' => 'Tuesday' ,
'miercuri' => 'Wednesday'
);
// definirea unei noi componente a unui vector asociativ
$vector [ 'joi' ] = 'Thursday' ;
// vector simplu definit ca asociativ, echivalentul lui $vectorS
$vectorS2 = array (
0 => 10,
1 => 11,
2 => 12,
3 => 13);
Nota: un vector asociativ se diferentiaza de unul normal prin faptul ca are chei alfa -numerice
(cuvinte).
Atentie : PHP face distinctie intre litere le mari si mici. Astfel, cele 3 variabile de mai jos sunt
TOTAL diferite:
$variabila = "negru" ;
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
7
$vaRiabilA = "alb" ;
$Variabila = 1;
2. Atribuirea de valori unei variabile (prin initializare )
Atribuirea unei valori (indif erent ca este vorba de string, integer , float, sau bool) se face
cu operatorul de atribuire „=”.
Exemplu l1:
<html ">
<head></head>
<body>
$first_name = 'Nick';
$last_name = 'Hornby';
$book = 'High Fidelity';
echo "The book $book was written by $first_name $last_name.";
?>
</body>
</html>
# copierea valorii functioneaza si in cazul vectorilor
$vectorS = $vectorS2 ; # toate componentele lui $vectorS2 sunt copiate in $vectorS
# in urma copierii cei 2 vectori vor fi identici
# in cazul vectorilor se pot atribui valori separat fiecarei componente
$vectorS [ 0 ] = 100;
$vectorS [ 3 ] = 10;
$vector [ 'luni' ] = 'Lundi' ;
$vector [ 'joi' ] = 'Jeudi' ;
3. Variabile numerice
In PHP se cunosc doua tipuri de numere: intregi (int) si in virgula mobila (float sau double) .
Numere intregi
La atribuirea valorii unei v ariabile se stabileste automat tipul variabilei. Daca dorim sa
definim o variabila int atunci ii atribuim direct o valoare intreaga.
Exemplu :
<?php
$valoare = 3;
echo "Numarul ales este " .$valoare ."\n";//”.” Este operator de concatenare
echo 100;
?>
Numere float
Numerele care contin parte zecimala sunt de tip float
<?php
$g = 9.81;
echo "Constanta gravitationala g= " .$g." unitatea de masura \n";
?>
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
8
La acest tip de numere este important sa retinem ca separatorul zecimal este semnul
punct, semnul virgula se ut ilizeaza pentru separarea parametrilor unei functii
Calcule in PHP
Exemple:
<body>
<?php
$quantity = 30;
$price = 119.95;
$taxrate = .05; // 5% sales tax.
// Calculate the total.
$total = $quantity * $price;
$total = $total + ($total * $taxrate); // Cal culate and add the tax.
$total = number_format ($total, 2);
// Print the results.
echo 'Cumperi' . $quantity . 'de legume la pretul de ' . $price . ' each. Totalul devine
<b>' . $total . '</b>.';
?>
</body>
9. Operatori PHP
1. Operatori aritmetici
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
9
2. Operatori de atribuire
3. Operatori de comparare
4. Operatori logici
10. Siruri de caractere
Exemplu:
$first_name=’popescu’
Echo ”primul nume este $first_name”;
Exemplu :
<?php
$x = "Salutare!";
$_y = "Studenti";
Echo ’ $x $_y’;
?>
Exemplu:
<body>
<?php
$first_name = 'Nick';
$last_name = 'Hornby';
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
10
$book = 'High Fidelity';
echo "The book $book was written by $first_name $last_name.";?>
</body>
</html>
1. Operatorul de concatenare
Pentru a uni doua siruri de caractere se utilizeaza operatorul “ .” (punct).
Exemplu :
<?php
$variable = "Buna" ." ziua!" ;
echo $variable ; // va afisa "Buna ziua!"
echo "Salutare" ."studenti" ; // va afisa "Salutarestudenti"
?>
Se pot uni inclusiv o variabila de tip string cu un string sau doua variabile de tip string.
Exemplu :
<?php
$x = "Mama" ;
$name = $x." mea" ; // va uni continutul lui $ x + " mea" (cu spatiu)
echo $name ; // va afisa "Mama mea"
echo $name ." si a ta" ;// va afisa "Mama mea si a ta"
?>
Intr-o expresie se pot utiliza mai multi operatori de concatenare. Oricum nu se va tine
cont daca se un esc string -uri sau variabile.
Exemplu :
<?php
$prenume = "Radu ";
$nume = "Popescu ";
$Nume = $prenume ." ".$nume ; // Variabilele contin siruri de caractere si
//trebuie sa adaugam manual un spatiu
echo $name ; // Va afisa "Radu Popescu "?>
11. Ghilimele simple si d uble
In PHP exista o diferenta intre ghilimele simple si duble. Valorile incadrate intre ghilimele
simple vor fi tratate literal, in timp ce valorile incadrate cu ghilimele duble vor fi
interpretate. Astfel, plasarea variabileor intre ghilimele duble va av ea ca rezultat afisarea
valorilor reprezentate de acestea, nu a valorilor literale.
Exemplu:
$var=’test’;
Codul: echo ’variabila este egala cu $var’ va avea ca efect afisarea:
variabila este egala cu $var
iar codul: echo ”variabila este egala cu $var” va avea ca efect afisarea:
variabila este egala cu test
ghilimelele duble determina inlocuirea numelui unei variabile ($var) cu valoatea acesteia
(test) si a codului unui caracter special( \$) cu valoarea acestuai ($).
Ghilimelele simple vor afisa intodeauna textul exact asa cum este scris, cu exceptia ” \’” si
”//”.
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
11
Exemplu:
<body>
<?php
$quantity = 30;
$price = 119.95;
$taxrate = .05; // 5% sales tax.
// Calculate the total.
$total = $quantity * $price;
$total = $total + ($total * $taxrate); // Calculate an d add the tax.
$total = number_format ($total, 2);
// Print the results.
echo 'Using double quotation marks:<br />';
echo "You ar e purchasing $quantity at a cost of $price each. With tax, the total
comes to $total . \n";
?>
</body>
Daca se doreste afisarea valorii unei variabile se va incadra in ghilimele duble.
Deoarece c odul HTML contine de multe ori cod inscris in ghilimele duble este indicat sa
se incadreze in ghilimele simple, atunci cand in cod PHP avem cod HTML.
Exemplu:
echo ’<table width=”80%” border=”0” cellspacing=”2” cellpading=”1”
align=”center”>’;
Sau, se poa te folosi:
echo ”<table width= \”80% \” border= \”0\” cellspacing= \”2\” cellpading= \”1\”
align= \”center \”>”;
Exemplu:
$today = date ( 'd-m-Y' );
$text1 = "Azi e $today" ;
echo ’ $text1 ’; // Azi e ..
Astfel, textul cuprin s intre ghilimele duble este procesat inainte de afisare: variabilele
sunt cautate iar valoarea lor este afisata in locul numelui.
In cazul apostrofului, textul este afisat neschimbat, iar variabilele nu sunt interpretate.
Exemplu:
$today = date ( 'd-m-Y' );
$text2 = 'Azi e $today' ;
echo ' $text2 '; // Azi e $today
12. Formulare
Gestionarea formularelor in PHP este un proces in doua etape.
In prima etapa se creaza formularul HTML pr opriu -zis, folosind orice editor de
text.
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
12
In etapa a doua se creaza scriptul PHP corespondent, care va primi si va prelucra
datele din formular.
1. Formularul HTML
<head>
<meta http -equiv="content -type" content="text/html; charset=UTF -8" />
<title> Test -Form </title>
</head>
<body>
<form action="test -form.php" method="POST">
Nume: <input type="text" name="nume" />
<br /> Prenume:< input type="text" name="prenume">
<br /> Email:< input type="text" name="email" />
<br /> Genul:< input type="radio" name="genul" value= "B"/>Barbatesc
<input type="radio" name="genul" value="F"/>Femeiesc
<br /> Varsta:< select name="varsta">
<option value="0 -29">Sub 30 de ani</option>
<option value="30 -60">Intre 30 si 60 de ani</option>
<option value="60+" >Peste 60 de ani</option>
</select>
<br /> Parola: <input type="password" name="parola" />
<br /> Comentarii:< textarea name="comentarii" rows="3" cols="30"></textarea>
<br /><input type="submit" name="submit" value="Trimite datele" />
</form>
</body>
</html>
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
13
2. Fisierul test -form.php
<?php
$nume = $_POST['nume'];
$prenume = $_POST['prenume'];
$email = $_POST['email'];
$parola = $_POST['parola'];
$genul = $_POST['genul'];
$varsta = $_POST['varsta'];
$comentarii= $_POST['comentarii'];
echo "Nume = $nume" ;
echo "<br />Prenume = $prenume";
echo "<br />E -mail = $email";
echo "<br />Varsta = $varsta";
echo "<br />Genul = $genul";
echo "<br />Parola = $parola";
echo "<br />Comentarii = $comentarii";
?>
13. Structuri de control in PHP
1. Structura alternativa if
Poate cea mai des intalnita structura de control este instructiunea if. Aceasta este
folosita pentru a executa o secventa de cod in functie de valoarea de adevar a unei
conditii. Sintaxa este prezentata mai jos:
if( conditie ) instructiune 1;
Exemplu
<?php
$t=date(„H”);
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
14
If($t<”20”)echo ”buna ziua”;
else echo ”noapte buna”; ?>
2. Instructiunea de selectie multipla
O instructiune ce se aseamana cu if este switch , o structura ce permite executarea uneia
sau mai multor linii de cod in functie de valoa rea unei expresii. Instructiunea switch este
utila in cazurile in care este nevoie sa se verifice mai multe valori posibile ale unei
expresii.
<?php
$var = 3;
// se vor executa instructiunile de pe ramura care
// corespunde valorii variabilei $var
switch( $var ) {
case 0: echo 'zero'; break;
case 1: echo 'unu'; break;
case 2: echo 'doi'; break;
case 3: echo 'trei'; // afisez trei
break; // intrerup fluxul executiei switch
case 4: echo 'patru'; break;
case 5: echo 'cinci'; bre ak;}
echo "\n", 'Gata!' ;
?>
3. Structura repetitiva for
Exmplu l 1
<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x <br>";
}
?>
Exemplul 2
<?php
$cars = array("Volvo", "BMW", "Toyota");
$n = count($ cars);
for($x = 0; $x < $ n; $x++) {
echo $cars[$x];
echo "<br>";
} ?>
4. Foreach
<?
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
15
$color=array(”rosu”,”verde”,” albastru ”,”galben”);
foreach($color as $value) echo ”$value”; ?>
5. Structura repetitiva while
Exemplu:
<?php
$x = 1;
while($x <= 5) {
echo "The number is: $x <br>";
$x++;
}
?>
6. Sortarea vectorilor
-se realizeaza folosind functia sort();
Exemplu
$masini=array(”Volvo”,”Mercedes”,”Toyota”,”BMW”);
sort($masini);
for($i=0;$i<=count($masini);$i++)echo ”$masini[$i] <br>”;
7. Structura r epetitiva do… while
Alta structura repetitiva este do… while . Diferenta fata de while este ca verificarea de
face la final, dupa ce se executa cel putin o data secventa de cod. O traducere in
cuvintele noastre ar fi: "executa secventa si cat timp condi tia este adevarata, repet -o".
Exemplu
<?php
$x = 1;
do {
echo "The number is: $x <br>";
$x++;
} while ($x <= 5); ?>
Exemplu
$vector = array ( 3, 4, 5, 1, 2, 9, 76, 42, 2, 9, 6, 0, 4, 1, 10 );
$pozitie = 0; // plecam de la primul element
do {// presupun mai intai ca elementul e gasit
$gasit = true ;
if( $vector [ $pozitie ] != 0 ) {
$gasit = false ;
$pozitie ++;}
} while ( !$gasit && $pozitie < count ( $vector ) );
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
16
if( $gasit ) print "Am gasit 0 pe pozitia $pozitie" ;
else print "Nu am gasit 0 in vectorul asta" ;
/* afiseaza Am gasit 0 pe pozitia 11 */
14. Includerea alto r scripturi
PHP permite referirea unor fisiere PHP externe si includerea lor in fluxul curent de
executie folosind functiile
include sau
require .
Important de mentionat, in momentul in care un script este inclus cu una din cele 2
functii, el este im ediat si executat (interpretat). Practic, fluxul de executie al scriptului
initial (cel in care apare instructiunea include sau require ) este intrerupt temporar pentru
a executa scriptul inclus, urmand ca dupa finalizarea executiei, fluxul initial sa fie r eluat.
Exemplu
<?php
// fisierul config.php
echo 'Sunt in config.php <br />' ;?>
<?php
// fisierul script.php
include ( 'config.php' );
echo 'Sunt in script.php <br />' ;
?>
Prin fu nctionalitatea lor, instructiunile include si require devin utile la organizarea
codului PHP si la mentinerea unei structuri simple de executie prin folosirea mai multor
fisiere pentru o singura activitate. Astfel, putem sa separam codul in scripturi PHP d e sine
statatoare ce vor fi "puse cap la cap" prin apeluri de include sau require .
Cele doua functii au fiecare cate o varianta: include_once respectiv require_once . Aceste
forme, dupa cum si numele o spune, includ fisierul specificat o singura data, astfe l incat,
daca fisierul solicitat a fost deja inclus la o noua apelare a include_once sau
require_once acesta nu va fi inclus a doua oara. Aceste forme ale functiilor sunt utile
atunci cand fisierle incluse contin declaratii ce trebuie sa fie facute o si ngura data.
15. Aplicatii – Structuri repetitive
1. Afisarea unui element de tip select cu valori de la 1 la 100
Exemplu:
$end = 100;
# operatia repetitiva: afisarea unui element de tip <option>
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
17
# conditia de continuare: inca nu s -au efectuat $end repetari
# nota: ca zi in cazul anterior se cunoaste numarul de repetari
echo "<select>" ;
for( $i = 1; $i <= $end ; $i++ ) {
echo "<option value= \"$i\">$i</option> \n";
}
echo "</select>" ;
Rezultatul codului de mai sus este urmatorul:
2. Afisarea unu i element de tip select cu toate tarile
<?php
/*ne trebuie o lista de tari. Cel mai uzual pastram doar codul tarii, iar numele il afisam
doar. Astfel, optiunile vor avea ca "value" codul tarii iar ca "text" – numele. */
$countries = array (
'AF'=>'Afgha nistan' ,
'AL'=>'Albania' ,
'+DZ'=>'Algeria' ,
'AS'=>'American Samoa' ,
'AD'=>'Andorra' ,
'AO'=>'Angola' ,
'AI'=>'Anguilla' ,
'AQ'=>'Antarctica' ,
'AG'=>'Antigua And Barbuda' ,
'AR'=>'Argentina' ,
'AM' =>'Armenia' ,
'WS' =>'Western Samoa' ,
'YE'=>'Yemen' ,
'YU'=>'Yugoslavia' ,
'ZM' =>'Zambia' ,
'ZW' =>'Zimbabwe' );
# avand un array asociativ, este mai dificil sa -i accesam elementele, asa ca nu vom
# mai folosi for. Vom folosi in schimb un iterator
echo '<select name="tara">' , "\n"; # afisez pe alt rand pentru a aseza in pagina sursa
HTML
foreach ( $countries as $code => $name ) {
echo '<option value="' , $code , '">', $name , '</option>' , "\n";}
echo "</select> \n"; ?>
Rezultat:
Antarctica
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
18
3. Cautarea unei valori intr -un vector
Exemplu:
/* avem un vector cu un numar necunoscut de valori; vrem sa cautam valoarea 0
$vector = array ( 3, 4, 5, 1, 2, 9, 76, 42, 2, 9, 6, 0, 4, 1, 10 );
$gasit = false ;
$pozitie = 0;
while ( !$gasit ) {
if( $vector [ $pozitie ] == 0 ) {
$gasit = true ;
print "Am gasit 0 pe pozitia $pozitie" ; }
$pozitie ++;
if( $pozitie == count ( $vector ) ) {
$gasit = true ; // ca sa nu mai repete
print "Nu am gasit 0 in vect orul asta" ; }}
4. Operatii comune cu indicatori de timp
Limbajul PHP ofera solutii simple (dar puternice) pentru lucrul cu data si timpul. In
versiunile mai noi (dupa 5.1) sunt introduse facilitati avansate cum ar fi DST (Daylight
Saving Time), Timezones, D ate Intervals, s.a. Inainte de acestea insa lucrul cu timpul se
realiza folosind Unix timestamp .
Conceptul de Unix timestamp desemneaza numarul de secunde scurse de la 1 ianuarie
1970 (cand se considera ca a inceput era Unix).
Unix Timestamp -ul curent:
1384628494
Fiind vorba de un numar pozitiv ce are mereu aceeasi referinta, este usor sa se realizeze
operatii cum ar fi scaderea, adunarea sau compararea a doua date reprezentate printr –
un Unix timestamp.
Exemple:
<?php
// data curenta
echo date ( 'd.m.Y H.i. s' ); // 16.11.201 4 21.01.34
// data in format Unix (UNIX timestamp)
echo time (); // 1384628494
// alegerea unui fus orar
date_default_timezone_set ( 'Europe/Bucharest' );
// parsarea unei date
print strtotime ("now" );
print strtotime ('1st January 2004' ); //1072915200 ?>
5. Variabile speciale – (superglobals)
PHP dispune de cateva variabile implicite. Acestea nu trebuie sc definite sau
initializate. Sunt disponibile in orice portiune a codului si in orice script PHP .
Anumite variabile (ca de exemplu $_POST) au valori doar in anumite situatii (spre
exemplu, doar atunci cand sunt folosite formulare).
Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I
19
$_GET
Vector asociativ ce contine parametrii transmisi prin URL sau printr -un formular. De
exemplu, daca pagina noastra PHP se numeste test.php, un URL de genul :
http://localhost/test.php?nume=Alex&varsta=12&ocupatie=elev
ar popula variabila $_GET cu urmatoarele valori:
print_r ( $_GET );
/* afiseaza:
Array
( [nume] => Alex
[varsta] => 12
[ocupatie] => elev)*/
Nota : numele parametrilor au rol de cheie in vectorul $_GET.
Vectorul $_GET este de asemenea populat la folosirea formularelor GET.
$_POST : Similar cu $_GET, doar ca parametrii sunt t ransmisi prin formulare.
$_REQUEST : Inglobeaza atat $_GET cat si $_POST.
$_SESSION
Folosita pentru a defini date ce sunt disponibile atata timp cat utilizatorul acceseaza
site-ul, indiferent de paginile vizualizate. In mod normal o variabila este definita doar
cand un utilizator cere o pagina. La finalul executiei scriptului, valorile variabilelor se
pierd (inclusiv variabile $_GET, $_POST, etc). Daca sunt puse in vectorul $_SESSION,
valorile pot persista si dupa terminarea executiei scripturilor.
$_SERVER : Furnizeaza informatii despre server, pagina ceruta si utilizatorul care
acceseaza pagina.
print_r ( $_SERVER );
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Curs PHP ianuarie 2014 profesor Mirela Irimia – partea I [612062] (ID: 612062)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
