Șef lucr. dr. ing. Marius -Adrian Marian Februarie 2020 CRAIOVA ii UNIVERSITATEA DIN CRAIOVA FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI ELECTRONICĂ… [615411]
UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ
DEPARTAMENTUL DE CALCULATOARE ȘI TEHNOLOGIA
INFORMAȚIEI
PROIECT DE DIPLOMĂ
Florin -Alexandru Logofătu
COORDONATOR ȘTIINȚIFIC
Șef lucr. dr. ing. Marius -Adrian Marian
Februarie 2020
CRAIOVA
ii UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ
DEPARTAMENTUL DE CALCULATOARE ȘI TEHNOLOGIA
INFORMAȚIEI
Sistem informatic pentru gestiunea proiectelor de licență și disertație
Florin -Alexandru Logofătu
COORDON ATOR ȘTIINȚIFIC
Șef lucr. dr. ing. Marius -Adrian Marian
Februarie 2020
CRAIOVA
iii „Învățătura este o comoară care își urmează stăpânul pretutindeni.”
Proverb popular
iv DECLARAȚIE DE ORIGINALITATE
Subsemnatul FLORIN -ALEXANDRU LOGOFĂTU, student: [anonimizat], Calculatoare și Electronică a
Universității din Craiova, certific prin prezenta că am luat la cunoștință de cele prezentate mai jos și că
îmi asum, în acest context, originalitate a proiectului meu de licență:
• cu titlul SISTEM INFORMATIC PENTU GESTIUNEA PROIECTELOR DE LICENȚĂ ȘI
DISERTAȚIE
• coordonată de ȘEF. LUCR. DR. ING. MARIUS -ADRIAN MARIAN, prezentată în sesiunea
FEBRUARIE 2020.
La elaborarea proiectului de licență, se consider ă plagiat una dintre următoarele acțiuni:
• reproducerea exactă a cuvintelor unui alt autor, dintr -o altă lucrare, în limba română sau prin
traducere dintr -o altă limbă, dacă se omit ghilimele și referința precisă,
• redarea cu alte cuvinte, reformularea prin cuvinte proprii sau rezumarea ideilor din alte lucrări,
dacă nu se indică sursa bibliografică,
• prezentarea unor date experimentale obținute sau a unor aplicații realizate de alți autori fără
menționarea corectă a acestor surse,
• însușirea totală sau parțial ă a unei lucrări în care regulile de mai sus sunt respectate, dar care
are alt autor.
Pentru evitarea acestor situații neplăcute se recomandă:
• plasarea între ghilimele a citatelor directe și indicarea referinței într -o listă corespunzătoare la
sfărșitul lu crării,
• indicarea în text a reformulării unei idei, opinii sau teorii și corespunzător în lista de referințe a
sursei originale de la care s -a făcut preluarea,
• precizarea sursei de la care s -au preluat date experimentale, descrieri tehnice, figuri, imagini ,
statistici, tabele et caetera,
• precizarea referințelor poate fi omisă dacă se folosesc informații sau teorii arhicunoscute, a
căror paternitate este unanim cunoscută și acceptată.
Data, Semnătura candidat: [anonimizat], UNIVERSITATEA DIN CRAIOVA Aprobat la data de
v Facultatea de Automatică, Calculatoare și Electronică …………………
Șef de departament,
Departamentul de Calculatoare și Tehnologia Informației Prof. dr. ing.
Marius BREZOVAN
PROIECTUL DE DIPLOMĂ
Florin -Alexandru Logofătu Numele și prenumele student: [anonimizat]/ -ei:
Sistem informatic pentru gestiunea proiectelor de licență și
disertație Enunțul temei:
Nevoia de a ușura modul de comunicare între coordonatorii
de licență și studenți. Datele de pornire:
Structura proiectului: Introducere, cuprins ș i concluzii.
Capitolul I: introducere, scopul și motivația personală;
Capitolul II: introduce cititorul în lumea dezvoltării site -urilor
web
Capitoul III: sunt prezentate noțiuni mai avansate de interfață
web
Capitolul IV: implementarea proiectului și deta lii despre
utilizarea aplicației Conținutul proiectului:
Capturi de ecran, diagrame, tabele Material grafic obligatoriu:
Periodice Consultații:
Conducătorul științific
Șef Lucr. dr. ing. Marius -Adrian Marian
(titlul, nume și prenume , semnătura):
Data eliberării temei:
vi
Termenul estimat de predare a
proiectului:
Data predării proiectului de către
student și semnătura acestuia:
UNIVERSITATEA DIN CRAIOVA
Facultatea de Automatică, Calculatoare și Electronică
Depar tamentul de Calculatoare și Tehnologia Informației
REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC
Numele și prenumele candidatului/ -ei: Florin -Alexandru Logofătu
Specializarea: Calculatoare cu predare în limba română
Titlul proiectului: Sistem informatic pentru ges tiunea proiectelor de licență
și disertație
Locația în care s -a realizat practica de
documentare (se bifează una sau mai
multe din opțiunile din dreapta): În facultate □
În producție □
În cercetare □
Altă locație:
În urma analizei lucrării candidatului a u fost constatate următoarele:
Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine
□ Nivelul documentării
vii Cercetare
□ Proiectare
□ Realizare
practică □ Altul
Tipul proiectului
Simplu
□ Mediu
□ Complex
□ Absent
□ Aparatul matematic u tilizat
Contract de
cercetare □ Cercetare
internă □ Utilare
□ Altul
Utilitate
Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine
□ Redactarea lucrării
Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună
□ Partea grafică, desene
Insuficientă
□ Satisfăcătoare
□ Mare
□ Foarte mare
□ Contribuția autorului
Complexitatea Simplă
□ Medie
□ Mare
□ Complexă
□
Realiza – temei
Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine
□ Analiza cerințe lor
rea
practică
Simplă
□ Medie
□ Mare
□ Complexă
□ Arhitectura
Întocmirea Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună
□ specificațiilor
funcționale
Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună
□ Implementarea
viii Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună
□ Testarea
Da
□ Parțială □ Nu
□ Funcționarea
Experiment propriu
□ Preluare din bibliografie
□ Rezultate experimentale
Cărți Reviste Articole Referințe
web Bibliografie
Comentarii
și
observații
În concluzie, se propune:
ADMITEREA PROIECTULUI
□ RESPINGEREA PROIECTULUI
□
Data, Semnătura conducătorului științific,
ix REZUMATUL PROIECTULUI
În ultimul deceniu, omenirea a avans at exponențial în domeniul tehnologic. Cred cu tărie că
prezența calculatorului și a internetului influențează cât mai mult viața fiecăruia dintre noi. Fie că vrem
să căutam un răspuns la o întrebare la care nu știm răspunsul, fie că vrem sa vedem ce face un vechi
prieten, apelăm cu toții la site -urile web destinate activităților precedente.
Am ales ca proiectul meu să fie un site web datorită accesibilității oferite. Este nevoie doar de un
dispozitiv care să fie conectat la internet si este de ajuns să acc esezi site -ul. Ușurința cu care un utilizator
poate naviga pe site este primordiala când deții un astfel de servicu. Vrei ca utilizatorul să revina și să
fie încăntat de serviciul oferit.
Site-ul lucrează cu baze de date în care sunt stocate activități leg ate de licenta unui student:
adăugarea temelor pentru licență, adăugarea notelor, afișarea notelor, vizualizarea profesorilor,
examinarea .
Site-ul lucrează cu baze de date în care sunt stocate diferite informații despre lucrarea de licență:
profesorul coo rdonator, tema licenței, data cand a fost inregistrată, numele și prenumele studentului si
specializarea acestuia.
Un site web este ideal în zilele noastre. Un site de evidența studenților ajuta enorm o instutiție
centralizată, ușurând enorm comunicarea di ntre Facultate și student cât și cea dintre părinți și
Facultate.
Partea de back -end este susținută de limbajul de programare PHP. Aceste limbaj de programare
este folosit inițial pentru a produce pagini web dinamice, dar este folosit pe scară largă în dez voltarea
paginilor și aplicațiilor web. Codul PHP poate fi executat cu o interfață de linie de coman dă, încorporat
în codul HTML sau utilizat în combinație cu diferite sisteme de șabloane web, sisteme de gestionare a
conținutului web și cadre web.
Partea de front -end este realizată cu Bootstrap. B ootstrap este un cadru CSS gratuit pentru toata
lumea și în același timp open -source, direcționat către dezvoltarea web front -end receptivă și mobilă.
Conține CSS și JavaScript, șabloane de proiectare, navigare, butoane, formulare și alte componente de
interfață.
Termenii cheie : site web, PHP, back -end, front -end, Bootstrap.
x MULȚUMIRI
Vreau să mulțumesc în primul familiei mele pentru că a fost mereu lăngă mine.
Mulțumesc și domnului Șef. Lucr. dr. ing. Marius -Adrian Marian, pentru tot sprijinul acordat,
de asemenea, pentru oportunitatea de a transforma proiectul într -o lucrare de licență pentru încredere,
îndrumare, consiliere și disponibilitatea oferită în această perioadă. Nu în ultimul rând, aș dori să le
mulțumesc tuturor academicienilor care au contribu it la pregătirea mea ca viitor inginer în acești patru
ani.
Mulțumesc comisiei de astăzi pentru răbdare și timpul petrecut împreună!
Vă mulțumesc!
xi PROLOG
xii Cuprins
1 INTRODUCERE ………………………….. ………………………….. ………………………….. ………………………. 1
1.1 Scopul ………………………….. ………………………….. ………………………….. ………………………….. 1
1.2 Motivația ………………………….. ………………………….. ………………………….. ……………………… 1
2 DEZVOLTAREA SITE -URILOR WEB ………………………….. ………………………….. ……………….. 2
3 TEHNOLOGII WEB PENTRU CREAREA INTERFEȚEI ………………………….. …………………… 2
3.1 HTML ………………………….. ………………………….. ………………………….. …………………………. 2
3.2 jQuery ………………………….. ………………………….. ………………………….. ………………………….. 4
3.3 JavaScript ………………………….. ………………………….. ………………………….. …………………….. 5
3.4 CSS ………………………….. ………………………….. ………………………….. ………………………….. … 6
3.4.1 La nivel de element ………………………….. ………………………….. ………………………….. ……….. 6
3.4.2 Încapsulate ………………………….. ………………………….. ………………………….. …………………… 6
3.4.3 Legate ………………………….. ………………………….. ………………………….. …………………………. 7
3.4.4 Atributul class ………………………….. ………………………….. ………………………….. ………………. 7
3.4.5 Atributul id ………………………….. ………………………….. ………………………….. …………………… 8
3.5 Bootstrap ………………………….. ………………………….. ………………………….. ……………………… 9
3.6 Baze de date ………………………….. ………………………….. ………………………….. ………………….. 9
3.6.1 Tipuri de baze d e date ………………………….. ………………………….. ………………………….. …….. 9
3.7 PHP ………………………….. ………………………….. ………………………….. ………………………….. …… 14
3.7.1 Performanța ………………………….. ………………………….. ………………………….. ………………… 15
3.7.2 Securitate ………………………….. ………………………….. ………………………….. …………………… 15
4 IMPLEMENTAREA ȘI UTILIZAREA APLICȚIEI ………………………….. ………………………….. 16
4.1 Prezentarea site -ului ………………………….. ………………………….. ………………………….. ……… 16
4.2 Interfața cu utilizatorul ………………………….. ………………………….. ………………………….. ….. 17
4.2.1 Sidebar -ul site -ului și butoanele prezente pentru stude nt ………………………….. ……………… 18
4.2.2 Sidebar -ul site -ului și butoanele prezente pentru profesor ………………………….. ……………. 20
xiii 5 BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………… 22
C. DVD/CD ………………………….. ………………………….. ………………………….. ………………………….. ….. 29
Ilustrațiile……………………………… ……………………… ………………………….. ………………………….. …….. 31
xiv LISTA FIGURILOR
FIGURA 1 CREARE PAGINĂ MASTER PAG E…………………………………………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 2 CONTENT PLACEHOLDER …………………………………………………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 3 W EB FORM ÎN PAGINA MASTER PAGE …………………………………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 4 ADĂUGARE PAGINA DE MASTER ………………………………………………………………..N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 5 CONTROL DE TIP CONTENT ………………………………………………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 6 ARHITECTURA LINQ ……………………………………………………….. …………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 7 O BȚINEREA UNUI CONTEXT DE DATE …………………………………………………………..N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 8 BAZĂ DE DATE SQL…………………………… ………………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 9 CLASE DEFINITE IN BAZA DE DATE ………………………………………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 10 C OD STUDENȚ I ÎNREGISTRAȚI ………………………………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 11 Î NREGISTRARE STUDENȚI PE SITE ……………………………………………………………..N U S-A GĂSIT ACEASTĂ DE STINAȚIE !
FIGURA 12 C OD ÎNREGISTRARE PROFESORI ……………………………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 13 Î NREGISTRARE PROFESORI PE SITE ……………………………………………………… ……N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 14 C OD ÎNREGISTRARE DEPARTAMENTE …………………………………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 15 Î NREGISTRARE WEBSITE DEPARTAMENTE …………………………….. …………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 16 C OD INTRODUCERE CURSURI ………………………………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 17 W EBSITE ÎNREGISTRARE CURSURI FAȚĂ DE CELE DEJ A EXISTENTE ………………………..N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 18 A SIGNARE BIROURI PENTRU PROFESORI (INSTRUCTORS )………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 19 A RATĂ MODUL DE INTRODUCERE AL BIROULUI PE S ITE……………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 20 A RATĂ ASIGNAREA CURSURILOR STUDENȚILOR …………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 21 A SIGNAREA CURSURILOR DIRECT PE SIT E…………………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 22 D IAGRAMA ENTITATE -ASOCIERE ………………………………………………………………N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
FIGURA 23 H EADER -UL SITE-ULUI…………………………………………………………………………………………………………….. …..13
FIGURA 24 PAGINA STUDENTS EXTENSIE ……………………………………………………………………. ……………………………………14
FIGURA 25 BUTONUL
DETAILS …………………………………………………………………………………………………………….. ……….15
FIGURA 26 REPREZENTÂND PAGINA COURSES ÎMPREUNĂ CU BUTONUL CREATE NEW…………………………………………………….15
FIGURA 27 CARE ARATĂ PAGINA INSTRUCTORS ………………………………………………………………………………………………….16
FIGURA 28 C OURSES TAUGHT BY SELECTED INSTRUCTOR ………………………………………………………………………………………16
FIGURA 29 CU PAGINA DEPARTMENTS ………………………………………………………………… …………………………………………17
FIGURA 30 MENIUL CREATE NEW…………………………………………………………………………………………………………….. …..17
FIGURA 31 ARATĂ BUTONUL EDIT ȘI CAZUL DE EROARE CÂND ESTE INTRODUS UN NUMĂR NENATURAL ………………………………..18
xv FIGURA 32 CU SIDE -BAR-UL SITE -ULUI …………………………………………………………………………………………… ……………….19
FIGURA 33 BUTOANELE HOME ȘI CRAIOVA UNIVERSITY ………………………………………………………………………………………..19
FIGURA 34 CARE CONSTĂ ÎN PREVIEW -UL PAGINII DE START …………………………. ……………………………………………………….20
FIGURA 35 BUTONUL EDUCATION STATUS ……………………………………………………………………………………………………….20
FIGURA 36
LOADING ……………. …………………………………………………………………………………………………………….. ……21
FIGURA 37 E DUCATION STATUS PASIV ……………………………………………………………………………… …………………………….22
FIGURA 38 EFECT BUTOANE …………………………………………………………………………………………………………….. ………….22
xvi LISTA TABELELOR
TABEL 1 ÎNREGISTRARE STUDENȚI …….. ………………………………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
TABEL 2 ÎNREGISTRARE PROFESORI ………………………………………………………………………..N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
TABEL 3 ÎNREGISTRARE DEPARTAMENTE ………………………………………………………………….N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
TABEL 4 ÎNREGISTRARE NOTE …………………………………………………………………………….. .NU S-A GĂSIT ACEASTĂ DESTINAȚIE !
TABEL 5 INTRODUCERE CURSURI …………………………………………………………………………..N U S-A GĂSIT ACEASTĂ DESTINAȚIE !
1 INTRODUCERE
1.1 Scopul
Scopul lucrării mele este acela de a ușura efortul studentului referitor la alegerea și pregătirea
lucrării de licență împreună cu coordonatorul ales. Site -ul urmărești accesibilitatea userilor care îl
accesează. Interfața este una simplă menită să micșoreze timpul necesar găsirii informației căutate.
Documentul acestă este menit să ofere cititorilor o idee despre cum arată procesul creării unui site web
ușor de înțeles și care își face treaba.
1.2 Motivația
Fiecare instituție de învățământ universitară trebuie să aibă o astfel de platformă, pentru a putea
facilita legaturile dintre studenți și profesori. De aceea planul și motivația mea sunt, să fac posibil acest
lucru în cât mai multe facultăți, pentru a reduce considerabil timpul petrecut la facultate.
2 2 DEZVOLTAREA SITE -URILOR WEB
2.1.1 Ciclul de viață al unei pagini web cuprinde următorii pași:
1. Utilizator -ul scrie adresa unei pagini web. Ceea ce inseamnă o cerere a browser -ului web către
server, se efectuează prin intermediul metodei HTTP GET. O dată ajunsa la server pagina
rulează pentru prima dată, e xecutandu -se și codul PHP.
2. Va rezulta o pagină HTML care va fi trimisă browser -ului.
3. Utilizator -ul va putea introduce date sau va putea apăsa un buton , de unde pagina va fi trimisă
din nou servăr -ului. În cazul în care utilizatorul vrea să acceseze un lin k, server -ul va încarca
o altă pagină , iar pe pagina inițială nu se va efectua nici o comandă.
4. Pagina web va fi trimisă către browser prin acțiunea HTTP POST.
5. Pagina va rula din nou pe server -ul web, se vor modifica informatiile introduse de catre
utiliza tor in browser -ul web.
6. Rezultatul va fi trimis browser -ului, și astfel se reia ciclul.
Procedeul de prelucare a paginilor web de către server este divizat in mai multe categorii. Fiecarei
categorii îi corespunde un eveniment asociat paginii.Cele mai import ante etape pentru o pagina web
sunt:
• Init – se inițializează fiecare control server
• Load – se execută la fiecare cerere a paginii
• Render – se generează codul html ce va fi trimis browser -ului
• UnLoad – sunt eliberate resursele folosite.
3 TEHNOLOGII WEB PEN TRU CREAREA INTERFEȚEI
3.1 HTML
HTML este un limbaj de marcare folosit pentru crearea paginilor web, ce definește conținutul
paginilor și modul de organizare și afișare al componentelor acestora prin utilizarea etichetelor și a
atributelor. Etichetele sunt reprezentate de cuvinte cheie plasate între caracterele „<”, „>” și sunt folosite
pentru a defini elemente HTML.
3 Majoritatea etichetelor formează perechi, ceea ce însemnă că folosirea uneia dintre etichete
presupune, implicit, și folosirea celeilalte.
O astfel de pereche este alcătuită dintr -o etichetă de început și una de încheiere. Ambele conțin
același cuvânt cheie plasat între caracterele „<” și „ >”, diferența dintre ele fiiind dată de faptul că, în
cazul etichetei de încheiere, cuvântul cheie este pr ecedat de caracterul „/”.
Un exemplu de astfel de pereche ar fi <p> și </p>, folosită pentru definirea unui paragrapf. Există
însă și etichete ce nu prezintă o pereche. De exemplu, pentru definirea unei imagini este suficientă
folosirea etichetei <img>.
Pentru ca o pagină web să poată fi interpretată corect de către browser, și ,prin urmare, să poată fi
afișată, trebuie să prezinte etichetele esențiale: <html> și perechea </html>, <head> și corespondentul
</head>, <body> și eticheta de încheiere </body>.
Prima pereche este folosită pentru a i se specifica browser -ului faptul că are de interpretat o pagină
HTML. A doua pereche marcheză secțiunea numită head ce conține informații asupra paginii precum
titlul acesteia, referințele către fișerele JavaScript, iar utlima pereche marchează secțiunea numită body
care conține toate componentele paginii vizibile în browser.
Având în vedere cele menționate anterior, codul utlizat pentru realizarea unei pagini web cu titlul
„Acesta este un test”, ce afișează textul „Aces ta este un paragraf” este:
<html>
<head>
<title>Acesta este un test</title>
</head>
<body>
<p>Acesta este un paragraf</p>
</body>
</html>
În ceea ce privește atributele, ce sunt specificate în eticheta de început, acestea sunt folosite pentru
a oferi infor mații suplimentare asupra uneia dintre componentele paginii web (un paragraf, o imagine,
etc). În general, atributele au asociat un nume și o valoare.
Astfel, pentru alinierea centrală a unui paragraf se va folosi atributul cu numele align și valoarea
center după cum urmează:
<p align=”center”> Acesta este un paragraf </p>
4 3.2 jQuery
jQuery este o bibliotecă rapidă și mică de JavaScript care pune la dispoziția programatorului
numeroase funcții pe care acesta le poate utiliza pentru simplificarea codului scr is în limbaj
JavaScript.
Altfel spus, un simplu apel al unei funcții asociate acestei biblioteci poate conduce la obținerea
unei funcționalități care altfel ar fi necesitat scrierea mai multor linii de cod. Acest lucru este susținut
și de motto -ul pe baza căruia a fost dezvoltată biblioteca și anume „Write less, do more!”.
Printre principalele caracteristici ale bibliotecii jQuery se numără:
simplifică apelurile de tip AJAX.
restaurarea de diacritice în fișiere text complexe
oferă o metodă elegantă de a tra ta anumite evenimente precum apăsarea unui link
facilitează traversarea elementelor documentului HTML precum și manipularea lor
prezintă numeroase funcții prin intermediul cărora pot fi realizate și incluse animații în
pagina web, cu un minim de efort
Pentru a putea fi folosite funcțiile acestei biblioteci, este necesar fie descarcarea ei de pe site -ul
web asociat „jQuery.com“, pe propiul computer și apoi includerea în fișierul HTML, fie includerea
directa în fișierul HTML.
Dintre cele două variante, cel ma i indicat ar fi să fie folosită varianta a doua deoarece, prin vizitarea
altor pagini web, cei mai mulți utilizatori au descărcat deja biblioteca jQuery. Astfel, aceasta va fi
încărcată direct din memoria cache atunci când sunt vizitate alte pagini ce folo sesc funcții jQuery și
prin urmare timpul de încărcare al paginii web vizitate va fi mai mic.
De asemenea, cea de -a doua variantă va fi preferată deoarece, în cazul unei rețele de tip CDN,
resursa cerută de utlilizator va fi oferită de server -ul cel mai ap ropiat de acesta, din punct de vedere
geografic, ceea ce duce la micșorarea timpului de încărcare al paginii accesate.
Sintaxa utilizată atunci când se dorește apelarea unei funcții din biblioteca jQuery indică faptul că
principalul scop al acesteia este a cela de a selecta elementul paginii HTML asupra căruia va acționa
una din funcțiile sale. Sintaxa este: $(selector).action(). Semnul „$” specifică faptul că se va folosi o
5 funcție specifică jQuery, selector este folosit pentru identificarea elementului HTM L (de exemplu, acest
câmp va fi reprezenat de id -ul elementului) iar action() nu reprezintă altceva decât funcția apelată.
Astfel, dacă se dorește ascunderea tuturor paragafelor dintr -o pagină HTML, linia de cod ce va
trebui folosită este: $(“p”).hide().
3.3 JavaScript
JavaScript este un limbaj de programare orientat pe obiecte de nivel înalt, bazat pe conceptul
prototipurilor, dinamic, diferit de Java atât din punct de vedere al conceptului cât și al modului de
proiectare.
Acesta este utilizat pentru intro ducerea unor diverse funcții în site -urile web. Este cunoscut, în
special, ca un limbaj de scripting folosit pentru pagini web, fiind folosit pentru a controla
comportamentul acestora.
Există trei forme ale limbajului JavaScript:
Core JavaScript – reprezin tă limbajul JavaScript de bază, CSJS și SSJS fiind dependente de
acesta.
CSJS (Client -Side JavaScript) – reprezintă o versiune extinsă a JavaScript folosită pentru
îmbunătățirea funcționalităților paginilor web și a navigatoarelor web folosite de client;
SSJS (Server -Side JavaScript) – reprezintă o versiune extinsă a JavaScript folosită pentru
accesarea în fundal a bazelor de date, a sistemelor de fișiere și a server -elor;
Versiunea cea mai utilizată este CSJS, codul rezultat fiind inclus direct în document ul HTML sau
introdus într -un fișier de tip „.js“ care va fi relatat în documentul HTML.
Se creează astfel o pagină HTML interactivă și dinamică, ce poate prezenta următoarele
funcționalități: verificarea faptului că adresa de e -mail introdusă în câmpul cor espunzător al unui
formular este una corespunzătoare (nu se verifică existența ei, ci faptul că respectă șablonul clasic al
unei adrese de e -mail), verificarea faptului că un câmp al formularului a fost completat.
Codul JavaScript este executat abia după f inalizarea completării formularului și apăsării butonului
de trimitere. Unul dintre principalele avantaje al acestui limbaj de programare este reprezentat de faptul
că, fiind un limbaj interpretat de către navigatoarele web, nu necesită un compilator.
6 3.4 CSS
Numele CSS provine din limba engleză și este un acronim recursiv pentru: Cascading Style Sheets.
CSS e definit ca un mod de formatare a HTML -ului. Cele doua concepte nu sunt în rivalitate, ba chiar
nu poate exista un site web fără amândouă.
Pentru afiș area paragrafelor in HTML se folosește eticheta <p>.
Modul de aranjare al documentului era sarcina browser -ului, fară a fi folosite taguri de structură.
Dezavantajul lucrului cu CSS este că pagina conținând cod CSS poate arata diferit în navigatoare
diferi te, deoarece nu toate browserele interpretează codul CSS la fel. Adăugând cod JavaScript, se obtin
efecte și mai sofisticate, chiar de animatie.
CSS + JavaScript = DHTML (Dynamic HTML). Aceste efecte spectaculoase justifică titulatura de
"artiști CSS" acor dată unor creatori de pagini web.
Foile de stil dau posibilitatea specificării informației despre stil în mai multe feluri. Stilurile se pot
specifica într -un singur element HTML, în interiorul elementului <head> al unei pagini HTML sau
într-un fișier exte rn CSS.
Dintr -un singur document HTML se pot face referiri către mai multe foi de stil externe. Deci, un
stil din interiorul unui element HTML are cea mai mare prioritate, ceea ce înseamnă că va suprascrie
fiecare stil declarat în tagul <head>, într -o foai e de stil externă și în browser.
Stilurile pot fi aplicate elementelor unui document în trei moduri:
la nivel de element
încapsulate legate
3.4.1 La nivel de element
Stilurile sunt incluse ca atribute în cadrul etichetelor HTML dindocument. Ceea ce înseam nă
că ele vor schimba doar elementul asupra căruia sunt aplicate. Este o metodă mai puțin folosită,
deoarece contrazice principiul general al stilurilor, acela de a simplifica și de a face mai lizibil codul
documentului HTML.
3.4.2 Încapsulate
Stilurile su nt intoduse în documentul asupra căruia se foloseste, și anume în secțiunea <head>
a documentului, prin aplicarea marcajului <style> .
7 3.4.3 Legate
Stilurile sunt utilizate în fișiere separate de documentul HTML. Documentul face apel la foaia
de stiluri pri n intermediul etichetei <link>.
Avantajul folosirii foilor de stiluri externe este dublu. Pe de -o parte, ele se pot folosi la nivelul
mai multor documente HTML, construind astfel o legătură de stil între ele, lucru deosebit de util în
realizarea unui site web. Pe de altă parte, același document poate realiza foi de stiluri diferite, oferind
vizitatorului posibilitatea de a opta la un moment dat, pentru unul sau altul dintre ele, în funcție de
preferințele fiecăruia.
Includerea stilurilor într -un document HT ML:
<html>
<head>
<link rel="stylesheet" type="text/css“ href=“numefisier.css"> (stiluri legate)
<style>
H1 {color: #008000; font -weight: bold}
P {font -family: Arial; color: #800080; font -size: 14px}
</style> (stiluri încapsulate)
</head>
<body>
<p style = ”color:blue; font -family; calibri; font -weight:italic”> Text -ul din acest
paragraf este scris cu font calibri, îngroșat de culoare albastră.</p>
</body>
</html>
3.4.4 Atributul class
Cu atributul class se pot defini elemente de stiluri diferite pentru același element. Să presupunem
că dorim două tipuri de paragrafe în document: unul aliniat la dreapta și unul centrat.
Iată cum se pot realiza aceste stiluri:
p.right {text -align: right}
p.center {text -align: center}
8 Trebuie folosit atributul class în documentul. HTML:
<p class="right"> Paragraf aliniat la dreapta </p>
<p class="cen ter"> Paragraf aliniat pe centru </p>
3.4.5 Atributul id
Atributul id trebuie să fie unic pe pagină. Nu poate exista decât un element cu un id dat într -un
document. El este marcat în documentul HTML cu id în loc de class:
<p id=”int”> Acest paragraf va fi aliniat la stanga. </p>
Atributul id poate fi definit prin două moduri. Poate fi definit pentru a se potrivi tuturor elementelor
cu un id specific sau să se potrivească numai unui element cu un id specific.
În urmatorul exemplu, atributul id se va aplica t uturor elementelor cu id= „int”
#int { font -size:110%; font –
weight:bold; color:#0000ff;
background -color:transparent
}
Pseudoclase de stiluri CSS și modalități de modificare a cursorului.
Pseudoclasele ajuta foarte mult la facerea unica a legăturilor, atât de tip text, cât și de tip
imagine. Ele sunt puse intr -un stil precum <style>…</style> sau într -un fișier din afară.
Exemple de pseudoclase:
a:link {
color: navyblue;
}
a:visited { color:
lightgreen;
} a:hover {
color: red;
} a:active
{
color: yelow;
}
9 3.5 Bootstrap
Bootstrap este cel mai popular framework HTML, CSS și JavaScript folosit pentru design -ul
paginilor web a căror interfață se adaptează la rezoluția ecranului dispozitivului (desktop, laptop,
tabletă, smartphone) de pe care este accesată pagin ă. Bootstrap oferă numeroase facilități, punând la
dispoziția dezvoltatorilor șabloane HTML și CSS pentru formulare, butoane, tabele, diferite animații,
etc.
jQuery este foarte prezent in Bootstrap, eu știu că le putem include pe toate. De asemenea, este u n
framework care are ca principală sarcină oferirea elementelor necesare pentru realizarea unui produs
finisat într -un timp scurt. Dezvoltatorului rămânându -i sarcina de a particulariza șablonul prespectiv,
de exemplu, prin utilizarea propriului fișier .cs s. Pentru ca facilitățile oferite de Bootstrap să poată fi
folosite este necesară includerea fișierelor .css și .js specifice Boostrap în fișierul .html.
3.6 Baze de date
O bază de date este o colecție de informații care este organizată astfel încât să poată fi ușor de
accesat, gestionată și actualizată. Bazele de date computerizate conțin de obicei agregări de înregistrări
sau fișiere de date, conținând informații despre tranzacțiile de vânzare sau interacțiunile cu clienții
specifici.
Într-o bază de date relațională , informațiile digitale despre un anumit client sunt organizate în
rânduri, coloane și tabele care sunt indexate pentru a uș ura găsirea informațiilor relevante prin interogări
SQL sau NoSQL . În schimb, o bază de date grafic utilizează noduri și muchii pentru a defini relațiile
dintre intrările de date și interogări necesită o sintaxă specială de căutare semantică . Din această scriere,
SPARQL este singurul limbaj de interogare semantică care este aprobat de W orld Wide Web
Consortium ( W3C ).
De obicei, managerul bazei de date oferă utilizatorilor posibilitatea de a controla accesul la citire /
scriere, specificarea genera rii raportului și analizarea utilizării. Unele baze de date
oferă conformitate ACID (atomicitate, consistență, izolare și durabilitate) pentru a garanta că datele
sunt consistente și că tranzacțiile sunt complete.
3.6.1 Tipuri de baze de date
Bazele de date au evoluat de la înființarea lor în anii 1960, începând cu baze de date ierarhice
și de rețea, prin anii 1980 cu baze de date orientate pe obiecte , și astăzi cu baze de date SQL și NoSQL
și baze de date cloud .
10 Într-o singură vizualizare, bazele de date pot fi clasificate în funcție de tipul de conținut:
bibliografic, text complet, numeric și imagini. În calcul, bazele de date sunt uneori clasificate în funcție
de abordarea lor organizațională. Există m ulte tipuri diferite de baze de date, de la cea mai răspândită
abordare, baza de date relațională, la o bază de date distribuită , baza de date cloud , baza de date grafică
sau baza de date NoSQL.
3.6.1.1 Baza de date relațională
O bază de date relațională , inventată de EF Codd la IBM în 1970, este o bază de date tabulară
în care datele sunt definite astfel încât să poată fi reorganizate și accesate în mai multe moduri
diferite.
Bazele de date relaționale sunt alcătuite dintr -un set de tabele cu date care se încadrează într -o
categorie predefini tă. Fiecare tabel are cel puțin o categorie de date într -o coloană și fiecare rând are o
anumită instanță de date pentru categoriile definite în coloane.
Limbajul de interogare structurat (SQL) este interfața de program standard pentru utilizator și
aplica ție pentru o bază de date relațională. Bazele de date relaționale sunt ușor de extins și o nouă
categorie de date poate fi adăugată după crearea bazei de date originale, fără a fi necesară modificarea
tuturor aplicațiilor existente.
3.6.1.2 Baza de date di stribuită
O bază de date distribuită este o bază de date în care porțiuni ale bazei de date sunt stocate în
mai multe locații fizice și în care procesarea este dispersată sau reprodusă între diferite puncte dintr -o
rețea.
Bazele de date distribuite pot fi omogene sau eterogene. Toate locațiile fizice dintr -un sistem
de baze de date distribuit omogen au același hardware subiacent și rulează aceleași sisteme de operare
și aplicații de bază de date. Hardware, sisteme de operare sau aplicații de baze de date dintr -o bază de
date distribuită eterogen pot fi diferite la fie care locație.
3.6.1.3 Baza de date Cloud
O bază de date cloud este o bază de date optimizată sau construită pentru un mediu virtualizat,
fie într -un cloud hibrid, cloud public sau cloud privat. Bazele de date cloud oferă beneficii, cum ar fi
capacitatea de a plăti capacitatea de stocare și lățimea de bandă în funcție de fiecare utilizare, și oferă
scalabilitate la cerere, împreună cu disponibilitate ridicată .
11 O bază de date cloud oferă, de asemenea, întreprinderilor posibilitatea de a sprijini aplicațiile
de afaceri într -o implementare software -ca-serviciu .
3.6.1.4 Baza de date NoSQL
Bazele de date NoSQL sunt utile pentru seturi mari de date distribuite. Bazele de date NoSQL
sunt eficiente pentru problemele mari ale performanței datelor pe care bazele de date relaționale nu sunt
creat e pentru a le rezolva. Sunt cele mai eficiente atunci când o organizație trebuie să analizeze bucăți
mari de date sau date nestructurate care sunt stocate pe mai multe servere virtuale din cloud.
3.6.1.5 Baza de date orientată pe obiecte
Elementel e create folosind limbaje de programare orientate pe obiecte sunt adesea stocate în
baze de date relaționale, dar bazele de date orientate pe obiecte sunt potrivite pentru acele elemente.
O bază de date orientată pe obiecte este organizată în jurul obiectelor, mai degrabă decât al
acțiunilor și al datelor, mai degrabă decât al logicii. De exemplu, o înregistrare multimedia dintr -o bază
de da te relațională poate fi un obiect de date definibil, spre deosebire de o valoare alfanumerică.
3.6.1.6 Baza de date grafic
O bază de date orientată spre grafic, sau o bază de date grafice , este un tip de bază de date
NoSQL care folosește teoria graficului pentru a stoca, a harta și a relațiilor de interogare. Bazele de date
grafice sunt în principiu colecții de noduri și muchii, unde fiecare nod reprezintă o entitate și fiecare
muchie reprezintă o conexiune între noduri. Bazele de date grafice cresc în popularitate pentru analiza
interconectărilor. De exemplu, companiile ar putea utiliza o bază de date grafic pentru
a extrage date despre clienții de pe social media .
Bazele de date grafice folosesc adesea SPARQL , un limbaj de programare declarativ și protocol
pentru a naliza bazelor de date grafice . SPARQL are capacitatea de a efectua toate analizele pe care SQL
le poate efectua, plus că poate fi folosită pentru analiza semantică, examinarea relațiilor. Acest lucru îl
face util pentru efectuarea de analize pe seturi de date care au atât date structurate, cât și date
nestructurate . SPARQL permite utilizatorilor să efectueze analize pe informațiile stocate într -o bază d e
date relațională, precum și relațiile de prietenie -de-prieten (FOAF), PageRank și calea cea mai scurtă .
3.7 PhpMyAdmin
PhpMyAdmin este un sistem de gestiune a bazelor de date MySQL gratuit , scris în PHP și
utilizat pentru administrarea bazelor de date prin intermediul unui browser web . Prin phpMyAdmin se
12 pot întreprinde diverse operații cum ar fi crearea, modificarea sau ștergerea bazelor de date, tabelelor,
câmpurilor sau rândurilor; executarea de comenzi (interogări) SQL .
MySQL este un sistem relațional de gestionare a bazelor de date relaționale, disponibil gratuit
și totodată accesibil pentru toate platformele (Unix, Linux, Microsoft), care folosește limb ajul de
interogare structurat ( SQL ). MySQL a fost iniț ial dezvoltat pentru a gestiona rapid baze de date
mari. Deși MySQL este instalat de obicei pe o singură mașină, acesta este capabil să trimită baza de
date în mai multe locații, deoarece utilizatorii sunt capabili să o acceseze prin diferite interfețe cli ent
MySQL. Aceste interfețe trimit instrucțiuni SQL către server și apoi afișează rezultatele.
SQL este cel mai popular limbaj pentru adăugarea, accesarea și gestionarea conținutului dintr –
o bază de date. Este remarcat cel mai mult pentru prelucrarea rapid ă, fiabilitatea dovedită, ușurința și
flexibilitatea de utilizare. MySQL este o parte esențială a aproape fiecare aplicație PHP open source .
3.7.1 Instrucțiunea SQL de manipulare a datelor
3.7.1.1 Instrucțiunea SELECT
Reprezintă blocul de interogare de bază , care selectează informațiile dorite din tabelele bazei
de date. Instrucțiunea SELECT este foarte puternică și are următoarea sintaxă generală:
SELECT [DISTINCT] lista_coloane FROM lista_tabele [ WHERE conditie] [clauze_secundare];
Aceasta are 3 secțiuni importante pentru construcția de interogare : secțiunea SELECT, secțiunea FROM
și secțiunea WHERE. Clauza SELECT introduce lista atributelor (coloanelor) unor tabele sau al
expresiilor care vor fi sele ctate și afișate. Coloanele din listă trebuie să aparțină uneia din tabelele
specificate în clauza FROM. Ca rezultat al instrucțiunii de mai sus se pot obține două sau mai multe
linii identice, dacă există angajați cu același nume și prenume. În general, d acă lista de atribute nu
conține o cheie a relației, rezultatul operației SELECT poate conține linii duplicat. Pentru eliminarea
liniilor duplicat se introduce parametrul DISTINCT și atunci rezultatul este o relație în sensul definiției
din modelul relațio nal. Pentru a selecta toate atributele produsului cartezian al tabelelor indicate prin
clauza FROM , vom folosi în lista de atribute un asterisc “ * ”, care o să îndepline ască condiția din
clauza WHERE. În clauza SELECT se pot redenumi atributele sau se pot specifica nume pentru
expresii, folosind următoarea sintaxă:
SELECT nume1 [AS] noul_nume1,…, expresie [AS] nume_expresie F ROM lista_tabele [alte_clauze].
Se observă că noul n ume atribuit unei coloane sau expresii urmează vechiul nume al coloanei sau
expresiei, optional precedat de cuvântul -cheie AS. Clauza FROM este obligatorie dacă într -una din
clauzele SELECT, WHERE, HAVING apar nume de atribute (coloane ale unor tabele). În acest caz,
lista de tabele care însoțește clauza FROM tr ebuie să conțină numele tuturor tabelelor , fiind separate
prin virgulă ale căror coloane se folosesc. Dacă lista conține mai mult de un tabel, atunci numele
coloanelor din cla uza SELECT trebuie să fie diferite, dacă nu sunt diferite, atunci se califică numele
coloanei cu numele tabelului căruia îi aparține (precedând numele atributului cu numele tabelului urmat
de operatorul “punct” .
13 Clauza WHERE restricționează tuplurile returnate ca rezultat la acele tupluri care îndeplinesc condiția
introdusă de această clauză. În forma cea mai obișnuită, clauza WHERE este urmată de o condiție, dată
ca o expresie b ooleană. Clauza ORDER BY introduce numele atributului după care se face ordonarea
liniilor rezultate. Ordonarea este implicit în ordine crescătoare; dacă numele atributului este urmat de
cuvântul DESC, ordonarea liniilor se face în ordine descrescătoare a valorilor acelui atribut. Clauza
GROUP BY se foloșeste pentru a grupa rezultatele funcțiilor agregat (totalizatoare) după valoarea uneia
sau mai multor coloane. Dacă se dorește calculul unei valori totalizatoare separat, pe grupe de linii,
atunci se introduce clauza GROUP BY, urmată de numele uneia sau mai multor coloane. În acest caz,
funcția totalizatoare se aplică separat acelor linii care au aceeași valoare a atributelor listate de clauza
GROUP BY. De exemplu, salariul mediu calculat separat pe grupe de angajați, fiecare grup fiind
compus din linii care au aceeași valoare a atributului Functie, se obține cu următoarea comandă SQL:
SELECT AVG(Salariu) FROM ANGAJATI GROUP BY(Functie); Clauza H AVING este
asemănătoare clauzei WHERE, adică introduce o condiție pe care trebuie să o îndeplinească tuplurile
rezultat, dar, în plus, permite utilizarea funcțiilor agregat în expresia condițională. De exemplu:
SELECT Nume,Prenume FROM ANGAJATI HAVING Sala riu >= AVG(Salariu);
3.7.1.2 Instrucțiunea INSERT
Se folosește pentru introducerea liniilor și are următoarea sintaxă: INSERT
INTOnume_tabel(coloana_1,coloana_2,…) VALUES (valoare_1,valoare_2,…); Între valori și numele
de coloane trebuie să existe o coresponde nță unu la unu. Lista de coloane poate să lipsească, dacă se
introduc valori în toate coloanele tabelului, dar în această situație ordinea valorilor introduse trebuie să
respecte ordinea atributelor.
3.7.1.3 Instrucțiunea UPDATE
Această instrucțiune permite actualizarea valorilor colo anelor (atributelor) din una sau mai
multe linii ale unui tabel. Aceasta are sintaxa: UPDATE nume_tabel SET col_1 = expr_1, col_2 =
expr_2,… [WHERE conditie]; Clauza WHERE impune ca actualizarea valorilor coloanelor să se
efectueze numai asupra acelor li nii (tupluri) care îndeplinesc condiția dată. Dacă este omisă clauza
WHERE, Cap.2 Limbajul SQL – Proiectarea bazelor de date relaționale 44 atunci vor fi modificate
valorile coloanelor din toate liniile tabelului.
3.7.1.4 Instrucțiunea DELETE
Aceasta permite ștergerea une ia sau mai multor linii dintr -un tabel și are următoarea sintaxă:
DELETE FROM nume_tabel[WHERE conditie]; Din tabel se șterg acele linii care îndeplinesc condiția
dată în clauza WHERE. Dacă este omisă clauza WHERE, atunci vor fi șterse toate liniile din ta bel.
Pentru a creea o bază de date în PhpMyAdmin este nevoie de un browser , cu ajutorul căruia
vom accesa adresa “localh ost/phpmyadmin”. Din fila nou deschis ă vom selecta “Database ”, dup ă care
va trebui să -i dăm un nume pentru baza noastră de date. Baza noastră de date conține 8 tabele, care pot
fi văzute în imaginea următoare :
14
Figura 1 Tabele din baza de date licence _db
Figura 2 Diagrama bazei de date licence _db
3.8 PHP
PHP ( Hypertext Preprocessor) es te un limbaj de script -uri open -source , orientat pe obiect
și interpretat, care poate fi executat pe server. Acest limbaj este foarte popular datorită simplitățile pe
care le oferă și a sursei deschise. Există câteva caracteristici importante ale PHP date mai jos:
15 Performanță ;
Securitate;
Suport pentru baze de date;
Raportarea erorilor;
3.8.1 Performanța
Limbajul PHP este executat mult mai rapid decât acele scripturi care sunt scrise în alte limbaje
de programare, cum ar fi JSP și ASP. PHP își folosește p ropria memorie, astfel încât volumul de lucru
al serverului și timpul de încărcare se reduc automat, ceea ce duce la o viteză mai rapidă de procesare
și o performanță mai bună.
3.8.2 Securitate
PHP este un limbaj sigur pentru dezvoltarea site -urilor web. Este format din mai
multe straturi de securitate pentru a preveni atacurile cibernetice.
3.8.3 Suport pentru baze de date
Limbajul PHP ofer ă suport pentru majoritatea bazelor de date( MySQL, PostGreSQL,
Sybase). MySQL este unul dintre cele mai populare sisteme de baze de date relațion ale utilizate în
prezent pe Web, totodată es te disponibil gratuit și ușor de instalat . Baza de date MySQL stochează date
în tabele precum alte baze de date relaționale. Un tabel este o colecție de date conexe și este împărți t în
rânduri și coloane.
Fiecare rând dintr -un tabel reprezintă o înregistrare de date care sunt conectate în mod intrinsec între
ele, cum ar fi informații legate de o anumită persoană, în timp ce fiecare coloană reprezintă un câmp
specific, cum ar fi id , prenumele , prenumele , e-mail , etc. Structura unui MySQL este simplă, un tabel
care conține informațiile generale ale persoanei poate arăta astfel:
16
Tabel 1 Exemplu pentru structura tabelului MySQL
3.8.4 Raportarea erorilor
PHP folosește constan te pentru definirea erorilor sau un avertisment la timpul de execuție.
Acest lucru este benefic atât pentru un începător, cât și pentru cei mai experimentați, deoarece îi ajută
să observe unde este eroarea și să o îndrepte. Principalele erori pe care le fo losește PHP sunt:
E_ERROR, E_WARNING, E_STRICT, E_PARSE.
4 IMPLEMENTAREA ȘI UTILIZAREA APLICȚIEI
4.1 Prezentarea site -ului
Site-ul web pentru gestionarea lucrarilor de licen ță și disertație este definit ca o soluție integrată,
inteligentă și bazată pe int ernet pentru sistemul actual de învațămant. În acest sistem studentul și
profesorul vor putea comunica pentru a realiza cu succes lucrarea de licență.
Sistemul se împarte în mai multe pagini:
1. Login – pagina pe care se deschide site -ul. Această pagină este folosită pentru a creea acces
doar pentru studenți și profesori, alți utilizatori neputândul accesa.
2. Student – pagina Student ne oferă posibilitatea de a vedea informații generale despre student,
CV, licență și chat.
17 Opțiunile administratorului:
– Administra re utilizatori, ștergere, adăugare, editare
– Adaugă re titluri de licență și disertație ;
– Adaugarea, modificarea și ștergerea lucrarilor de licență și disertație ;
– Vizualizează date despre profesori, studenți .
4.2 Interfața cu utilizatorul
Aplicația prin rular ea ei produce apariția ferestrei principale a pagini Web, care se ocupă cu
conectarea studentilor și profesorilor .
Pagina este utilizată ca punct de plecare , pentru a putea naviga pe site -ul de gestionare a lucrarilor
de licență și disertație .
Entitățile site-ului au diferite atribuții:
Student :
poate încărca CV -ul pe profilul lor ;
poate trimite cereri profesorilor, pentru ai avea ca coordonatori;
poate iniția o convorbiri cu profesori ;
poate încărca licen ța în format pdf, docx sau txt;
Profesor :
poate vedea studenți pe care îi are pentru licență;
poate accepta/respinge cererea din partea studentului;
poate adauga/șterge/edita lucrarile de licențe ;
Administrator:
poate adauga/șterge/edita utilizatori;
poate adauga/șterge/edita specializări;
poate adauga /șterge/edita lucrarile de licențe;
18
4.2.1 Sidebar -ul site -ului și butoanele prezente pentru student
Figura 2 Sidebar -ul site -ului pentru student
• Home
• CV-ul meu
• Licen ța mea
• Chat
4.2.1.1 Home :
Pagina Home a studentului afișează o listă cu informații g enerale (nume, prenume, adresa,
specializare, licență, profesor coordinator) . Pagina este construită simplu după cum urmează:
19 Figura 3 pagina Home student
4.2.1.2 CV-ul meu
Pagina CV -ul meu este realizată pentru a putea, stundetul, să -și încarce CV -ul, care ulterior va
putea fi vizualizat și de către profesorul coordonator. Această pagină are un aspect simplu și intuitiv
pentru toți utilizatori. Încărcarea CV se va putea face doar pentru extensiile pdf, docx și txt.
Figura 4 reprezentând pagina CV-ul me u împreună cu butonul Upload
4.2.1.3 Licența mea
Pagina Licența mea este pagina unde se va putea încărca licența, dar în același timp se poate
vizualiza titlul, profesorul și o mică descriere a acesteia.
Figura 5 care arată pagina Licenta mea
20 4.2.1.4 Chat
Pagina Chat este locul unde se poate realiza legătura dintre profesor și student pentru a
conversa diferitele aspecte legate de licență . Pentru a putea începe o conversație, studentul, trebuie să
selecteze din lista ‘Destinatar’, persoana căreia ar dor i să-i trimită un mesaj.
Figura 6 cu pagina Chat
4.2.2 Sidebar -ul site -ului și butoanele prezente pentru profesor
Figura 7 Sidebar -ul site -ului pentru profesor
• Home
• Studenții mei
• Administrare l icențe
• Chat
21 4.2.2.1 Home
Pagina Home a profesorului este pagina pe care se deschide site -ul când este accesat de către
un profesor . Conține informații despre cererile pentru licență, fișierele cu licență și CV -urile
studențiilor.
Figura 8 pagina Home profesor
4.2.2.2 Studenții mei
Pagina Studenții mei reprezintă evidența studenților pe care îi are la licență, profesorul. În
tabelul destinat studențiilor apare următoarele (nume, prenumele, CV, specializarea, titlul licenței,
fișierul licenței și data când a fost creat). Profesorul are posibilitatea de a șter ge un student din lista sa,
folosind butonul Șterge.
Figura 9 pagina Studentii mei
4.2.2.3 Administrare licențe
22 4.2.2.4 Butoanele din Education Status – metoda radio
Pluginurile pot fi adăugate unul câte unul sau toate la un loc. Putem alege între bootstrap.js și
bootstrap.min.js pentru că amândouă le conțin pe toate. Unele pluginuri și componente ale CSS -ului
au dependențe cu altele. Trebuie să căutăm dependențele în documente. Se pot folosi toate pluginurile
Bootstrap fără să scrii nici măcar o s ingură linie de JavaScript.
În conținutul paginii Education Status am controlat stările butoanelor prezente: Students and Courses,
Instructors și Departments. La prima accesare, butoanele arată astfel:
Figura 15 Education Status pasiv
Conceptul folosit l a apăsarea butoanelor este cel de Radio și este exemplificat în imaginile următoare:
Figura 16 efect butoane
5 BIBLIOGRAFIE
23 6 REFERINȚE WEB
24 A. CODUL SURSĂ
login .php
<?php
require "inc/helpers.php";
$session = return_session();
if($session["status"] = = "true")
{
redirect("index.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf -8">
<meta http -equiv="X -UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device -width, initial -scale=1, shrink -to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title><?php echo $site_name;?> – Logare</title>
<link href="vendor/fontawesome -free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="css/sb -admin.css" rel="styleshe et">
</head>
<body class="bg -dark">
<div class="container">
<br />
<img src="logo.png" alt="logo" >
<div class="text -center"><h4 class="text -white"> – Login -</h4></div>
<div class="card card -login mx -auto mt -5">
<div class="card -header"> Introdu datele de logare</div>
<div class="card -body">
<form action="<?php $_SERVER["PHP_SELF"];?>" method="POST">
<div class="form -group">
<div class="form -label -group">
<input type="text" id="inputEmail" class="form -control" placeholder="Cod acces aici"
required="required" autofocus="autofocus" name="username">
25 <label for="inputEmail">Cod acces</label>
</div>
</div>
<div class="form -group">
<div cla ss="form -label -group">
<input type="password" id="inputPassword" class="form -control" placeholder="Parola aici"
required name="password">
<label for="inputPassword">Parola</label>
</div>
</div>
<button class="btn btn -primary btn -block" type="submit" name="login">Logare</button>
</form>
<hr />
<div class="text -center">
<?php
if(isset($_POST["login"]))
{
$username = $_POST["username "];
$password = $_POST["password"];
$exec = login($username,$password);
if($exec["status"] == "true")
{
redirect("index.php");
}
else
{ ?>
<div class="alert alert -danger"><?php echo $exec["error"];?></div>
<?php
}
} ?>
<span class="d -block small"></span>
</div>
</div>
</div>
</div>
<script src="vendor/jquery/jquery.min.js" ></script>
26 <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="vendor/jquery -easing/jquery.easing.min.js"></script>
</body>
</html>
index.php
<?php
require "inc/helpers.php";
$session = return_session();
if($session["status "] == "false")
{
redirect("login.php");
}
$user_id = $session["user_id"];
$u = return_user($user_id);
$name = $u['full_name'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf -8">
<meta http -equiv="X -UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device -width, initial -scale=1, shrink -to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title><?php echo $site_name;?> – <?php echo return_title();?></title>
<link href="vendor/ fontawesome -free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="vendor/datatables/dataTables.bootstrap4.css" rel="stylesheet">
<link href="css/sb -admin.css" rel="stylesheet">
</head>
<body id="page -top">
<nav class="navbar navbar -expand navbar -dark bg -dark static -top">
<a class="navbar -brand mr -1" href="index.php"><?php echo $site_name;?></a>
<button class="btn btn -link btn -sm text -white order -1 order -sm-0" id="sidebarToggle" href="#">
<i class="fas fa -bars"></i>
27 </button>
<form class="d -none d -md-inline -block form -inline ml -auto mr -0 mr-md-3 my -2 my -md-0">
</form>
<ul class="navbar -nav ml -auto ml -md-0">
<li class="nav -item dropdown no -arrow">
<a class="nav -link dropdown -toggle" href="#" id=" userDropdown" role="button" data –
toggle="dropdown" aria -haspopup="true" aria -expanded="false">
[<?php echo rank($u["user_rank"]);?>] <?php echo $name;?> – <i class="fas fa -user-circle fa –
fw"></i>
</a>
<div class="dropdown -menu dro pdown -menu -right" aria -labelledby="userDropdown">
<a class="dropdown -item" href="index.php ?p=profile">Setari Cont</a>
<div class="dropdown -divider"></div>
<a class="dropdown -item" href="#" data -toggle="modal" data –
target="#log outModal">Logout</a>
</div>
</li>
</ul>
</nav>
<div id="wrapper">
<ul class="s idebar navbar -nav">
<?php
if($session["user_rank"] == "admin")
{
$menu = $menu["admin"];
}
elseif($session["u ser_rank"] == "teacher")
{
$menu = $menu["teacher"];
}
else
{
$menu = $menu["user"];
}
foreach($menu as $m)
28 {
$href = $m["href"];
$title = $m["title"];
$icon = $m["ico n"];
$badge = $m["badge"];
?>
<li class="nav -item">
<a class="nav -link" href="<?php echo $href;?>">
<i class="<?php echo $icon;?>"></i>
<span><?php echo $title;?></span></a>
</li>
<?php
}
?>
</ul>
<div id="content -wrapper">
<div class="container -fluid">
<?php
get_page();
?>
</div>
<footer class="sticky -footer">
<div class="container my -auto">
<div class="copyright text -center my -auto">
<span>Copyright © <?php echo $site_name." – ".$site_author;?></span>
</div>
</div>
</footer>
</div>
</div>
<a class="scroll -to-top rounded" href="#page -top">
<i class="fas fa -angle -up"></i>
</a>
<div class="modal fade" id="logoutModal" tabindex=" -1" role="dialog" aria –
labelledby="exampleModalLabel" aria -hidden="true">
<div class="modal -dialog" role="document">
<div class="modal -content">
29 <div class="modal -header">
<h5 class="modal -title" id="exampleModalLabel">Iesire din cont</h5>
<button class="close" type="button" data -dismiss="modal" aria -label="Close">
<span aria -hidden="true">×</span>
</button>
</div>
<div cla ss="modal -body">Selecteaza Logout daca vrei sa iti inchei sesiunea actuala.</div>
<div class="modal -footer">
<button class="btn btn -secondary" type="button" data -dismiss="modal">Inchide</button>
<a class="btn btn -primary" href=" logout.php">Logout</a>
</div>
</div>
</div>
</div>
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="vendor/jquery -easing/jquery.easing.min.js"></ script>
<script src="vendor/chart.js/Chart.min.js"></script>
<script src="vendor/datatables/jquery.dataTables.js"></script>
<script src="vendor/datatables/dataTables.bootstrap4.js"></script>
<script src="js/sb -admin.min.js"></script>
<script src= "js/demo/datatables -demo.js"></script>
<script src="js/dem o/chart -area-demo.js"></script>
</body>
</html>
C. DVD/CD
Autorul atașează în această anexă obligatorie, versiunea electronică a aplicației, a acestei
lucrări, precum și prezentarea finală a teze i.
30
31 B
L
Bibliografie ……………………………………………………9
Legenda …………………………………………………………6
C LISTA FIGURILOR…………………………………….. xii
LISTA TABELELOR………….. ……………………… xiii
CUPRINSUL…………………………………………………xi
R
D
Referințe web………………………………………………..10
Dimensiuni…………………………………………………….3
S
F
Structura documentului…………………………………….2
Figuri…………………………………………………………….4
Formulele matematice……………………………………..4 T
I Tabele …………………………….. …………………………….5
Ilustrațiile………………………………………………………4
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Șef lucr. dr. ing. Marius -Adrian Marian Februarie 2020 CRAIOVA ii UNIVERSITATEA DIN CRAIOVA FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI ELECTRONICĂ… [615411] (ID: 615411)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
