Sunteți pe pagina 1din 33

Universitatea Politehnica Timișoara

Facultatea de Electronică, Telecomunicații


și Tehnologii Informaționale

LUCRARE DE DIPLOMĂ

Platforma de anunturi specializata in conectarea si facilitarea


tranzactiilor intre afaceri.

Coordonator ştiinţific: Absolvent:


Sef de lucrari Ternauciuc Andrei Borsa Marius Cristian
Timişoara 2023

1 Tehnologi folosite

1.1 HTML (HyperText Markup Language)

Noțiuni Generale

HTML (HyperText Markup Language) este un limbaj de marcare utilizat pentru a structura și
formata conținutul paginilor web. Paginile web sunt compuse din elemente HTML care sunt
interpretate de către browser pentru a afișa conținutul în mod adecvat. HTML oferă un set de
etichete sau taguri care sunt utilizate pentru a defini structura și semnificația diferitelor părți ale
unei pagini web.
Elemente ale unui Document HTML
Un document HTML constă din mai multe componente, inclusiv:
1. Doctype: Doctype-ul definește tipul de document HTML și versiunea sa. Acesta asigură
ca browserul să știe cum să interpreteze și să afișeze conținutul corect.
2. Head: Această secțiune conține informații despre document, cum ar fi titlul paginii, meta-
descrieri (pentru motoarele de căutare), stiluri CSS și link-uri către fișiere externe.
3. Body: Acesta conține conținutul efectiv al paginii, cum ar fi text, imagini, link-uri și alte
elemente afișate în browser.
Formatarea Textelor
HTML permite formatarea textelor folosind diferite taguri și atribute. De exemplu:
 <b> sau <strong> pentru text bold (îngroșat)
 <i> sau <em> pentru text italic (înclinat)
 <u> pentru subliniere
 <font> pentru specificarea culorii, dimensiunii sau familiei de fonturi
 <h1>, <h2>, ..., <h6> pentru titluri cu diferite nivele de importanță
 <p> pentru paragrafe
 <br> pentru a forța trecerea la rândul următor
 <div> și <span> pentru gruparea și stilizarea blocurilor de text
Linkuri

Tagul <a> este folosit pentru crearea de link-uri (legături) către alte pagini sau resurse. Atributul
href indică adresa destinație a link-ului. De asemenea, atributul target poate fi folosit pentru a
controla cum va fi afișată pagina destinatară (în aceeași fereastră, într-o fereastră nouă, etc.).
Exemplu de link:

<a href="https://www.exemplu.com" target="_blank">Vizitați exemplu.com</a>

Liste

HTML permite crearea de liste pentru organizarea conținutului. Există trei tipuri principale de
liste:
 Liste neordonate (<ul>) - fiecare element este precedat de un marcaj (de obicei un punct
sau un simbol).
 Liste ordonate (<ol>) - fiecare element este numerotat în ordine crescătoare.
 Liste de definiții (<dl>) - sunt folosite pentru a defini termeni și definiții asociate lor.
Exemplu de liste:

<ul> <li>Element 1</li> <li>Element 2</li> </ul> <ol> <li>Primul element</li> <li>Al doilea
element</li> </ol> <dl> <dt>Termen 1</dt> <dd>Definiție 1</dd> <dt>Termen 2</dt>
<dd>Definiție 2</dd> </dl>
Aceste sunt doar câteva exemple de elemente și taguri HTML. HTML oferă o gamă largă de
opțiuni pentru structurarea și formatarea conținutului pe paginile web.

Imagini

Majoritatea site-urilor web conțin elemente vizuale, cum ar fi imagini, cu scopul de a


atrage atenția vizitatorilor, chiar dacă acest lucru poate duce la o încărcare mai lentă a paginii.
Unele dintre formatele de fișiere utilizate pentru imagini pe paginile web includ: JPEG (.jpg
sau .jpeg), GIF (.gif), BMP (.bmp) și PNG (*.png). Formatul GIF este ideal pentru creația de
butoane și icoane, în timp ce formatul JPG este recomandat pentru fotografii.
Pentru a insera o imagine într-o pagină web, se utilizează următorul tag HTML:
- <img> şi are urmatoarele atribute:
- src (sursa, locul unde se afla imaginea, cu aceleaşi posibilităţi ca şi la adresele
linkurilor) ;
- width (lăţimea imaginii);
- height (înălţimea imaginii);
- alt (numele care înlocuieşte imaginea până aceasta se încarcă sau când nu a fost găsită);
- border (chenar, dacă valoarea este 0, înseamnă că imaginea nu are border).
Dimensiunile

Dimensiunile la care imaginea este afișată în browser sunt stabilite prin atributele width și
height. Aceste dimensiuni pot fi diferite de cele ale imaginii originale, fapt ce duce la o
redimensionare automată a imaginii de către browser. Aceste etichete sunt utilizate pe scară largă,
mai ales că tabelele reprezintă structura de bază pentru majoritatea paginilor web (precum
aceasta)

Tabele

Un aspect comun în crearea paginilor web îl reprezintă utilizarea tabelelor. Acestea sunt compuse
din rânduri și coloane, împărțind astfel zona în celule distincte. Fiecare celulă conține informația
care urmează să fie prezentată. Pentru a asigura o afișare corectă a tabelelor, este necesar ca
fiecare rând să conțină același număr de celule. În situația în care se dorește o celulă goală, poate
fi introdus un spațiu (space) sau folosit codul corespunzător .
În vederea inserării unui tabel, se folosesc următoarele perechi de etichete HTML: <table> și
</table> pentru a defini tabelul în ansamblul său, <tr> și </tr> pentru a delimita rândurile, și <td>
și </td> pentru a specifica celulele. De asemenea, tabelele pot fi imbricate, adică pot conține în
interiorul lor alte tabele.
Atributele asociate etichetei <table> includ:
 border (bordura tabelului),
 width (lățimea tabelului),
 height (înălțimea tabelului),
 bgcolor (culoarea de fundal),
 background (imaginea de fundal),
 cellspacing (distanța între celule),
 cellpadding (distanța dintre marginea celulei și conținutul acesteia).
În cazul celulelor (<td>), atributele includ:
 align (alinierea orizontală a conținutului),
 valign (alinierea verticală a conținutului: top, bottom, middle),
 width (lățimea celulei),
 height (înălțimea celulei),
 bgcolor (culoarea de fundal),
 background (imaginea de fundal),
 colspan (unificarea celulei cu cea din dreapta sa),
 rowspan (unificarea celulei cu cea de sub ea).
Pentru a exemplifica, iată un tabel cu un singur rând și o singură coloană:

<table border=”0” width=”100%” cellpadding=”0” cellspacing=”0”>


<tr>
<td>Celula</td>
</tr>
</table>
DIV-uri

Elementul <div>...</div> reprezintă o componentă fundamentală în HTML, având rolul de a crea


o zonă distinctă utilizată pentru gruparea elementelor conținute în interiorul său. Aceste div-uri
sunt extrem de utile în combinație cu stilurile CSS. Prin adăugarea atributelor "id" și "class",
putem aplica formatarea și stilizarea în mod specific.
Div-urile au capacitatea de a beneficia de numeroase proprietăți, inclusiv:
 border (bordura elementului),
 width (lățimea),
 height (înălțimea),
 background (culoarea sau imaginea de fundal),
 position (poziționarea în cadrul paginii),
 margin (marginea exterioară),
 padding (spațiul intern dintre conținut și margine).
Aceste elemente flexibile și personalizabile sunt un element cheie în construirea structurii și
designului paginilor web moderne. Prin utilizarea lor inteligentă, putem organiza și structura
conținutul paginilor într-un mod eficient și atrăgător.

<div id="stil">
<p> Acesta este un paragraf aflat intr-un div</p>
</div>

Formulare
Prin utilizarea formularelor, un webdesigner sau administrator de site poate colecta o gamă
variată de informații de la vizitatori. Procesul de creare a acestor formulare implică folosirea
elementului HTML <form>, care este însoțit de atribute importante precum "action" și "method".
 Atributul "action" specifică adresa către scriptul PHP (aflat pe server) care va prelua și
interpreta informațiile completate în formular.
 Atributul "method" indică metoda pe care browserul o va folosi pentru a transmite
informațiile din formular. Acest atribut poate avea valorile "GET" și "POST".
 Metoda "GET" înseamnă că datele sunt adăugate în adresa indicată de atributul
"action". Această metodă este adecvată pentru trimiterea unor cantități mici de
date.
 Metoda "POST" înseamnă că datele sunt trimise separat de adresa URL și permite
transmiterea unor cantități mai mari de informații.
Folosirea formularelor și a acestor atribute esențiale ajută la interacțiunea eficientă cu utilizatorii
site-ului, permițându-le să trimită informații sau să completeze acțiuni specifice, precum
înregistrări sau trimiterea comentariilor.
Folosind formularele, webdesignerul sau administratorul site-ului poate colecta diverse
informaţii de la vizitatori. Pentru realizarea acestora, se va utiliza tagul <form>, care are, printre
cele mai importante atribute, action şi method.
 action meţioneaza adresa scriptului PHP (aflat pe server) care va interpreta formularul
 method indică metoda folosita de browser pentru transmiterea formularului şi poate lua
valorile GET şi POST
o GET - datele sunt trimise prin adăugarea la adresa indicată de action. Permite
trimiterea unor mici cantitati de date.
o POST - datele sunt trimise separat şi sunt permise cantităţi mari de date.

<form method=”metoda” action=”url” >

În mod consecvent, se preferă utilizarea metodei "POST", deoarece alegerea dintre


metodele "GET" și "POST" poate fi destul de complexă. Ca o regulă empirică, mulți dezvoltatori
optează pentru metoda "GET" în cazul formularelor care efectuează căutări sau interogări, în
timp ce utilizează metoda "POST" pentru formulare care actualizează o bază de date sau un fișier.
Acest mod de lucru asigură că datele sunt gestionate corespunzător și în conformitate cu scopul
specific al formularului.
Este important să se țină cont că datele trimise prin metoda "GET" pot fi vizualizate de
către utilizatori, deoarece acestea sunt adăugate la adresa URL.
Formularele conțin diverse tipuri de controale, fiecare cu rolul său specific. Pentru a crea
o casetă de text, sintaxa folosită este:

<input type=”tip” name=”nume” />

În acest exemplu, "type" specifică tipul controlului, în cazul dat fiind "text", iar "name"
definește numele prin care va fi identificat controlul atunci când datele vor fi trimise către server.
Astfel de controale sunt folosite pentru a permite utilizatorilor să introducă informații în
formular, cum ar fi nume, adrese de email sau alte detalii.

Atributul "name" conferă casetei de text un nume, permițând astfel conținutului să fie
accesibil unui script PHP. Numele atribuit unui control trebuie să fie unic în cadrul formularului
și să respecte regulile de denumire a variabilelor PHP, cu excepția faptului că nu trebuie să
înceapă cu simbolul "$". Este important de menționat că HTML nu are o etichetă </INPUT>.
Pentru a crea o casetă de introducere a parolei, se utilizează următoarea sintaxă:

<input type=”password” name=”parola” />

Pentru adăugarea unui buton în formular, se folosește sintaxa:

<input type=”submit” name=”trimite” value=”Trimite” />

Pentru crearea unei suprafețe de text (textarea), care permite utilizatorului să introducă
text cu mai multe linii, se folosește următoarea sintaxă:
<textarea name=”nume” rows=”numarRanduri” cols=”numarColoane” ></textarea>

Atributul "name" este obligatoriu și definește numele controlului. Atributul "rows" este,
de asemenea, obligatoriu și specifică numărul de rânduri vizibile în suprafața de text. Atributul
"cols" este opțional și specifică numărul de coloane vizibile în suprafața de text.
Când se utilizează tagul <textarea>, acesta trebuie închis cu o pereche de etichete de
închidere. Orice text aflat între aceste etichete va fi considerat conținutul inițial al suprafeței de
text.
Dacă dorim să trimitem la server date ascunse de utilizator, putem folosi câmpuri ascunse
(hidden). Valorile acestor câmpuri sunt trimise la server împreună cu valorile altor controale, dar
utilizatorul nu le poate vedea sau modifica.

<input type=”hidden” name=”nume” value=”valori” />

Pentru cazurile în care sunt necesare opțiuni cu două valori posibile, cum ar fi "pornit"
sau "oprit", controlul checkbox este ideal. Acesta permite utilizatorului să aleagă între aceste
două opțiuni. Atributele "checked" pot fi folosite pentru a specifica dacă caseta de validare sau
butonul radio este inițial selectat sau nu.

<input type=”checkbox” name=”verificare” value=”verificat”


checked="checked" />

Butonul radio (radio button) este folosit pentru a permite utilizatorului să aleagă dintre o
serie de opțiuni mutual exclusive.

<INPUT TYPE=”radio” NAME=”butonRadio” value=”valoare” checked="checked"


/>

Controlul select (dropdown) este folosit pentru a crea un meniu din care utilizatorul poate
alege una sau mai multe opțiuni.

<select name=”nume”>
<option value=”textValoare” selected=”selected”>Optiune</option>
<option value=”textValoare2”>Optiune 2</option>
</select>

Atributele "multiple", "size" și "selected" pot fi folosite pentru a modifica


comportamentul meniului dropdown.
Pentru a adăuga un buton de reinițializare în formular, se utilizează sintaxa:
<input type=”reset” value=”Reseteaza” />
Acest buton permite utilizatorului să șteargă toate informațiile introduse în formular. Attributul
obligatoriu pentru această etichetă este "type". Attributul opțional "value" specifică textul care va
fi afișat pe buton; dacă acest atribut este omis, textul va fi "Reset".
2 PHP

Hypertext Preprocessor

Introducere în PHP

PHP este un limbaj de programare conceput în special pentru utilizarea pe internet, aducând
dinamică paginilor web. Este unul dintre cele mai importante limbaje de programare web open-
source și server-side (executat pe server). Acronimul PHP provine din limba engleză și reprezintă
un recursiv: PHP: Hypertext Preprocessor
PHP a avut începuturile sale în 1994 ca o extensie a limbajului de programare server-side Perl. În
vara anului 1998, a fost lansată o nouă versiune a interpretorului PHP, denumită PHP 3.0. În mai
2000, a fost lansat PHP 4.0, care a introdus Zend Engine 1.0. Pe 13 iulie 2004 a fost lansat PHP
5, care a adus suport pentru programarea orientată pe obiect.
În prezent, există peste un milion de site-uri care utilizează PHP. Acesta este preferat pentru că
îmbină funcționalități complexe cu ușurința în utilizare. PHP este un instrument cheie pentru
dezvoltarea aplicațiilor web și este accesibil pentru toate nivelele de programatori, inclusiv pentru
începători.
Limbajul PHP oferă conținut dinamic, adică date care se actualizează automat zilnic sau chiar
mai des. Conținutul dinamic este esențial deoarece atrage vizitatorii, îi determină să revină pentru
informații noi. În plus, spre deosebire de limbajele precum JavaScript, codul PHP este executat
pe server, nu în browser. Astfel, PHP poate accesa fișiere, baze de date și alte resurse la care
procedurile scrise în JavaScript nu ar avea acces.
Codul PHP poate fi inclus într-o pagină HTML și va fi executat de fiecare dată când pagina este
încărcată. Acest cod PHP generează cod HTML, care este apoi văzut de către vizitator.
Principalele operații pe care programele PHP le pot executa includ:
 Afișarea datelor: o operație simplă care presupune trimiterea datelor astfel încât să fie
disponibile și vizibile pentru utilizatori.
 Prelucrarea datelor
 Citirea datelor
PHP este un limbaj de programare versatil care poate fi folosit pe o gamă largă de sisteme de
operare, inclusiv Linux, diferite variante de Unix, Windows, Mac OS, RISC, și altele. De
asemenea, oferă suport pentru majoritatea serverelor web utilizate în prezent, cum ar fi Apache,
Microsoft Internet Information Server, Personal Web Server, Netscape, Oreilly Website Pro,
Caudium, Xitami, OmniHTTPd, și altele.

Pentru majoritatea serverelor web, PHP are module specifice care permit o integrare mai strânsă
și o performanță mai bună. Aceste module permit serverului web să interpreteze și să ruleze
codul PHP fără a apela la interfața CGI (Common Gateway Interface), ceea ce aduce un nivel
ridicat de eficiență.
Pe de altă parte, pentru serverele web care nu suportă module PHP direct, există suport pentru
standardul CGI, ceea ce înseamnă că PHP poate fi executat ca un proces independent în
momentul în care este solicitat de serverul web. Această abordare permite rularea PHP pe o
varietate de servere care respectă standardul CGI, extinzând astfel portabilitatea limbajului.
Datorită acestor caracteristici de adaptabilitate și suport larg, PHP poate fi utilizat pe diverse
platforme și în diferite configurații, făcându-l un instrument puternic pentru dezvoltarea
aplicațiilor web în mediile moderne de hosting și server.

Puncte forte

În comparație cu alte limbaje de programare folosite pentru dezvoltarea web, PHP aduce
numeroase avantaje, printre care:
1. Performanță ridicată: PHP oferă performanță remarcabilă. Utilizând un singur server,
puteți gestiona un număr mare de accesări zilnice. În plus, dacă folosiți mai multe servere,
capacitatea de servire a aplicației poate deveni practic nelimitată.
2. Conexiuni native pentru multe sisteme de baze de date: PHP dispune de conexiuni
integrate pentru diverse sisteme de baze de date. Pe lângă baza de date MySQL, puteți să
vă conectați direct la alte sisteme de gestionare a bazelor de date. De exemplu, XAMPP
este o aplicație care conține serverul Apache și phpMyAdmin, o interfață ușor de utilizat
pentru gestionarea bazelor de date.
3. Biblioteci încorporate pentru task-uri comune pe web: Fiind dezvoltat pentru mediul
web, PHP include funcții încorporate pentru realizarea multor operații frecvente, precum
prelucrarea imaginilor, generarea fișierelor PDF, gestionarea sesiunilor și a cookie-urilor
etc.
4. Cost redus: PHP este gratuit. Nu necesită achiziționarea de licențe, ceea ce face ca
dezvoltarea în PHP să fie cost-eficientă.
5. Ușurința în învățare și utilizare: Sintaxa PHP este bazată pe sintaxa altor limbaje de
programare, precum C și Perl. Acest fapt face ca învățarea și utilizarea PHP-ului să fie
accesibile chiar și pentru începători.
6. Suport puternic pentru programarea orientată pe obiect: PHP permite atât
programarea procedurală, cât și cea orientată pe obiect. Dispune de caracteristici precum
moștenirea, atributele private și protejate, clasele și metodele abstracte, interfețe,
constructori și destructori.
7. Portabilitate: PHP poate fi folosit pe o gamă largă de sisteme de operare majore, inclusiv
Linux, diverse variante de Unix (cum ar fi HP-UX, Solaris și OpenBSD), Microsoft
Windows, Mac OS X, RISC OS și probabil și altele.
Toate aceste caracteristici fac din PHP un limbaj puternic pentru dezvoltarea aplicațiilor web,
potrivit atât pentru proiecte mici și personale, cât și pentru aplicații web complexe și de amploare
mare.

Sintaxa PHP

În PHP, codul este încadrat între etichetele <?php și ?>. De exemplu:

<?php
echo ‘Acesta este primul meu script php’;
?>

Aici, observăm utilizarea instrucțiunii echo pentru afișarea unui string. Instrucțiunea echo este
similară cu funcția printf() în alte limbaje de programare. Toate instrucțiunile PHP se termină cu
caracterul punct și virgulă (;). Pentru a delimita un șir de caractere, folosim ghilimelele. Pentru
concatenarea șirurilor de caractere, utilizăm operatorul de punct (.).
Comentariile în PHP pot fi adăugate folosind două caractere bară oblică (//) pentru comentarii pe
o singură linie sau /* comentariu */ pentru comentarii care se întind pe mai multe linii.
Variabile
În PHP, variabilele sunt create și utilizate după următoarele reguli:
 Numele variabilelor încep cu simbolul $.
 După simbolul $, urmează underscore (_) sau o literă.
 Apoi pot fi adăugate litere, cifre sau liniuțe de subliniere.
Trebuie să ținem cont că PHP este case-sensitive, ceea ce înseamnă că distingem între literele
mari și mici în numele variabilelor. De exemplu, variabila denumită $Variabila este diferită de
variabila $variabila.
Exemple de declarații de variabile:
$variabila=”Aceasta este o variabila”;
$var= 4;
Aceste exemple demonstrează cum se creează variabile în PHP și cum se atribuie valori acestora.
Variabilele pot stoca diferite tipuri de date, inclusiv șiruri de caractere, numere întregi, numere cu
zecimale și altele.

Variabile

În PHP, variabilele respectă anumite reguli de denumire, după cum urmează:


 Numele variabilelor încep cu simbolul $.
 După simbolul $, urmează fie underscore (_) fie o literă.
 Apoi pot fi adăugate litere, cifre sau liniuțe de subliniere.
Trebuie să reținem că PHP este sensibil la caz (case-sensitive), ceea ce înseamnă că face diferență
între literele mari și mici în numele variabilelor. De exemplu, variabila denumită $Variabila este
distinctă de variabila $variabila.
Exemple de declarații ale variabilelor:

$variabila=”Aceasta este o variabila”;


$var= 4;

În exemplul de mai sus, prima variabilă stochează un șir de caractere, iar a doua variabilă
stochează un număr întreg.
Aceste reguli și concepte de bază ale variabilelor în PHP sunt esențiale pentru crearea și
manipularea datelor în cadrul programelor.

Tipuri de date

String

În PHP, șirurile de caractere (sau strings) reprezintă o secvență de caractere, cum ar fi litere,
cifre, spații și simboluri. Acestea pot fi utilizate pentru a stoca și manipula text.
Pentru a utiliza un șir de caractere, acesta poate fi introdus direct în funcții sau poate fi atribuit
unei variabile. În exemplul de mai jos, vom crea același text de două ori - în primul caz, șirul este
atribuit unei variabile, iar în cel de-al doilea caz, șirul este utilizat direct într-o funcție echo:

<?php
$string="Buna ziua!";
echo "Buna ziua!";
echo $string;
?>
În acest exemplu, primul șir de caractere este stocat în variabila $string, în timp ce cel de-al
doilea șir este utilizat direct în funcția echo și nu necesită o variabilă intermediară. Rezultatul
afișat va fi:

Buna ziua! Buna ziua!

Astfel, ambele apariții ale șirului "Bună ziua!" sunt afișate corect.
În plus, șirurile de caractere pot fi manipulate și combinate folosind operatorul de
concatenare .
$nume = "John";
$prenume = "Doe";
$fullname = $nume . " " . $prenume;
echo $fullname; // Va afișa "John Doe"

Aceasta este o modalitate comună de a construi șiruri mai complexe din componente mai mici.

Array

În PHP, un array (tablou) reprezintă o colecție ordonată de elemente, fiecare element


având o cheie și o valoare asociată. Array-urile permit stocarea și manipularea mai multor valori
într-o singură variabilă.
Există trei tipuri principale de array-uri în PHP:
1. Array Numeric Un array numeric conține elemente indexate numeric în ordine.
Elementele sunt numerotate începând cu indexul 0 și pot fi accesate prin intermediul acestor
indici numerici.
Exemplu de array numeric:
$tari = array("România", "Grecia", "Bulgaria");

2. Array Asociativ Un array asociativ utilizează chei personalizate în loc de indici


numerici. Fiecare cheie este asociată cu o valoare corespunzătoare. Aceasta este o modalitate
eficientă de a crea o relație între cheie și valoare.
Exemplu de array asociativ:

$tari = array(
"România" => "Timișoara",
"Grecia" => "Atena",
"Bulgaria" => "Varna"
);

3. Array Multidimensional Un array multidimensional este un array care conține array-


uri. Aceasta permite organizarea datelor într-o structură de tip matrice sau tabel, cu rânduri și
coloane.
Exemplu de array multidimensional:
$tari = array( "România" => array("Timișoara", "Iași", "Cluj"), "Franta" => array("Lyon",
"Paris") );

Array-urile sunt instrumente puternice pentru stocarea și manipularea datelor în PHP.


Acestea pot fi utilizate pentru a gestiona liste, colecții și chiar structuri de date mai complexe,
cum ar fi tablouri bidimensionale sau chiar tridimensionale.

Tipuri de date în PHP

În PHP, există mai multe tipuri de date pe care le puteți utiliza pentru a stoca diferite tipuri de
valori. Iată câteva dintre cele mai comune tipuri de date:
1. Boolean Un tip de date boolean poate avea doar două valori: TRUE (ADEVĂRAT) sau
FALSE (FALS). De asemenea, poate lua valori întregi pentru a le reprezenta pe cele de mai sus.
Astfel, valoarea 0 înseamnă FALSE, iar orice altă valoare întreagă diferită de 0 înseamnă TRUE.
2. Integer Un tip de date integer reprezintă o valoare din mulțimea numerelor întregi. Aceste
numere pot fi specificate în baza 10 (forma zecimală), în baza 16 (forma hexadecimală) sau în
baza 8 (forma octală), convențiile fiind similare cu cele din limbajele C/C++ și Java.
3. Float Un tip de date float (număr cu virgulă mobilă) poate fi specificat fie în forma zecimală,
fie în forma științifică (cu exponent). De exemplu, 3.14 sau 6.02E23.
4. String Un tip de date string reprezintă un șir de caractere, cum ar fi litere, cifre și simboluri.
Șirurile pot fi definite folosind ghilimele simple (') sau ghilimele duble (").
5. Constante O constantă este un identificator pentru o valoare simplă care nu se schimbă pe
parcursul execuției scriptului. Numele constantelor sunt case-sensitive (fac distincție între literele
mari și mici) și sunt convențional scrise cu litere mari.
Acestea sunt doar câteva dintre tipurile de date pe care le puteți utiliza în PHP pentru a stoca
diferite tipuri de valori. Folosind aceste tipuri de date, puteți gestiona și manipula datele în
scripturile PHP pentru a realiza diverse operații.

Operatori

Operatorii sunt folosiți în limbajele de programare pentru a efectua diferite operații pe variabile și
valori. În PHP, precum și în alte limbaje, există mai multe categorii de operatori:
1. Operatori de Atribuire Operatorul de atribuire, =, este folosit pentru a atribui o valoare
variabilei.
Exemplu:
phpCopy code
$ex1 = 3; $ex2 = $ex1;
2. Operatori Aritmetici Acești operatori sunt utilizați pentru efectuarea operațiilor aritmetice
obișnuite.
Operator Nume Exemplu
 | Adunare | 2 + 2
 | Scădere | 4 - 2
 | Înmulțire | 3 * 5 / | Împărțire | 6 / 3 % | Modulo | 50 % 5
3. Operatori de Comparare Acești operatori sunt utilizați pentru a compara variabile și/sau
valori, returnând adevărat sau fals în funcție de relația dintre ele.
Operator Nume Exemplu
== Egal cu $x == $y
!= Diferit $x != $y
< Mai mic decât $x < $y
| Mai mare decât | $x > $y <= | Mai mic sau egal | $x <= $y = | Mai mare sau egal | $x >= $y
4. Operatori de String Operatorul de concatenare, ., este folosit pentru a adăuga două șiruri de
caractere împreună.
Exemplu:
phpCopy code
$sir1 = "Salut "; $sir2 = "George!"; echo $sir1 . $sir2;
Acești operatori sunt fundamentali pentru construirea logicii și a funcționalităților în scripturile
PHP. Prin utilizarea lor, puteți efectua o varietate de operații și manipulări asupra datelor și
variabilelor din scriptul dvs.

Instrucţiuni în PHP

Instrucțiunea if...else

Instrucțiunea if...else este folosită pentru a executa cod diferit în funcție de evaluarea unei
condiții. În cazul în care condiția este adevărată (true), se execută blocul de cod din instrucțiunea
if, iar în caz contrar (când condiția este falsă), se execută blocul de cod din instrucțiunea else.
Exemplu:

$numar = 3; if ($numar == 3) { echo "Adevărat! Numărul este 3"; } else { echo "Fals! Numărul
nu este 3"; }
Instrucțiunea elseif
Instrucțiunea elseif permite verificarea mai multor condiții într-un bloc de cod. Ea verifică fiecare
condiție în ordine și execută blocul de cod asociat primei condiții adevărate.
Exemplu:

$a = 20; $b = 1; $rezultat = $a + $b; if ($rezultat == '20') { echo "Rezultatul este egal cu 20"; }
elseif ($rezultat == '21') { echo "Rezultatul este egal cu 21"; } else { echo "Rezultatul nu este
egal cu nicio condiție"; }

Instrucțiunea switch
Instrucțiunea switch este folosită pentru a verifica o variabilă în mai multe cazuri posibile și
pentru a executa codul corespunzător cazului care se potrivește.
Exemplu:
$destinatie = "China"; switch ($destinatie) { case "Bucuresti": echo "Palatul Parlamentului";
break; case "Paris": echo "Poți vedea Turnul Eiffel"; break; case "China": echo "Poți vedea Zidul
Chinezesc"; break; }

Bucla while
Instrucțiunea while este folosită pentru a executa un bloc de cod atâta timp cât o anumită condiție
este adevărată.
Exemplu:

$numar = 1; while ($numar <= 5) { echo $numar . "<br />"; $numar++; }

Bucla for

Instrucțiunea for este folosită pentru a itera printr-o secvență de numere definite, execuția
repetându-se până când condiția nu mai este îndeplinită.
Exemplu:

for ($variabila = 1; $variabila <= 10; $variabila++) { echo $variabila . '<br />'; }

Bucla foreach

Instrucțiunea foreach este folosită pentru a itera prin elementele unui array și a executa un bloc
de cod pentru fiecare element.
Exemplu:

$arr = array("rosu", "galben", "verde"); foreach ($arr as $element) { echo $element . '<br />'; }

Aceste instrucțiuni oferă un control flexibil asupra fluxului programului și permit manipularea
datelor în mod eficient în scripturile PHP.

3 MySQL

Sistem de Gestiune a Bazelor de Date (SGBD)


O bază de date este o colecție organizată de date, iar un SGBD (Sistem de Gestiune a Bazelor de
Date) este un sistem de programe care permite crearea, manipularea și gestionarea acestor baze
de date. MySQL este unul dintre cele mai populare SGBD open-source și este frecvent utilizat
pentru dezvoltarea aplicațiilor web.
SGBD-ul servește ca intermediar între utilizatori și datele stocate, facilitând operațiile precum
crearea, citirea, actualizarea și ștergerea datelor. Acesta asigură integritatea datelor, gestionarea
tranzacțiilor și accesul eficient la informații.
Modelul Relațional

Modelul relațional este cel mai des utilizat pentru structurarea bazelor de date. În acest model,
datele sunt organizate sub forma tabelelor, iar fiecare tabelă conține rânduri și coloane. Fiecare
coloană corespunde unui atribut al datelor, iar fiecare rând reprezintă o înregistrare sau un tuplu.
Într-un SGBD MySQL, datele pot fi organizate în tabele relaționale, iar relațiile dintre aceste
tabele sunt gestionate prin chei primare și chei străine.
Tipuri de Date în MySQL
MySQL oferă diverse tipuri de date pentru a stoca informații în baza de date. Acestea includ:
 Intregi (INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT)
 Numere cu virgulă mobilă (FLOAT, DOUBLE)
 Șiruri de caractere (CHAR, VARCHAR, TEXT)
 Date și ore (DATE, TIME, DATETIME, TIMESTAMP)
 Valori booleane (BOOLEAN sau BOOL)
 Binar (BLOB)
 Altele (ENUM, SET)
Operațiuni în MySQL
Principalele operațiuni efectuate într-un SGBD MySQL includ:
 CREATE: Crearea bazelor de date, a tabelelor și a structurilor asociate.
 SELECT: Obținerea datelor din tabele bazate pe anumite criterii.
 INSERT: Adăugarea de noi înregistrări în tabele.
 UPDATE: Modificarea datelor existente în tabele.
 DELETE: Ștergerea datelor sau a înregistrărilor din tabele.
 ALTER: Modificarea structurii tabelelor (adaugarea, modificarea sau ștergerea de
coloane).
 JOIN: Combinarea datelor din mai multe tabele bazată pe anumite relații.
PHP și MySQL
PHP este un limbaj de programare frecvent folosit pentru dezvoltarea aplicațiilor web. Acesta
poate fi integrat cu MySQL pentru a crea aplicații web interactive și dinamice care utilizează
baze de date pentru a stoca și a prelucra informațiile. Cu ajutorul extensiei MySQLi sau a PDO
(PHP Data Objects), dezvoltatorii pot comunica cu bazele de date MySQL din codul PHP.
Exemplu de conexiune și interogare în MySQL folosind PHP:

// Conectarea la baza de date $servername = "localhost"; $username = "utilizator"; $password =


"parola"; $dbname = "baza_de_date"; $conn = new mysqli($servername, $username, $password,
$dbname); // Verificarea conexiunii if ($conn->connect_error) { die("Conexiune eșuată: " .
$conn->connect_error); } // Interogarea bazelor de date $sql = "SELECT id, nume, prenume
FROM utilizatori"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row =
$result->fetch_assoc()) { echo "ID: " . $row["id"] . " - Nume: " . $row["nume"] . " " .
$row["prenume"] . "<br>"; } } else { echo "Nu există rezultate."; } // Închiderea conexiunii
$conn->close();
În concluzie, MySQL este un sistem puternic de gestionare a bazelor de date, iar împreună cu
PHP poate fi folosit pentru a dezvolta aplicații web robuste și interactive.
4 CodeIgniter

CodeIgniter este un framework de dezvoltare a aplicațiilor web scris în limbajul de programare


PHP. A fost creat pentru a oferi dezvoltatorilor un cadru simplu și eficient pentru construirea
rapidă și ușoară a aplicațiilor web robuste și scalabile. CodeIgniter se concentrează pe conceptele
de performanță, securitate și simplitate în dezvoltare.
Caracteristici cheie ale framework-ului CodeIgniter:

Arhitectură MVC:
CodeIgniter folosește modelul de arhitectură MVC (Model-View-Controller) care separă
componentele aplicației în trei părți distincte. Aceasta facilitează dezvoltarea și întreținerea
codului prin separarea logicii de afaceri, prezentarea datelor și gestionarea interacțiunilor cu
utilizatorii.
1. Biblioteci și Helper-e: CodeIgniter oferă o serie de biblioteci și helper-e încorporate care
simplifică sarcini comune precum manipularea bazelor de date, manipularea sesiunilor,
generarea de HTML și multe altele. Acestea reduc timpul și efortul necesare pentru
dezvoltarea funcționalităților comune ale aplicației.
2. Rutare flexibilă: CodeIgniter oferă o rutare flexibilă a URL-urilor către controlere și
metode specifice. Aceasta facilitează crearea de URL-uri prietenoase pentru SEO și
gestionarea traseelor pentru diferitele funcționalități ale aplicației.
3. Model de date simplu: CodeIgniter facilitează lucrul cu baze de date prin intermediul
clasei Database, care permite interacțiunea cu diferite tipuri de baze de date. Modelul de
date al CodeIgniter facilitează interogarea bazei de date și manipularea datelor.
4. Securitate integrată: Framework-ul se concentrează pe asigurarea securității, oferind
funcționalități precum filtrarea datelor de intrare, evitarea atacurilor SQL injection și
gestionarea sesiunilor de utilizator.
5. Vizualizare ușoară: CodeIgniter permite folosirea de șabloane de vizualizare (views)
pentru a separa prezentarea datelor de logica aplicației. Aceasta facilitează gestionarea și
modificarea aspectului paginilor fără a afecta logica de afaceri.
6. Gestionarea erorilor: Framework-ul oferă funcționalități pentru gestionarea erorilor și
excepțiilor, ajutând dezvoltatorii să identifice și să rezolve rapid problemele din aplicație.
7. Documentație detaliată: CodeIgniter oferă o documentație completă și bine structurată,
care oferă informații detaliate despre utilizarea fiecărei caracteristici a framework-ului.
CodeIgniter este recunoscut pentru simplitatea sa și pentru faptul că nu impune o curba de
învățare abruptă. Acesta este potrivit atât pentru dezvoltatorii începători, cât și pentru cei cu
experiență care doresc să creeze aplicații web rapide și eficiente în PHP.
5 Descrierea şi structura proiectului

Descrierea aplicației

Scopul acestui proiect a fost dezvoltarea unei platforme online specializate în anunțuri, axată pe
tranzacțiile business-to-business (B2B). Aplicația facilitează conectarea între companii și
persoane fizice care au stocuri de mărfuri de vânzare, oferindu-le o platformă comună pentru a-și
prezenta ofertele și a realiza tranzacții eficiente.
Cuvinte cheie: Platformă online, anunțuri, B2B, tranzacții, stocuri, oferte, conectare.

Activități Desfășurate:

1. Analiza și Definirea Structurii și Funcționalităților:


 S-au identificat nevoile și cerințele utilizatorilor, definindu-se funcționalitățile-
cheie ale platformei.
 S-a proiectat arhitectura generală a aplicației, inclusiv structura paginilor și fluxul
de utilizator.
2. Configurarea Mediului de Dezvoltare:
 S-au instalat și configurat serverul web (Apache), limbajul de programare PHP și
baza de date MySQL.
 Toate dependințele necesare pentru dezvoltarea și rularea aplicației au fost
stabilite.
3. Proiectarea Bazei de Date:
 S-a proiectat structura bazei de date, inclusiv tabelele pentru stocuri, utilizatori,
mesaje și alte entități relevante.
 S-au definit relațiile dintre tabele și restricțiile de integritate referențială.
4. Crearea Proiectului folosind Framework-ul CodeIgniter:
 S-a ales și implementat framework-ul CodeIgniter pentru dezvoltarea aplicației,
datorită structurii sale MVC (Model-View-Controller) și ușurinței de utilizare.
5. Dezvoltarea Paginilor Frontend:
 S-au creat paginile frontend utilizând HTML, CSS și JavaScript.
 S-au implementat interfețele pentru afișarea stocurilor, detaliile ofertelor, paginile
de înregistrare și autentificare etc.
 Interacțiunea cu utilizatorii a fost proiectată astfel încât să fie intuitivă și ușor de
folosit.
6. Implementarea Funcționalităților Backend:
 Utilizând framework-ul CodeIgniter, s-au dezvoltat controloarele și modelele
necesare pentru gestionarea logicii backend.
 S-au implementat funcționalități precum încărcarea și afișarea stocurilor,
gestionarea ofertelor, trimiterea mesajelor între utilizatori etc.
7. Testare și Depanare:
 S-au efectuat teste riguroase pentru a verifica funcționalitățile platformei, atât pe
partea de frontend, cât și pe cea de backend.
 Orice erori sau probleme au fost identificate și corectate înainte de lansarea finală.
Această descriere oferă o privire de ansamblu asupra activităților desfășurate în cadrul proiectului
tău. Platforma dezvoltată vine în întâmpinarea nevoilor de tranzacționare B2B și permite
utilizatorilor să gestioneze și să realizeze eficient tranzacții cu stocuri de mărfuri.

Structura proiectului

1. Assets
 CSS: În folderul "css", găsești toate fișierele CSS utilizate în site.
 backend.css: Acest fișier conține stilurile pentru partea de administrare a site-ului.
 bb-lightbox.css: Stilurile pentru plugin-ul JavaScript ce permite afișarea
imaginilor într-un mod mai mare.
 bootstrap.min.css: Stilurile pentru framework-ul CSS Bootstrap, care ușurează
structurarea site-ului în rânduri și coloane.
 font-awesome.min.css: Acest fișier conține stilurile pentru fontul FontAwesome,
ce permite adăugarea de iconițe în pagină.
 jquery.realperson.css: Stilurile pentru plugin-ul JavaScript ce afișează captcha pe
formulare.
 main.css și style.css: Aceste fișiere conțin stilurile principale ale site-ului.
2. Fonts
În acest folder sunt stocate fișierele fonturilor utilizate în fișierele CSS pentru a crea stiluri de
text.

3. Gdpr
Aici găsești resursele pentru afișarea casetei de acord cu cookie-urile, care apare la prima vizită
pe site. Folderul conține fișiere CSS și JavaScript pentru a aranja și oferi funcționalitate acestei
casete.
4. Img
Acest folder conține imaginile folosite în site. În codul HTML, imaginile sunt încărcate utilizând
eticheta <img>.
5. Js
În folderul "js" sunt fișierele JavaScript ale site-ului.
 main.js: Acest fișier conține codul JavaScript principal pentru funcționalitatea
site-ului. De exemplu, meniul fix din partea de sus și meniul pentru dispozitive
mobile sunt gestionate aici.
 bb-lightbox.js: Scriptul pentru deschiderea imaginilor într-un mod mai mare.
 facebox.js: Scriptul folosit pentru raportarea anunțurilor.
 jquery.min.js: Biblioteca jQuery pentru manipularea ușoară a elementelor din
DOM.
 jquery.realperson.js: Scriptul pentru afișarea captchelor la înregistrare.
6. Vendor
Acest folder conține fișierele JavaScript și CSS necesare pentru funcționalitatea framework-ului
Bootstrap.
7. Backend
Aici se găsește codul pentru partea de administrare a site-ului.
 Config: Conține fișierul database.php, care conține detaliile de conectare la baza
de date.
 Controllers: Această secțiune conține fișierele PHP corespunzătoare fiecărei
pagini. Fiecare fișier reprezintă o pagină în partea de administrare.
 Errors: Aici sunt stocate paginile de eroare, de exemplu, pagina de eroare 404.
 Helpers: Aici poți găsi fișiere PHP cu funcții ajutătoare pentru sarcini diverse.
 Hooks: Acest folder este pentru hook-urile din CodeIgniter.
 Language: Traducerile textelor de eroare și alte mesaje.
 Libraries: Fișierele PHP pentru diverse funcționalități.

 Logs: Un folder pentru log-uri, unde poți păstra informații legate de activitatea
serverului.
 Models: Modelele pentru interacțiunea cu baza de date.
 Views: Aici sunt fișierele de vizualizare, care conțin HTML și PHP, pentru fiecare
pagină în parte.
8. Frontend
În acest folder se găsește site-ul propriu-zis pentru utilizatori.
 Controllers: Conține controllerele pentru paginile site-ului.

 Models: Modele pentru interacțiunea cu baza de date în partea de site.


 Views: Fișierele de vizualizare pentru paginile site-ului. Acestea sunt construite pe
un șablon de bază (base_template.php), care include diverse componente
specifice paginilor.
Exemplu de controller: Acasa.php
Acesta este un exemplu pentru unul dintre controllerele din partea de site.
 Acasa.php: Conține logica pentru pagina de acasă.
 Metoda index(): Aici se preiau datele din model, inclusiv ofertele, cererile
și informațiile utilizatorului logat. Aceste date sunt afișate în vizualizarea
acasa.php, care este inclusă în șablonul base_template.p
Structura proiect
├── Assets
│ ├── Css
│ │ ├── backend.css
│ │ ├── bb-lightbox.css
│ │ ├── bootstrap.min.css
│ │ ├── font-awesome.min.css
│ │ ├── jquery.realperson.css
│ │ ├── main.css
│ │ └── style.css
│ ├── Fonts
│ │ ├── font1.ttf
│ │ ├── font2.otf
│ │ └── ...
│ ├── Gdpr
│ │ ├── gdpr.css
│ │ └── gdpr.js
│ ├── Img
│ │ ├── image1.jpg
│ │ ├── image2.png
│ │ └── ...
│ └── Js
│ ├── main.js
│ ├── bb-lightbox.js
│ ├── facebox.js
│ ├── jquery.min.js
│ ├── jquery.realperson.js
│ └── ...
├── Backend
│ ├── Config
│ │ └── database.php
│ ├── Controllers
│ │ ├── Welcome.php
│ │ ├── Pagini.php
│ │ └── ...
│ ├── Errors
│ ├── Helpers
│ │ ├── utils_helper.php
│ │ └── ...
│ ├── Hooks
│ ├── Language
│ ├── Libraries
│ ├── Logs
│ ├── Models
│ │ ├── LoginSystem.php
│ │ ├── ...
│ └── Views
│ ├── welcome_message.php
│ ├── acasa.php
│ ├── base_template.php
│ └── ...
└── Frontend
├── Controllers
│ ├── Acasa.php
│ ├── Cont.php
│ └── ...
├── Models
│ ├── OferteModel.php
│ │ ├── getOferte()
│ │ ├── getOfertaDetalii($id)
│ │ └── ...
└── Views
├── acasa.php
├── cont.php
├── base_template.php
└── ...
Bibliografie

Catalin Drogoreanu, “Tutorial complet HTML“, http://www.etutoriale.ro/articles/112/1/Tutorial-


complet-HTML, 2006
Paul DuBois, “MySQL”. Teora, 2001
Bill McCarty, “PHP4 – A beginner’s guide”, Teora, 2002
Larry Ullman, “PHP si MySQL pentru site-uri WEB dinamice”, Teora, 2004
Michael Widenius, Arjen Lentz, and Paul DuBois, “MySQL Reference Manual”,
http://www.mysql.com/documentation/, 2002
„Dezvoltarea aplicaţiilor Web folosind XHTML,PHP şi MySQL” ,Editura Polirom, 2005
www.php.net/
http://ro.wikipedia.org/wiki/PHP

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