Aplicatia Web "Situl Liceului Beceni" este un sistem online de prezentare a liceului Beceni, Comuna Beceni, Judetul Buzau. Scopul aplicatiei este acela de a furniza informatii despre liceul Beceni, vizitatorii avand si posibilitatea sa-si creeze cont si sa posteze pe sit opiniile lor.
In realizarea acestei aplicatii am pornit de la urmatoarele cerinte:
Aplicatia "Site-ul Liceului Beceni" are o structura modulara. Principalele module ale aplicatiei sunt:
Operatiile de gestionare a conturilor nu pot fi realizate decat de utilizatorul cu drept de administrator. Exista trei categorii de utilizatori, fiecare grup avand drepturi specifice:
a. Administratorii - au drepturi de gestionare a conturilor, a categoriilor sitului si a conturilor utilizatorilor;
b. Utilizatorii - pot pune in GuestBook parerile lor despre sit;
Structura modulara a aplicatiei este sugerata si de structura directoarelor ce compun aplicatia, asa cum se observa in figura 3.1.
Fisierele ce compun un anumit modul sunt grupate intr-un folder separat pentru a realiza o structura flexibila, usor de modificat.
Pentru fiecare pagina a sitului s-a aplicat acelasi design general, pagina avand urmatoarele zone:
Top - zona din partea superioara a paginii - contine banner-ul, bara de navigare si formularul de autentificare
Right - zona din partea dreapta a paginii - contine meniul pe categorii si subcategorii;
Main - este zona principala a ferestrei, in care se afiseaza continutul efectiv al fiecarei pagini;
Bottom - contine informatii privind drepturile de autor asupra aplicatiei;
Figura 3.1 Structura de directoare a aplicatiei
Fiecare zona a paginii este definita in cadrul unui fisier PHP cu acelasi nume, asa cum se observa in figura 3.2. Cele cinci zone ale paginii sunt delimitate prin utilizarea unui tabel HTML, in fiecare celula incluzandu-se codul PHP din fisierele mentionate (vezi capitolul 1 - Crearea tabelelor HTML).
top.php |
|
main.php |
right.php |
bottom.php |
Figura 3.2. Tabelul de design al paginii
Codul PHP utilizat pentru crearea sablonului principal al paginilor sitului este urmatorul:
Functia PHP include() permite includerea intregului cod PHP aflat in fisierul specificat in locul apelului. Utilizarea functiei include permite crearea de sabloane pentru paginile sitului, astfel incat orice modificare asupra aspectului fiind usor de realizat, modificarile facandu-se doar intr-un numar limitat de fisiere (top.php, main.php, right.php, bottom.php).
Controlul aspectului este realizat si prin definitiile CSS aflate in fisierul stil.css, care stabilesc stiluri pentru fonturi, pentru meniuri, stabilesc aspectul tabelelor si formularelor sitului.
Pagina principala, ca de altfel toate paginile sitului, vor avea urmatorul aspect:
Figura 3.3. Pagina de primire
Aplicatia "Situl Liceului Beceni" utilizeaza o baza de date MySQL pentru gestionarea tuturor datelor necesare. Am ales serverul de gestiune a bazelor de date MySQL deoarece este un instrument puternic si stabil, iar utilizarea acestuia este libera.
Pentru descrierea structurii conceptuale a bazei de date am utilizat diagrama entitate relatie, unde notatiile folosite au urmatoarea semnificatie:
Entitatile sunt reprezentate prin dreptunghiuri, numele entitatii fiind scris cu majuscule;
Denumirile proprietatilor unei entitati sunt prefixate de unul din caracterele:
o - cheie primara;
o - proprietate obligatorie;
o o - proprietate optionala, care poate sa nu mai apara in structura ulterioara a bazei de date;
Proprietatile cu statut de cheie primara sau cheie externa sunt subliniate;
Relatiile dintre entitati sunt reprezentate prin linii continue si/sau punctate, in functie de cardinalitatea si optionalitatea relatiei;
Figura 3.4. Diagrama entitate - relatie in a treia forma normala
Observatii:
Entitatile CONFIG si ERORI nu sunt relationate cu celelalte entitati deoarece vor constitui tabele auxiliare in baza de date. Tabela Config va memora date privind dimensiunile celor cinci zone ale paginii sitului, iar tabela Erori memoreaza mesajele de eroare si mesajele de avertizare, care vor fi afisate in cadrul aplicatiei.
Tabela Config
Tabela Config este utilizata pentru controlul dimensiunilor celor cinci zone de afisare, datele continute fiind suficiente pentru determinarea tuturor dimensiunilor necesare. Intr-o versiune viitoare, tabela va fi utila pentru redimensionarea paginii in functie de rezolutia de pe computerul vizitatorului.
Tabela Erori
Tabela Erori memoreaza toate mesajele de avertizare sau de eroare pe care le poate furniza aplicatia, valoarea campului tip specificand categoria din care face parte mesajul (0 - mesaj de eroare, 1 - mesaj de avertizare/succes).
Afisarea efectiva a mesajului in browser este realizata de functia mesaj($cod), definita in fisierul lib.php, care primeste ca parametru codul mesajului de eroare.
Tabela Conturi
Tabela Conturi este una dintre cele mai importante tabele, aceasta relationand cu majoritatea tabelelor bazei de date. Tabela memoreaza datele referitoare la utilizatorii aplicatiei:
Date personale si de contact nume, prenume, email;
Date pentru autentificare: username(numele contului utilizatorului), userpass (parola asociata contului), uid (memoreaza tipul contului: administrator, profesor, elev);
Alte date ce descriu starea contului: stare (daca este activ, blocat sau in asteptarea validarii), data _c (data cand a fost creat contul), data_exp(data expirarii contului);
Tabelele Tcategorii si Tsubcat
Aceste tabele sunt utilizate pentru a ierarhiza categoriile si subcategoriile meniului principal al sitului.Descrierea categoriilor si subcategoriilor nu este inca utilizata in cadrul aplicatiei.
Aplicatia "Situl Liceului Beceni", conform cerintelor specificate anterior, trebuie sa furnizeze servicii cu un grad sporit de securitate si confidentialitate a datelor. Autentificarea utilizatorilor se realizeaza in mod clasic, prin utilizarea numelor de cont si a parolelor de acces la aplicatie. Parolele sunt memorate in tabela conturi intr-o forma criptata prin utilizarea sistemului de criptare md5, implementat in PHP prin functia cu acelasi nume.
Autentificarea utilizatorilor se realizeaza prin intermediul formularului aflat in partea de sus a oricarei pagini a sitului (vezi figura 3.5)
Figura 3.5. Formularul de autentificare
Sursa HTML a formularului de autentificare este:
Controlul aspectului elementelor de formular a fost realizat prin utilizarea definitiilor de stil CSS2 cuprinse in fisierul stil.css. Mai multe amanunte despre CSS pot fi gasite in [3] si [5].
Datele culese prin intermediul formularului sunt prelucrate de scriptul login.php, care verifica existenta contului si corectitudinea parolei. Codul PHP este urmatorul:
else else }
Observatii
Se realizeaza o interogare SQL (vezi Cap.2, sectiunea 2.5) pentru a determina daca numele de cont si parola sunt inregistrate in baza de date; inexistenta contului sau incorectitudinea parolei determina esuarea tentativei de autentificare;
Se verifica starea contului. Daca utilizatorul are contul blocat sau inca nevalidat se va afisa un mesaj de eroare corespunzator;
In cazul in care autentificarea se face cu succes, o parte din informatiile referitoare la cont se memoreaza in variabile de sesiune, pentru a putea fi utilizate pe tot parcursul aplicatiei. Variabilele de sesiune sunt memorate cu ajutorul tabloului asociativ predefinit $_SESSION[].
Dupa autentificarea cu succes a utilizatorului, acesta poate utiliza facilitatile aplicatiei in functie de nivelul drepturilor de acces atasate contului sau. Fiecare pagina a sitului verifica dreptul de acces al utilizatorului autentificat. De exemplu, pagina de administrare a grupelor poate fi accesata atat de administrator cat si de profesori, deci verificarea drepturilor de acces va fi:
Verificarea drepturilor de acces este realizata de functia autentificare(), aflata in fisierul lib.php:
In intreaga aplicatie, stabilirea si inchiderea conexiunilor cu baza de date se realizeaza prin intermediul a doua functii definite in fisierul lib.php(vezi Cap. 2, sectiunea 2.5.1):
La deconectarea utilizatorului din cadrul aplicatiei, prin accesarea link-ului corespunzator, se executa scriptul logout.php, a carui sarcina este aceea de a elimina din cadrul sesiunii de lucru variabilele definite la autentificare si de a sterge toate variabilele cookies alocate sesiunii. Aceste masuri sunt luate in scopul sporirii securitatii aplicatiei prin prevenirea accesului neautorizat.
Asa cum am precizat intr-o sectiune anterioara, afisarea mesajelor este realizata, din orice script al aplicatiei, apeland functia mesaj(), definita in fisierul lib.php. Functia primeste ca argument codul mesajului ce se doreste a fi afisat, interogheaza tabela ERORI pentru a determina tipul mesajului (de eroare sau de avertizare) si continutul acestuia.
In functie de tipul mesajului, se afiseaza si o pictograma sugestiva, asa cum se observa in figura de mai jos.
Figura 3.6. Mesaj de eroare
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |