You are on page 1of 7

ELEMENTE DE BAZĂ ALE SCRIPTULUI PHP

Scrierea programelor PHP

Programele PHP sunt o mixtura de trei elemente : text, cod HTML si script PHP. Pentru
ca paginile ce contin script PHP sa poata fi procesate de modulul PHP implementat in
Apache sau alt server de pagini Web este necesar ca paginile sa aiba acea extensie pe care
ati specificat-o la incarcarea modulului in serverul de web (standard, extensia implicita
este .php).

Exemplu de program - deschideti un editor de text si scrieti :

<HTML>
<BODY>Program 1 <BR>
<?php
echo “Salut studentule !!”;
?>
</BODY>
</HTML>
Salvati acest fisier in directorul radacina al paginilor de web, sub numele de
program1.php, directorul radacina al paginilor web fiind pentru htdocs, creandu-se in
cadrul acestuia un folder propriu in care se vor salva toate fisierele dvs. Pentru a deschide
o pagina de tip PHP se va scrie in browser-ul de Internet adresa: http://localhost/urmat
de numele directorului in care este salvat fisierul.

Daca studiem codul vom vedea ca sunt trei categorii de cod :

i) <HTML>,<BODY>,<BR> sunt elemente tag din sitaxa HTML ;


ii) Program 1 este text
iii) Codul cuprins intre <?php si ?> este cod PHP. Delimitatorul uzual pentru
PHP este <?php , respectiv inchiderea se face prin ?>. Exista varianta
simpla <? , respectiv inchidere prin ?> . Intre aceste taguri trebuie sa
existe NUMAI cod PHP.

Cum functioneaza codul?

Fisierul program1.php este trimis modulului de php incarcat in serverul de web. Modulul
prelucreaza NUMAI ce se afla intre tagurile <?php si ?> restul fiind trimis catre serverul
web fara a fi prelucrat sau interpretat. Rezultatul prelucrarii este si el trimis serverului de
web care trimite mai departe catre client (browser).
Comanda echo este folosita pentru trimiterea catre serverul de web a textului inscris intre
cele doua ghilimele sau doua apostroafe.
Fiecare linie de cod PHP (dupa terminare) trebuie inchisa de semnul punct-si-virgula
(;).
LIMBAJUL PHP

Variabila reprezinta un identificator la o locatie de memorie si se foloseste pentru


stocarea, prelucrarea si stergerea datelor.
Variabilele in PHP sunt apelate folosind prefixul ‘$’.
$nume=”Andrei”;
Dupa ce am initializat o variabila atribuindu-i o valoare putem folosi acea variabila.
echo $nume;

Limitari si reguli ale variabilelor

In PHP, variabilele sa inceapa cu o litera sau cu un underscore (dupa prefixul ‘$’). O


alta regula este ca in corpul numelui variabilei sunt acceptate litere, numere si
underscore, simboluri precum +,-,* si & nefiind admise. Variabilele in PHP sunt case-
sensitive, adica $student este diferit de $Student .

Tipuri de date in PHP

PHP cuprinde mai multe tipuri de variabile, dintre care cele mai importante sunt cele ce
contin valori de tip text si numeric.
- string (text)
- integer (numeric)
- double (numeric)

Tipul de data string – tot ce este cuprins intre ghilimele la initializare se considera string
(chiar si numerele).
Exemple:
$nume=”Ionescu”;
$nr=”5”;
Concatenarea stringurilor se face prin operatorul ‘.’ .

Date de tip numeric

In PHP exista 2 tipuri de date numerice : integer si double. Integer sunt numere fara
virgula, in timp ce double reprezinta numere cu zecimale.

Constante si conversii
Constantele sunt scrise prin conventie cu MAJUSCULE.Constantele se pot afisa avand
grija sa nu se foloseasca semnul $.

Structuri repetitive (vectori) – reprezinta un set de variabile cu acelasi nume, dar un


index diferit. Fiecare membru al unui vector este numit element. Diferentierea dintre
elemente se face cu ajutorul parantezelor patrate [] in mijlocul carora este un index, ce
poate fi de tip numeric sau un string.
FUNCTII IN PHP

Functiile sunt portiuni de cod definite pentru a executa anumite sarcini. Ele pot fi
chemate de mai multe ori pe parcursul executiei unui program, primind argumente (valori
de intrare) cu ajutorul carora executa cateva operatii dupa care returneaza o valoare.
Functiile transfera orice valoare primita ca argument in variabile temporare numite
parametrii ce pot fi folositi numai pe parcursul executiei functiei.

Definirea unei functii se face astfel:

function <nume_functie> (<parametrii>)


{//cod
//cod}
Exemplu:
function tva($lei)
{$total=$lei*1.19;
return $total;}
Apelarea acestei functii de forma: echo tva(100000); va produce rezultatul 119000.
Functia poate fi apelata si fara argumente :
function tva()
{echo “Valoarea tva este de 19%”;}

Locul variabilelor in program

Variabilele din interiorul functiilor nu se pot vedea in exteriorul lor (se distrug la
terminarea functiei) decat daca sunt transmise ca referinta.
Variabilele pot fi :
- globale
- locale
Variabilele globale sunt variabilele ce isi mentin existenta pe parcursul executiei
intregului program, in timp ce variabilele locale sunt variabilele din interiorul functiilor
ce isi inceteaza existenta dupa terminarea functiei.
Daca dorim o vizualizare globala a variabilelor locale functiei avem 2 posibilitati :
- le trimitem ca referinta
- le asociem parametrul global inainte de a opera cu variabilele sau folosind
vectorul $GLOBALS[]
Variabilele statice – sunt folosite atunci cand este necesar ca acestea sa existe pe
parcursul mai multor apelari ale functiilor, fara a mai fi necesara o reatribuire.
<?
function vizitatori()
{return ++$vizitatori;}
?>
Rezultatul acestui exemplu este la apelul de forma: echo vizitatori(); - 1 vizitator, iar daca
se mai executa inca o data atunci rezultatul va fi tot 1, deoarece variabila este statica.
Este destul ne neplacut ca pe parcursul unei numaratori sa se reseteaza variabila la fiecare
apelare a functiei. Pentru a asigura persistenta variabilei, se foloseste cuvantul cheie
static.

<?
function vizitatori(){
static $vizitatori;
return ++$vizitatori;}
?>
Rezultatul acestei functii la prima apelare prin echo vizitatori(); - va fi 1 vizitator, iar prin
repetarea aplelului se va afisa 2 vizitatori.

Lucrul cu clientul

PHP poate prelua interactiv datele de la client prin intermediul formularelor. Elementele
cele mai importante ale unui formular sunt :
- ACTION – transmite serverului la ce pagina sa se duca si sa transmita datele
completate in momentul in care utilizatorul a trimis formularul.
- METHOD – reprezinta modul in care datele sunt trimise serverului.
Metoda GET adauga variabilele in campul de adresa al paginii web.
Metoda POST trimite ascuns variabilele catre pagina descrisa la ACTION.
In cadrul formularului putem avea campuri :
- text
- textarea
- list box (select)
- radio
- checkbox
- hidden
- password
Aceste campuri se trimit catre scriptul PHP printr-un buton de tip submit.
OPERATII ASUPRA DATELOR DIN CADRUL UNEI BAZE DE DATE

Crearea unei baze de date se face in mod vizual, prin accesarea in cadrul unui browser
de internet a adresei: http://localhost/phpmyadmin.

Conectarea la server-ul de date se face prin comanda:


mysql_connect(“localhost”,”root”,””), unde localhost este calculatorul local pe care se
afla baza de date, root este numele utilizatorului care se conecteaza la BD si acesta este
pentru triada PHP-Apache-MySql. In cazul in care site-ul se posteaza pe un alt server,
atunci utilizatorul va avea un nume si o parola care va fi introdusa intre ghilimele.

Selectarea bazei de date se face prin comanda mysql_select_db(nume baza de date).

Interogarile aplicate unei tabele sau mai multor tabele se face prin comanda:
mysql_query(’sir de caractere), unde sir de caractere poate fi o selectie din cadrul unei
tabele - select, poate fi o inserare de date dintr-un formular in cadrul tabelei – insert into.

Selectarea datelor din cadrul unei tabele se face prin comanda SELECT. Selectarea se
poate face pentru toate campurile din tabela sau se poate face selectie dupa o anumita
conditie.

Exemple:
$interogare=mysql_query(SELECT * FROM student); - va selecta toate
campurile din cadrul tabelei student si interogarea este atribuita unei
variabile numita interogare.

$interogare1=mysql_query (SELECT nume_student FROM student); -


va selecta coloana nume_student din cadrul tabelei student.

$interogare2= mysql_query (SELECT nume_student FROM student


WHERE nota=$valoare); - va selecta numele studentilor din cadrul
tabelei student, unde nota va avea valoarea data de variabila $valoare.

Introducerea datelor in cadrul campurilor tabelei se face prin comanda INSERT INTO.
Exemple:

$introducere1=mysql_query(“INSERT INTO formular (`nume` ,


`prenume`, `varsta`) VALUES ('Ivascu', 'Valentin', '20')”); - insereaza
in tabela formular in campurile nume, prenume si varsta valorile Ivascu,
Valentin si 20

$inserare2=mysql_query ('insert into categorie_produs


(denumire_categorie) values ("'.$_POST[categorie].'")'); - insereaza in
campul denumire_categorie al tabelei categorie_produs valoarea
preluata din cadrul unui label identificat cu numele categorie.
Modificarea continutului uneia sau mai multor coloane din cadrul unei inregistrari
curente se face prin comanda UPDATE.
UPDATE nume_tabel SET col1=’valoare noua’ [WHERE conditie]

Exemple:
UPDATE fructe SET starea=’stricat’ – va inlocui in tabela fructe, starea
acestora cu valoarea stricat.

UPDATE fructe SET nume_fruct=’mar’ WHERE nume_fruct=’mare’ –


va inlocui in tabela fructe, toate denumirile de fructe gasite cu mare in
mar.

UPDATE fructe SET stoc=stoc-$_POST[cantitate] – va actualiza pentru


toate fructele din tabela fructe campul stoc cu diferenta dintre valoarea
veche a acestuia si valoarea data de variabila cantitate ce va fi preluata
din formular.

UPDATE fructe SET stoc=stoc-$_POST[cantitate] WHERE id_fruct=1


– va actualiza pentru fructul cu id-ul1 din tabela fructe campul stoc cu
diferenta dintre valoarea veche a acestuia si valoarea data de variabila
cantitate ce va fi preluata din formular.

O alta metoda de a modifica inregistrarile unei tabele se poate face si prin comanda
REPLACE, care insa se foloseste atunci cand inregistrarea care se doreste inserata
contine o valoare de cheie primara care se potriveste cu o inregistrare care exista deeja
in tabel. In acest caz se va sterge inregistrarea din tabela si se va introduce cea noua.
REPLACE INTO nume_tabel (lista_coloane) VALUES (valori pentru coloane);

Exemplu:
REPLACE INTO investitii VALUES (1, ’constructie’,200) – va inlocui in
tabela investitii randul a carui cheie primara are valoarea 1 cu noile
valori

Stergerea datelor din tabele se face prin comanda DELETE, cu forma:


DELETE FROM nume_tabel
[WHERE o conditie adevarata]

Exemple:
DELETE FROM fructe; - va sterge din tabela fructe toate inregistrarile

DELETE FROM fructe WHERE stare=’stricat’; - va sterge din tabela


fructe toate produsele care au starea de stricat.

Dupa interogarea tabelelor trebuie sa se faca regasirea datelor din tabela, acest lucru
realizandu-se prin functia: mysql_fetch_array(rezultatul interogarii),
mysql_fetch_rows(rezultatul interogarii)
Numarul de coloane ce rezulta dintr-o interogare este redat de functia
mysql_num_rows() si se foloseste in partea de autentificare a unui user.
$result=mysql_query(“select * from info”);
echo “Numarul de inregistrari este : “.mysql_num_rows($result);

Exemple:
Exemplu 1:
$link=mysql_connect(“localhost”,”root”,””);// se conecteaza la serverul
de date
mysql_select_db(“studenti”); // selecteaza tabela studenti
$result=mysql_query(“select * from info”);// selecteaza toate campurile
din tabela info
for ($i=0;$i<mysql_num_rows();$i++) //instructiune repetitiva ciclu cu
contor care porneste de la variabila i ce are valoarea 0 pana ce aceasta
variabila ajunge la numarul de inregistrari din cadrul tabelei
echo mysql_result($result,$i); // afiseaza continutul liniei de celule
de pe pozitia i din cadrul rezultatului interogarii
mysql_close($link);//inchide conexiunea la server

Exemplu 2:

$link=mysql_connect(“localhost”,”root”,””);
mysql_select_db(“studenti”);
$result=mysql_query(“select * from info”);
while($date=mysql_fetch_array($result)) // extrage din cadrul
rezultatului interogarii randurile
echo $date[“nume”].”/”.$date[“1”];// afiseaza prima valoarea
campului nume supra valoarea primului camp din carul tabelei info
mysql_close($link);

You might also like