Interfata Web

Cuprins

Introducere

Capitolul I. Prezentarea interfeței web

I.1. Prezentarea lucrării

I.2. Tehnologii folosite

I.3. Structura interfeței web

I.3.1. Bara laterală

I.3.2. Conținutul

I.3.3. Imaginea interfeței web

Capitolul II. Structura bazei de date

II.1. Descrierea bazei de date

II.2. Descrierea Tabelelor

II.2.1. Tabelul “page

II.2.2. Tabelul “page_meta

II.2.3. Tabelul “users

II.2.4. Tabelul “vot

Capitolul III. Partea Publică

III.1. Descriere generală

III.2. Pagina “Cărți

III.2.1. Filtrarea cărților

III.3. Pagina “Carte

III.3.1. Sistemul de votare

III.3.2. Formular de închiriere carte

III.4. Pagina “Despre Noi

Capitolul IV. Partea de administrare

IV.1. Descriere generală

IV.2. Imaginea panoului de administrare

IV.3. Managementul cărților

IV.3.1. Adăugarea unei cărți

IV.3.2. Modificarea unei cărți

IV.3.3. Ștergerea unei cărți

IV.3.4. Afișarea sau ascunderea unei cărți din interfața web

IV.4. Modificarea conținutului paginii “Despre Noi

IV.5. Managementul userilor

IV.5.1. Adăugarea unui user

IV.5.2. Modificarea unui user

IV.5.3. Ștergerea unui user

Concluzii

Bibliografie

Introducere

Noțiunea site web provine din expresia engleză web site și desemnează o grupă de pagini web multimedia (conținând texte, imagini, clipuri video, animații ș.a.), accesibile pe Internet în principiu orișicui, de obicei pe o temă anume, și care sunt conectate între ele prin așa-numite hiperlinkuri. Diversele site-uri web pot fi create de către o organizație, o persoană particulară, instituții publice etc. Inițial noțiunea apărea în limba română scrisă sub trei forme: sit web, site și sait web.

Un site web este scris în limbajul de marcare HTML (Hyper Text Markup Language) și se poate accesa prin intermediul unei aplicații software, cunoscută și sub numele de browser web. Exemple de browser-e web: Mozzila Firefox, Google Chrome, Internet Explorer, Safari, Opera, ș.a. . Pentru crearea unui site se pot folosi și alte limbaje de programare precum ar fi PHP, ASP, Python, Perl ș.a.

Există două tip-uri de site-uri web, statice sau dinamice, ele putând fi catalogate după mai multe criterii: conținut, destinație, scop, tehnologii utilizate ș.a.. Site-urile statice sunt mai greu de actualizat deoarece modificarea conținutului se face manual din codul sursă și necesită unele cunoștințe specifice de limbaj HTML.

I. Prezentarea interfeței web

I.1. Prezentarea lucrării

Cel mai ușor și confortabil mod de a găsi o carte este prin intermediul unei interfețe web cu un design curat și responsive, fiind ușor accesibil chiar și de pe o tabletă sau de pe un smartphone. De aceea am ales să realizez o interfață web pentru accesarea unei biblioteci.

Site-ul este format din 2 pagini dinamice (“Cărți” și “Despre Noi”), un panou de administrare, o bază de date cu 4 tabele, fișiere .css și .js externe, totul fiind foarte bine organizat pe directoare.

I.2. Tehnologii folosite

Tehnologii folosite pentru dezvoltarea interfeței web:

HTML (Hyper Text Markup Language)

CSS + CSS3 (Cascading Style Sheets)

JavaScript (limbaj de programare folosit de navigatoarele web) + librăria jQuery

AJAX (Asynchronous JavaScript and XML)

PHP (Hypertext Preprocessor, limbaj de programare ce rulează pe serverele Apache)

MySQL (sistem de gestiune a bazelor de date relațional)

Programe folosite pentru dezvoltarea interfeței web:

phpDesigner 8 (editor PHP, HTML, JavaScript și CSS)

HeidiSQL (program pentru gestionarea bazei de date MySQL)

Mozilla Firefox + Firebug (browserul în care a fost testată interfața web)

HTML – HyperText Markup Language este un limbaj de marcare utilizat pentru crearea paginilor web ce pot fi afișate într-un navigator.

HTML este o formă de marcare orientată către prezentarea documentelor text pe o singură pagină, 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 indicații de redare. Indicațiile de redare pot varia de la decorațiuni minore ale textului, cum ar fi specificarea faptului că un anumit cuvant trebuie subliniat sau că o imagine trebuie introdusă, până la scripturi sofisticate, hărți de imagini, formulare ș.a.

CSS – Cascading Style Sheets 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.

JavaScript – este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea interfețelor web, dar este folosit și pentru accesul la obiecte încastrate (embedded objects) în alte aplicații. jQuery este o platformă de dezvoltare JavaScript, concepută pentru a ușura și îmbunătăți procese precum traversarea arborelui DOM în HTML, managementul inter-browser al evenimentelor, animații și cereri tip AJAX.

AJAX – este o tehnică de programare pentru crearea de aplicații web interactive. Intenția este sa facă paginile web să devină mai rapide și, deci, mai acceptate, prin schimbul în fundal al unor cantități mici de date cu serverul, astfel încat să nu fie nevoie ca pagina să fie reîncărcată la fiecare acțiune a utilizatorului. Aceasta are ca scop creșterea interactivității, vitezei și ușurinței în utilizare a aplicațiilor web. Ajax nu este o tehnologie în sine. Termenul este folosit pentru definirea aplicațiilor web ce folosesc un ansamblu de tehnologii [3].

PHP – este un limbaj de programare folosit inițial pentru a produce pagini web dinamice, folosit pe scară largă în dezvoltarea paginilor și interfețelor web. Se folosește în principal înglobat în codul HTML, dar începand de la versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI), permitând crearea de aplicații independente. Este unul din cele mai importante limbaje de programare web open-source și server-side, existând versiuni disponibile pentru majoritatea web serverelor și pentru toate sistemele de operare [1].

MySQL – este un sistem de gestiune a bazelor de date relațional, produs de compania suedeză MySQL AB și distribuit sub Licența Publică Generală GNU. Este cel mai popular SGBD (Sistem de Gestiune a Bazelor de Date) open-source la ora actuală [1].

I.3. Structura interfeței web

Strcutura interfaței web este alcătuită din bara laterală și conținut.

I.3.1. Bara laterală

Bara laterală este amplasată în partea stângă a interfeței web, conținând logo-ul, meniul și in funcție de pagina pe care ne aflăm putem găsi fie o listă cu mai multe opțiuni pentru filtrarea cărților, fie niște informații (despre o carte anume sau despre bibliotecă).

I.3.2. Conținutul

În partea de conținut se află conținutul paginii pe care ne aflăm, fie descrierea bibliotecii, fie prezentarea carților, fie formularul de contact.

I.3.3. Imaginea interfeței web

– figura I.3.3.1 –

– figura I.3.3.2 –

II. Structura bazei de date

II.1. Descrierea bazei de date

O bază de date reprezintă mai mult decât o listă sau un tabel. Baza de date oferă un real control asupra datelor, permițând regăsirea, sortarea, analizarea și rezumarea datelor, precum și raportarea imediată a rezultatelor [2].

Interfața web dezvoltată de mine folosește o bază de date MySQL, care conține 4 tabele, urmând a fi descrise mai jos. Cu ajutorul bazei de date stocam toate informațiile despre cărți, cât și conținutul altor pagini, ceea ce permite administratorului site-ului adăugarea noilor informații fără a fi nevoit să creeze manual pagini noi. Baza de date este cea care asigură dinamica site-ului și care îl face atât de ușor de întreținut.

II.2. Descrierea Tabelelor

II.2.1. Tabelul “page”

– figura II.2.1.1 –

În tabelul ‘page’ sunt stocate toate cărțile care apar în interfața web. Cărțile pot fi adăugate de către administratorul site-ului din panoul de administrare.

‘id’ este de tip int cu lungimea 10, este definit ca și cheie primară cu autoincrementare și reprezintă numărul unic de indentificare al fiecărei carte.

‘title’ este de tip varchar cu lungimea 100 și conține titlul cărții.

‘slug’ este de tip varchar cu lungimea 100 și conține titlul cărții în format url-friendly, adică fără caractere speciale, cu ‘-‘ în loc de spații și doar litere mici.

‘parent’ este de tip varchar cu lungimea 100 și conține numele părintelui de care aparțin sub-paginile.

‘display’ este de tip enum cu posibile valori 1 sau 0.

Codul folosit pentru crearea tabelului ‘page’ este următorul:

– figura II.2.1.2 –

II.2.2. Tabelul “page_meta”

– figura II.2.2.1 –

În tabelul ‘page_meta’ sunt stocate toate informațiile cărților care apar în interfața web (autorul, anul apariției, genul, editura, limba, numărul de pagini, stoc-ul, descrierea, coperta și un fișier PDF), cât și conținutul paginii ‘Despre Noi’.

‘id’ este de tip int cu lungimea 10, este definit ca și cheie primară cu autoincrementare și reprezintă numărul unic de indentificare al fiecărei informații.

‘page_id’ este de tip int cu lungimea 10 si reprezintă ID-ul cărții căruia ii aparține informația.

‘meta_name’ este de tip varchar cu lungimea 100 și conține tipul informației (autor, gen, an_aparitie ș.a.).

‘meta_value’ este de tip varchar cu lungimea 100 și conține informația în sine si este legat de campul ‘meta_name’.

Codul folosit pentru crearea tabelului ‘page_meta’ este următorul:

– figura II.2.2.2 –

II.2.3. Tabelul “users”

– figura II.2.3.1 –

În tabelul ‘users’ sunt stocate datele de acces al fiecărui utilizator care are acces la panoul de administrare al interfeței web.

‘id’ este de tip int cu lungimea 10, este definit ca și cheie primară cu autoincrementare și reprezintă numărul unic de indentificare al fiecărui utilizator.

‘name’ este de tip varchar cu lungimea 50 și conține numele fiecărui utilizator.

‘email’ este de tip varchar cu lungimea 50 și conține email-ul fiecărui utilizator.

‘password’ este de tip varchar cu lungimea 50 și conține parola fiecărui utilizator.

Codul folosit pentru crearea tabelului ‘users’ este următorul:

– figura II.2.3.2 –

II.2.4. Tabelul “vot”

– figura II.2.4.1 –

În tabelul ‘vot’ conține notele acordate de utilizator fiecărei carte. Este legat de tabelul ‘page’ prin campul ‘id_carte’.

‘id’ este de tip int cu lungimea 10, este definit ca și cheie primară cu autoincrementare.

‘id_carte’ este de tip int cu lungimea 10 și conține ID-ul cărții căruia ii aparține votul.

‘nota’ este de tip int cu lungimea 10 si conține nota acordată cărții de către utilizator.

‘ip’ este de tip varchar cu lungimea 15 și conține adresa de IP a utilizatorului pentru a nu permite votarea aceleiași cărți de mai multe ori.

Codul folosit pentru crearea tabelului ‘vot’ este următorul:

– figura II.2.4.2 –

III. Partea Publică

II.1. Descriere generală

Partea publică a interfeței web este partea la care are acces utilizatorul site-ului. În moemntul accesării se deschide pagina “Cărți”, adică fișierul index.php din directorul /frontend al interfeței web. Adresa este http://localhost/licenta/.

În fiecare pagina a sitului sunt incluse trei fișiere: header.php, footer.php și functions.php.

header.php – conține tag-urile de deschidere a unui document HTML (<doctype>, <html>, <head>, <body>), link-urile către stilul CSS și link-urile fișierelor javascript necesare funcționării site-ului, cât și tag-urile de deschidere necesare structurii site-ului.

footer.php – conține tag-urile de închidere a tuturor tag-urilor deschise in header.php.

functions.php – conține inițializarea unei sesiuni [6] cu funcția session_start(); datele de conectare la baza u lungimea 10 și conține ID-ul cărții căruia ii aparține votul.

‘nota’ este de tip int cu lungimea 10 si conține nota acordată cărții de către utilizator.

‘ip’ este de tip varchar cu lungimea 15 și conține adresa de IP a utilizatorului pentru a nu permite votarea aceleiași cărți de mai multe ori.

Codul folosit pentru crearea tabelului ‘vot’ este următorul:

– figura II.2.4.2 –

III. Partea Publică

II.1. Descriere generală

Partea publică a interfeței web este partea la care are acces utilizatorul site-ului. În moemntul accesării se deschide pagina “Cărți”, adică fișierul index.php din directorul /frontend al interfeței web. Adresa este http://localhost/licenta/.

În fiecare pagina a sitului sunt incluse trei fișiere: header.php, footer.php și functions.php.

header.php – conține tag-urile de deschidere a unui document HTML (<doctype>, <html>, <head>, <body>), link-urile către stilul CSS și link-urile fișierelor javascript necesare funcționării site-ului, cât și tag-urile de deschidere necesare structurii site-ului.

footer.php – conține tag-urile de închidere a tuturor tag-urilor deschise in header.php.

functions.php – conține inițializarea unei sesiuni [6] cu funcția session_start(); datele de conectare la baza de date (figura III.1.1) precum și câteva funcții create de mine pentru a-mi ușura munca.

– figura III.1.1 –

Una dintre funcții este baseUrl(); (figura III.1.2) care se apelează fără parametri și returnează adresa de bază a interfeței web. Toate link-urile din interfața web au la început această funcție. De exemplu <a href=”<?= baseUrl (); ?>despre-noi/”>Despre Noi</a>, iar în codul html se va afișa <a href=”http://localhost/licenta/despre-noi/”>Despre Noi</a>. Aceasta este foarte utilă în cazul în care se va muta site-ul de pe localhost pe un server, deoarece, în loc să schimbăm toate link-urile din site, schimbăm doar adresa din funcția baseUrl() și se va schimba automat în tot site-ul.

Functia redirect();(figura III.1.2) face o redirectare de tip header. Primește ca parametru pagina destinație și se folosește de funcția baseUrl().

– figura III.1.2 –

O altă funcție este funcția url_title(); (figura III.1.3) care verifică un string dat și îl face url-friendly, adică fără caractere speciale, cu ‘-‘ în loc de spații și doar litere mici.

– figura III.1.3 –

III.2. Pagina “Cărți”

Prima pagină a interfeței web “Cărți” este o pagină dinamică care conține lista cu toate cărțile adăugate și bara laterală care conține: logo-ul, meniul cu cele două pagini (Cărți și Despre Noi) și o listă de opțiuni pentru filtrarea cărților (după titlu, autor, an aparitie, gen, editura, limba și disponibilitate).

Pentru afișarea listei de cărți am folosit comanda de interogare a bazei de date căutând toate intrările care au ca parent=’carti’ si display=’1’, afisând doar cărțile care au display=’1’, descrescător după data adaugării lor in baza de date.(fig. III.2.1)

– figura III.2.1 –

III.2.1. Filtrarea cărților

Filtrarea cărților se face în timp real cu ajutorul unui script numit Isotope.js [4]. Acest script filtreaza cărțile după clasele acestora. Cărțile sunt afișate sub forma unei liste, fiecare carte având o clasa care conține titlul, autorul, anul aparției ș.a. Extragerea informațiilor necesare pentru clasele cărților se extrag din baza de date cu ajutorul funcției get_meta($carte['id'],’informatia’); unde $carte[‘id’] este id-ul unic al fiecărei cărți. (fig. III.2.2)

– figura III.2.1.1 –

III.3. Pagina “Carte”

Pagina “Carte” este o pagină dinamica care conține o singură carte. În plus față de pagina “Cărți” aici găsim unele informații suplimentare despre carte precum: coperta, o scurtă descriere a cărții și fișierul PDF.

Pe aceasta pagină mai găsim și sistemul de rating al cărților și un formular de contact prin care putem trimite o cerere pentru închirierea unei cărți.

III.3.1. Sistemul de votare

Utilizatorii pot vota cărțile de pe site cu o notă de la 1 la 5 făcând click pe una din cele 5 steluțe (figura III.3.1.1). Prima steluță reprezintă nota 1, a doua steluța nota 2 și așa mai departe. Fiecare steluță are 2 poziții, una aprinsă și una stinsă. De exmplu dacă mutați cursorul pe a treia steluță, primele 3 vor fi aprinse iar ultimele doua vor fi stinse.

– figura III.3.1.1 –

Fiecare produs se poate vota o singură dată de către un utilizator. Această verificare se face după IP.

Sistemul de votare are 2 stadii, cel activ, în cazul în care nu s-a votat, iar cel inactiv, în cazul în care IP-ul utilizatorului se află în baza de date la cartea respectivă.

– figura III.3.1.2 –

Interogarea bazei de date ne returnează media voturilor înregistrate la o carte. Se rotunjește valoarea cu funcția round(); și se aprinde numărul necesar de steluțe.

Animația steluțelor la acțiunea hover (la așezarea cursorului peste steluțe) este realizată cu javascript, cu libraria jquery. (figura III.3.1.3)

– figura III.3.1.3 –

La așezarea cursorului deasupra unei steluțe i se atribuie ei și steluțelor precedente clasa ‘on’. La mutarea cursorului în afara steluțelor se șterge clasa ‘on’, iar la click se atribuie clasa ‘stay-on’.

Înregistrarea notei în baza de date se face cu ajutorul AJAX-ului, nefiind necesară reîncărcarea paginii. Funcția ajax (figura III.3.1.4) apelează scriptul php (figura III.3.1.5) care introduce în baza de date nota, ip-ul utilizatorului și id-ul cărții căruia îi aparține nota.

– figura III.3.1.4 –

– figura III.3.1.5 –

III.3.2. Formular de închiriere carte

Pe pagina “Carte” găsim și acest formular de închiriere carte. (fig. III.3.2.1, fig. III.3.2.2).

– figura III.3.2.1 –

– figura III.3.2.2 –

Pentru acest formular am folosit o validare a câmpurilor cu ajutorul jQuery-ului. (fig. III.3.2.4). Pentru câmpurile “Din data” și “Până în data” am folosit un script numit Datepicker.js [5] (fig. III.3.2.3). Câmpul “Număr matricol” trebuie să conțină neaparat 3 cifre de genul “123”.

– figura III.3.2.3 –

– figura III.3.2.4 –

La apăsarea butonului “Închiriează” valorile din formular sunt trimise cu ajutorul ajax-ului (fig. III.3.2.5) la fișierul trimite-email.php (fig. III.3.2.6) unde datele sunt trimise la adresa de email a administratorului site-ului cu funcția mail(). Funcția mail() primește ca parametri adresa de email la care se va trimite email-ul, subiectul email-ului, conținutul email-ului și headerele adiționale. Ca și header adițional am adăugat “De la: adresa de email din formular”, pentru ca email-ul sa arate ca și cum ar fi trimis de utilizator, nu de server.

– figura III.3.2.5 –

– figura III.3.2.6 –

După trimiterea email-ului, dacă toate câmpurile au fost validate, variabila ‘valid’ ia valoarea ‘true’ și se afișează mesajul de confirmare “Mesajul a fost trimis cu succes!”, în caz contrar, se va afișa o eroare.

III.4. Pagina “Despre Noi”

Pagina “Despre Noi” este și ea o pagină dinamică, având ca și conținut o descriere și un scurt istoric al Departamentului de Electronică și Telecomunicații din cadrul Universității din Oradea, iar în bara laterală gasim unele informații suplimentare precum: Adresa, Nr. Telefon, Program de funcționare și un link extern către Google Maps.

IV. Partea de administrare

IV.1 Descriere generală

Panoul de administrare al interfeței web este de tip CMS (Content Management System).

Autentificarea ca administrator a site-ului se face la adresa http://localhost/licenta/admin/, link-ul nefiind afișat nicăieri in site el trebuie introdus manual în bara de adresă a browserului. Aceasta crește securitatea site-ului. Odată ajuns la pagina de autentificare, administratorului îi este cerut să introducă un nume și o parolă (fig. IV.1.1).

– figura IV.1.1 –

După ce administratorul introduce numele și parola, trebuie să apese butonul de “Login” după care se face o verificare a datelor introduse. În cazul în care numele și parola sunt corecte, se memorează în sesiunea ‘User’ [6] valoarea true și se face o redirectare la pagina cu lista de cărți, în caz contrar, apare o eroare. (fig. IV.1.2).

– figura IV.1.2 –

Pentru ieșirea din panoul de administrare se va face click pe butonul de “deloghare” care atribuie sesiunii “User” [6] valoarea false.

Din panoul de administrare se pot adăuga sau șterge cărți, se pot modifica cărți existente, se poate modifica conținutul paginii “Despre Noi” sau se pot adăuga sau șterge utilizatori.

IV.2 Imaginea panoului de administrare

– figura IV.2.1 –

IV.3 Managementul cărților

IV.3.1 Adăugarea unei cărți

Pentru a adăuga o carte nouă în baza de date administratorul va face click pe link-ul “Carti” iar apoi pe link-ul “Adauga carte” din meniul de sus al panoului de administrare, după care va fi redirectat către pagina de adauga-carte.php unde se află formularul de adăugare. (fig. IV.3.1.1)

– figura IV.3.1.1 –

Administratorul va complecta toate câmpurile cu datele despre carte după care va da click pe butonul de “Salveaza”, după care datele vor fi introduse în baza de date (fig. IV.2.2), iar PDF-ul și coperta cărții vor fi încărcate pe server.

– figura IV.3.1.2 –

IV.3.2 Modificarea unei cărți

Modificarea cărților funcționează destul de asemănător cu procesul de adăugare. În momentul în care administratorul face click pe “Editeaza Carte” este dus la pagina adauga-carte.php unde formularul apare gata completat (figura IV.3.2.1).

– figura IV.3.2.1 –

Informațiile fiecărui câmp sunt extrase din baza de date cu ajutorul funcției get_meta($carte['id'],’informatia’); (fig. IV.3.2.2).

– figura IV.3.2.2 –

După efectuarea modificărilor dorite se face click pe butonul “Salveaza” și se execută scriptul php care face modificarea în baza de date.

IV.3.3 Ștergerea unei cărți

Ștergerea unei cărți se face prin click pe butonul “Sterge Carte”. Se transmite prin link ca parametru id-ul cărții catre scriptul php care va face ștergerea după care administratorul va fi redirectat către pagina cu lista de cărți (fig. IV.3.3.1).

– figura IV.3.3.1 –

IV.3.4 Afișarea sau ascunderea unei cărți din interfața web

Afișarea sau ascunderea unei cărți se face cu ajutorul unui swtich care ia valoarea true sau false (fig. IV.3.4.1 și fig. IV.3.4.2), valoare care este trimisă mai departe către fișierul afiseaza-carte-ajax.php cu ajutorul ajax-ului (fig. IV.3.4.3 și fig. IV.3.4.4).

– figura IV.3.4.1 –

– figura IV.3.4.2 –

– figura IV.3.4.3 –

– figura IV.3.4.4 –

Scriptul php afiseaza-carte-ajax.php transformă valorile true sau false in 1 sau 0 după care le introduce în baza de date, iar la afișarea listei de cărți în partea publică a interfeței web vor fi afișate doar cărțile care au câmpul “display=1”.

IV.4 Modificarea conținutului paginii “Despre Noi”

Modificarea conținutului paginii “Despre Noi” se face tot din panoul de administrare al interfeței web.

Conținutul acestei pagini este împarțit în două segmente: conținutul paginii și conținutul din bara laterală a interfeței web (fig. IV.4.1).

Fiecare segment are propriul său editor TinyMCE.

TinyMCE este un editor WYSIWYG pentru browsere ca MSIE sau Mozilla care permite utilizatorului fără cunoștințe de HTML posibilitatea de a crea și edita în mod vizual cod HTML într-o maineră mai prietenoasă. Este creat de Moxiecode Systems AB și este oferit sub licență "LGPL" [7].

– figura IV.4.1 –

IV.5 Managementul userilor

Pentru modificarea sau ștergerea userilor, administratorul trebuie sa dea click pe butonul “Useri” pentru a ajunge pe pagina cu lista de useri existenți.

IV.5.1 Adăugarea unui user

Pentru adăugarea unui user nou, administratorul trebuie sa facă click pe butonul “Adauga User” din bara de meniu a panoului de administrare, unde va trebui sa complecteze toate cele trei câmpuri după care va trebui sa dea click pe butonul “Salveaza” care va transmite datele complectate către scriptul php salveaza-user.php (fig. IV.5.1.1).

– figura IV.5.1.1 –

Acest script va crea în baza de date în tabelul “Users” o intrare nouă cu datele introduse de către administrator.

Pentru siguranța datelor, parola va fi criptată cu funcția md5();.

MD5 (Message Digest Algorithm 5) este o funcție criptografică de tip hash unidirecțional, care livrează ca rezultat o valoare fixă ca lungime de 128 Biți. Funcția MD5 a fost dezvoltată în 1991 de Ronald L. Rivest și publicată în 1992 în RFC 1321. Este utilizată drept componentă în unele scheme de semnătură electronică, deși tinde să fie înlocuită în acest scop de SHA-1 sau RIPEMD-160, funcții mai puțin sensibile la coliziuni. Valuarea calculată cu ajutorul funcției MD5 (pe scurt md5sum), este folosită însă pe scară largă drept sumă de control, la verificarea integrității fișierelor [8].

IV.5.2 Modificarea unui user

Procesul de modifcare a unui user existent este asemănător cu procesul de creare a unui user, singura diferență este acea că toate câmpurile vor fi complectate automat cu informațiile luate din baza de date. Pentru a modifica datele unui user, administratorul trebuie sa facă click pe butonul “Modifica User”. De aici, se pot schimba următoarele: Numele, Email-ul și parola user-ului.

IV.5.3 Ștergerea unui user

Pentru a șterge un user, administratorul va trebui sa dea click pe butonul “Sterge User”, după ce se face click-ul pe buton, pe ecran va apărea un mesaj: “Esti sigur ca vrei sa stergi userul ‘nume_user’?”. Dacă răspunsul este “ok” atunci user-ul va fi șters din baza de date folosind un script php sterge-user.php (fig. IV.5.1).

– figura IV.5.3.1 –

După ce user-ul a fost șters din baza de date, administratorul va fi redirectat înapoi pe aceeași pagină.

Concluzii

Secolul XXI poate fi definit cel mai bine printr-un singur cuvânt: “viteză”. Lumea în care trăim evoluează atât de repede încât uneori ne este greu să ținem pasul cu ritmul său nebun. Și pentru că întreaga lume și-a mărit limita de viteza, primul lucru pe care trebuie să-l facem este să ne adaptăm cât mai repede la noile cerințe, pentru că numai astfel vom putea ține pasul cu acest “Maraton al Evoluției”.

Internetul poate fi considerat un competitor serios împotriva timpului. Prin intermediul internetului și, implicit, a site-urilor web, putem să ne documentăm cu orice tip de informație în doar câteva secunde, chiar dacă avem nevoie de un loc de muncă, un doctor, o adresă sau chiar să citim o carte.

Prin această lucrare am încercat să realizez o interfață web a unei biblioteci virtuale cât mai simplă să fie ușor de utilizat atât de studenți cât și de administratorul interfeței. Interfața web are un design simplu, ‘curat’, dar și responsive.

Avantajele unei biblioteci virtuale:

Accesul utilizatorului la o mare cantitate de documente dintr-un singur loc de lucru, fără deplasare fizică.

Accesul la bibliotecă al unui număr sporit de utilizatori

Accesul simultan al mai multor utilizatori la același document

Protejarea cărților originale față de tratarea neglijentă sau răuvoitoare

Posibilitate relativ simplă de creare a unei copii electronice de siguranță (backup) a întregii biblioteci

Câteva direcții de dezvoltare pentru lucrarea de față ar fi:

posibilitatea utilizatorilor de a-și crea un cont unde să-și poată salva datele personale necesare pentru închirierea unei cărți;

posibilitatea setării unei alerte în cazul în care o carte intră in stoc;

implementarea unui sistem pentru adăugarea de pagini noi;

Bibliografie

[LWLT2005] Luke Welling, Laura Thomson “Dezvoltarea aplicatiilor WEB cu PHP si MySQL, Editia a II-a” , Editura Teoram

[RDLA2004] Robert Dollinger, Luciana Andron “Baze de date si gestiunea tranzactiilor” Editura Albastra, Cluj Napoca 2004

[TA2005] Traian Anghel, “Programarea in PHP”, Polirom, Bucuresti 2005

“Isotope” – disponibil la http://isotope.metafizzy.co/ , consultat la data de 11.06.2014

“Datepicker” – disponibil la http://jqueryui.com/datepicker/ , consultat la data de 10.06.2014

“Utilizarea de sesiuni PHP” – disponibil la http://www.marplo.net/php-mysql/sesiuni.html , consultat la data de 20.06.2014

“TinyMCE” – disponibil la http://www.tinymce.com/ , consultat la data de 12.06.2014

“Funcția md5();” – disponibil la http://ro.wikipedia.org/wiki/MD5 , consultat la data de 13.06.2014

Bibliografie

[LWLT2005] Luke Welling, Laura Thomson “Dezvoltarea aplicatiilor WEB cu PHP si MySQL, Editia a II-a” , Editura Teoram

[RDLA2004] Robert Dollinger, Luciana Andron “Baze de date si gestiunea tranzactiilor” Editura Albastra, Cluj Napoca 2004

[TA2005] Traian Anghel, “Programarea in PHP”, Polirom, Bucuresti 2005

“Isotope” – disponibil la http://isotope.metafizzy.co/ , consultat la data de 11.06.2014

“Datepicker” – disponibil la http://jqueryui.com/datepicker/ , consultat la data de 10.06.2014

“Utilizarea de sesiuni PHP” – disponibil la http://www.marplo.net/php-mysql/sesiuni.html , consultat la data de 20.06.2014

“TinyMCE” – disponibil la http://www.tinymce.com/ , consultat la data de 12.06.2014

“Funcția md5();” – disponibil la http://ro.wikipedia.org/wiki/MD5 , consultat la data de 13.06.2014

Similar Posts