Programul de studiu : Matematică și Informatică aplicată în inginerie [627705]

UNIVERSITATEA POLITEHNICA DIN BUCUREȘTI
FACULTATEA DE ȘTIINȚE APLICATE

Programul de studiu : Matematică și Informatică aplicată în inginerie

PROIECT DE DIPLOMĂ

CONDUCĂTOR ȘTIINȚIFIC,
Lect. Univ. Dr. Romeo BERCIA

ABSOLVENT: [anonimizat]

2018

UNIVERSITATEA POLITEHNICA BUCURE ȘTI

FACULTATEA DE ȘTIINȚE APLICATE

Aprobat decan,

Prof. Dr. Emil Petrescu

LUCRARE DE LICEN ȚĂ

Aplica ție PHP -MySQL pentru
organizarea activităților didactice

Coordonator științific,

Lect. Univ. Dr. Romeo BERCIA

Absolvent: [anonimizat]

2018

Cuprins:

1. Introducere ………………………….. ………………………….. ………………………….. ………………………….. ………………. 4

1.1 Co nținutul proiectului ………………………….. ………………………….. ………………………….. …………… 4

1.2 Scopul proiectului ………………………….. ………………………….. ………………………….. …………………. 4

1.3 Structura proiectului ………………………….. ………………………….. ………………………….. ……………… 4

1.4 Structura lucrării de diplomă ………………………….. ………………………….. ………………………….. …. 5

2. Tehnologii utilizate ………………………….. ………………………….. ………………………….. ………………………….. ….. 6

2.1 Prezentarea generală a unei aplica ții WEB ………………………….. ………………………….. ………… 6

2.2 HTML ………………………….. ………………………….. ………………………….. ………………………….. ……….. 7

2.3 CSS ………………………….. ………………………….. ………………………….. ………………………….. ……………. 9

2.4 PHP ………………………….. ………………………….. ………………………….. ………………………….. ………….. 13

2.5 MySQL ………………………….. ………………………….. ………………………….. ………………………….. ……. 23

2.6 XAMPP ………………………….. ………………………….. ………………………….. ………………………….. …… 29

2.7 Apache ………………………….. ………………………….. ………………………….. ………………………….. …….. 29

3. Implementarea aplica ției ………………………….. ………………………….. ………………………….. ……………………. 31

3.1 Accesarea resurselor pe baza URL și a protocolului HTTP ………………………….. ………… 31

3.1.1 URL ………………………….. ………………………….. ………………………….. ………………………. 31

3.1.2 HTTP ………………………….. ………………………….. ………………………….. …………………….. 32

3.2 Implementarea bazei de date ………………………….. ………………………….. ………………………….. .. 36

3.3 Prezentarea si utilizarea aplica ției realizate ………………………….. ………………………….. …….. 43

3.3.1 Implementarea aplica ției ………………………….. ………………………….. ………………….. 49

4. Concluzii ………………………….. ………………………….. ………………………….. ………………………….. ………………… 54

5. Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. …………….. 55

6. Anexe ………………………….. ………………………….. ………………………….. ………………………….. ……………………… 56

3

1.Introducere

1.1 Contextul proiectului

Proiectul este o aplicație web despre organizarea activităților didactice din Universitatea
Politehnica din București. Această aplicație conține înregistrări în funcție de facultăți,
profesori, discipline, săli și orar.
Administ ratorul acestei platforme poate posta anunțuri sau le poate trimite mesaje private
profesorilor.
Studenții, numiți “guests” pot citi anunțurile și pot vizualiza orarul, selectând facultatea,
anul și grupa.

1.2 Ideea și Scopul proiectului

Ideea proiectului “Aplica ție PHP -MySQL pentru activitățile didactice” are ca scop
realizarea rapidă a vizualizării într-o bază de date a orarului facultăților din Universitatea
Politehnica din București.
Fiecare profesor, accesându -și numele, își pot vizua liza programul, iar selectând sala se
poate observa programul sălii respective.

1.3 Structura proiectului

Proiectul este structurat în trei păr ți și anume:
 Manipularea bazei de date care s e poate face din interfa ță sau din baza de date .
 Interfa ța administratorului care include elementele vizuale și toate comenzile
necesare pentru adăugare a facultăților, adăugarea profesorilor, adăugarea
disciplinelor , adăugarea sălilor și adăugarea orarului fiecărei facultăți .
 Modulul de comunicare administrator – bază de date, care asigură adăugarea și
vizualizarea elementelor , atât pe interfa ță, cât și direct în baza de da te

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Acest proiect are ca scop să fie folosit de către administratorii facultăților din cadrul
Universității Politehnica din București.
Afișarea orarului se face pe zilele săptămânii, conținând ora, materia, profesorul materiei,
sala unde se desfășoară materia și paritatea săptămânii. Pentru acest lucru, ca exemplu, a fost
nevoie să implementez facultățile universității, materiile, sălile și profesorii facultății de
Științe Aplicate, specializarea Matematică și Informatică aplicate în inginerie.
Pentru a accesa orarul, este obligatoriu selectarea facultă ții, a anului și a grupei.
Exemplificat, există următoarele orare:
 Facultatea de Științe Aplicate 1 1311
 Facultatea de Științe Aplicate 1 1312
 Facultatea de Științe Aplicate 1 1313
 Facultatea de Științe Aplicate 1 1314
 Facultatea de Științe Aplicate 2 1321
 Facultatea de Științe Aplicate 2 1322
 Facultatea de Științe Aplicate 2 1323
 Facultatea de Științe Aplicate 3 1331
 Facultatea de Științe Aplicate 3 1332
 Facultatea de Științe Aplicate 4 1341

1.4 Structura lucrării de diplomă

În această lucrare, capitolele sunt structurate după cum urmează:
 Aspectele teoretice ale lucrării .
 Tehnologiile utilizate pentru implementarea aplicației .
 Prezentarea funcționalităților aplicației. Comunicarea funcționalităților între ele și
conectarea lor la baza de date .
 Prezentarea interfeței .
 Utilizarea aplicației.

5

2. Tehnologii utilizate

2.1 Prezentarea generală a unei aplica ții WEB

O aplica ție web este un proiect web -bases, care se executată într -un browser web
(internet explorer, google chrome) și implementat cu ajutorul mai multor tehnologiilor, precum
PHP, HTML, CSS, JAVASCRIPT și multe altele.
O aplica ție web este implementată ca alte aplica ții software, pe trei niveluri:
a. Afișarea pentru utilizatori
b. Stratul logic al aplicației
c. Baza de date

a. Afișarea pentru utilizatori – conține un program care pune la îndemâna utilizatorilor
interfața pe care și -o dorește, alături de ferestre in teractive. Limbajele folosite încep
de la HTML până la JAVA.
b. Stratul logic al aplicației – se realizează cu ajutorul unui localhost, în cazul acestui
proiect, adresa este http://localhost/proiect/ sau pe alt calculat or. Acestea acționează
ca un server pentru studenți, adică pentru utilizatori. Acest nivel este creat cu script
web, precum PHP.
c. Baza de date – conține un program care permite citirea și scrierea informațiilor în
respective bază de date. Acestea stochează, găsesc, adaugă sau actualizează noi
informa ții într -o manieră organizată.

Avantaje și dezavantaje

Avantaje:
1. Se poate rula cu ajutorul oricărui browser web.
2. Datorită faptului ca se rulează cu ajutorul browserului, nu este necesară instalarea
pe calculator.
3. Sistemul de operare nu influențează rularea.
4. Backup -ul se realizează ușor, datorită datelor care sunt stocate și centralizate.
5. Update -urile se fac folosind doar serverul.
6. Update -urile se transmit imediat utilizatorilor.
7. Se poate folosi pe orice dispozitiv electronic, precum tabletă sau smartphone, care
conține un browser web.

Dezavantaje:
1. Este foarte dificil sau uneori poate chiar imposibil de realizat o conexiune cu
hardware -ul local al utilizatorului.

Aplica ție PHP -MySQL pentru org anizarea activităților didactice

Schema de funcționare a ueni aplicații web:

Imaginea 2.1.1

În imaginea de mai sus, browserul utilizatorului trimite o cerere de tip http sau https către
serverul web, iar acesta trimite utilizatorului un răspuns prin cod HTML, CSS,
JAVASCRIPT sau alte tipuri de coduri.

Principiile de implementare sunt următoarele:

1. Viteza mare de execu ție – reprezentată de cod optimizat și folosirea cache -ing-ului
pentru asigurarea rulării aplica ției la nivel cât mai mare.
2. Interfa ță prietenoasă.
3. Instrumentele utile cât mai la vedere.
4. Personalizarea – în func ție de dorințele și nevoile utilizatorului.

2.2 HTML

HyperText MarkUp Language (HTML) este un limbaj de marcare, utilizat pentru crearea
paginilor web ce pot fi afi șate într -un browser sau navigator. Scopul HTML este mai degrabă
prezentarea informa țiilor, a paragrafelor, a fonturilor sau a tabelelor.
HTML este o formă de marcare orientată către prezentarea documentelor text pe o
singura pag ină, utilizând un software de redare specializat, numit agent utilizator HTML , cel
mai bun exemplu de astfel de software fiind browserul web . HTML furnizează mijloacele
prin care con ținutul unui document poate fi adnotat cu diverse tipuri de metadate și in dicații
de redare. Indica țiile de redare pot varia de la decorațiuni minore ale textului, cum ar fi
specificarea faptului că un anumit cuvânt trebuie subliniat sau că o imagine trebuie introdusă,
până la scripturi sofisticate, hăr ți de imagini și formulare . Metadatele pot include informa ții
despre titlul și autorul documentului, informații struc turale despre cum este împăr țit

7

documentul în diferite segmente, paragrafe, liste, titluri etc. și informații cruciale care permit
ca documentul să poată fi legat de alte documente pentru a forma astfel hiperlink -uri
(sau web-ul).
HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un
editor de text simplu. Totu și scrierea și modificarea paginilor în acest fel solicită cunoștințe
solide de HTML și este consumatoare de timp. Editoarele grafice (de tip WYSIWYG) cum ar
fi Macromedia Dreamweaver , Adobe GoLive sau Microsoft FrontPage permit ca paginile
web sa fie tratate asemănător cu documetele Word, dar cu observa ția că aceste programe
generează un cod HTML care este de multe ori de proastă calitate.
HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum ar
fi PHP, JSP sau ASP. Multe aplica ții ca sistemele de gestionare a con ținutului , wiki-
uri și forumuri web generează pagini HTML.

Structura unei pagini HTML:

Imagine 2.2.1

Tag-urile sunt doar niște marcaje sau etichete pe care limbajul HTML le folosește alături
de texte, pentru a ajuta browser -ul de internet să afișeze corect conținutul paginii web.
Aceste tag -uri sau etichete pot fi de două feluri:
– tag-uri pereche, adică un tag de început și un tag de încheiere
– tag-uri singulare, adică nu au tag de încheiere

Tag-urile de bază pe care trebuie să le conțină un document HTML sunt:
<html> – cu acest tag începe orice document html. Prin folosirea acestui tag, îi spunem
browser -ului că este vorba despre un fișier html, pentru a -l putea afișa.
<head> – între ac este tag -uri sunt trecute, pe lângă titlul paginii, diverse informaț ii
folositoare pentru browser -ul de internet .
<\head> – este tag -ul de încheiere al tag -ului <head>
<title> – cu ajut orul acestei perechi de tag -uri, vo i putea da un titlu documentu lui meu.
Astfel, textul pe care îl vei scrie î ntre aceste tag -uri, va fi afișat î n bara de titlu a
documentului.
<\title> – este tag -ul de încheiere al tag -ului < title> .
<body > – odată cu acest tag, începe conținutul paginii web. Tot ce se va scrie între tag –
urile <body> și </body>, va fi afișat, de că tre browser, pe ecranul monitorului .

Aplica ție PHP -MySQL pentru org anizarea activităților didactice

<\body> – îi spun browser -ului ca ai terminat de scris conținutul paginii. Tot ceea ce vo i
scrie dupa acest tag , nu va mai fi afiș at.
<\html> – este tag -ul de î ncheiere al tag -ului <html> . Codul oricărui document se termină
cu acest tag.
Tag-urile sau etichetele pot fi scrise atât cu litere mici, cât și cu litere mari.

2.3 CSS

Cascading Style Sheets (CSS) este un standard pentru formatarea elementelor unui
document html . Stilurile se pot atașa elementelor html prin intermediul unor fișiere externe sau
în cadrul documentului , prin elementul <style> și/sau atributul style. CSS se poate utilize și
pentru formatarea elementelor XHTML, XML și SVGL.
Stilurile CSS pot fi defini te în partea de head a documentului HTML, sau în fi șiere
externe care sunt chemate tot în head sau putem aplica un stil diferit în partea de body la fiecare
tag HTML în parte.

Sintaxa construcției CSS:
O construcție CSS are două părți: un selector și una sau mai multe declarații.

Imaginea 2.3.1

9

selector: această componentă, identică cu elementul HTML, căreia i se aplică stilul dat ;
acoladele: delimitează care proprietă ți și cu ce valori se aplică elementului HTML ;
proprietă ți – sunt elementele de aspect care vrem să le modificăm ;
valori ale proprietă ților – sunt noile valori pe care vrem să le atribuim proprietă ții
respective .
Fiecare proprietate suportă, anumite tipuri de valori, de exemplu culoarea poate fi dată în
trei moduri:
hexa zecimal – #ffaa99 ;
prin denumire – red;
cu valori rgb – rgb(123,255,17) .

Observa ție:
Declara țiile CSS se încheie întotdeauna cu ";".

Cum se inserează o foaie de stil
O foaie de stil poate fi inserată în trei moduri:
1. Foaie externă de stil
2. Foaie interna de stil
3. Stil inline

1.Foaie externă de stil
O foaie de stil externă este ideală atunci când stilul respectiv se aplică mai multor pagini.
Cu o foaie CSS externă, pute ți modifica aspectul întregului site, modificând un singur fișier.
Fiecare pagină trebuie să se lege la foaia de stil folosind tagul <link> în interiorul
secțiunii head:

Imaginea 2.3.2

Atributul rel specifică rela ția dintre documentul apelant și documentul legat. Are
numeroase valori posibile, dar în cazul de fa ță valoarea sa trebuie să fie stylesheet ;

Atributul type specifică tipul documentului legat, adică define ște ce fel de resursă este
(extensia fi șierului nu este suficientă pentru a determina această) – în cazul nostru trebuie să aibă
valoare a text/css;

Atributul href cum am văzut și la elementul link, specifică adresa ( URL ) de unde se
introduce fi șierul foaie de stil.

Aplica ție PHP -MySQL pentru org anizarea activităților didactice

2.Foaie internă de stil
O foaie internă de stil trebuie folosită când un singur document are un anumit stil. Foaia
internă de stil se definește în secțiunea head a paginii html, folosind tag -ul style, ca în imaginea
de mai jos:

Imaginea 2.3.3

3.Stiluri inline
Un stil inline pierde multe din avantajele foil or de stiluri amestecând con ținutul cu
prezentarea. Utiliza ți această metodă cât mai rar. Pentru a utiliza un stil inline, folosiți
atributul style în tagul respectiv. Atributul style poate con ține orice proprietăți CSS. Exemplul
următor ilustrează cum se poate schimba culoarea și marginea stângă a unui paragraf:

Imaginea 2.3.4

Selectorii CSS :

CSS-ul are mai multe tipuri de selectori. Selectorii cei mai des folosiți, adică cei mai
importanți sunt:
selector element
selector id
selector class

Selectorul element

Acest selector aplică proprietățile conținute, tuturor elementelor de acest tip.

Imaginea 2.3.5

Toate elementele h5 din imagine, vor avea culoarea albastră.

11

Selectorul id

Selectorul id este utilizat pentru a specifica stilul unui singur element.
Selectorul id folose ște atributul id al unui element HTML, și este definit cu "#".
Exemplu: Stilul următor va fi aplicat elementului care are atributul id="par1" .

Imaginea 2.3.6

Selectorul class
Acest selector este utilizat pentru a specifica stilul unui grup de elemente. Astfel, pute ți
seta un stil particular pentru toate elementele HTML care face parte din aceea și clasă.
Selectorul class folose ște atributul HTML class și este definit cu " .". În exemplul următor, toate
elementele HTML cu atributul class="center" vor fi aliniate la centru:

Imaginea 2.3.7

Formatarea background -ului

Proprietățile utilizate în CSS pentru a defini fundalul unui element sunt:
– background -color;
– background -image;
– background -repeat;
– background -attachment;
– background -position.

Aplica ție PHP -MySQL pentru org anizarea activităților didactice

2.4 PHP

Hypertext Preprocessor (PHP) este un limbaj de scripting de uz general, cu cod -sursă
deschis (open source), utilizat pe scară largă și care este potrivit în special pentru dezvoltarea
aplicațiilor web și poate fi integrat în HTML.

Imaginea 2.4.1

Mai jos am ata șat un exemplu introductiv. În locul unei mulțimi de comenzi pentru a
afișa HTML, paginile PHP conțin HTML cu cod sursă încorporat (în exemplul de mai jos
afișează ”Salut, sunt un script PHP”). Codul sursă PHP este cuprins între instrucțiunil e specifice
de procesare <?php și ?>, care permit intrarea și ieșirea în modul PHP .

PHP diferă de JavaScript este că codul său este executat pe server, generând HTML care
este trimis la client; clientul primind rezultatul rulării scriptului, fără a cunoa ște codul -sursă de la
bază.

13

Deoarece codul PHP este axat pe partea de scripting ce rulează pe server, poate
face și un program pentru colectarea de date de la formulare, generare de conținut
dinamic sau trimitere și primire de cookie -uri.

Există trei domenii principale de utilizare a scripturilor PHP:

1. Scripturi ce rulează pe server – are nevoie de interpretor PHP, un server
Web și un browser Web. E necesar ca serverul să fie pornit cu o
conexiune
PHP instalată. Rezultatul scriptului PHP se poate accesa cu un browser
prin intermediul serverului Web.
2. Scripting în linie de comandă – poate face ca PHP să ruleze fără server și
browser Web, doar cu interpretor PHP. Această metodă este ideală pentru
scripturile ce se vor a fi executate de regul ăfolosind cron(task scheduler în
Windows), sau sarcini simple de procesare a textelor.
3. Scrierea de aplica ții ce rulează de partea clientului în mod,
grafic(GUI),chiar dacă nu este limbajul celmai bunpentru a scrie aplica ții
cu ferestre pentru Windows, dar dacă este bine cunoscut se pot folosi
facilită ți avansate cum ar fi PHP -GTK (este o extensie a PHP,
indisponibilă în distribu ția principală de PHP)

Cu PHP există libertatea de a alege un sistem de operare și un server Web. Mai mult de
atât, există posibi litatea de a alege programarea procedurală sau programarea orientate obiect,
sau chiar să fie combinate cele două metode. Una dintre cele mai mari facilită ți ale PHP este
suportul său pentru baze de date. De asemenea, PHP suportă ODBC adică Open Database
Connection, deci se poate conecta la orice bază de date.

Ieșirea din modul HTML

Când PHP interpretează un fi șier, trece prin toate liniile de cod până întâlnește tag -ul
specific care îi spune că trebuie să interpreteze codul ca fiind cod PHP. Codul de du pă tag -ul de
intrare în modul PHP este executat până la întâlnirea tag -ului de închidere, care anun ță trecerea
la text HTML. Astfel codul PHP poate fi inserat ăn interiorul codului HTML.

Există patru categorii de tag -uri care pot fi folosite pentru a marca intrarea în modul PHP,
dar doar două sunt disponibile întotdeana. Cele patru tipuri de tag -uri sunt:

1. <?php
echo (”dacă vrei să vezi fi șiere XML,apasă aici \n ”);
?>

2. <? echo (“Aceasta este o instruc țiune de procesare SGML \n”); ?>

3. <script language="php">
echo ("unele editoare nu suportă instruc țiuni de procesare");
</script >

Aplica ție PHP -MySQL pentru org anizarea activităților didactice

4. <%
echo ("Folos ți tag ASP -style");
%>

<%=
$variable; # Aceasta este un shortcut pentru "<% echo . . ."
%>

Prima variantă este cea mai des utilizată deoarece permite folosirea PHP -ului în cod
conform standardului XML.
Cea de -a doua variantă nu este întotdeauna posibilă, deoarece tag -urile prescurtate pot fi
folosite doar dacă au fost activate. Ac est lucru de poate face cu ajutorul func ției short_tags() (în
PHP 3), prin activarea op țiunii short_open_tag în fișierul de configurare sau prin compilarea
scripturilor folosind op țiunea enable_short_tags.
Cea de -a patra variantă poate fi folosită numai d acă tag -urile de tip ASP au fost activate
folosind setarea asp_tags din fi șierul de configurare.

Separarea ins trucțiunilor

Precum în C sau Pearl, PHP necesită ca instruc țiunile să se termine cu punct și virgulă (;).
Tag-ul de închidere al unui bloc PHP include automat punct și virgulă; nu trebuie să avem punct
și virgulă la finalul ultimului rând al unui bloc PHP.

Imaginea 2.4.2

Tag-ul de închidere al unui bloc PHP de la sfâr șitul unui fișier este optional, uneori,
omiterea fiind chiar folositoare, atunci când se folosesc include și/sau require, astfel încât nu
apar spa ții goale la finalul fișierelor și putem adăuga antete la răspuns mai târziu.

15

Comentarii în PHP

Imaginea 2.4.3

Comentariul stil ”un rând” comentează până la sfâr șitul liniei sau blocului curent de cod
PHP, oricare dintre acestea se regăse ște mai întâi. Aceasta înseamnă că codul HTML după //..? >
sau #..?> va fi afi șat ? > iese din modul PHP și intrp în modul HTML, iar // sau # nu pot
influen ța acest luc ru. De asemenea mai există si stilul /* …. */

În exemplul de mai jos sunt încorporate două comentarii unul în interiorul celuilalt. Este
o gre șeală care se face în încercarea de a comenta un bloc mare de cod.

Imaginea 2.4.4

Tipuri de date permise în PHP:

 Scalare – Boolean, integer, float(numere cu virgulă) și string;
 Compuse – array și obiect;
 Speciale – resource și NULL. 

Tipul unei variabile nu este decis de către programator ci este stabilit de către PHP în
momentul rulării, în funcție de context.

Varibilele în PHP sunt reprezentate folosind semnul $ urmat de numele varibilei. Numele
varibilelor sunt case -sensitive

Varibilele predefinite – în PHP sunt furnizate un număr larg de varibile predefinite,multe
dintre ele neputând fi documentate deoarece sunt dependente de serverul pe care rulează.

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Superglobals:
 $GLOBALS – este o variabilă predefinită, este de fapt un array ; elementele
acestei
matrice au cheia egală cu numele variabilelor declarate și valoarea egală cu cea a
variabilelor declarate.

 $_SERVER – Sunt varibilele setate de serverul Web sau sunt legate de mediul de
exercu ție al scriptului current

 $_GET – sunt varibilele aduse prin scriptul HTTP GET

 $_POST – sunt varibile aduse prin scriptul HTTP POST 
 
 $_COOKIE – aduc informa ții despre server și mediul de exercuție 

 $_FILES – reprezintă variabilele oferite scriptului prin upload -ul de fi șiere
folosind modul POST 

 $ _ E N V – reprezintă vari abilele oferite scriptului prin mediu

 $_REQUEST – este folosit pentru a colecta date după trimiterea unui formular
HTML prin GET, POST sau COOKIE. Această variabilă este disponibilă în toate
circumstan țele pe tot parcursul scriptului. 

 $_SESSION – varibile specific unei sesiuni a scriptului. Ele reprezintă o
modalitate simplă de a stoca date pentru utilizatorii individuali în baza unui ID de
sesiune unic. Aceasta poate fi ut ilizată pentru a păstra informa țiile de stare între
solicit ările de pagină . ID-urile sesiunilor sunt trimise la browser prin cookie -uri
de sesiune și ID -ul este folosit pentru a recupera datele de sesiune existente.
Absen ța unui ID sau a unei sesiuni cookie permite PHP -ului să creeze o nouă
sesiune și să genereze un nou ID de se siune.



Variabilele

Variabila este un container de date care poartă un nume ș i i se poate atribui o valoare care
poate fi modificată de mai multe ori sau salvată într -o bază de date. Numele dat variabilei începe
cu simbolul $, urmat de orice literă mică (a-z) sau mare (A -Z) sa u cu caracterul _ dar niciodată
cu o cifră și nu poate conține spaț ii goale.
De exemplu: $nume_variabila

$nume_variabila="valoare"
17

Este re comandat ca numele variabilei să fie cât mai sugestiv pentru a evita încurcăturile î n
timpul scrierii scriptului.

Exemplu : Atribuim variabilei $program valoarea PHP și apoi o tipă rim.

<?php
$program="PHP";
echo$program;
?>

Exemplu: În aceeași construcție echo, putem folosi text împreună cu o variabilă.

<?php
$luna="iulie";
echo "Am vacanță in luna ".$luna;
?>

Modificând valoarea variabilei, se modifică ceea ce este afișat în browser.

Într-un script, putem folosi mai multe variabile care pot fi adăugate în aceeași construcție
echo.

<?php
$ziua="21";
$luna="03";
$anul="1995";
echo "Data nașterii este ".$ziua.".".$luna.".".$anul;
?>

În PHP sunt opt tipuri de variabile primitive

patru tipuri de variabile scalare : întregi, numere cu virg ulă flotantă, șiruri și boolene.
două tipuri compuse: matrice și obiecte.
două tipuri speciale: res urse și NULL

Întreg (integer) este un simplu număr întreg, exprimat în sistem zecimal, hexazecimal sau
octal, opțional putând purta și semn (+ sau -).

În sistem octal, numărul trebuie precedat de 0, iar pentru hexazecimal, precedat de 0x.

Exemplu:

$a=2006; //numar exprimat in sistem zecimal
$a=-52; //numar negativ exprimat in sistem zecimal
$a=0135; //numar octal (echivalent cu 207 zecimal)
$a=0x1D; //numar hexazecimal (echivalent cu 29 zecimal)

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Numărul cu virgulă flotantă (float) sau dublă precizie este un număr real, care poate fi
folosit cu urmatoarea sintaxă.

$a=3.14; //numar zecimal
$a=-2.59; //numar zecimal negative
$a=1.3e2; //130
$a=6E+3; //6000

Exemplu:

<?php
$temperatura= -5;
$vânt=8.5;
echo "La Sinaia sunt ".$temperatura."<sup>o</sup>C iar vântul bate cu
".$vânt."m/s";
?>

Șirul (string) este o variabilă care conține o combinație de numere, litere, simboluri și
spații delimitate între două ghilimele simple sau duble. Șirurile pot conține și nume de variabile.

Exemplu:

<?php
$nume="Firaru Roxana";
$data="19 iulie 2018";
echo "Lucrarea a fost realizată de ".$nume." pe data de ".$data;
?>

Cea mai simplă cale pentru a specifica un șir este să îl încadrăm între ghilimele simple
(‘), dar eventualele ghilimele simple conținute, vor fi precedate de caracterul \ . În această
situație, variabilele și caracterele speciale, vor fi ignorate.

echo "acesta este un sir"; //acesta este un sir
echo "variabila $a"; //variabila $a
echo "rand1 \n rand2"; //rand1 \n rand2

Dacă șirul este definit prin ghilimele duble, (“), PHP -ul interpretează mai multe secvențe
pentru caracterele speciale.

Secvența Semnificație
\n rând nou
\r sfârșit de linie
\t tab orizontal
\\ backslash
\$ simbol dolar
\” ghilimele duble
19

Variabila booleană exprimă valoarea de adevăr: TRUE sau FALSE. Orice valoare diferită
de zero sau șir care nu este gol (conține cel puțin un caracter) sunt considerate ca TRUE.

Matricei (array) i se pot atribui mai multe valori comparativ cu numerele sau șirurile care
pot conține doar o singură valoare. Matricele folosesc chei sau indecși pentru a identifica valorile
stocate.

O matrice se crează, folosind funcția array().

$matrice = array('apa','aer','foc');

Exemplu: Creăm o matrice și îi tipărim elementele, folosind funcția print_r

<?php
$matrice = array('ocean','mare','lac');
print_r ($matrice);
?>

Exemplu: Utilizăm aceeași matrice, dar folosesc funcția var_dump() care îmi arată câte
elemente sunt în matrice și lungimea fiecărei valori a sa.

<?php
$matrice = array('ocean','mare','lac');
var_dump ($matrice);
?>

Primul index al unei matrice are valoarea 0. Valorile acestora pot fi și declarate
manual.

Exemplu: Creăm o matrice cu index 1, 3 și 5

<?php
$matrice = array(1=>'calculator',3=>'monitor',5=>'imprimanta');
var_dump ($matrice);
?>

Pentru a șterge o pereche cheie sau valoare, se folosește unset()

unset($matrice[3]); //sterge cheia 3 din matrice
unset($matrice); //sterge intreaga matrice

Exemplu: Ștergem elementul 3 din matrice

<?php
$matrice = array(1=>'Matematica',2=>'Fizica',3=> 'Biologie',4=>'Istorie');
unset($matrice[3]); //sterge cheia 3 Biologie
print_r ($matrice);
?>

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Matricile multidimensionale sunt o listă de matrici

Exemplu: matrice multidimensională, formată din 3 matrici

<?php
$it = array(
"monitor" => array("Samsung","LCD","17 \""),
"imprimanta" => array("HP","jet de cerneala","A4"),
"router" => array("Linksys","1","4"),
);
echo "Monitorul este produs de ".$it ['monitor'][0].", are ecran tip
".$it['monitor'][1]." si diagonala de ".$it['monitor'][2].".";
echo "<br>";
echo "Imprimanta este produsa de ".$it ['imprimanta'][0].", tehnologie
".$it['imprimanta'][1]." si foloseste hartie ".$it['imprimanta'][2].".";
echo "<br>";
echo "Routerul este prod us de ".$it['router'][0].", are
".$it['router'][1]." port WAN si ".$it['router'][2]." porturi LAN".".";
?>

Variabile predefinite

PHP oferă un mare număr de variabile predefinite orică rui script c are rulează și sunt
funcție de serverul pe care funcționează .
Începand cu PHP 4.2.0 , valoarea default pentru directiva register_globals este off.
Aceasta afectează setul de variabile predefinite , disponibile î n scop global.
De exemplu , pentru a obț ine DOCUMENT_ROOT , voi
folosi $_SERVER['DOCUMENT_ROOT'], în loc de $DOCUMENT_ROOT , cum era în cazul
în care register_globals erau on.

Scopul variabilelor depinde de contextul î n care sunt definite. Majoritatea
variabilelor din PHP , au un singur scop. Acesta se aplică și pentru fișierele adăugate prin
funcț iile include() și require() .

Exemplu:
<?php
$a=10;
include "exemplu1_9b.php";
?>
/* urme aza fisierul exemplu1_9b.php */
<?php
echo "Mihai are ".$a." ani";
?>
21

Orice variabilă folosită în interiorul unei funcții, este limitată doar scopului funcției.

Exemplu: Deorece funcția folosește o variabilă declarată în afara ei, echo nu va afișa
nimic.

<?php
$a=10;
function mihai() {
echo "Mihai are ".$a." ani ";
}
mihai();
?>

Exemplu: Aceeași funcție, dar de această dată, declar variabila de tip global, motiv
pentru care echo va afișa corect.

<?php
$a=10;
function mihai() {
global $a; //declaram variabila $a de tip global
echo "Mihai are ".$a." ani";
}
mihai();
?>

Variabile statice
O altă caracteristică importantă a scopului variabilei este variabila statică, care există
doar în scopul funcției locale, dar își pierde valoarea când execuția scriptului încetează.

Exemplu: Executarea succesivă a funcției va afișa tot timpul 0.

<?php
function static1() {
$a=0;
echo $a;
$a++;
}
static1();
echo "<br>";
static1();
echo "<br>";
static1();
?>

Aplica ție PHP -MySQL pentru organizarea activităților didactice

2.5 MySQL

MySQL este un sistem de gestiune a bazelor de date. O bază de date este un set de date
centralizat și structurat, stocat într -un computer și furnizează facilităț i de adăugare, modificare și
ștergere a datelor la cerere, permite t ransformarea datelor în informaț ii și este adesea condusă de
un Administrator al Bazei de date.

Serverul MySQL controlează accesul la date, pen tru a garanta faptul că mai mulț i
utilizatori pot lucra simultan cu acestea.

MySQL este un server multi -user și multi -thread (mai multe fire de execuț ie). MySQL
utilizează SQL (Structured Query Language), limbaj standardizat d e interogare a bazelor de date.

Principalul avantaj al MySQL este faptul că este open -source și poate fi utilizat împreună
cu limbajul de programare PHP. În SQL , comenzile pot fi grupate în următoarele categorii:

• Limbajul de intero gare permite extragerea informaț iilor din tabelele bazei de date cu
ajutorul comenzii SELECT.

• Limbajul de manipulare a datelor (DML – Data Manipulation La nguage) perm ite
modificarea conț inutului tabelelor. Comenzile DML sunt: INSERT, UPDATE, DELETE

• Limbajul de definire a datelor (DDL – Data Definition Language) permite definirea
structurii tabelelor care compun baza de date. Comenzile DDL sunt: CREATE, ALTER, DROP,
RENAME, TRUNCATE.

• Comenzi de control al tranzac țiilor (TC – Tranzaction Control). Comenzile TC sunt:
COMMIT, ROLLBACK și SAVEPOINT.

• Limbajul de control al datelor (DCL – Data Control Language) permite definirea și
modificarea drepturilor utilizato rilor asupra bazei de date. Comenzile DCL sunt: GRANT și
REVOKE

Descrierea pe scurt a comenzilor:

1.INSERT – permite introducerea unor noi linii cu înregistrări într -un tabel.
Sintaxa este: INSERT INTO NumeTabel (Lis tăColoane) VALUES (ListăValori).
O condiț ie pentru a func ționa este ca numărul de coloane, ordinea și tipul lor să
corespundă cu numărul, ordinea și tipul valorilor.
Exemplu : Următorul exemplu introduce un rând în tabelul elev.
INSERT INTO elev (id, nume, prenume, medie, localitate) VALUES (10, ‘David’,
‘Ana’, 10, ‘Targoviste’)
23

2.UPDATE – permite modificarea uneia sau mai mult or înregistrări dintr -un tabel.
Sintaxa este: UPDATE NumeTabel SET coloană1=valoare1, coloană 2=valoare2, ….
WHERE condi ție.

Exemplu : Următorul exemplu va modifica din tabelul elev con ținutul coloanei prenume,
prin adăugarea prenumelui Maria înregistrării cu id=10.
UPDATE elev SET prenume=’Ana Maria’ WHERE id=10

3.DELETE – permite ștergerea uneia sau m ai multor linii dintr -un tabel.
Sintaxa este: DELETE FROM NumeTabel WHERE co ndiție.

Exemplu : Următorul exemplu va șterge toate rândurile din tabel în care elevii au media
mai mică ca 5
DELETE FROM elev WHERE medie

4.CREATE – permite crearea unui tabel.
Sintaxa este: CREATE TABLE Num eTabel (coloană1 tip1, coloană2 tip2, … coloană n
tipn).

Exemplu : Următorul exemplu va crea un tabel cu numele elev și coloanele id, nume,
prenume, medie și localitate.
CREATE TABLE elev (id NUMBER(3), nume VARCHAR2(10), prenume
VARCHAR2(10), medie NUMB ER(5,2), localitate VARCHAR2(15))

Dacă dorim ca utilizatorii tabelei să introducă obligatoriu date în anumite coloane,
utilizăm restric ția NOT NULL la crearea tabelei, ca în exemplul de mai jos. În cazul în care
utilizatorii nu completează un anumit câmp din tabel, se va introduce automat o valoare NULL
care este echivalentă cu o valoare nedefinită.

Exemplu : Următorul exemplu va crea tabelul elev cu coloanele id, nume, prenume de tip
NOT NULL și coloanele medie și localitate.
CREATE TABLE elev (id NUMB ER(3) NOT NULL, nume VARCHAR2(10) NOT
NULL, prenume VARCHAR2(10) NOT NULL, medie NUMBER(5,2), localitate
VARCHAR2(15))

5.ALTER – permite modificarea structurii unui tabel prin adăugarea (ADD), modificarea
(MODIFY) sau ștergerea (DROP) unei coloane, crear ea (ADD CONSTRAINT), modificarea
(DISABLE/ENABLE) sau ștergerea (DROP CONSTRAINT) unor constrângere asupra unei
coloane.

Exemplu : Următorul exemplu va adăuga o coloană cu numele școala, tabelului elev și va
modifica dimensiunea c oloanei prenume de la 10 la 15.
ALTER TABLE elev ADD scoala VARCHAR2(20) MODIFY prenume
VARCHAR2(15)

6.DROP – permite ștergerea unei strucuturi a bazei de date.

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Exemplu : Următorul exemplu va șterge tabelul elev
DROP TABLE elev

7.RENAME – permite redenumirea unui tabel.

Exemplu : Următorul exemplu va schimba numele tabelului elev în elev1.
RENAME elev TO elev1

8.TRUNCATE – permite ștergerea întregului conț inut al unu i tabel

Exemplu : Urmă torul exemplu va șterge tot conținutul tabelului elev.
TRUNCATE TABLE elev

9.SAVEPOINT – permite definirea unui punct de revenire.
Sintaxa este: SAVEPOINT NumePunctDeRevenire

10.ROLLBACK – permite revenirea la un punct de revenir e definit anterior.
Sintaxa este: ROLLBACK TO NumePunctDeRevenire

11.COMMIT – permite transformarea unei tranzacții într -o tranzacție permanentă.
Renunț area la modificările e fectuate în cadrul unei tranzacț ii, se efectuează cu comanda
ROLLBACK

12.GRANT – permite acordarea unor drepturi unui anumit utilizator.

Exemplu : În următorul exemplu , se va acorda dreptul de creare a unui tabel utilizatorului
‘ion’.
GRANT CREATE TABLE TO ion

13.REVOKE – permite revocarea unor drepturi unui anumit utilizato r.

Exemplu : În următorul exemplu se va revoca dreptul de creare a unui tabel utilizatorului
‘ion’.
REVOKE CREATE TABLE FROM ion

Interogarea tabelelor:
Cu ajutorul comenzii SELECT , putem realiza două tipuri de operaț ii: de filtrare a liniilor
și de alegere a anumitor coloane ce vor fi afișate.
Sintaxa comenzii SELECT este:
SELECT expresii
FROM tabela

25

Pentru a afișa toate datele din tabela ‘utilizatori’, scriem: SELECT * FROM utilizatori
SELECT nume, prenume FR OM utilizatori.

Exemplul de mai sus afișează doar c onținutul a două coloane din tabel.

Distinct – permite eliminarea liniilor duplicat

Exemplu : Acest exemplu va afișa doar județ ele distincte din tabela utilizatori
SELECT DISTINCT judet FROM utilizatori

Clauza WHERE – permite filtrarea datelor în funcț ie de criteriile solicitate.

Exemplu : În următorul exemplu , se vor afișa doar numele și prenumele celor care
locuiesc în Târgoviște sau București din tabela utiliza tori.
SELECT nume, prenume FROM utilizatori WHERE localitate=’Targoviste’ OR
localitate=’Bucuresti’

Operatorul LIKE – permite verificarea unui șir de caractere și afișează true dacă șirul
conține un anumit caracter și false în caz contrar. Verificarea s e realizează cu ajutorul
caracterului de subliniere (underscore _) care ț ine locul unui singur caracter și a caracterului
procent (%) care ț ine locul la zero sau mai multe caractere.

Exemplu : În următorul exemplu , vom afișa toa te persoanele al căror nume conține litera
m.
SELECT nume, prenume FROM utilizatori WHERE lower(prenume) LIKE ‘%m%’

OBS lower – convertește caracterele alfanumerice din șir în litere mari.

Sortarea datelor
Căutarea datelor într -un tabel se realizează mult mai ușor dacă acel tab el a fost ordonat
alfabetic, crescător sau descrescător.

Clauza ORDER BY – permite ordonarea datelor dintr -un tabel. După această clauză se
enumeră coloanele sau expresiile după care se vor ordona liniile unui tabel.

Exemplu : Acest exemplu va afișa nume le și media elevilor din tabela elev în ordine
alfabetică.
SELECT nume, medie FROM elev ORDER BY nume

Dacă dorim ca afișarea să fie în ordine descrescătoa re a mediilor, vom adăuga DESC:
SELECT nume, medie FROM elev ORDER BY medie DESC ROWNUM – returneaz ă
numărul de ordine al unei linii într -o tabelă.

Exemplu : Următorul exemplu va afișa datele persoanelor cu mediile cele mai mari din
tabela elev, în ordinea descrescătoare a mediilor.
SELECT * from (select * FROM elev ORDER BY nume DESC) WHERE
ROWNUM< =5

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Alias -ul unei coloane – se utilizează atunci când dorim ca la afișare, capul de tabel să
conțină alt text sau să nu se folosească doar majuscule.
Alias -ul se introduce în clauza SELE CT imediat după numele coloanei unde dorim să îl
urilizăm. Pentru a introduce un alias avem două posibilită ți:
1. utilizăm comanda AS – pentru un alias format dintr -un singur cuvânt
2. utilizăm ghilimele – pentru un alias format din mai multe cuvinte

Exemplu : Următorul exemplu va afișa numele și prenumele elevilor din tabela elev pe o
singură coloană și media mărită cu un punct.
SELECT nume ||’ ‘ ||prenume “Nume și prenume”, medie+1 AS MedieFinala
FROM elev

Funcții
În funcț ie de mod alitatea de operare a lor, funcț iile se împart în două categorii:

1. funcț ii singulare – care operează asupra unei singure înregistrări la un moment dat. Ele
se pot împărți în funcț ii care operează asupra șirurilor de car actere, funcții numerice, funcț ii
pentru mani pular ea datelor calendaristice, funcț ii de conversie a unui tip de date în altul, funcț ii
de uz general

2. funcț ii de grup – care operează asupra unui grup de înregistrări și returnează o singură
valoare pentru un grup sau un set de linii di ntr-un tabel. Principalele funcț ii de grup sunt: MIN,
MAX, SUM, AVG, COUNT.

1. Funcț iile singulare se pot clasifica în:

a) funcții care acționează asupra șirurilor de caractere:
LOWER – transformă un șir de caractere din litere mici în litere mari
UPPER – trans formă un șir de caractere d in litere mari în litere mici
INITCAP – transformă în majusculă prima literă din fiecare cuvânt al unui șir
CONCAT – concaten ează două șiruri de caractere
SUBSTR – extrage un șir începând de la o anumită poziție

b) funcții care ac ționează asupra numerelor:
ABS – returnează v aloarea absolută a unui număr
SQRT – returnează rădăcina pătrată a unui număr
MOD – returnează restul împăr Ńirii unui număr la alt număr
ROUND – rotunjește valoarea unui număr la un număr specificat de cifre

c) funcții care acționează asupra datelor calendaristice:
SYSDATE (returnează data și ora cure ntă a serverului bazei de date)
ADD_MONTHS (adaugă un număr de luni la data curentă)
27

MONTHS_BETWEEN (returnează numărul de luni d intre două date calendaristice)

d) funcț ii de conversie:
TO_CHAR (transformă o dată calendaristică sa u un număr în șir de caractere)
TO_DATE (transformă un șir de car actere în dată calendaristică)
TO_NUMBER (transformă un șir de caractere înt r-un număr)

2. Funcț iile de grup
MIN – permite a flarea celei mai mici valori a unei expresii, ignorând valorile
nule.

Exemplu : Următorul exemplu va afișa media cea mai mică a elevilor din tabela
elev.
SELECT min(medie) FROM elev

MAX – permite aflarea celei mai mari valori a unei expresii, ignorând valorile
nule.

Exemplu : Următorul exemplu va afișa media cea mai mare a elevilor din tabela
elev.
SELECT max(medie)
FROM elev

SUM – permite aflarea sumei valorilor unei expresii și se a plică numai coloanelor
care conțin valori numerice.

Exemplu : Următorul exemplu va afișa numărul de absenț e ale elevilor navetiști
din tabela elev.
SELECT sum(absente)
FROM elev WHERE navetist=’DA’

AVG – permite aflarea mediei aritmetice a valorilor numerice dintr -o coloană,
ignorând valorile nule.

Exemplu : Următorul exemplu va afișa media clasei de elevi promovaŃi din
tabela elev.
SELECT avg(medie)
FROM elev WHERE medie>=5

COUNT – permite aflarea numărului de valori, ignorând valorile nule.

Exemplu : Următorul exemplu va afișa numărul de elevi din tabela elev.
SELECT count(id)
FROM elev
Dacă dorim afișarea numă rului de rânduri completate parț ial din tabelul elev,
utilizăm SELECT count(*) FROM elev

Aplica ție PHP -MySQL pentru organizarea activităț ilor didactice

2.6 XAMPP

Imaginea 2.6.1

Pachetul software XAMPP con ține distribuții Apache pentru serverul Apache,
MariaDB, PHP și Perl. Și este, în principiu, o gazdă locală sau un server local. Acest server
local funcționează pe propriul computer desktop sau laptop. Acest program poate fi instalat pe
laptop sau desktop și ajută la testarea clienților sau site -ul Web dezvoltat înainte de a le încărca
pe serverul web sau pe computerul de la distan ță. Acest software d e server XAMPP oferă un
mediu adecvat pentru testarea proiectelor MYSQL, PHP, Apache și Perl pe computerul local.

2.7 Apache

Apache este un server HTTP de tip open source . Apache a jucat și joacă un rol important
în dezvoltarea webului , fiind folosit în prezent în circa 65.2 % din paginile
29

web. Cuvântul apache (pronun țat [əˈpætʃiː]) este numele apașilor, triburi de amerindieni.

Apache este un server web cu o contribu ție notabilă la dezvoltatea Internetului (world
wide web).

Apache a reprezentat prima alternativă viabilă la Netscape Communications Corporation,
și a evoluat rapid în func ționalitate și performanță ca un rival competitiv pentru alte servere web
bazate pe Unix .

Apache este dezvoltat de o comunitate deschisă de programatori sub emblema Apach e
Software Foundation. Aplica ția este disponibilă pentru o mare varietate de sisteme de operare
incluzând Unix, FreeBSD , Linux , Solaris , Novell NetWare , Mac OS X , Microsoft
Windows si OS/2 .

Serverul Apache este caracterizat ca fii nd un software gratuit și open source, acesta
făcând ca, începând din aprile 1996, el să fie cel mai popular server HTTP. Cu toate că în
noiembrie 2005 a început să piardă din cota de pia ță, în aprilie 2008 Apache stătea încă la baza a
peste 50 % din situr ile web, iar în iunie 2013 a ajuns la 65.2%. Apache este folosit pentru
46,91% din totalul domeniului românesc.

Prima versiune a serverului a fost creată de Robert McCool , care la vremea aceea era
implicat în proiectul National Center for Supercomputing Applications , cunoscut pe scurt ca
NCSA HTTPd.

A doua versiune a serverului a fost o rescriere substan țială, de data aceasta punându -se
accentul pe crearea unui layer prioritar (Apache Portable Runtime) și a suportului de module.

Apache suportă o mare varietate de module care îi extind func ționalitatea, acestea variază
de la server side programming și până la scheme de autentificare. Câteva limbaje suportate sunt:
mod_perl, mod_python, Tcl si PHP. Ca alte module putem enumera : SSL si TLS support
(mod_ssl), un modul proxyun , modul de rescriere URL (cunoscut ca un motor de rescriere
mod_rewrite), custom log files (mod_log _config) și suport de filtrare (mod_include și
mod_ext_filter).

O altă calitate a serverului Apache este virtual hosting (găzduirea virtuală), care constă în
posibilitatea de a găzdui mai multe situri simultan pe acela și server.

Principalul competitor al serverului Apache este Microsoft Internet Information Services
(IIS), urmat de Sun Java System Web Server al companiei Sun Microsystems și multe altele,
cum ar fi Zeus Web Server.

Apache este folosit de unele din cele mai mari situri din lume. Astfel, mo torul de căutare
folosit de Google folose ște o versiune modificată de Apache numită Google Web Server (GWS);
și proiectele Wikimedia inclusiv Wikipedia rulează tot pe un server Apache.

Aplica ție PHP -MySQL pentru organizarea activităților didactice

3.Implementarea aplicației

3.1 Accesarea resurselor pe baza URL și a protocolului HTTP

3.1.1 URL

URL -ul reprezintă Uniform Resource Locator. O adresă URL nu este nimic mai mult
decât adresa unei anumite resurse unice de pe Web. În teorie, fiecare adresă URL validă indică
o resursă unică. Astfel de resurse pot fi o pagină HTML, un document CSS, o imagine etc. În
practică există câteva excep ții, cele mai frecvente fiind o adresă URL care indică o resursă care
nu mai există sau care sa mutat. Deoarece resursa reprezentată de adresa URL și adresa URL în
sine sunt gestionate de serverul Web, este de datoria proprietarului serverului web să gestioneze
cu grijă acea resursă și adresa URL asociată.

Obiectivul unei cereri HTTP este numit "resursă"; acesta poate fi un document,
o fotografie sau orice altceva. Fiecare resursă este identificată printr -un Uniform Resource
Identifier (URI) utilizat pe întreg HTTP pentru identificarea resurselor.
Identitatea și localizarea resurselor pe Web sunt în mare p arte date de o singură
adresă URL (Uniform Resource Locator, un fel de URI). Există uneori motive de identitate și
locație care nu sunt date de același URI: HTTP utilizează un antet specific HTTP, Alt -Svc când
resursa solicitată dore ște ca clientul să îl a cceseze în altă loca ție.

URLs

Adresele URL constau de obicei din trei bucă ți:

1. Numele protocolului folosit pentru a transfera resursa pe Web.
2. Numele ma șinii care găzduiește resursa.
3. Numele resursei însă și, dat ca o cale.

Oricare dintre aceste adrese URL poate fi introdusă în bara de adrese a browserului
dvs. pentru a le spune să încarce pagina asociată (resursă). O adresă URL este compusă din păr ți
diferite, unele obligatorii și altele sunt opționale.

31

În HTML, adresele URL joacă un rol în aces te situa ții:

Când se face trimitere la metadatele care descriu un document (a se
vedea elementul HEAD).
 
Când se citează o referin ță externă (vezi elementele Q, BLOCKQUOTE, INS și 
DEL).

Când include ți un obiect direct într -un document (vede ți elementele
OBJECT, IMG, MAP, FRAME și IFRAME).

Când conecta ți la un alt document sau program (vedeți elementele BASE,
A, LINK, AREA, FORM, INPUT, SCRIPT și APPLET). 

În fiecare caz, autorii pot utiliza o adresă URL completă, o adresă URL fragment sau o
adresă URL relativă. Consulta ți secțiunea privind ancorele pentru mai multe informații despre
linkuri și adrese URL.

3.1.2 HTTP

Principalele concepte cu care lucrează acest protocol sunt cererea și răspunsul.

– cererea este transmisă de client către serverul web și reprezintă o solicitare pentru
obținerea unor resurse (identificate printr -un URL); aceasta con ține denumirea
metodei care va fi utilizată pentru transferul de informa ții, locația de unde se găsește
resursa respectivă și versiunea de protocol .

– răspunsul este transmis de serverul web către client, ca rezultat al solicitării primite,
incluzând și o linie de stare (ce conține un cod care indică dacă starea comenzii)
precum și alte informații suplimentare .

Imaginea 3.1.2.1

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Structura unei cereri HTTP

O cerere HTTP con ține una sau mai multe linii de text ASCII , precedate în mod necesar
de denumirea metodei specificând opera ția ce se va realiza asupra conținutului respectiv:

Denumire
Metodă Descriere

GET descărcarea resursei specificate de pe serverul web pe client;
majoritatea cererilor către un server web sunt de acest tip.

GET / page.html HTTP/1.1
Host: www.server.com

HEAD obținerea antetului unei pagini Internet, pentru a se verifica
parametrii acesteia sau doar pentru a testa corectitudinea unui URL .

PUT
încărcarea resursei specificate de pe client pe serverul web (cu
suprascrierea acesteia, în cazul în care există deja); trebuie
specificate și datele de autentificare, utilizatorul respectiv trebuind
să aibă permisiunile necesare pentru o astfel de operație .

POST transferul de informa ții de către client cu privire la resursa
specificată, acestea urmând a fi prelucrate de serverul web .

GET / page.html HTTP/1.1
Host: www.server.com
attribute1=value1&…&attributen=valuen

DELETE ștergerea resursei specificate de pe serverul web, rezultatul opera ției
depinzând de permisiunile pe care le de ține utilizatorul ale cărui date
de autentificare au fost transmise în antete.
TRACE solicitare de retransmitere a cererii primite de serverul web de la
client, pentru a se testa corectitudinea acesteia .
CONNECT rezervat pentru o utilizare ulterioară .
OPTIONS interogare cu privire la atributele serverului web sau ale unei resurse
găzduite de acesta.

Cel mai frecvent, se utilizează metodele GET (folosită implicit, dacă nu se specifică
altfel) și POST .

33

GET vs. POST
Deși atât metoda GET cât și metoda POST pot fi utilizate pentru descărcarea con ținutului
unei pagini Internet, transmi țând către serverul web valorile unor anumite atribute, între acestea
există anumite diferen țe:
 o cerere GET poate fi re ținută în cache, fapt ce nu este valabil și pentru o
cerere POST;
 o cerere GET rămâne în istoricul aplica ției de navigare, fapt ce nu este valabil
și pentru o cerere POST;
 o cerere GET poate fi re ținută printre paginile Internet favorite din cadrul
programului de navigare, fapt ce nu este valabil și pentru o cerere POST ;
 o cerere GET impune unele restric ții cu privire la lungimea (maxim 2048
caractere) și la tipul de date (doar caractere ASCII) transmise (prin URL), fapt
ce nu este valabil și pentru o cerere POST;
 o cerere GET nu trebuie folosită atunci când sunt implica te informa ții critice
(acestea fiind vizibile în URL), fapt ce nu este valabil și pentru o
cerere POST;
 o cerere GET ar trebui să fie folosită doar pentru ob ținerea unei resurse, fapt
ce nu este valabil și pentru o cerere POST.
O linie de cere re HTTP poate fi succedată de unele informa ții suplimentare,
reprezentând antetele de cerere , acestea având forma atribut:valoare, fiind definite următoarele
proprietă ți:
 User -Agent – informa ții cu privire la browser -ul utilizat și la platforma pe care
rulează acesta
 informa ții cu privire la conținutul pe care clientul îl dorește de la serverul web,
având capacitatea de a -l procesa; dacă serverul poate alege dintre mai multe
resurse pe care le găzduie ște, va alege pe cele care respectă constrângerile
specificate, altfel întoarce un cod de eroare
 Accept – tipul MIME
 Accept -Charset – setul de caractere
 Accept -Encoding – mecanismul de codificare
 Accept -Language – limba
 Host (obligatoriu) – denumirea gazdei pe care se găse ște resursa (specificată
în URL); nec esară întrucât o adresă IP poate fi asociată mai multor nume de DNS
 Authorization – informa ții de autentificare în cazul unor operații care necesită
drepturi privilegiate
 Cookie – transmite un cookie primit anterior
 Date – data și ora la care a fost transm isă cererea

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Structura unui răspuns HTTP

Un răspuns HTTP este format din linia de stare, antetele de răspuns și posibile informații
suplimentare, con ținând o parte sau toată resursa care a fost solicitată de client de pe serverul
web.
În cadrul liniei de stare este inclus un cod din trei cifre care indică dacă solicitarea a putut
fi îndeplinită sau nu (situa ție în care este indicată și cauza).

Familie
de
coduri Semnificație Descriere

1xx
Informație răspuns provizoriu, constând din linia de stare și alte antete
(fără con ținut, terminat de o linie vidă), indicând faptul că
cererea a fost primită, procesarea sa fiind încă în desfă șurare;
nu este utilizată în HTTP/1.0 .
2xx Succes răspuns ce indică faptul că cererea a fost primită, în țeleasă,
acceptată și procesată cu success.

3xx

Redirectare răspuns transmis de serverul web ce indică faptul că trebuie
realizate ac țiuni suplimentare din partea clientului (cu sau fără
interac țiunea utilizatorului, în funcție de metoda folosită)
pentru ca cererea să poată fi îndeplinită; în cazul în care
redirectarea se repetă de mai multe ori, se poate suspecta o
buclă infinită.
4xx Eroare la client răspuns transmis de serverul web ce i ndică faptul că cererea nu
a putut fi îndeplinită, datorită unei erori la nivelul clientului;
mesajul include și o entitate ce conține o descriere a situației,
inclusiv tipul acesteia (permanentă sau temporară).

5xx
Eroare la server cod de răspuns ce indică clientului faptul că cererea nu a putut
fi îndeplinită, datorită unei erori la nivelul serverului web;
mesajul include și o entitate ce conține o descriere a situației,
inclusiv tipul acesteia (permanentă sau temporară).

Mesajul con ține și antetele de răspuns , având forma atribut:valoare, fiind definite
următoarele proprietă ți:
 Server – informa ții cu privire la mașina care găzduiește resursa care este transmisă
 informa ții cu privire la proprietățile conținutului care este transmis
 Content -Encoding – mecanismul de codificare
 Content -Language – limba
35

 Content -Length – dimensiunea
 Content -Type – tipul MIME
 Last-Modified – ora și data la care pagina Internet a fost modificat ă
 Location – informa ție prin care serverul web informează cli entul de faptul că ar trebui
folosit alt URL(resursa a fost mutată sau trebuie accesată o pagină Internet localizată în
funcție de anumite preferințe)
 Accept -Ranges – informa ție referitoare la transmiterea conținutului solicitat în mai multe
părți, corespu nzătoare unor intervale de octe ți
 Set-Cookie – transmiterea unui cookie de la serverul web la client, acesta trebuind să fie
inclus în antetele ulterioare ale mesajelor schimbate între cele două entită ți

3.2 Implementarea bazei de date

Pentru implementarea acestei baze de date, am folosit aplicația XAMPP și
PHPMyAdmin.

Imaginea 3.2.1

Pentru implementarea bazei de date, se rulează aplicația XAMPP, după care se pornesc
două aplicații, Apache și MySQL, apoi se deschide orice browser web.
În figura de mai sus, am folosit google chrome ca browser web și am testat dacă există
baza de date pe localhost/phpmyadmin/.

Imaginea 3.2.2

Aplica ție PHP -MySQL pentru organizarea activităților didactice

În imaginea 3.2.2, apăsând butonul New, putem crea o nouă bază de date. În câmpul
Database name se scrie numele ce îl va avea noua bază de date, iar în al doilea câmp, la
Interclasare, se selectează utf8_unicode_ci. După aceea, se apasă butonul creează, iar noua bază
de date a fost creată.

Imaginea 3.2.3

Construită noua bază de date, va fi cea în care vom adauga, aceasta numindu -se bază de
date curentă.
În imaginea 3.2.3 se introduce datele pentru construirea tabelelor.

Imaginea 3.2.4.

Baza de date proiect conține șapte tabele: anuntadmin, discipline, facultăți, mesaje, orar,
profesori și săli .
Aceasta a fost implementată pentru Facultatea de Științe Aplicate, specializarea
Matematică și informatică aplicată în inginerie, unde vor apărea disciplinele, profesorii, sălile și
orarul grupelor de la această facultate.
Anii de studiu sunt 1,2,3 sau 4, iar grupele sunt 1311, 1312, 131 3, 1314, 1321, 1322,
1323, 1332, 1333 și 1341

37

Tabelul anuntadmin:

Imaginea 3.2.5

În imaginea 3.2.5 este prezentat tabelul anuntadmin, care conține mesajele care apar pe
prima pagină. Acest tabel conține id -ul mesajului, mesajul și data mesajului.

Concret, în proiectul meu apar două mesaje:
1. Studenții pot vizualiza orarul, accesând secțiunea orar din meniu și selectând anul și
grupa.
2. Bine ați venit ! Aici veți găsi în fiecare zi știrile legate de universitatea noastră.

Tabelul discipline:

Imaginea 3.2.6

Aplica ție PHP -MySQL pentru organizarea activităților didactice

În imaginea 3.2.6 este prezentat tabelul discipline , care conține 69 câmpuri, și anume
disciplinele studiate în toți cei patru ani la această facultate. Fiecare disciplină, are profesorii care
o predau și anul de studiu.

Nr. Denumire Profesori An studiu
1 Analiză matematică 1 Dan Larionescu
Simona Bibic
Antoanela Toma
Vladimir Slesar 1
2 Algebră liniară Vladimir Balan
Lavinia Petrescu 1
3 Fizică general – noțiuni introductive Alexandru Lupascu
Emanuel Dinescu
Ionut Vladoiu 1
4 Fundamentele programării calculatoarelor Ciureanu Sorin 1
5 Chimie generală Ioana Demetrescu
Mihaela Mandroiu 1
6 Cultură și instituții europene Daniela Cotoara 1
7 Limbă străină 1 Brandusa Raileanu 1
8 Educație fizică și sport 1 Ofelia Popescu 1
9 Analiză matematică 2 Dan Larionescu 1
10 Geometrie analitică și diferențială Constantin Udiste
Lavinia Petrescu 1
11 Analiză numerică cu soft 1 Mihai Postolache
Angela Pasarescu 1
12 Bazele fizice ale mecanicii Viorel Paun 1
13 Programarea calculatoarelor Ciureanu Sorin 1
14 Limbă străină 2 Brandusa Raileanu 1
15 Educație fizică și sport 2 Ofelia Popescu 1
16 Infografică și geometrie descriptivă Narcisa Valter 1
17 Simularea numerică a proceselor fizice Adrian Radu 1
18 Calcul matriceal cu aplicații Vladimir Balan 1
19 Psihologia educației Alina Zaharia 1
20 Pedagogie I (Fundamentele pedagogiei.
Teoria si metodologia curriculumului) Alina Zaharia 1
21 Ecuații diferențiale Mihai Postolache
Angela Pasarescu 2
22 Teoria probabilităților Stefan Stefanescu 2
23 Analiză complexă Felicia Nicorestianu
Corina Cipu 2
24 Programare orientată pe obiecte Tiberiu Vasilache 2
25 Bazele fizice ale electromagnetismului Constantin Negutu
Constanta Dascalu 2
39

26 Termodinamica și fizica statică Emil Petrescu
Octavian Danila 2
27 Rezistența materialelor Daniel Vlasceanu 2
28 Comunicare și relații publice Daniela Cotoara 2
29 Funcții speciale Ariana Pitea 2
30 Ecuațiile fizicii matematice Viorel Catana 2
31 Optică și laseri Adrian Harabor
Emanuel Dinescu 2
32 Fundamentele fizicii cuantice Constantin Negutu 2
33 Electrotehnică Miruna Nitescu
Radu Ciuceanu 2
34 Proiectare asistată de calculator Anda Olteanu 2
35 Legislație generală Daniela Cotoara 2
36 Istoria României Daniela Cotoara 2
37 Pedagogie II(Teoria si metodologia
instruirii. Teoria și metodologia evaluării) Teodora Chicioreanu 2
38 Didactica specialității Teodora Chicioreanu 2
39 Analiză numerică cu soft 2 Ariana Pitea
Nicusor Costea
Teodor Turcanu 3
40 Proceduri de calitate Dan Cicic 3
41 Structuri de date și algoritmi Iuliana Munteanu 3
42 Analiză reală Viorel Catana 3
43 Teoria sistemelor și control optimal 1 Valeriu Prepelita
Mona Doroftei 3
44 Matematici discrete pentru calculator Mircea Olteanu 3
45 Programarea aplicațiilor web Tiberiu Vasilache 3
46 Teorii Lagrange -Hamilton Constantin Udriste
Laura Matei 3
47 Sisteme dinamice și geometrie diferențială Constantin Udriste
Laura Matei 3
48 Teoria sistemelor și control optimal 2 Valeriu Prepelita
Tiberiu Vasilache 3
49 Analiză funcțională cu aplicații în
inginerie Romeo Bercia 3
50 Statistică matematică cu soft specializat Stefan Stefanescu 3
51 Teoria algoritmilor Iuliana Munteanu 3
52 Cercetări operaționale cu soft Adrian Ionescu 3
53 Grafică inginerească cu soft specializat Ovidiu Antonescu 3
54 Fiabilitate Constantin Tarcolea
Aurora Marica 3
55 Instruire asistată de calculator Teodora Chicioreanu 3
56 Managementul clasei de elevi Teodora Chicioreanu 3
57 Arhitectura calculatoarelor Catalin Petrescu 4
58 Baze de date Adrian Dunca 4
59 Fractali Mircea Olteanu 4
60 Sisteme de operare Tiberiu Vasilache 4

Aplica ție PHP -MySQL pentru organizarea activităților didactice

61 Rețele de calculatoare Alexandru Dumitrascu 4
62 Calcul variațional cu aplicații în inginerie Constantin Udriste
Laura Matei 4
63 Proiect de inginerie matematică Lucian Parvulescu 4
64 Grafică pe calculator Vladimir Balan
Aurora Marica 4
65 Gestiunea informatică a documentelor Ariana Pitea 4
66 Limba engleză pentru calculatoare și
cultura engleză Brandusa Raileanu 4
67 Teoria informației și a codurilor Catalin Ionita 4
68 Teoria aproximării și elemente finite cu
soft specializat Adrian Dunca 4
69 Ecuații integrale cu soft specializat Romeo Bercia
Andrei Halanay 4

Tabelul facultati:

Imaginea 3.2.7

41

În imaginea 3.2.7 este prezentat tabelul facultati : id-ul facultății și denumirea. Acest tabel
conține 16 câmpuri. Denumirea celor 16 câmpuri se pot observa în imaginea de mai sus.

Tabelul mesaje:
În acest tabel se vor afișa mesajele profesorilor către studenți.

Tabelul orar:

Imaginea 3.2.8

În imaginea 3.2.8 este prezentat tabelul orar, alcătuit din: id, facultate, an, grupa, ziua
(săptămânii), ora (când se desfășoară), disciplina, tip (seminar, curs, laborator), durata (cât timp
durează), profesor, sala și observații (paritat ea săptămânii) .

Tabelul profesori

Imaginea 3.2.9

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Tabelul sali

Imaginea 3.2.10

În imaginea 3.2.10 este prezentat tabelul săli: id, sala, locurile sălii și tipul (curs, seminar
si laborator) . Acesta conține 11 câmpuri: S06, S05, S04, S03, EG104, CB212, CB106, BN127,
BN123, BN119, BN113 .

3.3 Prezentarea ș i utilizarea aplica ției realizate

După lansarea paginii web, superadministratorul accesează login -ul, se poate conecta cu
numele de admin și parola admin.
Scriptul de conectare PHP este folosit pentru a furniza autentificare pentru paginile
noastre web. Scriptul se execută după trimiterea buto nului de conectare a utilizatorului.

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 1 și
grupa 1311.
În imaginea de mai jos, se va vedea rezultatul.

43

Imaginea 3.3.1

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 1 și
grupa 1312.

Imaginea 3.3.2

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 1 și
grupa 1313.

Imaginea 3.3.3

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 1 și
grupa 1314.

Imaginea 3.3.4

45

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 2 și
grupa 1321.

Imaginea 3.3.5

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 2 și
grupa 1322.

Imaginea 3.3.6
Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 2 și
grupa 1323.

Aplica ție PHP-MySQL pentru organizarea activităților didactice

Imaginea 3.3.7

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 3 și
grupa 1331.

Imaginea 3.3.8

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 3 și
grupa 1332.
47

Imaginea 3.3.9

Afișarea orarului se face astfel, se selectează Facultatea de Științe Aplicate, anul 4 și
grupa 1341.

Imaginea 3.3.10

Aplica ție PHP -MySQL pentru organizarea activităților didactice

3.3.1 Implementarea aplica ției

În acest capitol, voi prezenta codurile folosite pentru implementarea aplicației.

Fișierul adaugadiscipline:

<?php
session_start();
include ("settings.php");
$denumire=$_POST['denumire'];
$anstudiu=$_POST['anstudiu'];
$profesor="";
foreach ($_POST['profesor'] as $idprof)
{
$profesor.="$idprof ";
}
if ($denumire!="")
{
$adaugare= "INSERT INTO `$discipline` (`id`, `de numire`,`profesor` ,`anstudiu`)
VALUES (NULL, '$denumire', '$profesor', '$an studiu' )";

$db = mysqli_connect("$server", "$user", "$pass", "$database") or die("Unable to
connect to the server!");

$q22=mysqli_query($db, $adaugare);
mysqli_close($db);

}
header("Location: discipline.php?ech=0");
exit;
//*/
?>

Fișierul adaugafacultati:

<?php
session_start();
include ("settings.php");
$faculta=$_POST['faculta'];

49

if ($faculta!="")
{
$adaugare= "INSERT INTO `$facultati` (`id`, `denumire`) VALUES (NULL,
'$faculta')";
$db = mysqli_connect("$server", "$user", "$pass", "$d atabase") or die("Unable to
connect to the server!");

$q22=mysqli_query($db, $adaugare);
mysqli_close($db);

}
header("Location: facultati.php?ech=0");
exit;
//*/
?>

Fișierul adaugamesaje:

<?php
session_start();
include ("settings.php");
$mesaj=$_POST['mesaj'];

$azi=date("Y -m-d");

if ($mesaj!="")
{
$adaugare= "INSERT INTO `$mesaje` (`prof`, `mesaj`, `data`) VALUES
('".$_SESSION['id']."', '$mesaj', '$azi')";
$db = mysqli_connect("$server", "$user", "$pass", "$database") or die("Unable to
connect to the server!");

$q22=mysqli_query($db, $adaugare);
mysqli_close($db);

}
header("Location: mesaje2.php");
exit;
//*/
?>

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Fișierul adaugaorar:

<?php
session_start();
include ("settings.php");
$ziua=$_POST['ziua'];
if ($ziua==0)
{
$eroare="ALEGE ZIUA !";
header("Location: orar.php?com=2&err=$eroare");
exit;
}
for ($i=1;$i<7;$i++)
{
$ora[$i]=$_POST["ora".$i];
$disciplina[$i]=$_POST["disciplina".$i];
$profesor[$i]=$_POST["profesor".$i];
$tip[$i]=$_POST["tip".$i];
$durata[$i]=$_POST["durata".$i];
$sala[$i]=$_POST["sala".$i];
$observatie[$i]=$_POST["observatie".$i];
}
$db = mysqli_connect("$server", "$user", "$pass", "$database") or die("Unable to
connect to the server!");
for ($i=1;$i<7;$i++)
{
if ($ora[$i]!=0 && $disciplina[$i]!=0)
{
$adaugare= "INSERT INTO `$orar` (`id`,
`facultate`,`an`,`grupa`,`ziua`,`ora`,`disciplina`,`tip`,`durata`,`profesor`,`sala` ,`observatii`)
VALUES (NULL, '".$_SESSION[' facultate']."', '".$_SESSION['anstudiu']."',
'".$_SESSION['grupa']."', '$ziua', '$ora[$i]', '$disciplina[$i]', '$tip[$i]', '$durata[$i]',
'$profesor[$i]', '$sala[$i]', '$observatie[$i]' )";
$q22=mysqli_query($db, $adaugare);
}
}
mysqli_close($db);
header(" Location: orar.php?com=2");
exit;
?>

51

Fișierul adaugaprofesori:

<?php
session_start();
include ("settings.php");
$profesor=$_POST['profesor'];
if ($profesor!="")
{
$adaugare= "INSERT INTO `$profesori` (`id`, `nume`) VALUES (NULL, '$profesor')";
$db = mysqli_connect("$server", "$user", "$pass", "$database") or die("Unable to
connect to the server!");
$q22=mysqli_query($db, $adaugare);
mysqli_close($db);
}
header("Location: profesori.php?ech=0");
exit;
//*/
?>

Fișierul adaugasali:

<?php
session_sta rt();
include ("settings.php");
$sala=$_POST['sala'];
$locuri=$_POST['locuri'];
$tip=$_POST['tip'];
if ($sala!="")
{
$adaugare= "INSERT INTO `$sali` (`id`, `sala`,`locuri` ,`tip`) VALUES (NULL, '$sala',
'$locuri', '$tip' )";
$db = mysqli_connect("$server", "$user", "$pass", "$database") or die("Unable to
connect to the server!");
$q22=mysqli_query($db, $adaugare);
mysqli_close($db);
}
header("Location: sali.php?ech=0");
exit;
//*/
?>

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Fișierul anunturi
<?php
session_start();
include ("settings.php");
if (empty($_SESSION['utilizator']) || ($_SESSION['utilizator']!= $superadmin))
{
$error="please login!";
header("Location: index.php?err=$error");
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1 -transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="description" content="Gestionarea activitatilor din cadrul universitatii">
<META NAME="ROBOTS " CONTENT="INDEX, FOLLOW">
<meta http -equiv="Content -Type" content="text/html; charset=utf -8" />
<title>Universitatea Politehnica Bucuresti</title>
<link rel=stylesheet href=fv.css>
<link rel="icon" type="image/png" href="favicon.png">
</head>
<body>
<tabl e width="800" align="center" border="0" cellpadding="0" cellspacing="15">
<tr><td colspan="2" height="150" style=" border -bottom: 2pt solid <?php print
$bgmeniu; ?>; "><?php include ("sus.php"); ?>
</td>
</tr>
<tr>
<td width="100" valign="top" align="left" ><?php include ("stanga.php"); ?>
</td>
<td width="400" align="center" valign="top"><?php include ("mijlocanunturi.php"); ?>
</td>
</tr>
</table>
</body>
</html>

53

4. Concluzii

Dezvoltarea unei pagini web necesitată multe cuno ștințe, precum: HTML (pentru
realizarea interfe ței), CSS(pentru designul interfeței), PHP (pentru legătura dintre interfață și
baza de date), MySQL(structuri de bază de date), Bootstrap și JQuerry.

Posibilită ți de utilizarea a aplicației PHP – pentru organizarea activităț ilor didactice :
 Aplica ția este utilă în primul rând Facultății de Științe Aplicate, pentru care a fost
creată 
 Aplica ția poate fi îmbunătățită, adăugând o serie de noi funcționalități 
 Poate fi refăcută astfel încât să fie folosită și de alte facultăți  
 Folose ște o interfață ușor de utilizat, ceea ce nu împiedică utilizatorii să o utilizeze 

Mai jos sunt prezentate câteva dintre avantajele dezvoltării PHP MYSQL
Web Development:

 Dinamic: Deoarece PHP este un limbaj de scripting pe partea de server, acesta creează
pagini dinamice cu func ții personalizate. PHP oferă un site web sau o aplicație web
prietenoasă și permite vizitatorilor să interacționeze liber în timp ce produce un
conținut foarte flexibil și dinamic. 
 Ușurința de utilizare: PHP este foar te ușor de învățat în comparație cu celelalte limbi
de programare. Sintaxa PHP poate fi u șor analizată. Cu stabilitatea sa, PHP va rezolva
cu ușurință multe probleme. 
Codurile HTML încorporate: PHP este, fără îndoială, un limbaj compatibil cu
platformele. Și din cauza abilității sale de a decoda codul HTML, nu este nevoie de codificare
separată pentru PHP. Această proprietate vine cu câteva alte beneficii, cum ar fi:
 PHP poate fi u șor incorporat într -un cod generat de editori 
 PHP poate reduce costurile în timp ce cre ște eficiența site -urilor Web sau a
aplica țiilor web 
 Cu PHP, nu este necesar să rescrie m fiecare linie HTML într -un limbaj
de programare 

Aplica ție PHP -MySQL pentru organizarea activităților didactice

5. Bibliografie

1. [Well2005], Laura Thomson ; Dezvoltarea aplicatiilor WEB cu PHP și MySQL , Editia a II-a (+CD) ;
Editura Teora 2005.
2. [Thom2004], Dezvoltarea aplicatiilor web cu PHP si MySQL; Editura Teora 2004
3.[Angh2005], Dezvoltarea aplicatiilor web folosind XHTML, PHP si MySQL; Editura Polirom
2005
4.[Melo2005], Invata singur PHP, MySQL si Apache, Editura Corint 2005
5.www.wikipedia.org
6. https://ocw.cs.pub.ro/courses/eim/laboratoare/laborator07
7. http://php.net/man ual/ro/index.php
8. https://www.w3schools.com/
9. http://www.drogoreanu.ro/tutorials/php1.php

55

6. Anexe

Anexa 6.1

Anexa 6.2

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Anexa 6.3

Anexa 6.4

57

Anexa 6.5

Anexa 6.6

Anexa 6.7

Aplica ție PHP -MySQL pentru organizarea activităților didactice

Anexa 6.8

Anexa 6.9

Anexa 6.10

59

Similar Posts