Programare Web: Laborator PHP

Lectura obligatorie

PHP 5 Tutorial

Cerinta de implementare

În rezolvarea problemelor de mai jos se vor efectua toate validările şi verificările necesare pentru a preîntâmpina orice problemă de securitate (SQL injection, cross site scripting, CSRF, unrestricted file upload, etc). Nu se va folosi JavaScript (sau librarii bazate pe JavaScript). Singurele tehnologii permise pe client sunt HTML si CSS.

Notare:

  • problema 1 sau 2 – pentru maxim nota 5;
  • problema 1 sau 2 si problema 3 sau 4 – pentru maxim nota 7;
  • problema 1 sau 2, problema 3 sau 4 si problema 5 – pentru maxim nota 8.5;
  • problema 1 sau 2, problema 3 sau 4, problema 5 si problema 6 – pentru maxim nota 10.

Studentul va preda cel putin o problema la alegerea cadrului didactic, dar va stii sa raspunda la intrebari legate de toate problemele prezentate (si din teoria aferenta).

  1. O baza de date contine trenuri caracterizate de: nr. tren, tip tren, localitate plecare, localitate sosire, ora plecare, ora sosire. Un calator va putea cauta trenuri intre doua localitati, specificand prin intermediul unui check box daca doreste numai curse directe sau si curse cu legatura (schimbarea trenului intr-o localitate intermediara).
  2. O tabela din cadrul unei baze de date mentinuta server side contine produse descrise prin mai multe atribute. Un script php va afisa aceste produse impreuna cu atributele lor paginat (n pe pagina) afisandu-se in acelasi timp link-uri spre urmatoarele respectiv anterioarele n produse. Prin intermediul unui formular ce contine un combobox, scriptul php va putea fi configurat cu numarul n specificat de vizitator.
  3. O baza de date mentinuta server side contine studenti si materii studiate de acestia. Un profesor ce in prealabil se autentifica (fara sa se inregistreze) va putea completa notele acestora, note ce vor fi afisate studentilor (studentii sunt utilizatori neautentificati). Aplicatia va permite completarea notelor la mai multe discipline de catre mai multi profesori.
  4. Sa se implementeze un mecanism de inregistrare si autentificare a utilizatorilor in cadrul unui site. Autentificarea se va face prin interogarea server side a unui baze de date iar inregistrarea prin completarea acesteia cu noul utilizator. La inregistrare se va cere utilizatorului adresa acestuia de e-mail, inregistrarea finala facandu-se la accesarea unui link care se trimite utilizatorului prin email in momentul in care acesta completeaza formularul de inregistrare.
  5. O aplicatie web va permite unui utilizator ce se autentifica in prealabil sa uploadeze poze. Aceste poze vor fi vizualizate in “profilul” utilizatorului, dupa autentificare acesta putand vizualiza profilele (pozele uploadate) altor utilizatori. Se va implementa si un mecanism de stergere a unui fotografii uploadate.
  6. O pagina ce contine un articol (articol sportiv, reteta de mancare, etc) permite vizitatorilor sa posteze comentarii la articolul respectiv. La postarea unui comentariu, un vizitator va trebui sa introduca pe langa comentariu numele sau. Comentariile nu vor fi afisate decat dupa moderarea (aprobarea lor) de catre un administrator ce se autentifica in prealabil.