Arta Fotografica

LUCRARE DE LICENȚĂ

Artă fotografică. Aplicație Web cu PHP, MySQL.

Cuprins

Cuprins

Introducere

Capitolul 1 Noțiuni generale despre Internet și aplicații Web

1.1. Noțiuni introductive

1.1.1. Utilizare

1.1.2. Caracteristici tehnice

1.1.3. Istoric

1.1.4. Aplicații Internet

1.2. World Wide Web (WWW)

1.2.1. Istoric

1.2.2. Standarde Web

1.3. Aplicații Web

1.3.1. Istoric

1.3.2. Structură

1.3.3. Exemple de aplicații web

Capitolul 2 Tehnologii folosite

2.1. PHP

2.1.1. Introducere

2.1.2. Scrierea scripturilor php

2.1.3. Variabile și funcții PHP

2.1.4. Operatori

2.2. Javascript

2.2.1. Introducere

2.2.2. Sintaxa JavaScript

2.2.3. Funcții JavaScript

2.3. jQuery

2.4. HTML

2.4.1. Introducere

2.4.2. HTML 5

2.5. CSS

2.5.1. Introducere

2.5.2. Regulile CSS

2.6. Sisteme de gestiune a bazelor de date

2.6.1. Introducere Mysql

2.6.2. Structura unei baze de date

2.6.3. Creearea unei baze de date și a unui tabel

Capitolul 3 Studiu de caz – Artă Fotografică

3.1. Prezentarea soluției

3.1.1. Scop și exigențe funcționale

3.1.2. Identificarea utilizatorilor și a cazurilor de utilizare

3.1.3. Diagrama cazurilor de utilizare

3.2. Implementarea bazei de date

3.3. Implementare Front-End

3.3.1. Pagina „Acasă”

3.3.2. Pagina „Galerie”

3.3.3. Pagina „Servicii”

3.3.4. Pagina „Contact”

3.4. Implementare Back-End (Administrare)

3.4.1. Logarea

3.4.2. Administare imagini (adăugare)

3.4.3. Administrare imagini (ștergere)

Concluzii

Glosar de termeni

Bibliografie

Anexe

Introducere

În momentul actual, oricine poate să își permită realizarea unei aplicații web, toate acestea se datorează dezvoltării tot mai accentuate a soluțiilor Open Source.

Tehnologiile folosite în aplicațiile Web sunt defapt, limbaje de programare folosite la crearea site –uri web complexe , forumurilor , care presupune stăpânirea cât mai detaliată a unor limbaje de programare sau de scripting și baze de date.

În acest sens, fie că este vorba de platformele pe care dorim să dezvoltăm aplicațiile, fie că este vorba de bazele de date, de mediile și uneltele software utilizate, de algoritmii, funcțiile și procedurile pe care le gândim, sau de standardele pe care trebuie să le respectăm pentru dezvoltarea acestora – toate acestea țin de tehnologiile web.

În categoria tehnologii Web se pot include:

Limbaje de programare: PHP, Javascript, etc;

Pentru baze de date pot fi utilizate: MySQL, MsSQL, Access, ORACLE, etc;

Limbaje de marcare și design: HTML 5, CSS 3, Xhtml.

Alegând această temă , mi-am propus să creez o pagină web pentru toti oameni pasionați de arta fotografica, un loc unde ei să iși poată expune lucrările și de ce nu un loc de unde cei interesati să îi poata contacta în vederea unor sedințe foto.

În relizarea acestei lucrării am avut urmatoarele obiective:

Crearea unei pagini web atractive din punct de vedere al design-ului ;

Crearea unui system de administrare a conținului ușor de utilizat ;

Crearea unei pagini web care să atragă actualii si viitori fotografi să se promoveze .

Lucrarea este structurată în trei capitole care tratează această temă.

În primul capitol sunt prezentate noțiuni generale privind Internetul și aplicațiile Web, deasemenea este realizat un scurt istoric despre evoluția Internetului și ale aplicațiilor Web.

În capitolul doi sunt prezentate tehnologiile folosite punându-se accent pe componentele/funcțiile utilizate în aplicație.

Capitolul al treilea reprezintă ideea principală a lucrării, aici sunt prezentate cele mai importante aspecte ale acesteia, etapele nesesare realizării unei astfel de aplicație.

Structurând astfel această lucrare , imi doresc ca ea sa serveasca drept ghid celor care isi doresc sa creeze o pagina web.

Noțiuni generale despre Internet și aplicații Web

Noțiuni introductive

Termenul Internet este un cuvânt din limba engleza si este format din combinarea a doua cuvinte: interconnected = interconectat și network = rețea.

Acest cuvânt are două ințelesuri care sunt strâns legate unul de celalat, în funcție de context:

Cuvântul „Internet” (scris cu majusculă) reprezintă o rețea de calculatoare la nivel modial și alte aparate (cum ar fi imprimantele) ,cu adrese computerizate, interconectate conform regulilor (protocoalelor) de comunicare: „stiva TCP/IP” care este alcătuită din „Transmission Control Protocol” și „Internet Protocol”.În anul 1965 ,înainte de apariția Internetului , Agenția pentru Proiecte de Cercetare Înaintate de Apărare – a Ministerului Apărării, Department of Defense sau DoD din SUA (Defence Advanced Research Projects Agency,en: DARPA) a creat prima rețea de computere interconectate sub numele ARPAnet.

Utilizare

Potrivit firmei de cercetare on-line Internet World Stats în 2012 aproximativ doar 34,3 % din populația globală folosea Internetul.

Aceesi firma a întocmit un studiu prin care este precizat că, în iunie 2012 rata de penetrare a Internetului în România a atinsese nivelul de 44,1 % din totalul populației estimată la 19,1 milioane de locuitori, numărul de utilizatori de Facebook era de 5,347,980 , iar media vitezei de download era de 57,36 Mbps , a 3-a tară la nivel mondial.

Caracteristici tehnice

Astăzi Internetul este susținut și întreținut de o multitudine de firme . El are bază specificații tehnice detaliate, cum ar fi „protocoale de comunicație”, care descriu toate regulile și protocoalele de transmitere a datelor în această rețea.

Protocoalele de bază sau fundamentale ale Internetului, care asigură comunicarea între orice două calculatoare și care le implementează, sunt Internet protocol (IP), Transmission Control Protocol (TCP) [3] și User Datagram Protocol (UDP).

Însă cele trei protocoale reprezintă doar o mică parte din nivelul de bază al sistemului de protocoale Internet, care mai include și protocoale aplicative si protocoale de control, precum : DNS, PPP, SLIP, ICMP, PO3, IMAP, SMTP, HTTP, HTTPS, SSH, Telnet, FTP , LDAP, SSL, WAP și SIP.

Istoric

Primul pas în dezvoltarea Internetului îl reprezintă rivalitatea dintre cele două mari puteri ale secolului al XX-lea: Uniunea Sovietică și Statele Unite ale Americii . Acesta fiind momentul când in 1957, URSS (Uniunea Republicilor Sovietice Socialiste) lansează în spațiul cosmic primul satelit artificial al Pământului denumit Sputnik. Acest prim pas a declanșat o deosebită neliniște în Statele Unite ale Americii, astfel încât președintele Eisenhower dă ordin să se înființează o agenție specială subordonată Pentagonului numită: Advanced Research Projects Agency (www.darpa.mil). Această agenție a Ministerului de Apărare (Department of Defense, prescurtat DOD) era condusă de oameni de știință, are o birocrație redusă, și are ca misiune: „Menținerea superiorității tehnologice a armatei Statelor Unite și prevenirea surprizei tehnologice în domeniul securității naționale prin sponsorizarea celor mai noi și revoluționare descoperiri științifice și prin investirea de fonduri teoretic nelimitate pentru realizarea unei legături între cercetarea științifică și implementarea tehnologică militară a acesteia.”.

Aplicații Internet

Aplicațiile Internetului sunt numeroase: în primul rând avem afișarea de informații sub formă de text, imagini și sunete (așa-numitele pagini web), apoi urmeaza poșta electronică sau e-mail, transferul de fișiere de date și informații, chat, video , telefonie și telefonie cu imagine prin Internet, televiziune prin Internet , deschiderea unei sesiuni de lucru de la distanță, grupuri de discuții pe teme prestabilite, sondări de opinie, mediu pentru răspândirea știrilor, mediu pentru toate genurile de grafică și muzică, e-commerce , jocuri interactive prin rețea, operații bancare (Internet banking) și multe, multe altele. Printre ele, World Wide Web, prescurtat WWW, deseori numit numai "web", este la loc de vârf, deoarece este o aplicație multimedială și integrativă, cu o interfață de utilizator (Graphic User Interface, GUI) foarte atrăgătoare din punct de vedere grafic, practică și simplu de folosit. WWW a fost inventat de către Tim Berners-Lee în anul 1993.

Pentru folosirea tuturor aplicațiilor din web este nevoie în general doar de un singur program multifuncțional numit browser (cuvânt englez). Exemple: MS Internet Explorer, Mozilla Firefox (provenit din Netscape Navigator),Google Chrome, Opera, Apple Safari ș.a.

World Wide Web (WWW)

Termenul de World Wide Web, abreviat WWW sau www, numit și web, care în limba engleză înseamnă "rețea mondială" sau "rețea" și se pronunță /ˌwɝːld waɪd wɛb/ respectiv /wɛb/ (v. AFI), iar pe românește [ pron. ŭeb ] , este defapt, un sistem de documente și informații de tip hipertext legate ele între ele care pot fi accesate prin rețeaua mondială de Internet. Documentele, care sunt stocate în diferite locații pe diverse calculatoare sau servere, pot fi regăsite cu ajutorul unui identificator univoc numit URL. Hipertextul care poate fi chiar si o imagine și un document poate fi afișat cu un anumit program de navigare în web numit și browser, care descarcă paginile web de pe un server web și le afișează pe terminalul utilizatorului.

WWW nu este singurul serviciu disponibil în Internet ,el este doar unul din numeroasele servicii și aplicații informatice disponibile în Internet. Mai sunt și alte servicii precum: afișarea de informații cu formă de text, imagini și sunete, poșta electronică sau e-mail, transferul de fișiere – FTP, chat, aplicații video , servicii telefonie și telefonie cu imagine prin Internet de tip VoIP, posturi de radio și televiziune prin Internet, e-commerce, sondări de opinie, răspândirea știrilor prin metode RSS [5], toate genurile de grafică și muzică, lucrul pe un calculator de la distanță prin Internet, grupuri de discuții pe diverse teme, sisteme de jocuri interactive, distribuție de software ș.a.

Istoric

Webul a fost inventat în 1989 la Centrul European de Cercetări Naționale [6] (CERN) din Geneva,Elveția.Inițial cercetatorul de origine britanică Tim Berners-Lee a inventat HTTP-ul(Hyper-Text Transport Protocol) adică modul de comunicare dintre un browser și un server web.El și-a imaginat Web-ul ca o modalitate de a comunica, publica și citii informatii de pe Net cu oricine și oricând.

Standarde Web

“Standard web” este doar un termen general pentru standardele formale și alte tehnici specifice care definesc și descriu aceste aspecte ale World Wide Web. În ultimii ani termenul a fost frecvent asociat cu tendința de însușire a celor mai bune practici standardizate pentru construirea, designul și dezvoltarea paginilor Web folosind aceste metode.

Există mai multe standarde și specificații interdependente. Unele definesc și alte aspecte ale Internetului, nu doar WWW-ul, dar impreuna acestea influențează direct sau indirect administrarea și dezvoltarea paginilor Web și a serviciilor web. În acest timp , susținătorii acestei mișcării a standardelor Web au tendința să se concentreze mai mult asupra standardelor care se reflectă direct asupra accesibilității și utilizariii paginilor web. Standardele Web, într-un sens mai larg, constau în următoarele:

Recomandări publicare de World Wide Web Consortium (W3C);

Standarde Internet (STD) – documente publicate de Internet Engineering Task Force (IETF) ;

Request for Comments (RFC) – documente publicate de Internet Engineering Task Force ;

Standarde publicate de International Organization for Standardization (ISO);

Standarde publicate de Ecma International (fostă ECMA);

Standardul Unicode și numeroase alte Rapoarte tehnice Unicode (UTR) publicate de Unicode Consortium;

De obicei, când vorbim despre standardele web, următoarele standarde sunt considerate fundamentale:

HTML sau XHTML -Recomandări făcute de W3C referitoare la limbajele hypertext;

CSS -Recomandări făcute de către W3C referitoare la foi de stil;

JavaScript-Standarde dezvoltate de Ecma International referitoare la Ecmascript ;

DOM-Recomandări făcute de către W3C referitoare la Document Object Model.

O recomamdare W3C este o specificație metode.

Există mai multe standarde și specificații interdependente. Unele definesc și alte aspecte ale Internetului, nu doar WWW-ul, dar impreuna acestea influențează direct sau indirect administrarea și dezvoltarea paginilor Web și a serviciilor web. În acest timp , susținătorii acestei mișcării a standardelor Web au tendința să se concentreze mai mult asupra standardelor care se reflectă direct asupra accesibilității și utilizariii paginilor web. Standardele Web, într-un sens mai larg, constau în următoarele:

Recomandări publicare de World Wide Web Consortium (W3C);

Standarde Internet (STD) – documente publicate de Internet Engineering Task Force (IETF) ;

Request for Comments (RFC) – documente publicate de Internet Engineering Task Force ;

Standarde publicate de International Organization for Standardization (ISO);

Standarde publicate de Ecma International (fostă ECMA);

Standardul Unicode și numeroase alte Rapoarte tehnice Unicode (UTR) publicate de Unicode Consortium;

De obicei, când vorbim despre standardele web, următoarele standarde sunt considerate fundamentale:

HTML sau XHTML -Recomandări făcute de W3C referitoare la limbajele hypertext;

CSS -Recomandări făcute de către W3C referitoare la foi de stil;

JavaScript-Standarde dezvoltate de Ecma International referitoare la Ecmascript ;

DOM-Recomandări făcute de către W3C referitoare la Document Object Model.

O recomamdare W3C este o specificație sau un set de indicații care, după numeroase propuneri și dezbateri, a primit aprobarea membrilor și directorului W3C.

Un standard de Internet IETF este caracterizat de un grad ridicat de maturitate tehnică și convingerea că protocolul specificat oferă beneficii semnificative comunității Internet.

Aplicații Web

O aplicație web, este o aplicație care este accesată de utilizator, dintr-o rețea cum ar fi Internet-ul sau intranet-ul. Deasemenea, termenul poate însemna, o aplicație software pe calculator, care este codată într-un limbaj de programare suportat de browser (cum ar fi: JavaScript combinat cu un limbaj de marcare ca HTML) și care se bazează pe un browser web comun pentru a face aplicația executabilă.

Aplicațiile web sunt populare ca urmare a numărului mare de browsere web, și comoditatea de a folosi un browser web ca un client. Capacitatea de a actualiza și de a menține aplicații web fără distribuirea și instalarea software-ului pe potențiale mii de computere, acesta este un motiv cheie pentru popularitatea lor, așa cum este suportul inerent pentru compatibilitate cross-platform. Aplicațiile web comune includ servicii webmail, vânzări on-line, licitații on-line, wiki-uri și multe alte funcții.

Istoric

În modelele anterioare de calcul, de exemplu, în client-server, sarcina de aplicare a fost împărțită între codul de pe server și codul instalat pe fiecare client local. Cu alte cuvinte, o aplicație a avut propriul program de client care a servit ca interfața sa cu utilizatorul și a trebuit să fie instalat separat pe computerul fiecărui utilizator. Un upgrade la codul de server-side a cererii ar necesita de obicei, de asemenea, o actualizare a codului client-side instalat pe fiecare stație de lucru, adăugând la costul de sprijin și scăderea productivității.

În contrast, aplicatiile web folosesc documente web scrise într-un format standard, cum ar fi HTML și JavaScript, care sunt susținute de o varietate de browsere web. Aplicațiile web pot fi considerate ca o variantă de software client-server în cazul în care software-ul client este descărcat pe mașina client atunci când vizitează pagina web relevantă, prin procedee standard, cum ar fi HTTP. Actualizarea software-ul se poate întâmpla de fiecare dată când pagina web este vizitată. În timpul sesiunii, browser-ul web interpretează și afișează paginile, și acționează ca un client universal pentru orice aplicație. În primele zile ale Web-ului fiecare pagină individuală a fost livrată clientului ca un document static, dar secventa de pagini poate oferi o experiența interactiva, cum datele introduse de utilizator sunt returnate prin elemente de formular web incluse in pagină.

În 1995, Netscape a introdus un limbaj de scripting client-side numit JavaScript care permite programatorilor să adauge unele elemente dinamice pentru interfața cu utilizatorul, care activează pe partea de client. Deci, în loc de a trimite date de la server, în scopul de a genera o întreagă pagină web, script-urile încorporate ale paginii descărcate pot efectua diferite sarcini, cum ar fi validare de intrare sau afișarea / ascunderea de componente ale paginii.

În 2011, HTML5 a fost finalizat, care oferă capabilități grafice și multimedia fără a fi nevoie de plugin-uri de pe partea clientului. HTML5, de asemenea, a îmbogățit conținutul semantic al documentelor. API-uri și modelul de Document Object (DOM) nu mai sunt lasate pe planul secund, dar sunt părți fundamentale ale caietului de sarcini HTML5. WebGL API a deschis calea pentru grafica 3D avansată bazate pe HTML5 și limbajul JavaScript. Acestea au o importanță semnificativă în crearea platformă adevărate și aplicatii web bogate, independente.

Structură

Aplicațiile sunt, de obicei, rupte în bucăți logice numite "niveluri", în care fiecare nivel este atribuit un rol. aplicatii traditionale consta doar din 1 nivel, care se află pe mașina client, dar aplicatiile web se pretează la o abordare de n-niveluri. Deși mai multe variante sunt posibile, structura cea mai comună este aplicarea pe trei niveluri. În forma sa cea mai comuna, cele trei niveluri sunt numite prezentare, aplicare și depozitare, în această ordine. Un browser web este primul nivel (prezentare), un motor ce folosește tehnologii Web dinamice de afișare a conținutului (cum ar fi ASP, ASP.NET [7], CGI, ColdFusion, JSP / Java, PHP, Perl, Python, Ruby on Rails sau Struts2) este Nivelul de mijloc (logica aplicației), și o bază de date este al treilea nivel (de depozitare). Browser-ul web trimite cererile catre nivelul de mijloc, la care serviciile face interogări și actualizări în baza de date și generează o interfață de utilizator.

Exemple de aplicații web

În ziua de astăzi, o mare parte a paginilor web înglobeaza aplicații web complexe. Aplicații web des întâlnite:

forum (platforma open-source phpBB);

newsletter;

magazin virtual;

blog;

sistem de management al conținului – CMS;

sistem de publicare al stirilor.

Un newsletter este o publicație distribuită în mod regulat , adică mai pe scurt , un newsletter este un ziar virtual pe care unele pagini web il au la dispozitie pentru a-și informa vizitatorii despre ultimele noutații de pe pagina lor.

Magazinul virtual este o pagina web destinată vânzării de produse și servicii. În cele mai multe cazuri, o platformă care simuleaza perfect un magazin reala singura exceptie fiind transformarea rafturilor și raioanelor in categorii de produse bine definite. Produsele pot cumparate de regulă utilizând un card de credit sau cu plata la sosire. Pe magazinele online complexe utilizatoriul poate selecta modalitatea de plată: (card de credit, transfer bancar, cash) și modalitatea de transport: poștă, curier, etc.

În Figură 1 este prezentat un exemplu de magazin online, pcgarage.ro

Figura 1: pcgarage.ro

Un blog este o publicație web care conține articole periodice sau actualizate neîntrerupt și au de obicei un caracter personal asemanator unui jurnal. De regulă, actualizarea blog-urilor constă în adăugarea de citate noi, toate postările fiind afișate în ordine cronologică. Acest gen de publicații web sunt de regula cele mai accesibile pentru publicului larg.

Un Forum sau o platforma de tip phpBB este echivalentul online al unui club de oameni care împartasesc aceeași pasiune sau idee, difera de Chat-Rooms prin faptul ca aici discutiile sunt mult mai ample și mai lungi și poarta denumire de threads sau topic.Prima aplicație web de acest gen a apărut in anul 1994 fiin un proiect dnumit WIT la organizatie W3.

Un sistem de administrare a conținutului sau CMS (în engleză Content Management System, CMS) este un sistem software creat pentru automatizarea aproape totală a gestiunii conținutului, în special a site-urilor web. Scopul acestui system este de a reduce sau chiar de a elimina intervenția programatorilor la editarea și administrarea site-urilor lor. CMS-ul facilitează organizarea, controlul și publicarea de documente sau oricarui alt tip de conținut, cum ar fi imagini și resurse multimedia .

.

În Figura 2 este prezentat modul de funționare al unui CMS.

Figura 2: modul de funcționare al unui CMS

Tehnologii folosite

PHP

Introducere

PHP este un limbaj de programare destinat in primul rând Internetului. Numele PHP este un acronim și provine din limba engleză: Php: Hypertext Preprocessor. Acesta initial a fost folosit pentru producerea unei pagini web dinamice ,acum este folosit in mod usual în dezvoltarea paginilor și aplicațiilor web. Este folosit în principal înglobat în codul HTML, dar începând cu versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI), acest mod permițând crearea de aplicații independente. Este unul din cele mai importante limbaje de programare web open-source și server-side, existând in diferite versiuni disponibile pentru aproape toate serverele web și pentru toate sistemele de operare existente. Conform statisticilor este instalat pe 20 de milioane de site-uri web și pe 1 milion de servere web. Acesta este disponibil sub Licenṭa PHP ṣi Free Software Foundation și este considerat a fi un software liber.

Inițial, limbajul a fost dezvoltat de inventatorul său, Rasmus Lerdorf. Odată cu creșterea numărului de utilizatori, dezvoltarea a fost preluată de o nouă entitate, numită The PHP Group (Grupul PHP).

Scrierea scripturilor php

Pentru a crea scripturi PHP, majoritatea programatorilor PHP folosesc un editor de texte obișnuit. Se poate folosi orice editor de text, cel utilizat de mine pentru aplicația mea este Notepad++. Totuși trebuie să se țină cont să fie un editor de text ce salvează cu format text obijnuit simplu.

Absolut fiecare program PHP include doua linii speciale, prin care indica serverului PHP că textul cuprins între aceste două linii este alcătuit din instrucțiuni PHP. Practic, aceste linii pot fi asimilate copertelor unei cărți, care pastrează unitatea programului PHP. Între aceste doua linii vor fi scrise instrucțiunile PHP.

Programele PHP execută trei tipurii de operații elementare:

Acestea obțin date de la un utilizator;

Execută prelucrari ale datelor, respectiv obține accesul la datele stocate în fișiere și baze de date și le manipulează;

Afișează date astfel încat un utilizator să le poată vizualiza.

Primele doua operații sunt putin mai dificil de realizat decât cea de-a treia. Totuși, ca afișarea datelor astfel încât acestea să fie cât mai vizibile utilizatorului este o operație destul de simplă. Așa cum un text scris este compus din paragrafe , paragrafele la randul lor sunt compuse din propoziții , așa și programele PHP sunt alcătuite din instrucțiuni. Totalitatea regulilor care stau la baza formării propozițiilor se numesc sintaxă. Același termen este folosit și pentru a denumi regulile care stau la baza formării instrucțiunilor în PHP .

Iată un exemplu pentru crearea instrucțiunii PHP care trimite date de ieșire la un browser Web, astfel încât acestea să fie vizibile pentru un utilizator:

Această instrucțiune începe cu un cuvânt "echo" și se încheie cu un caracter punct și virgulă (;).

Construcția echo trimite datele de ieșire care vor fi afișate de browser.

Ghilimelele duble se folosesc pentru a delimita o expresie de tip text, în cazul acesta "Bun Venit!" (se pot folosi și ghilimele simple).

Variabile și funcții PHP

În limbajul PHP variabilele sunt reprezentate prin semnul $ urmat de numele variabilei.

Numele variabilei este restrictiv, adică contează daca introducem litere mari sau mici. Întotdeuna numele variabilelor trebuie să înceapă cu o literă sau o liniuță de subliniere ( _ ) și poate fi urmat de litere sau cifre.

Acestea ar putea fi câteva exemple de nume de variabilă:

$nume;

$student;

$parolă.

Pentru a asocia o valoare unei variabile, se scrie cu un semn egal, asa:

$nume = "Filigean Marian";

Semnul egal este urmat de valoarea care urmează a fi atribuita variabilei, în acest exemplu, valoarea este dată de valoarea literala "Filigean Marian". Caracterul punct și virgula (;) marchează Sfârșitul instrucțiunii.

De asemenea, se poate atribui valoarea unei variabile catre o altă variabilă, prin scrierea unei instrucțiuni de atribuire astfel:

$student = $nume;

În acest caz, valoarea variabilei $nume devine valoarea variabilei $student. Acest procedeu se numește. Astfel o modificare facută asupra lui $nume se va propaga automat și asupra variabilei $student.

Iată exemplul de mai sus așa cum va aparea într-un script PHP simplu :

Variabilele declarate mai sus sunt definite de utilizator. În PHP există și alte variabile numite "variabile predefinite" care reziduă în nucleul PHP, sunt alocate automat de către modulul PHP, și sunt accesibile în program.

În continuare voi enumera doar câteva dintre aceste "Variabile Superglobale" (acestea fiind accesibile din toate scripturile PHP):

$GLOBALS – contine referinte la variabilele globale disponibile in scriptul curent;

$_SERVER – variabile definite de server sau relative la contextul in care se executa scriptul curent;

$_GET – variabile furnizate scriptului prin adresa URL;

$_POST – variabile furnizate scriptului prin metoda HTTP POST (in general prin formulare);

$_COOKIE – variabile furnizate scriptului prin HTTP cookie;

$_FILES – furnizeaza scriptului fișierele uploadate;

$_SESSION – variabile care sunt inregistrate in sesiunea scriptului.

În afară de variabile, PHP include funcții care execută operații utile.

Majoritatea funcțiilor necesită una sau mai multe valori de intrare, cunoscute sub numele de argumente.

Unele functii, precum min() și max(), preiau un numar nedefinit de argumente. Alte funcții nu necesită nici un fel de argumente. Pentru a putea folosi o funcție în mod corespunzator, trebuie cunoscut:

Numele funcției;

Acțiunea funcției și valoarea returnată de aceasta, dacă există;

Numarul argumentelor preluate de funcție;

Semnificația fiecarui argument.

Operatori

Interpretorul PHP permite folosirea a nouă tipuri diferite de operatori. Aceștia operează asupra unor expresii (una, doua sau trei) și furnizează ca rezultat o altă expresie (rezultatuloperațieicorespunzătoare).

Operatorii sunt simboluri specifice care realizează o actiune specifică în cadrul unei expresii. Operatorii actionează asupra variabilelor prezente în expresie. De exemplu în cadrul expresiilor matematice vom folosi operatori aritmetici.

O proprietate interesantă a operatorului de împartire este aceea că returnează o valoare intreagă dacă ambii săi operanzi sunt întregi și rezultatul este un întreg; în caz contrar, returnează o valoare cu virgulă (de tip float). Astfel, instrucțiunea de atribuire

$x = 10/3 atribuie valorii $x valoarea cu virgulă 3.3333333333333, chiar dacă operanzii operatorului de împărțire sunt ambii întregi.

Similar operatorului de împarțire, operatorul modulo execută o împărțire; cu toate acestea, operatorul modulo returnează restul, nu câtul împărțirii. De exemplu, prin împărțirea lui 10 la 3 se obține câtul 3și restul 1. Deci, instrucțiunea de atribuire

$x = 10%3 atribuie variabilei $x valoarea 1.

Operatorii de incrementare $a++ și decrementare $a– au un efect diferit daca sunt scriși ++$a respectiv –$a

În primul caz, dacă avem de exemplu:

$x= $a++;

i-se atribue lui $x valoarea variabilei $a după care se efectuează operația de incrementare ($a = $a + 1)

Dar dacă avem

$x = ++$a=

se efectuează operația de incrementare ($a = $a + 1) după care i-se atribue lui $x noua valoarea a lui $a.

Javascript

Introducere

JavaScript este un limbaj de programare orientat pe obiect , bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor anumite facilități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea site-urilor web, dar este folosit și pentru acesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi de LiveScript, ca in final să fie numit JavaScript.

În ciuda numelui și a unor similarități în sintaxă cu JavaScript , între JavaScript și limbajul Java nu există absolut nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu limbajul Java.

Până la începutul lui 2005, ultima versiune existentă a fost JavaScript 1.5, care corespunde cu Ediția a 3-a a ECMA-262, ECMAScript, cu alte cuvinte, o ediție standardizată de JavaScript. Versiunile de Mozilla începând cu 1.8 Beta 1 au avut suport pentru E4X, care este o extensie a limbajului care are de a face cu XML, definit în standardul ECMA-357. Versiunea curentă de Mozilla, 30 (pe care sunt construite Firefox 30și Thunderbird versiunile 2.0) suportă JavaScript versiunea 1.8.5

Sintaxa JavaScript

Pentru a insera un cod din limbajul JavaScript într-un document HTML unde acesta deja există, este necesară introducerea etichetei <script> și </script>. Aceasta etichetă va avea aributul "type", sau atributul "language" (acesta din urmă este depreciat în standardul XHTML) care îi va comunica browser-ului limbajul folosit pentru a putea interpreta codul inclus.

În interiorul etichetei <script> … </script> se va scrie codul nostru.

Pentru scrierea și executarea programelor din JavaScript avem nevoie de un editor simplu de texte și un browser.

Atributul "language" (care însa nu este folosit în XHTML, ci doar in paginile web standard HTML) – va avea urmatoarea sintaxă: language="JavaScript", aceasta specifica browser-ului ce limbaj este folosit;

Atributul "type" – înlocuitorul lui "language" – va avea urmatoarea sintaxă: type="text/javascript", aceasta îi va spune browser-ului că scriptul este scris în format de tip plaintext;

Putem, de asemenea, să introducem instrucțiunile JavaScript într-un alt fișier, extern, care va avea extensia ".js", pentru editarea acestui fișier este nevoie la fel de un editor simplu de texte. Avantajul fiind că putem folosi același cod în mai multe pagini HTML și în cazul necesității unei modificări în codul JavaScript, modificăm doar datele dintr-un singur fișier (cel cu extensia ".js"), dezavantajul acestei metode este faptul că într-un fișier extern ".js" nu putem folosi etichete HTML, ci numai instrucțiuni JavaScript.

În cazul în care codul JavaScript se afla într-un fișier extern, eticheta <script> din pagina HTML va trebui să conțină atributul "src" a carui valoare determină locația fișierului în care se afla codul JavaScript.

În fișierul extern cu extensia "js" nu trebuie să scriem eticheta "<script>", scriem direct instrucțiunile scriptului.

Funcții JavaScript

Funcțiile ajută la divizarea mai multor sarcini pe care trebuie să le faca un program.

O funcție poate conține mai multe instrucțiuni și comenzi care ulterior pot fi utilizate ușor și de mai multe ori prin apelarea funcției care le conține.

Dacă un program necesită multe linii de cod, folosind funcțiile putem împarti codul în părți mai mici pe care le putem utiliza separat acolo unde este nevoie.

Pot fi doua feluri de funcții:

– predefinite – cum sunt de exemplu: "parseInt(string)", "parseFloat(string)", …

– Create de programator :

care returneaza o valoare;

care nu returneaza o valoare.

O funcție se definește la începutul fișierului, în secțiunea head și poate fi folosită în cadrul paginii prin apelarea ei. Scriptul care conține definirea unei funcții se adaugă în secțiunea "head" pentru a fi siguri că aceasta a fost încarcată înainte de a fi apelată.

Pentru crearea unei funcții se foloseste cuvântul function urmat de numele pe care vrem să-l dăm funcției după care putem adăuga între paranteze rotunde argumentele (numite și atribute) funcției (separate prin virgula dacă sunt mai multe) și între acolade corpul funcției care conține codul care trebuie executat.

Forma generală a unei funcții este urmatoarea:

function nume_functie(argument1, argument, …) {

codul care va fi executat

}

Argumentele sunt variabile folosite de funcție și a caror valoare este preluată la apelarea funcției.

Atributele nu sunt obligatorii, o funcție poate fi definită și fără argumente, dar se păstrează parantezele rotunde, astfel sintaxa unei funcții fără argumente este următoarea:

function nume_functie() {

codul care va fi executat }

jQuery

jQuery este o librărie de funcții a limbajului JavaScript creată de către John Resig.

jQuery este centrat pe lucrul și manipularea elementelor HTML și CSS în paginile web. Are de asemenea utilități Ajax pentru transmitere de date către server, funcții pentru lucru cu obiecte, array și evenimente.

Aproape toate scripturile făcute cu jQuery funcționează la fel în aproape toate navigatoarele web.

Lucrul cu jQuery prespune mai întâi includerea librăriei de funcții jQuery în pagina HTML ca în orice fișier ca conține cod Javascript.

<script type="text/javascript" src="jquery_file.js"></script>

Pentru a putea interacționa cu elementele HTML în pagina, instrucțiunile script-ului trebuie executate după încarcarea paginii, astfel tot codul jQuery se scrie în interiorul unei funcții speciale "document ready", aceasta execută codul din ea după încărcarea paginii.

Sintaxa:

<script type="text/javascript" src="jquery_file.js"></script>

$(document).ready(function() {

// tot codul jQuery se scrie aici

});

În urmatorul exemplu este prezentat un script pentru cum se creează un scrollbar folosind un plug-in jQuery:

Elementele (X)HTML se selectează cu jQuery prin adăugarea lor în $("") (sau jQuery("") , se pot folosi ghilimele duble sau simple).

Funcția html() este o metodă jQuery care returnează conținutul HTML din elementul la care e aplicată.

Selectorii jQuery sunt foarte asemănători cu selectorii CSS, iată câteva example:

$('*') – selectează toate elementele;

$('div') – selectează toate tag-urile <div>;

$('#un_id') – selectează un tag HTML cu id="un_id";

$('.a_class') – selectează toate tag-urile HTML cu class="a_class";

$('p#un_id') – selectează tagul <p> cu id="un_id";

$('li.a_class') – toate tag-urile <li> cu class="a_class";

$('li a') – toate tag-urile <a> din elementele <li>;

$('div a.a_class') – tag-urile <a> cu class="a_class", care sunt adăugate în DIV-uri;

$('div.a_class p span') – toate tag-urile <span> din <p>-uri care sunt adăugate în <div>-uri cu class="a_class".

jQuery suportă folosirea tuturor selectorilor CSS, inclusiv cei din CSS3. Iată câteva exemple:

$('p>a') – selectează toate tag-urile <a> care sunt incluse direct în paragrafe (<p>);

$('a:first') – selectează primul tag <a>;

$('h3:last') – selectează ultimul <h3> din pagină;

$('input[type=text]') – selectează elementele input care au tipul (type) specificat la text;

$('p:odd') – selectează toate paragrafele cu număr de ordine impar;

$('li:first-child') – selectează primul <li> din fiecare listă cu tag-uri <li>;

jQuery are și câțiva selectori proprii:

$(':button') – selectează elementele de tip buton (input sau button);

$(':radio') – selectează butoanele tip radio;

$(':checkbox') – selectează checkbox;

$(':checked') – selectează elementele checkbox sau radio care sunt selectate;

$(':header') – selectează elementele de tip Header (h1, h2, h3, etc.);

$(':contains("String")') – selectează elementele care conțin textul specificat la "String".

HTML

Introducere

HTML sau HyperText Markup Language este limba pe care World Wide Web o folosește. HTML este principalul component a platformei Open Web

Prima versiune de HTML a fost lansată la sfârșitul anului 1991 de catre Tim Berners-Lee si a suferit numeroase revizii și extensii in primii 5 ani și a fost găzduita de CERN ( European Organization for Nuclear Research) și apoi de IETF (Internet Engineering Task Force).

HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un editor de text simplu cum ar fi Notepad. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe solide de HTML și este consumatoare de timp. Editoarele grafice (de tip WYSIWYG) cum ar fi Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web sa fie folosite asemănător cu documetele Word, dar cu atenționarea că aceste programe generează un cod HTML care nu este mereu de bună calitate.

HTML poate fi generat direct utilizând tehnologii de codare incorporate în server cum ar fi PHP, JSP sau ASP. Multe aplicații ca sistemele de gestionare a conținutului, wiki-uri și forumuri web generează astfel de pagini HTML.

HTML este utilizat chiar și în e-mail. Aproape toate aplicațiile de e-mail conțin un editor HTML încorporat pentru scrierea de e-mail-uri și un motor de prezentare a e-mail-urilor de acest tip. Folosirea e-mail-urilor HTML este o alegere controversată și multe din listele de mail conventionale, le blochează intenționat.

HTML 5

Noile caracteristici care au fost adăugate în HTML5 sunt bazate pe HTML, CSS, DOM, și JavaScript; și reduc necesitatea plugin-urilor externe (precum Flash).

Sintaxa HTML5 este deasemenea compatibilă cu HTML4 și XHTML

Se pot închide elementele ce au un singur tag (META, BR, HR, INPUT, IMG) cu slash, <tag />, precum în XHTML; sau se pot lăsa fară să se adauge slash, <tag>;

Se pot folosi litere mici, sau /și litere mari, pentru numele tag-urilor și attribute.

Doctype in HTML5 e mai simplu:

<!doctype html>

În prezent div-urile sunt folosite petru stil și design, nu mai sunt necesare pentru structura; HTML5 include o multitudine de elemente noi pentru structurare, care ajuta la organizarea diferitelor părti în document și definirea acestora.

Acestea sunt principalele elemente de structură care sunt folosite mai des în HTML5:

<header> – e folosit pentru a defini titluri (și sub-titluri), sau meniu de navigare în site. Poate fi adăugat direct în BODY, sau în <article>, ori <section>;

<footer> – reprezintă subsolul paginii sau a unui <section>, ori <article>; poate contine informații despre autor, copyright, etc;

<section> – reprezintă o secțiune distinctă a documentului sau aplicației. Se foloseste pentru a grupa logic structura documentului;

Poate conține header, articles, meniu de navigare și footer;

<nav> – în acest tag se adaugă meniul de navigare în paginile site-ului. Acest element ar trebui folosit doar pentru link-uri grupate într-un meniu;

Dacă aveți un <footer> cu link-uri de navigare în site, nu mai e necesar să le adăugați și în <nav>, deoarece <footer> e suficient;

<article> – se folosește pentru a defini un element independent în pagină (sau în <section>), și poate conține articole de știri, postari de blog, comentarii, sau alt conținut cu text și imagini;

<aside> – poate fi folosit ca să definească o zonă laterală, sau alt conținut care e considerat într-un fel separat de conținutul din jurul lui. Un exemplu ar fi, banner sau publicitate;

<hgroup> – se folosește pentru a grupa un set de două sau mai multe elemente H1, H2, H3, …, când avem de exemplu un titlu și subtitluri.

CSS

Introducere

O problema importantă când avem o aplicație web cu multe pagini este atunci când dorim sa facem schimbări in elementele pagini: fondul, grafica sau fontul textelor

Prin utilizarea CSS (Cascading Style Sheets), in traducere "foi de stil in cascadă", acest lucru nu mai este o problema, realizându-se relativ usor, prin schimbarea sau adăugarea unor elemente in codul CSS, ne fiind nevoi sa lucrăm la fiecare pagina sau la fiecare element din pagina.

CSS se ocupa în general cu aspectul și controlul grafic al elementelor din pagină, cum ar fi: textul, imaginile, fondul, culorile și asezarea acestora în cadrul ferestrei paginii.

CSS folosește stiluri, acestea înglobează, sub un anumit nume, atribute de formatare care se aplică asupra unui element individual din pagină, asupra unui grup de elemente sau la nivelul întregului document.

Chiar dacă funcționează cu HTML, CSS nu este HTML. El este o extindere a functionalităților HTML, permitând redefinirea etichetelor HTML existente.

Prin utilizarea CSS aspectul documentului pe ansamblu, sau a unui element individual din interiorul sau, poate fi controlat mult mai ușor. Stilurile pot fi aplicate asupra unui element, a unui document sau chiar asupra unui întreg site web.

Un dezavantaj ar fi ca unele navigatoare nu sunt compatibile CSS, astfel ca documentele HTML sunt afișate ca și cum CSS n-ar exista, dar cele mai cunoscute și utilizate browsere, cum ar fi: Mozilla Firefox, Internet Explorer, Opera, și altele, sunt compatibile CSS.

Codurile CSS pot fi scrise în interiorul paginii sau într-un fișier extern cu extensia".css".

Codul CSS, ca forma generală, este alcătuit din: obiectul care va fi formatat. proprietatile acestuia și valoarea (sau atributele) fiecarei proprietăți.

Când este adaugat în documentul HTML, trebuie scris in cadrul unui tag <style> în sectiunea HEAD a documentului HTML.

Perechile proprietate:valoare se scriu între acoladele obiectului CSS pe care-l definesc, între "proprietate" și "valoare" trebuie să fie un caracter doua-puncte (:) iar la sfarșitul perechii se adaugă un caracter punct-și-virgulă (;)

Când este adăugat într-un fișier extern ".css", codul CSS se scrie la fel, dar nu se mai adauga tag-ul <style>.

Regulile CSS

Există trei tipuri principale de obiecte CSS: selector, clasă și identificator.

Selectorul HTML se folosește pentru a redefini modul de afișare a conținutului etichetei HTML.

Un selector HTML reprezintă partea etichetei HTML care indică navigatorului tipul de etichetă.

Iată un exemplu:

h1 { font-family:"Arial"; font-size:15px; }

Clasa este un obiect care poate fi aplicat oricărei etichete HTML.

O clasă trebuie creată în interiorul etichetei HTML înainte de a fi definită într-un cod CSS. Crearea clasei în interiorul etichetei se face simplu, prin specificarea cuvântului class și numele clasei, ca în exemplu de mai jos:

<h1 class="nume_clasa"> Text </h1>

"nume_clasa", poate fi orice nume dorim.

Apoi în interiorul codului CSS, clasa trebuie definită prin adăugarea unui caracter punct (.) înaintea numelui clasei, ca în exemplu următor:

.nume_clasa { font-family:"Arial"; font-size:15px; }

Obiectele de tip identificator (ID) sunt asemănătoare cu clasele. Pot fi aplicate oricarei etichete HTML, dar spre deosebire de clase, numele unui identificator trebuie atribuit numai unei singure etichete HTML dintr-o pagină.

Ca și clasa, identificatorul trebuie întâi creat în interiorul etichetei HTML. Modul de creare este simplu, prin specificarea cuvântului id și numele clasei, ca în exemplu de mai jos:

<h1 id="nume_id"> Text </h1>

În interiorul codului CSS, identificatorul este definit prin adăugarea unui caracter diez (#) înaintea numelui, ca în exemplu următor:

#nume_id { font-family:"Arial"; font-size:15px; }

"nume_id", poate fi orice nume dorim.

În interiorul codului CSS, identificatorul este definit prin adăugarea unui caracter diez (#) înaintea numelui, ca în exemplu următor:

#nume_id { font-family:"Arial"; font-size:15px; }

Sisteme de gestiune a bazelor de date

Introducere Mysql

MySQL este un sistem de gestiune a bazelor de date relațional, produs de compania suedeza MySQL AB și distribuit sub Licența Publică Generală GNU. Este cel mai popular SGBD open-source la ora actuală, fiind o componentă cheie a stivei LAMP (Linux, Apache, MySQL, PHP).

Deși este folosit foarte des împreună cu limbajul de programare PHP, cu MySQL se pot construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru MySQL ce permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum are fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip spefic API. O interfață de tip ODBC denumită MyODBC permite altor limbaje de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul cărora respetivele limbaje să poată folosi acest SGBD mult mai ușor decât prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.

Licența GNU GPL nu permite încorporarea MySQL în softuri comerciale; cei care doresc să facă acest lucru pot achiziționa, contra cost, o licență comercială de la compania producătoare, MySQL AB.

MySQL este componentă integrată a platformelor LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicație web este strâns legată de cea a PHP-ului care este adesea combinat cu MySQL și denumit Duo-ul Dinamic. În multe cărți de specialitate este precizat faptul ca MySQL este mult mai ușor de invățat și folosit decât multe din aplicațiile de gestiune a bazelor de date, ca exemplu comanda de ieșire fiind una simplă și evidentă: „exit” sau „quit”.

Pentru a administra bazele de date MySQL se poate folosi modul linie de comandă sau, prin descărcare de pe Internet, o interfață grafică: MySQL Administrator și MySQL Query Browser. Un alt instrument de management al acestor baze de date este aplicația gratuită, scrisă în PHP, phpMyAdmin.

MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.

Structura unei baze de date

Spre deosebire de fișiere, bazele de date prezintă mai multe avantaje cum ar fi independența datelor, un acces eficient la date , integritatea și securitatea datelor și ajută la reducerea timpului in care este create o aplicație. O bază de date stochează datele în tabele, iar fiecare tabel stochează în coloane informații despre un anumit tip de element.

Dacă nici o coloană nu conține o valoare unică pentru fiecare rând, se pot combina valorile mai multor coloane pentru a crea o "cheie primară compusă".

Aplicația software care ajută la crearea unei baze de date și găzduiește o bază de date se numește "sistem de gestiune a bazelor de date" (SGBD). Există multe astfel de sisteme de gestiune a bazelor de date, printre cele mai populare asemenea sisteme se numara: DB2 , Interbase , MySQL , Oracle , Postgresql , SQL Server , Sybase .

MySQL este cel mai popular sistem de gestiune a bazelor de date destinat utilizării cu PHP, în mare masura deoarece este gratuit. Totuși, prin intermediul PHP este posibil accesul la aproape orice SGBD modern.

SQL (Structured Query Language), este un limbaj relativ simplu, folosit pentru solicitarea datelor. În ciuda simplității sale, SQL este un limbaj foarte puternic, care poate obține accesul la date stocate în mai multe tabele, poate filtra datele dorite și poate sorta, rezuma și afișa rezultatele.

În general, bazele de date își stochează datele într-un singur fișier sau catalog. Această caracteristică de organizare facilitează administrarea datelor, deoarece executarea copiei de siguranța, respectiv restaurarea unui singur fișier sau catalog se realizează mai usor.

Sistemele de gestiune a bazelor de date necesită mai multe cicluri de procesor pentru a satisface o cerere de date decât cele necesare pentru accesul la un fișier normal, dar oferă protecție sporită a datelor, iar pentru accesul la distanță ușurează traficul deoarece majoritatea operațiilor sunt efectuate de programul SQL, astfel singurele date transmise in rețea ar fi rezultatul cerut.

La creearea unui tabel într-o bază de date, este important să se țină cont de "cheia primară". Coloanele dintr-un tabel trebuie să se bazeze pe cheia primară în totalitatea sa.

O altă operație importantă este specificarea unui tip de date pentru fiecare coloana. Majoritatea bazelor de date acceptă urmatoarele tipuri de date generale:

Caracter;

Întreg;

Zecimal;

Data și ora;

Binar.

Creearea unei baze de date și a unui tabel

La început, o bază de date nu conține tabele. Pentru a crea o baza de date și apoi un tabel într-o baza de date, am folosit un sub-limbaj SQL special, cunoscut sub numele de Data Definition Language (DDL).

Se pot emite comenzi DDL și alte comenzi SQL prin intermediul unui interpretor SQL sau prin intermediul PHP. Pentru început va fi prezentat modul de emitere a comenzilor SQL folosind un interpretor SQL.

Dupa ce am instalat MySQL, am deschis iterpretorul "MySQL Command Line Client" din WampServer în care am scris comenzile SQL (În general, SQL nu este sensibil la diferenta între majuscule și minuscule. Deci, se pot scrie comenzile cu majuscule sau minuscule).

Ca regulă, după scrierea comenzilor, la sfârșit trebuie să fie caracterul "punct și virgulă" (;)

Pentru a crea o bază de date se folosește următoarea comandă:

CREATE DATABASE fotografi;

Unde "fotografi" este numele bazei de date care v-a fi creată.

Pentru a crea un tabel în baza de date se folosește comanda:

CREATE TABLE concert (coloană tip, colană tip…);

Unde "concert" este numele tabelului, "coloană" este numele unei coloane, "tip" este tipul datelor incluse în coloană, se poate specifica un număr nedefinit de coloane.

Studiu de caz – Artă Fotografică

Prezentarea soluției

Scop și exigențe funcționale

Scopul aceste lucrări reprezintă realizarea unui site web, ce găzduiește o varietate de poze, peisaje impresionante, oameni și portrete, etc.

Pentru accesarea site-ului este nevoie de:

Calculator;

Conexiune la Internet.

Identificarea utilizatorilor și a cazurilor de utilizare

Utilizatori :

Utilizatorul: este cel care inițializează cazurile de utilizare în vederea satisfacerii obiectivelor;

Programatorul aplicației: este cel care a creeat toate elementele ce se regăsesc în aplicație;

Administratorul bazei de date: este cel care adaugă și șterge fotografii.

Descrierea cazurilor de utilizare:

Accesează pagina „Acasă”: acest caz are loc atunci când utilizatorul a dat click pe butonul „Acasa” din meniul aplicației;

Accesează pagina „Galerie”: acest caz începe atunci când utilizatorul a dat click pe butonul „Galerie” din meniul aplicației și se termină atunci când a dat click pe una din categoriile din această pagină;

Accesează pagina „Despre”: acest caz are loc atunci când utilizatorul a dat click pe butonul „Despre” din meniul aplicației;

Accesează pagina „Servicii”: acest caz are loc atunci când utilizatorul a dat click pe butonul „Servicii” din meniul aplicației;

Accesează pagina „Contact”: acest caz are loc atunci când utilizatorul a dat click pe butonul „Contact” din meniul aplicației;

Administrator: acest caz aparține administratorului bazei de date care are în vederea updatarea informatiilor de pe site;

Dezvoltator: acest caz aparține programatorului aplicației.

Diagrama cazurilor de utilizare

Figura 3: Diagrama cazurilor de utilizare

Diagrama Entitate-Legatură

Figura 4: Diagrama Entitate-Legatură

Implementarea bazei de date

Acest subcapitol prezintă structura tabelelor ce alcătuiesc baza de date necesară dezvoltării aplicației.

Comercial cu următoarele atribute: id [INT] (cheia primară a entității), titul [VARCHAR], poza [LONGBLOB], tip [VARCHAR];

Concert cu următoarele atribute: id [INT] (cheia primară a entității), titul [VARCHAR], poza [LONGBLOB], tip [VARCHAR];

Kids cu următoarele atribute: id [INT] (cheia primară a entității), titul [VARCHAR], poza [LONGBLOB], tip [VARCHAR];

Landscape cu următoarele atribute: id [INT] (cheia primară a entității), titul [VARCHAR], poza [LONGBLOB], tip [VARCHAR];

Others cu următoarele atribute: id [INT] (cheia primară a entității), titul [VARCHAR], poza [LONGBLOB], tip [VARCHAR];

People cu următoarele atribute: id [INT] (cheia primară a entității), titul [VARCHAR], poza [LONGBLOB], tip [VARCHAR];

Urban cu următoarele atribute: id [INT] (cheia primară a entității), titul [VARCHAR], poza [LONGBLOB], tip [VARCHAR];

User cu următoarele atribute: id [INT] (cheia primară a entității), nume [VARCHAR], prenume [VARCHAR], parolă [VARCHAR].

Implementare Front-End

Implementare Front-End(site)

Site-ul web este format din următoarele patru pagini:

Pagina „Acasa”;

Pagina „Despre”;

Pagina „Galerie”;

Pagina „Servicii”;

Pagina „Contact”.

Asupra fiecărui element din lista este aplicat un efect de hovering, iar fontul folosit este Open Sans.

Pagina „Acasă”

Pagina aceasta este prima pagină care va apărea utilizatorilor în momentul în care accesează site-ul.

Este formată din:

Logo, realizat în Photoshop și salvat ca imagine;

Meniu pentru navigare rapidă;

Trei secțiuni.

Logo-ul este o imagine, iar celelalte elemente sunt implementate cu ajuotorul elementelor specifice HTML 5 și CSS3.

Figura 5: Pagina Acasă

După cum am observat și în Figura 5, avem 3 secțiuni:

Secțiunea „Recente”, formată dintr-o imagine și un text de descriere;

Secțiunea „Despre”, compusă dintr-o imagine, un text de descriere și un link „mai multe…” care face legătura la pagina „Despre”;

Secțiunea „Contact”, formată din datele de contact, și o iconiță link, pentru acces la pagină de facebook a deținătorului site-ului .

Pagina „Galerie”

Aceasta pagină, îmbină noțiuni CSS3 cu elemente de interfață Metro pentru a se creea butoane de navigare rapidă pentru categoriile de fotografii.

Și aici, ca și la prima pagină, s-au folosit elemente specifice CSS3. Este aplicat un efect de hovering pentru fiecare buton de navigare rapidă pentru a oferi un design cât mai plăcut utilizatorului.

Butoanele de navigare rapidă pentru accesul la galeria de imagini sunt:

Oameni & Portrete;

Urban;

Concerte;

Peisaj;

Comercial;

Copii;

Altele.

Elementele ce aparțin de această pagină sunt următoarele:

Logo, realizat în Photoshop;

Meniu pentru o navigare rapidă;

Butoane ce face trimitere la galeri de imagini pentru fiecare din categoriile de mai jos.

Pagina „Galerie” este afișată în Figura 6 care urmează:

Figura 6: Pagina „Galerie”

După apăsarea a unuia din butoanele de mai sus, va fi afișată o galerie de imagini specifică secțiunii selectate, un exemplu este afișat în Figura 7 de mai jos:

Figura 6: Galerie de imagini

Observăm mai sus un efect de scroll pentru afișarea a mai multor imagini într-o singură secțiune. Acest scrolling este implementat cu jQuery folosind codul din Figura 8:

Figura 8:Cod efect scrolling.

Pagina „Despre”

Această pagină conține următoarele elemente implementate cu HTML 5 și CSS3:

Logo;

Meniu pentru navigare rapidă;

scurtă descriere;

Imagine fotograf.

În Figura 9 avem afișată o captură de ecran a acestei pagini:

Figura 9: Pagina „Despre”

Pagina „Servicii”

Această pagină nu poate sa fie decât simplă, ca și în paginile descrise mai sus, apare și aici logo-ul site-ului și meniul de navigare, precum și serviicile care sunt puse la dispoziție, acestea sunt afișate într-un scrollbar, acest lucru se poate vedea afișat în Figura 10 de mai jos.

Figura 10: Pagina „Servicii”

Implementarea scrollbar-ului a fost realizată cu jQuery folosind codul din Figura 11:

Figura 11:Codul de implementare al scrollbar-ului.

Pagina „Contact”

O diferență sesizabilă față de celelalte pagini este accea că in această pagină avem prezent și un formular de contact.

Această secțiune este formată la rândul ei din următoarele elemente:

Logo;

Meniu pentru navigare rapidă;

Date de contact: număr de telefon, adresă de email;

Buton media pentru facebook;

Nume: câmp de tip text;

Email: câmp de tip email;

Mesaj: câmp de tip textarea;

Buton de trimitere a formularului cu efect de hovering specific CSS3.

Asupra celor trei câmpuri prezente în formularul de contact s-a aplicat un efect de umbrire specific CSS3.

Pagina „Contact” este afișată în Figura 12:

Figura 12: Pagina „Contact”

Implementare Front-End (Administrare)

Pagina „Login”

Pagina „Login” este formată dintr-un formular cu următoarele elemente:

Câmp de tip text pentru nume;

Câmp de tip text pentru prenume;

Câmp de tip parolă pentru parolă;

Buton „Login”.

Asupra formularului, dar și asupra câmpurilor care îl compun s-au aplicat efecte de umbrire specifice CSS3, iar asupra butonului un efect de hover.

Formularul de logare este afișat în Figura 13.

Figura 13:Formular de logare.

Pentru o înțelegere cât mai bună a ceea ce trebuie introdus în fiecare câmp din formular, s-a folosit un atribut specific HMTL5 numit placeholder, după cum observăm în fiecare câmp.

Pagina „AdminPanel”

Aici sunt prezente tot elemente de HMTL5 și CSS3. Această pagină este alcătuită din mai multe secțiuni:

Secțiunea „Adauga imagjni”;

Secțiunea „Fotografii concerte”;

Secțiunea „Fotografii peisaje”;

Secțiunea „Fotografii copii”;

Secțiunea „Fotografii comerciale”;

Secțiunea „Fotografii oameni și portrete”;

Secțiunea „Fotografii urban”;

Secțiunea „Fotografii altele”.

Prima secțiune este compusă din următoarele elemente:

Titlu: câmp de tip text;

Fotografie: câmp de tip adăugare fișier;

Folder: câmp de tip select cu mai multe opțiuni;

Buton „Adauga fotografie”;

Numele administratorului.

Pagina „Adaugă fotografii” este afisată în Figura 14 care urmează:

Figura 14: Pagina „Adaugă fotografii”.

Secțiunile celelalte sunt afișate ca în Figura 15.

.

Figura 15: Secțiunea Comercial.

Implementare Back-End

Implementare Back-End (Site)

Secțiunea „Oameni & portete”

Pentru a afișa fotografiile din această secțiune se va selecta baza de date și tabelul specific. Acest lucru este posibil prin codul din Figura 16.

Figura 16: Cod parcurgere fotografii din secțiunea „Oameni & portete”.

Secțiunea „Concerte”

Aici, la fel ca și la prima secțiune prezentată, se selectează baza de date „fotografi” și se execută o interogare.

Figura 17: Cod parcurgere fotografii din secțiunea „Concerte”.

Observăm parcurgerea cu while a rândurilor din tabelul aflat în baza de date, apoi afișarea cu funcția echo.

Secțiunea „Peisaj”

Pentru afișarea imaginilor din această secțiune se execută o interogare pentru a selecta tabelul din care face parte și apoi, la fel ca și la celelalte secțiuni este parcurs cu while fiecare rând pentru afișare.

Captura de ecran (Figura 18) de mai jos semnifică scriptul folosit pentru secțiunea peisaj:

Figura 18: Cod parcurgere fotografii din secțiunea „Peisaj”.

Celelalte secțiuni sunt afișate la fel ca și cele explicate mai sus. Se schimbă decât în interogare tabelul selectat și sursa la afișarea imaginilor.

Implementare Back-End (Administrare)

Pagina „Login”

Aici avem cele 3 câmpuri ce trebuie completate. Pentru logare s-au folosit sesiuni. Se realizează o conexiune la server și se selectează baza de date printr-un fișier extern numit conectare.php și se verifică daca a fost introduse datele în câmpurile formularului de logare.

Apoi, dacă datele au fost introduse și a fost apăsat butonul de logare, altă condiție care trebuie îndeplinită este ca datele să corespundă cu cele din tabelul din baza de date.

Codul folosit este afișat în Figura 19:

Figura 19:Codul folosit la logarea de tip sesiune.

Dacă datele corespund, utilizatorul va fi redirecționat automat către pagina de administrare, altfel va fi avertizat utilizând javascript că datele au fost introduse greșit, folosind codul următor:

<script language="JavaScript">

function alertare () {

alert(\'Date incorecte\')

}

</script>

După introducerea datelor corecte prima pagină care va fi afișată administratorului este cea din Figura 20.

Figura 20:Pagina de administrare conținut

Observam numele administratorului afișat în colțul din dreapta sus, urmat de un buton de delogare. Pentru afișarea numelui administratorului s-a folosit codul următor:

Figura 21:Cod folosit la delogare.

Logic, se pornește din nou o sesiune, apoi este afișat numele complet cu ajutorul funcției echo, după ce a fost salvat într-o variabilă globală, $_SESSION.

Secțiunea „Adaugă imagini”

Aici vor fi adugate toate imaginile care trebuie afișate pe site. Se introduce în primul câmp un titlu al imagini, apoi se alege poza ce urmează a fi încărcată și un folder în care va fi introdusă poza respectivă. Aceste câmpuri sunt afișate în Figura 20.

Se realizează o conexiune printr-un fișier php extern cu funcția include la server, se va selecta baza de date și va fi executată câte o interogare în funcție de ce folder a fost ales din opțiunile afișate în listă.

Codul pentru introducerea pozelor, dar și a datelor asociate acestora în baza de date este următorul:

Figura 22:Codul folosit la adaugarea de imagini.

Afișare și ștergere imagini

Secțiunea „Concerte”

Pentru ca imaginile de aici să poată fi șterse este creat un buton, care acționează prin scriptul următor:

<?php

include '../conectare.php';

mysql_query("DELETE FROM `concert` WHERE `id` = $_GET[id]") or die(mysql_error());

header('Location:index.php')

?>

Pentru afișarea pozelor din această secțiune s-a folosit codul din imaginea de mai jos:

Figura 23: Cod afișare fotografii din secțiunea „Concerte”.

Secțiunea „Peisaje”

Pentru afișarea pozelor din această secțiune s-a folosit codul din imaginea de mai jos:

Figura 24: Cod afișare fotografii din secțiunea „Peisaje”.

Se selectează baza de date fotografi și are loc o interogare pentru a selecta poza în funcție de id, pentru ca apoi să fie parcurs fiecare rând din tabel și să fie afișate datele.

Pentru butonul de ștergere s-a folosit codul următor:

mysql_query("DELETE FROM `landscape` WHERE `id` = $_GET[id]") or die(mysql_error());

header('Location:index.php')

Secțiunea „Copii”

Pentru afișarea pozelor din această secțiune s-a folosit codul din imaginea de mai jos:

Figura 25: Cod afișare fotografii din secțiunea „Copii”.

Pentru ștergerea pozelor din această secțiune s-a folosit interogarea următoare:

mysql_query("DELETE FROM `kids` WHERE `id` = $_GET[id]") or die(mysql_error());

header('Location:index.php')

Secțiunea „Comercial”

Pentru ștergere se va executa următoarea interogare asupra tabelului comercial:

<?php

include '../conectare.php';

mysql_query("DELETE FROM `comercial` WHERE `id` = $_GET[id]") or die(mysql_error());

header('Location:index.php')

?>

Afișarea se face prin următorii pași:

Conectarea la server;

Selectarea bazei de date;

Selectarea pozei din tabelul din care face parte;

Afișarea după parcurgerea cu while.

Pentru afișarea pozelor din această secțiune s-a folosit codul din imaginea de mai jos:

Figura 26: Cod afișare fotografii din secțiunea

Secțiunea „Persoane”

Pentru afișarea pozelor din această secțiune s-a folosit codul din imaginea de mai jos:

Figura 27: Cod afișare fotografii din secțiunea „Persoane”.

Pentru a șterge o poză se va executa următoarea interogare:

mysql_query("DELETE FROM `people` WHERE `id` = $_GET[id]") or die(mysql_error());

header('Location:index.php');

Secțiunea „Urban”

Pentru afișarea pozelor din această secțiune s-a folosit codul din imaginea de mai jos:

Figura 28: Cod afișare fotografii din secțiunea Urban”.

Codul face același lucru ca și la celelalte secțiuni, decât că aici este vorba despre afișarea imaginilor specifice acestei secțiuni.

Se conectează la server-ul local, se selectează baza de date cu care se lucrează și se afișeză printr-o interogare SQL și câteva funcții php, pozele.

Pentru a șterge o imagine din această secțiune se folosește codul următor:

<?php

include '../conectare.php';

mysql_query("DELETE FROM `urban` WHERE `id` = $_GET[id]") or die(mysql_error());

header('Location:index.php')

?>

Astfel, ne conectăm la server și selectăm baza de date prin codul din fișierul extern conectare.php, după care are loc o interogare cu atributul DELETE FROM pentru a șterge o înregistrare din tabelul urban.

Secțiunea „Altele”

Pentru afișarea pozelor din această secțiune s-a folosit codul din imaginea de mai jos:

Figura 29: Cod afișare fotografii din secțiune „Altele”.

Modul de executare al acestui script este la fel ca și la celelalte secțiuni prezentate și explicate mai sus, la fel și din punct de vedere al codului pentru ștergere.

Pentru ștergere se folosește următoarea interogare:

<?php

include '../conectare.php';

mysql_query("DELETE FROM `others` WHERE `id` = $_GET[id]") or die(mysql_error());

header('Location:index.php')

?>

Concluzii

Pasiunea pentru arta fotografică și placerea de a lucra cu tehnologiile Web au fost principalele motive în alegerea acestei teme.

Încă de la o vârstă fragedă am fost atras de fotografie și mai apoi de tehnologie, iar cel care mi-a dezvoltat această pasiune a fost tatăl meu când mi-a pus in mână pentru prima oară un aparat foto și anume un FED 3.

La vârsta de 5 ani, țin minte și acum de parcă ani nu ar fi trecut, a venit tata acasa cu un HC ICE Felix.Pentru mine a fost un moment de bucurie și tot odată un moment care avea să îmi îndrume subtil pașii in viitoarea cariera profesională.

Anii au trecut și tatăl meu a continuat să mă sprijine in pasiunea mea cumpărând-mi un calculator Intel Pentium 3 dar principala persoana care m-a indrumat mai departe către Programare a fost doamna profesoara de Informatica , Simona Drăghici , susținăndu-mă in toți cei 4 ani de liceu.

Toate aceste întâmplări au culminat cu înscrierea mea la Universitatea Petrol – Gaze Din Ploiesti ,Facultatea de Litere și Științe,Specializarea Informatică , unde am avut parte de o educație aleasă și țin ca pe această cale să le mulțumesc domnilor profesori și doamnelor profesoare care nu m-au învațat doar să programez ci m-au și format pe mine ca om.

Obiectivul urmărit de mine prin alegerea acestei teme a fost realizarea unui sistem informatic cu un design modern și care să conțină o varietate de poze, care să le încânte privirile utilizatorilor .

Lucrearea este destinată în special pasionațiilor de arta fotografică, ei pot privi aceasta lucrare ca o inspirație, am considerat că prin folosirea de concepte noi și prin interfața user – frendly a aplicației, utilizatorii vor naviga cu plăcere pe paginile site-ului.

Aplicația dispune de o interfață atractivă, pentru partea de administrare s-au folostit concepte de HTML5 și CSS3 , iar pentru partea front-end s-au folosit concepte de HTML5, CSS3 și pentru pagina „Galerie” s-a folosit conceptul de Metro Interface.

Glosar de termeni

[1] Datele au fost preluate de la adresa: http://ro.wikipedia.org/wiki/Internet

[2] Un browser sau un navigator este o aplicație software (program) ce permite utilizatorilor să afișeze text, video, muzică și alte informații situate pe o pagină din World Wide Web, dar și să comunice cu furnizorul de informații și chiar și ei între ei.

[3] Protocolul de control al transmisiei (sau TCP, de la engl. Transmission Control Protocol) este un protocol folosit de obicei de aplicații care au nevoie de confirmare de primire a datelor. Efectuează o conectare virtuală full duplex între două puncte terminale, fiecare punct fiind definit de către o adresă IP și de către un port TCP.

[4] FTP (File Transfer Protocol)protocol server/client pentru schimbul de fișiere cu un computer distant.

[5] RSS este o familie de formate de fluxuri web, realizate în format XML și folosite pentru Web syndication. RSS este folosit (printre altele) pentru știri, weblog-uri și podcasting. Abreviația este folosită pentru a face referință la următoarele standarde:

Really Simple Syndication (RSS 2.0)

Rich Site Summary (RSS 0.91, RSS 1.0)

RDF Site Summary (RSS 0.9 și 1.0)

[6] CERN este cel mai mare laborator din lume pentru cercetarea particulelor elementare. Laboratorul este situat la câțiva kilometri de Geneva la granița dintre Elveția și Franța.

[7] ASP.NET este o tehnologie Microsoft pentru crearea de aplicații web și servicii web. ASP.NET este succesorul lui ASP (Active Server Pages) și beneficiază de puterea platformei de dezvoltare .NET, și de setul de instrumente oferite de mediul de dezvoltarea al aplicației „Visual Studio .NET”.

Bibliografie

Floarea Năstase, Pavel Năstase, Tehnologia aplicațiilor Web (XML-DOM-ASP), Editura Economică, 2002

Julie C. Meloni,Învață singur PHP, MySQL și APACHE , București , Corint,2005

Liviu Dumitrașcu, „(X)HTML”, Editura Universității din Ploiești, 2003

Sabin Buraga, “Proiectare situri Web:design și funcționalitate”,Editura Polirom, Iași, 2002.

David Flanagan, JavaScript: The Definitive Guide,ediția a 6-a,Editura O`Reilly Media,2011

Liviu Dumitrașcu, JavaScript, Editura Universitații Din Ploiești,2004

Cristian Marinoiu,Programarea în PHP, Editura Universității Petrol-Gaze din Poiești, 2011.

Lee Babin, Begining Ajax with PHP, Editura Apress, 2007.

Marplo ( http://www.marplo.net/ajax/)

Marplo ( http://www.marplo.net/curs_css/ )

Marplo (http://www.marplo.net/html/ )

Marplo ( http://www.marplo.net/javascript/jquery-elemente-baza-js )

Marplo ( http://www.marplo.net/javascript/lectii-js )

Marplo ( http://www.marplo.net/php-mysql/lectii.html )

Marplo ( http://www.marplo.net/html/tutorial-html5.html )

Wikipedia ( http://ro.wikipedia.org/wiki/Internet )

Wikipedia (http://ro.wikipedia.org/wiki/JavaScript)

Wikipedia (http://ro.wikipedia.org/wiki/PHP)

Wikipedia ( http://en.wikipedia.org/wiki/Web_application )

Wikipedia ( https://ro.wikipedia.org/wiki/World_Wide_Web#cite_note-1 )

Wikipedia (http://ro.wikipedia.org/wiki/MySQL)

World Wide Web Foundation( http://webfoundation.org/about/vision/history-of-the-web)

Anexe

Codul pentru adăugare imaginilor în baza de date:

<?php

ini_set('display_errors',1);

error_reporting(E_ALL);

$conn = mysql_connect("localhost","root","");

if(!$conn)

{

echo mysql_error();

}

$db = mysql_select_db("fotografi",$conn);

if(!$db)

{

echo mysql_error();

}

$name = $_POST['name'];

$photo = addslashes (file_get_contents($_FILES['photo']['tmp_name']));

$image = getimagesize($_FILES['photo']['tmp_name']);//to know about image type etc

$imgtype = $image['mime'];

if ($_POST['folder']=='Landscape')

{

$q ="INSERT INTO landscape VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='People')

{

$q ="INSERT INTO people VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Kids')

{

$q ="INSERT INTO kids VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Others')

{

$q ="INSERT INTO others VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Concert')

{

$q ="INSERT INTO concert VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Comercial')

{

$q ="INSERT INTO comercial VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Urban')

{

$q ="INSERT INTO urban VALUES('','$name','$photo','$imgtype')";

}

$r = mysql_query($q,$conn);

if($r)

{

header('Location:index.php');

}

else

{

echo mysql_error();

}

?>

Codul pentru afișarea imaginilor:

<?php

ini_set('display_errors',1);

error_reporting(E_ALL);

$conn = mysql_connect("localhost","root","");

if(!$conn)

{

echo mysql_error();

}

$db = mysql_select_db("fotografi",$conn);

if(!$db)

{

echo mysql_error();

}

$id = $_GET['id'];

$q = "SELECT poza,tip FROM kids where id='$id'";

$r = mysql_query("$q",$conn);

if($r)

{

$row = mysql_fetch_array($r);

$type = "Content-type: ".$row['tip'];

header($type);

echo $row['poza'];

}

else

{

echo mysql_error();

}

?>

Codul folosit la pagina Acasă(index.php):

<!DOCTYPE html>

<html>

<head><title>Home</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li class="active"><a title="Home" href="/">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li><a title="About Me" href="about.php">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div id="inner_content">

<div class="clear"></div>

<div class="recente">

<h1>Recente</h1>

<p>"Fotografia este arta de a fura timpului o firimitura de clipa." – Andreea Trifu</p>

<a href="new.php"><img src="images/sensation.jpg" height="190" alt="Sensation" title=""></a>

</div>

<div class="clear"></div>

<div class="despre">

<h1>Despre</h1>

<img src="images/eu.jpg" height="123" alt="Sensation" title="">

<p> Tot ce pot spune despre mine se rezuma in lucrari, imagini si momente petrecute in spatele obiectivului…asa ca las galeria sa vorbeasca de la sine.</p>

<div class="more"><a href="about.php">mai multe…</a></div>

</div>

<div class="contact">

<h1>Contact</h1>

<span class="label" title="Phone">MOBILE : </span>

<span style="padding: 11px;">(+40) 721.146.053 (RO)</span>

<span class="label" title="Email" style="position:relative; top:22px;">EMAIL : </span>

<span style="position:relative; top:42px; padding:22px;">

<a href="mailto:[anonimizat]">[anonimizat]</a><br><br>Raspunsul se primeste in maxim 5 zile lucratoare.</span><br><br><br><br><br>

<a target="_blank" href="https://www.facebook.com/filigean.marian">

<img src="images/icon-facebook.png">

</a>

</div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Galerie(gallery.php):

<!DOCTYPE html>

<html>

<head><title>Galerie</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link type="text/css" rel="stylesheet" href="css/gallery.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li><a title="Home" href="index.php">Acasa</a></li>

<li class="active"><a title="Gallery" href="#">Galerie</a></li>

<li><a title="About Me" href="about.php">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div class="continut_galerie">

<div class="gallery people">

<a style="line-height:30px; padding-top: 40px;" title="People and Portraits" href="people.php">Oameni & Portrete</a>

</div>

<div class="gallery"></div>

<div class="gallery landscapes">

<a title="Landscapes" href="landscape.php">Peisaj</a>

</div>

<div class="gallery"></div>

<div class="gallery"></div>

<div class="gallery wedding">

<a title="Wedding" href="concert.php">Concerte</a>

</div>

<div class="gallery sport">

<a title="Commercial" href="comercial.php">Comercial</a>

</div>

<div class="gallery projects">

<a title="Others" href="others.php">Altele</a>

</div>

<div class="gallery urban">

<a title="Urban/Street" href="urban.php">Urban</a>

</div>

<div class="gallery"></div>

<div class="gallery children">

<a title="Kids" href="kids.php">Copii</a>

</div>

<div class="gallery"></div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Contact(contact.php):

<!DOCTYPE html>

<html>

<head><title>Home</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li><a title="Home" href="index.php">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li><a title="About Me" href="about.php">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li class="active"><a title="Contact" href="#">Contact</a></li>

</ul>

</div>

<div id="inner_content">

<div class="clear"></div>

<div class="contact2">

<h1>Contact</h1>

<span class="label" title="Phone">MOBILE : </span>

<span style="padding: 11px;">(+40) 721.146.053 (RO)</span>

<span class="label" title="Email" style="position:relative; top:22px;">EMAIL : </span>

<span style="position:relative; top:42px; padding:22px;">

<a href="mailto:[anonimizat]">[anonimizat]</a><br><br>Raspunsul se primeste in maxim 2 zile lucratoare.</span><br><br><br><br><br>

<a target="_blank" href="https://www.facebook.com/filigean.marian">

<img src="images/icon-facebook.png">

</a>

</div>

<div class="contact_form">

<form method="post" action="">

<label for="name">Name:</label><br>

<input class="" type="text" value="" name="name">

<br>

<br>

<label for="email">E-mail:</label><br>

<input class="" type="email" value="" name="email">

<br>

<br>

<label for="message">Your Message: </label><br>

<textarea class="" type="message" name="message"></textarea>

<br>

<br>

<input id="submit" class="button" type="submit" value="Send" name="submit">

</form>

</div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Despre(about.php)

<!DOCTYPE html>

<html>

<head><title>Despre</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

<script type="text/javascript" src="js/jquery.min.js"></script>

<script type="text/javascript" src="js/jquery.tinyscrollbar.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){

$('#scrollbar1').tinyscrollbar();

});

</script>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li ><a title="Home" href="index.php">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li class="active"><a title="About Me" href="#">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div id="inner_content2">

<div id="scrollbar1">

<div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>

<div class="viewport">

<div class="overview">

<h1>Descriere</h1>

<p>

</p>

<p>

<p>Totul incepe prin anii 90 , mai exact pe 25 iulie 1991.Atunci m-am nascut eu si odata cu mine si pasiunea pentru fotografie si pentru calculatoare.Primul aparat foto pe care l-am folosit a fost un FED 3 care m-a cucerit de la prima vedere.Parintii mei erau asa de bucurosi da curiozitatea mea si au incercat cum au putut sa imi sustina aceasta sete de cunoastere.</p>

<p>Intre timp anii au trecut si eu nu am mai manisfestat aceeasi curiozitate pentru fotografie si avem ca sa imi incep adevarata pasiune si anume Calculatoarele. La varsta de 5 ani, tin minte si acum de parca ani nu ar fi trecut, a venit tata acasa cu un HC ICE Felix, eram asa de incantat de el incat am stat toata ziua si am butonat.</p>

<p> In clasa a 2-a a urmat un Intel 80486, prin clasa a 5-a am primit un Intel pentium3, prin clasa a 9-a am avut parte de un calculator mai performant pe care l-am configurat cum mi-am dorit eu.Si toate acestea au facut ca eu sa parasesc clasicele Desktop-uri in favoarea unui laptop atunci când am ajuns la facultate.</p>

<p>Le multumesc din suflet parintilor mei ca m-au sustinut in tot ceea ce am facut si ca au reusit sa ma tina in pas cu tehnologia pentru ca altfel nu as fi ajuns sa reusesc sa termin facultatea pe care mi-am dorit-o si sa pot mai departe sa imi continui pasiunea mea pentru informatica si calculatoare</p>

</div>

</div>

</div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Servicii(services.php)

<!DOCTYPE html>

<html>

<head><title>Servicii</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

<script type="text/javascript" src="js/jquery.min.js"></script>

<script type="text/javascript" src="js/jquery.tinyscrollbar.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){

$('#scrollbar1').tinyscrollbar();

});

</script>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li ><a title="Home" href="index.php">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li ><a title="About Me" href="about.php">Despre</a></li>

<li class="active"><a title="Services" href="#">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div id="inner_content2">

<div id="scrollbar1">

<div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>

<div class="viewport">

<div class="overview">

<h1>Servicii</h1>

<p>

Cand esti hotarat/a sa spui "

<span style="color: #ff0000;">

<strong>Da!</strong>

</span>

", eu o sa am grija de toate! Am de oferit o gama larga de servicii cum ar fi portrete de copii, inside picture, evenimente, sedinte foto si altele!

</p>

<p> </p>

<p>

<strong>Tot ce trebuie sa stii e ca fiecare om este unic! La fel se va intampla si cu serviciile pe care le ofer si si vreau sa fii sigur ca o sa fie ceva unic!</strong>

</p>

<p style="padding-left: 30px;"> </p>

<p style="padding-left: 30px;">

<span style="color: #888888;">

<strong>Fiecare persoana este importantă</strong>

</span>

</p>

<p style="padding-left: 30px;"> </p>

<p>

Pasiunea mea pentru fotografie ma face sa lucrez la cele mai inalte standarde astfel incat sa te simti exact ca un model care defileaza pe cat-walk sau ca un star de cinema care paseste pe covorul rosu.

<strong>

<br>

</strong>

</p>

<p> </p>

<p style="padding-left: 30px;">

<span style="color: #888888;">

<strong>Detaliile conteaza</strong>

</span>

</p>

<p> </p>

<p> Dupa cum bine stiim , timpul inseamna bani ! Asa ca o sa stii in fiecare moment la ce pas ma aflu si cat o sa dureze pana când lucrarea mea va fi gata.</p>

<p> </p>

<p>Structura pachetelor de servicii este de forma:</p>

<p> </p>

<p>

<strong>Nume pachet – pret</strong>

</p>

<p> </p>

<p style="padding-left: 30px;">

<strong> 1.</strong>

[numar minim] de fotografii brut;

</p>

<p style="padding-left: 30px;">

<strong> 2.</strong>

[numar minim] de fotografii prelucrate;

</p>

<p style="padding-left: 30px;">

<strong> 3.</strong>

Numarul minim de tinute;

</p>

<p style="padding-left: 30px;">

<strong> 4.</strong>

Timpul necesar;

</p>

<p style="padding-left: 30px;">

<strong> 5.</strong>

Tipul de predare fotografii;

</p>

<p style="padding-left: 30px;">

<strong> 6.</strong>

Alte servicii

</p>

<p> </p>

<p>Timpul in care serviciile vor fi finalizate este de pana la 3 saptamani.</p>

<p> </p>

<p> </p>

</div>

</div>

</div>

</div>

</div>

</div>

</body>

</html>

Bibliografie

Floarea Năstase, Pavel Năstase, Tehnologia aplicațiilor Web (XML-DOM-ASP), Editura Economică, 2002

Julie C. Meloni,Învață singur PHP, MySQL și APACHE , București , Corint,2005

Liviu Dumitrașcu, „(X)HTML”, Editura Universității din Ploiești, 2003

Sabin Buraga, “Proiectare situri Web:design și funcționalitate”,Editura Polirom, Iași, 2002.

David Flanagan, JavaScript: The Definitive Guide,ediția a 6-a,Editura O`Reilly Media,2011

Liviu Dumitrașcu, JavaScript, Editura Universitații Din Ploiești,2004

Cristian Marinoiu,Programarea în PHP, Editura Universității Petrol-Gaze din Poiești, 2011.

Lee Babin, Begining Ajax with PHP, Editura Apress, 2007.

Marplo ( http://www.marplo.net/ajax/)

Marplo ( http://www.marplo.net/curs_css/ )

Marplo (http://www.marplo.net/html/ )

Marplo ( http://www.marplo.net/javascript/jquery-elemente-baza-js )

Marplo ( http://www.marplo.net/javascript/lectii-js )

Marplo ( http://www.marplo.net/php-mysql/lectii.html )

Marplo ( http://www.marplo.net/html/tutorial-html5.html )

Wikipedia ( http://ro.wikipedia.org/wiki/Internet )

Wikipedia (http://ro.wikipedia.org/wiki/JavaScript)

Wikipedia (http://ro.wikipedia.org/wiki/PHP)

Wikipedia ( http://en.wikipedia.org/wiki/Web_application )

Wikipedia ( https://ro.wikipedia.org/wiki/World_Wide_Web#cite_note-1 )

Wikipedia (http://ro.wikipedia.org/wiki/MySQL)

World Wide Web Foundation( http://webfoundation.org/about/vision/history-of-the-web)

Anexe

Codul pentru adăugare imaginilor în baza de date:

<?php

ini_set('display_errors',1);

error_reporting(E_ALL);

$conn = mysql_connect("localhost","root","");

if(!$conn)

{

echo mysql_error();

}

$db = mysql_select_db("fotografi",$conn);

if(!$db)

{

echo mysql_error();

}

$name = $_POST['name'];

$photo = addslashes (file_get_contents($_FILES['photo']['tmp_name']));

$image = getimagesize($_FILES['photo']['tmp_name']);//to know about image type etc

$imgtype = $image['mime'];

if ($_POST['folder']=='Landscape')

{

$q ="INSERT INTO landscape VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='People')

{

$q ="INSERT INTO people VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Kids')

{

$q ="INSERT INTO kids VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Others')

{

$q ="INSERT INTO others VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Concert')

{

$q ="INSERT INTO concert VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Comercial')

{

$q ="INSERT INTO comercial VALUES('','$name','$photo','$imgtype')";

}

elseif ($_POST['folder']=='Urban')

{

$q ="INSERT INTO urban VALUES('','$name','$photo','$imgtype')";

}

$r = mysql_query($q,$conn);

if($r)

{

header('Location:index.php');

}

else

{

echo mysql_error();

}

?>

Codul pentru afișarea imaginilor:

<?php

ini_set('display_errors',1);

error_reporting(E_ALL);

$conn = mysql_connect("localhost","root","");

if(!$conn)

{

echo mysql_error();

}

$db = mysql_select_db("fotografi",$conn);

if(!$db)

{

echo mysql_error();

}

$id = $_GET['id'];

$q = "SELECT poza,tip FROM kids where id='$id'";

$r = mysql_query("$q",$conn);

if($r)

{

$row = mysql_fetch_array($r);

$type = "Content-type: ".$row['tip'];

header($type);

echo $row['poza'];

}

else

{

echo mysql_error();

}

?>

Codul folosit la pagina Acasă(index.php):

<!DOCTYPE html>

<html>

<head><title>Home</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li class="active"><a title="Home" href="/">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li><a title="About Me" href="about.php">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div id="inner_content">

<div class="clear"></div>

<div class="recente">

<h1>Recente</h1>

<p>"Fotografia este arta de a fura timpului o firimitura de clipa." – Andreea Trifu</p>

<a href="new.php"><img src="images/sensation.jpg" height="190" alt="Sensation" title=""></a>

</div>

<div class="clear"></div>

<div class="despre">

<h1>Despre</h1>

<img src="images/eu.jpg" height="123" alt="Sensation" title="">

<p> Tot ce pot spune despre mine se rezuma in lucrari, imagini si momente petrecute in spatele obiectivului…asa ca las galeria sa vorbeasca de la sine.</p>

<div class="more"><a href="about.php">mai multe…</a></div>

</div>

<div class="contact">

<h1>Contact</h1>

<span class="label" title="Phone">MOBILE : </span>

<span style="padding: 11px;">(+40) 721.146.053 (RO)</span>

<span class="label" title="Email" style="position:relative; top:22px;">EMAIL : </span>

<span style="position:relative; top:42px; padding:22px;">

<a href="mailto:[anonimizat]">[anonimizat]</a><br><br>Raspunsul se primeste in maxim 5 zile lucratoare.</span><br><br><br><br><br>

<a target="_blank" href="https://www.facebook.com/filigean.marian">

<img src="images/icon-facebook.png">

</a>

</div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Galerie(gallery.php):

<!DOCTYPE html>

<html>

<head><title>Galerie</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link type="text/css" rel="stylesheet" href="css/gallery.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li><a title="Home" href="index.php">Acasa</a></li>

<li class="active"><a title="Gallery" href="#">Galerie</a></li>

<li><a title="About Me" href="about.php">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div class="continut_galerie">

<div class="gallery people">

<a style="line-height:30px; padding-top: 40px;" title="People and Portraits" href="people.php">Oameni & Portrete</a>

</div>

<div class="gallery"></div>

<div class="gallery landscapes">

<a title="Landscapes" href="landscape.php">Peisaj</a>

</div>

<div class="gallery"></div>

<div class="gallery"></div>

<div class="gallery wedding">

<a title="Wedding" href="concert.php">Concerte</a>

</div>

<div class="gallery sport">

<a title="Commercial" href="comercial.php">Comercial</a>

</div>

<div class="gallery projects">

<a title="Others" href="others.php">Altele</a>

</div>

<div class="gallery urban">

<a title="Urban/Street" href="urban.php">Urban</a>

</div>

<div class="gallery"></div>

<div class="gallery children">

<a title="Kids" href="kids.php">Copii</a>

</div>

<div class="gallery"></div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Contact(contact.php):

<!DOCTYPE html>

<html>

<head><title>Home</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li><a title="Home" href="index.php">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li><a title="About Me" href="about.php">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li class="active"><a title="Contact" href="#">Contact</a></li>

</ul>

</div>

<div id="inner_content">

<div class="clear"></div>

<div class="contact2">

<h1>Contact</h1>

<span class="label" title="Phone">MOBILE : </span>

<span style="padding: 11px;">(+40) 721.146.053 (RO)</span>

<span class="label" title="Email" style="position:relative; top:22px;">EMAIL : </span>

<span style="position:relative; top:42px; padding:22px;">

<a href="mailto:[anonimizat]">[anonimizat]</a><br><br>Raspunsul se primeste in maxim 2 zile lucratoare.</span><br><br><br><br><br>

<a target="_blank" href="https://www.facebook.com/filigean.marian">

<img src="images/icon-facebook.png">

</a>

</div>

<div class="contact_form">

<form method="post" action="">

<label for="name">Name:</label><br>

<input class="" type="text" value="" name="name">

<br>

<br>

<label for="email">E-mail:</label><br>

<input class="" type="email" value="" name="email">

<br>

<br>

<label for="message">Your Message: </label><br>

<textarea class="" type="message" name="message"></textarea>

<br>

<br>

<input id="submit" class="button" type="submit" value="Send" name="submit">

</form>

</div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Despre(about.php)

<!DOCTYPE html>

<html>

<head><title>Despre</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

<script type="text/javascript" src="js/jquery.min.js"></script>

<script type="text/javascript" src="js/jquery.tinyscrollbar.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){

$('#scrollbar1').tinyscrollbar();

});

</script>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li ><a title="Home" href="index.php">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li class="active"><a title="About Me" href="#">Despre</a></li>

<li><a title="Services" href="services.php">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div id="inner_content2">

<div id="scrollbar1">

<div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>

<div class="viewport">

<div class="overview">

<h1>Descriere</h1>

<p>

</p>

<p>

<p>Totul incepe prin anii 90 , mai exact pe 25 iulie 1991.Atunci m-am nascut eu si odata cu mine si pasiunea pentru fotografie si pentru calculatoare.Primul aparat foto pe care l-am folosit a fost un FED 3 care m-a cucerit de la prima vedere.Parintii mei erau asa de bucurosi da curiozitatea mea si au incercat cum au putut sa imi sustina aceasta sete de cunoastere.</p>

<p>Intre timp anii au trecut si eu nu am mai manisfestat aceeasi curiozitate pentru fotografie si avem ca sa imi incep adevarata pasiune si anume Calculatoarele. La varsta de 5 ani, tin minte si acum de parca ani nu ar fi trecut, a venit tata acasa cu un HC ICE Felix, eram asa de incantat de el incat am stat toata ziua si am butonat.</p>

<p> In clasa a 2-a a urmat un Intel 80486, prin clasa a 5-a am primit un Intel pentium3, prin clasa a 9-a am avut parte de un calculator mai performant pe care l-am configurat cum mi-am dorit eu.Si toate acestea au facut ca eu sa parasesc clasicele Desktop-uri in favoarea unui laptop atunci când am ajuns la facultate.</p>

<p>Le multumesc din suflet parintilor mei ca m-au sustinut in tot ceea ce am facut si ca au reusit sa ma tina in pas cu tehnologia pentru ca altfel nu as fi ajuns sa reusesc sa termin facultatea pe care mi-am dorit-o si sa pot mai departe sa imi continui pasiunea mea pentru informatica si calculatoare</p>

</div>

</div>

</div>

</div>

</div>

</div>

</body>

</html>

Codul folosit la pagina Servicii(services.php)

<!DOCTYPE html>

<html>

<head><title>Servicii</title>

<link type="text/css" rel="stylesheet" href="css/style.css"/>

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>

<script type="text/javascript" src="js/jquery.min.js"></script>

<script type="text/javascript" src="js/jquery.tinyscrollbar.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){

$('#scrollbar1').tinyscrollbar();

});

</script>

</head>

<body>

<div id="page">

<div id="header">

<div id="logo"><img src="images/logo.png" title="" alt=""></div>

</div>

<div id="continut">

<div id="menu">

<ul>

<li ><a title="Home" href="index.php">Acasa</a></li>

<li><a title="Gallery" href="gallery.php">Galerie</a></li>

<li ><a title="About Me" href="about.php">Despre</a></li>

<li class="active"><a title="Services" href="#">Servicii</a></li>

<li><a title="Contact" href="contact.php">Contact</a></li>

</ul>

</div>

<div id="inner_content2">

<div id="scrollbar1">

<div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>

<div class="viewport">

<div class="overview">

<h1>Servicii</h1>

<p>

Cand esti hotarat/a sa spui "

<span style="color: #ff0000;">

<strong>Da!</strong>

</span>

", eu o sa am grija de toate! Am de oferit o gama larga de servicii cum ar fi portrete de copii, inside picture, evenimente, sedinte foto si altele!

</p>

<p> </p>

<p>

<strong>Tot ce trebuie sa stii e ca fiecare om este unic! La fel se va intampla si cu serviciile pe care le ofer si si vreau sa fii sigur ca o sa fie ceva unic!</strong>

</p>

<p style="padding-left: 30px;"> </p>

<p style="padding-left: 30px;">

<span style="color: #888888;">

<strong>Fiecare persoana este importantă</strong>

</span>

</p>

<p style="padding-left: 30px;"> </p>

<p>

Pasiunea mea pentru fotografie ma face sa lucrez la cele mai inalte standarde astfel incat sa te simti exact ca un model care defileaza pe cat-walk sau ca un star de cinema care paseste pe covorul rosu.

<strong>

<br>

</strong>

</p>

<p> </p>

<p style="padding-left: 30px;">

<span style="color: #888888;">

<strong>Detaliile conteaza</strong>

</span>

</p>

<p> </p>

<p> Dupa cum bine stiim , timpul inseamna bani ! Asa ca o sa stii in fiecare moment la ce pas ma aflu si cat o sa dureze pana când lucrarea mea va fi gata.</p>

<p> </p>

<p>Structura pachetelor de servicii este de forma:</p>

<p> </p>

<p>

<strong>Nume pachet – pret</strong>

</p>

<p> </p>

<p style="padding-left: 30px;">

<strong> 1.</strong>

[numar minim] de fotografii brut;

</p>

<p style="padding-left: 30px;">

<strong> 2.</strong>

[numar minim] de fotografii prelucrate;

</p>

<p style="padding-left: 30px;">

<strong> 3.</strong>

Numarul minim de tinute;

</p>

<p style="padding-left: 30px;">

<strong> 4.</strong>

Timpul necesar;

</p>

<p style="padding-left: 30px;">

<strong> 5.</strong>

Tipul de predare fotografii;

</p>

<p style="padding-left: 30px;">

<strong> 6.</strong>

Alte servicii

</p>

<p> </p>

<p>Timpul in care serviciile vor fi finalizate este de pana la 3 saptamani.</p>

<p> </p>

<p> </p>

</div>

</div>

</div>

</div>

</div>

</div>

</body>

</html>

Similar Posts