Sistem Informatizat de Tip Auto Service

Tema Proiectului

Sa se proiecteze si sa se realizeze o aplicatie web care va fi folosita pentru un service auto si va avea urmatoarele specificatii:

Va contine un site dinamic de prezentare care poate fi editat dintr-un panou de administrare

Va permite inregistrarea utilizatorilor

Utilizatorii isi vor putea face programari in service direct din site

Va contine un magazin online cu cos de cumparaturi, unde se vor putea adauga produse in functie de categoria dorita si utilizatorii vor putea plasa o comanda online

Se vor prezenta tehnologiile web folosite pentru crearea aplicatiei.

Se vor prezenta avantajele folosirii aplicatiei intr-o afacere online.

Cuprins

Introducere

Notiuni generale despre WEB

Concepte generale de comert electronic

2.1 Afaceri electronice. Comert electronic

2.2 Avantajele si dezavantajele comertului electronic

2.3 Comertul electronic in Romania.

Tehnologii WEB utilizate in dezvoltarea aplicatiei

3.1 Limbajul HTML

3.1.1 Prezentarea limbajului HTML

3.1.2 Structura documentului HTML

3.2 Limbajul CSS

3.3 Limbajul PHP

3.3.1 Istoria limbajului PHP

3.3.2 Initiere in PHP

3.3.3 Tipuri de date, Variabile, Constante si Operatori

3.3.4 Functii in PHP

3.4 MySQL

3.4.1 Notiuni Fundamentale despre bazele de date si SQL

3.4.2 Proiectarea si crearea unei baze de date MySQL

3.4.3 Acordarea si revocarea privilegiilor de acces

3.5 Server WEB

Descrierea si functionalitatea aplicatiei

4.1 Detalii de utilizare

4.2 Prezentarea aplicatiei

4.2.1 Interfata utilizator (client)

4.2.2 Interfata de administrare a site-ului

Rezultate si Concluzii

Bibliografie

Anexe

Introducere

De ce un site web?

Simplu. In Romania anului 2014 sunt aproximativ 16 milioane de conexiuni active la internet, aproximativ 4 milioane de conexiuni active de internet fix si 12 milioane de conexiuni active de internet mobil dintr-un numar de aproximativ 20 milioane de locuitori. Am inteles acum ca o afacere de succes trebuie sa existe neaparat si in mediul online.

Vom proiecta si realiza o aplicatie web pentru un service auto care sa contina un site web dinamic de prezentare cu magazin online si care permite inregistrarea utilizatorilor. Aplicatia va avea un panou de administrare de unde vom putea edita continutul paginilor web, vom putea adauga categorii si produse, vom putea vizualiza comenzile si programarile plasate de utilizatori. Aceasta aplicatie va putea fi adaptata pentru folosirea in orice alt domeniu care presupune comert online.

In primul capitol vom prezenta cateva notiuni generale despre Web.

In capitolul al 2 lea vom vorbi despre afacerile online, ce conditii trebuie indeplinite pentru ca o afacere sa aiba succes in mediul online si ce avantaje si dezavantaje ne aduce comertul online. De asemenea vom prezenta si situatia comertului online din Romania.

Capitolul al 3 lea este un capitol de teorie, unde vom discuta pe rand despre tehnologiile web folosite pentru crearea aplicatiei. Vom discuta despre HTML, CSS, limbajul de programare PHP si MySQL. Vom mai discuta de asemenea si despre Servere Web si cum se gazduieste un site web.

In capitolul 4 va descriem si prezentam aplicatia, discutam despre facilitatile sale, despre domeniile de utilizare, va prezentam interfata utilizatorului si interfata de administrare a site-ului.

In ultimul capitol vom prezenta rezultatele, concluziile dar si eventualele recomandari pentru imbunatatirea aplicatiei in viitor.

1) Notiuni generale despre WEB

Figura 1.1 World Wide Web

Termenul World Wide Web (WWW sau web) vine din limba engleza unde inseamna “panza” si reprezinta totalitatea site-urilor si informatiilor hypertext legate intre ele care pot fi accesate prin reteaua mondiala de internet. Hypertextul este afisat cu un program numit Browser. (Google Chrome, Opera, Internet Explorer, Mozilla etc)

Web-ul a fost inventat de catre Tim Berners-Lee in 1989 la CERN (Centrul European de Cercetari Nucleare) din Geneva. Propunerea a fost facuta in urma problemelor de comunicare pe care le intampinau cercetatorii din centru. In 1991 s-a facut prima demonstratie publica a web-ului, apoi web-ul a evoluat usor, usor pana la ceea ce este azi, un serviciu multimedia integrativ, avand ca suport fizic internetul.

Berners Lee si echipa sa au realizat primele versiuni pentru:

-Protocolul HTTP

-Limbajul de descriere a hypertextului HTML

-Serverul web

-Browserul

Pentru a putea functiona web-ul are la baza urmatoarele standarde:

-HTTP – Hypertext Transfer Protocol este o stiva de protocoale OSI prin care browserul comunica cu serverul web

-HTML – Hypertext Markup Language este un standard de definire si prezentare a paginilor web

-URI – Uniform Resource Identifier este un sistem de identificare a resurselor din web, el este folosit pentru gasirea paginilor web

World Wide Web Consortium (W3C) este condus de Berners-Lee si se ocupa cu dezvoltarea standardelor HTML si CSS.

Acum ne intrebam cum functioneaza internetul? Cum gasim pagina dorita?

Este destul de “simplu”: Browserul se foloseste de HTTP si URI astfel el cheama pagina, o interpreteaza conform formatarii paginii si o prezinta utilizatorului pe monitor.

Figura 1.2 Functionarea Internetului

In perioada 2004-2005 web-ul a cunoscut un salt calitativ cu privire la aplicatiile de mare raspandire pe glob. Acest salt a primit numele de Web 2.0

Initial web-ul a constat in pagini statice, care erau actualizate ocazional de detinatorii lor. Ulterior au fost realizate CMS-urile (Content Management System). Acestea pot construi pe loc in mod dinamic versiunea cea mai noua a paginii web.

Incepand cu anul 2005 specialistii afirma ca internetul ofera din ce in ce mai des o noua calitate de exemplu:

-Stocarea datelor utilizatorilor, inainte se facea intai in calculatorul local, apoi se publica pe internet, insa acum se face prima data pe internet (fotografii, clipuri video etc)

-Diferentele intre aplicatiile locale si cele Web sunt din ce in ce mai mici.

-”Consumatorii” de internet contribuie tot mai mult la dezvoltarea sa prin crearea de continuturi unice pe blogurile personale. Multi utilizatori mutandu-si sfera privata (din calculatorul personal) pe web, astfel ea devenind semipublica sau chiar publica.

Concepte generale de comert electronic

2.1 Afaceri electronice. Comert electronic.

Stim cu totii ca pentru a supravietui o afacere este nevoie de promovare si reclama. Astfel potentialii clienti pot afla de existenta afacerii. Cum traim in secolul 21 si cea mai rapida cale de promovare a unei afaceri este WEB-ul, aproape orice afacere de succes are un site web sau un magazin online. Promovarea afacerii pe internet a devenit necesara deoarece majoritatea oamenilor au acces la un calculator si isi fac cumparaturile online.

Afacerile electronice sunt foarte asemanatoare cu cele traditionale, ele oferind posibiltatea de a va prezenta posibililor clienti, de a afla cine sunteti si cu ce va ocupati, de a prezenta produsele pe care le vindeti si unde va pot gasi.

Principalele beneficii ale afacerilor electronice sunt:

– Costurile de administrare reduse

– Tranzactii rapide

– Costuri reduse pentru personal

– Simplificarea comenzilor

– Activitate Non Stop

– Posibilitatea de a raspunde rapid competentei

Pentru ca o afacere sa fie electronica presupune desfasurarea a cel putin uneia din urmatoarele activitati:

-Prezenta Online

-Comanda Online

-Plata Online

-Transmiterea Online a produselor sau a serviciilor

Afacerile electronice au fost impartite in cateva categorii:

-Business to Business (B2B)

-Business to Consumer (B2C)

-Consumer to Business (C2B)

-Consumer to Consumer (C2C)

-Government-to-business (G2B)

-Government-to-consumer (G2C)

Pentru realizarea unei afaceri electronice trebuie sa trecem prin niste etape asemanatoare afacerilor traditionale. Aceste etape sunt:

-Analiza afacerii electronice

-Argumente pentru o afacere electronica

-Identificarea riscurilor

-Proiectarea si Realizarea

-Promovarea

-Administrarea afacerii

Prin analiza afacerii se identifica tipul de afacere si se stabilesc obiectivele afacerii. Se alege un Domeniu WEB, un serviciu de gazduire si se stabilesc imaginile si continutul site-ului. Apoi se alege o metoda de promovare si se stabilesc modalitatile de plata a produselor.

Comertul electronic (e-commerce) este procesul prin care se cumpara, vinde sau schimba produse, servicii sau informatii prin intermediul internetului. Comertul electronic ofera oportunitatea de a vinde produsele in intreaga lume, eliminand astfel barierele geografice dintre clienti si comerciant.

Tipuri de comerț electronic

– Business-to-business (B2B) – tipul de comerț electronic în care toți participanții sunt companii

– Business-to-consumer (B2C) – tipul de comerț electronic în care companiile vând produse sau servicii persoanelor fizice

– Consumer-to-business(C2B) – persoane fizice care utilizează Internetul pentru a-și vinde produsele sau serviciile unor firme

– Consumer-to-consumer (C2C) – consumatori care vând direct altor consumatori;

– Comerț mobil (m-commerce) – activități de comerț electronic care se folosesc de telefonie

– Government-to-business (G2B) – in acest tip de comert electronic o instituție guvernamentală cumpără sau vinde bunuri sau servicii de la persoanele juridice;

– Government-to-consumer (G2C) – acoperă relațiile guvern-cetățeni (ex. plătirea taxelor online)

2.2 Avantajele si Dezavantajele comertului electronic

In comertul electronic exista avantaje si dezavantaje atat pentru cumparator cat si pentru vanzator.

Avantajele pentru cumparator sunt:

-Permite o livrare rapida a produselor

-Identificarea rapida de furnizori

-Cumparatorul poate alege cel mai bun pret de pe piata

-Negocierea pretului se poate face mai usor

-Scaderea costurilor tranzactiilor

-Accesul la produse aflate la distanta

Avantajele pentru vanzator sunt urmatoarele:

-Disparitia limitelor geografice

-Promovarea online atinge publicul tinta mai usor

-Costuri mai mici de comunicatii

-Economii la vanzarea produselor

-Adaptarea la schimbari este mai rapida

-Operabilitatea poate fi 24/24 ore, 7/7zile pe saptamana

Dezavantajele sunt urmatoarele:

-Unele produse nu se pot vinde online, de ex: produsele alimentare perisabile, alte produse imposibil de insepctat la distanta

-Credibilitatea scazuta, o afacere noua nu are o credibilitate foarte mare la inceput

-Problemele legate de securitatea comertului online (Frauda online).

2.3 Comertul electronic in Romania.

In Romania comertul electronic nu este inca foarte dezvoltat dar cresterea sa anuala este cu 20-25%. Numarul utilizatorilor conectati la internet este de aproximativ 11 milioane, iar aproximativ 30% din utilizatorii conectati la internet (1 din 4) isi fac cumparaturile online.

Majoritatea cumparatorilor locuiesc in mediul urban, aproximativ 85%, iar restul de 15% in mediul rural. Varsta medie a cumparatorilor este intre 25-40 de ani. Modalitatea cea mai folosita de plata ramane rambursul cu peste 85% din tranzactii.

Volumul pietei online din Romania este estimat la circa 650milioane Euro, cu mult mai putin fata de liderul Turcia cu cele aproximativ 6 miliarde de Euro ale sale. Principalii jucatori de comert online din Romania sunt: E-mag, Altex, Flanco si Domo.

In Romania trebuie sa mai treaca cativa ani buni pana cand comertul online se va putea apropia de cel al unor tari precum Marea Britanie, Germania si Danemarca unde media cheltuielilor la o comanda online este peste 500Euro in timp ce in Romania se situeaza undeva la ~40Euro. Acest lucru este datorat si salariului mult mai mic fata de salariul mediu al acestor tari.

3) Tehnologii WEB utilizate in dezvoltarea aplicatiei

3.1 Limbajul HTML

3.1.1 Prezentarea limbajului HTML

Figura 3.1 Limbajul HTML

HTML sau HyperText Markup Language este unul din primele elemente fundamentale ale WWW (World Wide Web). Este unul dintre cele mai vechi limbaje de marcare web si sta la baza crearii unui site web.

HTML a fost dezvoltat de Tim Berners-Lee la CERN in 1989. Hipertext înseamnă ca orice cuvânt, fraza, imagine sau alt element al documentului văzut de un utilizator poate face referința la un alt document, acest lucru usureaza mult navigarea intre mai multe documente.

HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un editor de text simplu gen Notepad++, dar pentru ca scrierea si editarea in astfel de programe necesita cunostinte solide de HTML, este destul de grea si consuma mult timp au aparut editoarele grafice. Editoarele grafice gen Adobe Dreamweaver sau Microsoft FrontPage permit ca paginile web sa fie tratate precum documentele Word, doar ca aceste programe generează un cod HTML.

3.1.2 Structura documentului HTML

Orice document HTML are la inceput eticheta <html> si seincheie cu eticheta </html>. Aceste notatii se numesc "TAG-uri" sau “Etichete”. Toate informațiile dintr-o pagina HTML încep cu " < " si se termina cu " > ".
Tag-urile intre aceste paranteze transmit comenzi către browser pentru a afișa pagina intr-un anumit mod. Unele blocuri prezintă delimitator de sfârșit de bloc, in timp ce pentru alte blocuri acest delimitator este opțional sau chiar interzis.
Intre cele doua etichete <html> si </html> vom avea doua secțiuni:
– headerul sau antet-ul paginii <head>….. </head>

– corpul paginii <body> ….. </body>.

Figura 3.2 Structura documentului HTML

Header-ul paginii <head>…..</head> conține titlul paginii între etichetele <title> și </title>, descrieri si cuvinte cheie de tip <meta>, legături către fisiere externe, stiluri pentru formatarea textului si script-uri.

Etichetele de tip <meta> conțin cuvinte cheie, descrierea paginii, date despre autor, informații utile motoarelor de căutare

Blocul <body>…..</body> cuprinde conținutul paginii HTML, adică ceea ce va fi afișat in browser-ul web.

Etichetele (Tag-urile) pot fi scrise cu litere mici cat si cu litere mari (<html> = <HTML> = <Html>).

Pagina principala a unui domeniu este fisierul „index.html”. Această pagină este setată pentru a fi afișată automat la vizitarea unui domeniu.

De exemplu la vizitarea domeniului www.nume.ro este afișată pagina www.nume.ro/index.html.

Despre cum cumparam domeniul web si gazduirea sa o sa vorbim mai detaliat in alt capitol.

O sa va arat un exemplu unde vom face o pagină HTML cu titlul “Service Auto” iar in conținut o sa apara textul: “Aceasta este pagina noastra web”.

<html>

<head>

<title>Service Auto</title>

</head>

<body>

Aceasta este pagina noastra web

</body>

</html>

Acest exemplu va fi salvat cu extensia .html (index.html) si poate fi deschis cu orice browser.

Elementele de marcare in HTML:

– Marcare structurala. Descrie scopului textului, de exemplu:

<h1> Service Auto </h1>

Browserul va reda “Service Auto” ca pe cel mai important titlu.

– Marcarea pentru prezentare. Descrie cum apare un text, de exemplu:

<strong> Textul apare ingrosat </strong>

– Marcarea pentru hiperlink. Leaga parti dintr-un document cu alte documente. De exemplu:

<a href=”http://www.google.ro”> Google </a>

Va reda cuvantul “Google” ca hiperlink catre www.google.ro

– Elemente speciale. Creeaza butoane, liste si obiecte.

3.2 Limbajul CSS

Figura 3.3 CSS

CSS sau Cascading Style Sheets este un standard simplu ce ofera programatorilor (designerilor) un mod eficient de a controla modul de prezentare al paginilor web. CSS a ajuns sa fie in mod primar, un limbaj folosit exclusiv pentru web design.

Diferenta dintre HTML si CSS este ca HTML este folosit pentru a structura continutul, iar CSS este folosit pentru a formata continutul.

CSS se ocupa cu aspectul si controlul grafic al elementelor din pagina. (Textul, fondul, culorile, imaginile si asezarea in pagina) CSS foloseste stiluri care se aplica asupra unui element din pagina, asupra unui grup de elemente sau asupra intregii pagini.

Modelele de stiluri pot fi aplicate in mai multe moduri:

1) – Intern – In header-ul fisierului HTML

Se adauga in sectiunea HEAD a paginii intre etichetele <head> </head> sintaxa:

<style type="text/css"> … </style>

Aceasta sintaxa spune browser-ului (navigatorului) ca sunt folosite elemente de stil CSS.

Metoda este utila cand se foloseste pentru un site de 3-4 pagini, dar cand este vorba despre un site cu foarte multe pagini metoda nu mai este foarte folositoare deoarece trebuie sa editam fiecare pagina in parte.

Exemplu:

<html>

<head>
<title>Titlu Pagina</title>
<style type="text/css">
h2 {color:blue; text-decoration:underline;}
</style>
</head>
<body>
Continut pagina web
</body>
</html>

Conform codului din exemplul de mai sus toate textele h2 (heading 2) din pagina vor avea culoarea albastra si vor fi subliniate.

Inline – Direct in eticheta HTML

Pentru adaugarea direct in eticheta HTML se foloseste atributul “style” urmat de proprietati si valori. Exemplu:

<h3 style="color:#1111ff;">Exemplu h3</h3>

Stilurile inline nu permit schimbari rapide si pe mai multe fisiere, fiecare element din fiecare pagina necesita atentia dumneavoastra.

– Extern

Un fisier CSS extern poate fi realizat cu un editor simplu de text de genul Notepad++ sau Wordpad sau cu editoare avansate gen Adobe Dreamweaver.

Fisierul CSS nu contine cod HTML ci doar cod CSS, el este salvat cu extensia “.css”, inserarea sa in pagina HTML se face foarte usor prin plasarea unei legaturi intre tag-urile <head> </head> a fiecarei pagini unde o sa folosim stilul respectiv. Legatura este de forma <link rel="stylesheet" type="text/css" href="Calea catre fisierul.css" />

Exemplu:

<head>
<title> Titlu Pagina </title>
<link rel="stylesheet" type="text/css" href="stil.css" />
</head>

Folosind aceasta metoda (a fisierelor CSS externe) toate paginile HTML vor folosi acelasi fisier de stil, astfel daca dorim sa facem o schimbare care sa aiba efect in toate paginile HTML editam doar fisierul de stil (.css) si efectul se va observa pe toate paginile HTML care folosesc acel fisier. Se pot face schimbari in tot site-ul, chiar daca are 100 de pagini, fara efort (editand fiecare pagina) si foarte rapid.

Acum stam si ne gandim: Oare care este cea mai buna metoda?

Raspunsul este in functie de ce vrem noi sa realizam: daca vrem un site de 1-2 pagini putem sa folosim metoda stilurilor interne. Daca avem mai multe pagini de stilizat este mult mai practic si mai rapid sa folosim metoda cu fisier extern care modifica toate paginile in acelasi timp.

3.3 Limbajul PHP

Figura 3.4 PHP

3.3.1 Istoria limbajului PHP

PHP (PHP: Hypertext Preprocessor) este un limbaj de programare open source utilizat pe scara larga, si care este potrivit in special pentru dezvoltarea aplicatiilor web si poate fi integrat in HTML. Scopul principal al limbajului PHP este de a permite programatorilor web sa construiasca rapid pagini web dinamice. Sintaxa limbajului nu este una foarte grea si isi are originea din C, Java si Pearl. Limbajul a fost început în 1994 de Rasmus Lerdorf ca o extensie a limbajului server-side Perl, pentru a genera un CV (curriculum vitae) și pentru a urmări numărul de vizitatori ai unui site. Apoi, a evoluat PHP/FI 2.0, dar proiectul a început să ia amploare după ce Zeev Suraski și Andi Gutmans au lansat o nouă versiune in anul 1998 si anume PHP 3.0. Zeev Suraski și Andi Gutmans au schimbat numele din “Personal Home Page tools” cum se numea la inceput in “PHP: Hypertext Preprocessor”. PHP 3.0 a fost prima versiune de PHP care seamana cu cel folosit in zilele noastre. Cel mai mare avantaj al PHP 3.0 a fost usurinta de extindere a limbajului, acest lucru a atras zeci de programatori care au creat o multime de module. Aceasta a fost cheia catre succesul imens pe care il are acum.

La sfarsitul toamnei anului 1998, nu la mult timp dupa lansarea oficiala a PHP 3.0 Zeev Suraski și Andi Gutmans au inceput rescrierea nucleului PHP avand ca scop imbunatatirea performantelor aplicatiilor complexe. Aplicatii care puteau fi realizate datorita PHP 3.0 precum si sustinerea unei game largi de baze de date si interfete API, doar ca PHP 3.0 nu lucra eficient cu aceste aplicatii complexe.

Noul nucleu (PHP 4.0) a fost denumit “Zend Engine” (numele venind de la Zeev si Andi, autorii nucleului). Acest nucleu a fost prezentat pentru prima data in vara anului 1999 si a fost lansat oficial alaturi de o gama larga de noi facilitati in luna Mai a anului 2000. Facilitatile noi de care se bucura PHP 4.0 erau: o imbunatatire substantiala a performantei, sustinerea mai multor servere web, constructii noi ale limbajului, si metode mai securizate de gestionare a datelor.

In luna iulie a anului 2004 a fost lansat PHP 5, dupa o perioada destul de lunga de dezvoltare. El are la baza un nucleu imbunatatit care are numele de “Zend Engine 2” avand o multime de noi facilitati, un nou model de obiecte, suport imbunatatit pt MySQL si alte imbunatatiri de performanta.

PHP este unul dintre cele mai folosite limbaje de programare server side datorita urmatoarelor caracteristici:

– Simplitatea

– Familiaritatea

– Securitatea

– Eficienta

– Flexibilitatea

– Gratuitatea – probabil cea mai importanta caracteristica

3.3.2 Initiere in PHP

PHP este simplu de utilizat, sintaxa sa fiind o combinatie intre C, Pearl si Java (de la PHP5). Una dintre cele mai importante facilitati ale limbajului este conlucrarea cu aproape toate tipurile de baze de date relationale (MySQL, Oracle, MS Sql Server, PostgreSQL, DB2). El poate rula pe majoritatea sistemelor de operare si interactioneaza cu majoritatea serverelor web. Codul PHP fiind interpretat de serverul WEB, acesta generand un cod HTML care este afisat utilizatorului.

PHP foloseste extensii specifice (.php, .php3, .ph3, .php4, .inc, .phtml) care sunt interpretate de serverul WEB si sunt afisate in format Text sau HTML

Limbajul PHP nu este un limbaj de programare de sine statator, el se foloseste impreuna cu HTML asa ca pentru a putea rula are nevoie de un server web. Pentru a face un server web pe calculatorul nostru putem instala un pachet de programe gratuit numit XAMPP. Acest pachet este foarte simplu de instalat si contine programele de care noi avem nevoie pentru a putea rula un fisier PHP. Aceste programe sunt: Apache, un server MySQL si suportul pt limbajul PHP.

Figura 3.5 Panoul de administrare XAMPP

Odata instalat programul serverul este functional si putem vedea asta si in panoul de administrare al programului. Pentru a testa functionalitatea serverului deschidem un browser si introducem urmatoarea adresa: http://localhost. Fiserele PHP se pun in directorul “htdocs” din folderul “xampp”. In acest folder noi putem crea mai multe subfoldere daca lucram la mai multe site-uri. De exemplu continutul subfolderului “service” poate fi accesat la adresa http://localhost/service.

Adresa o sa ne afiseze o pagina de genul:

Figura 3.6 Accesare Localhost

3.3.3 Tipuri de date, Variabile, Constante si Operatori

In PHP lucrul cu variabilele este foarte simplu el recunoscand usor tipurile variabilelor. In PHP toate variabilele incep cu semnul $ (dolar).

Exemplu:

$b = “Ana are mere”; //Acesta este un string

$c = 4; //Acesta este un integer

$d = 7.957; //Acesta este un numar cu virgula

$e = “27”; //Acesta este un string

Tipuri de date

Tipurile de date cele mai folosite in PHP sunt urmatoarele:

– boolean

– integer

– string

– array

– floating-points

– null.

Boolean este cea mai simpla variabila, ea poate avea doar doua valori: TRUE sau FALSE ( Adevarat sau Fals)

Integer reprezinta multimea Z adica toate numerele intregi Z={-n…,-2,-1,0,1,2,…n}

Variabilele integer pot fi initializate cu numere intregi scrise in format zecimal (ibaza 10), hexazecimal (ibaza 16) sau octal (baza 8).

Exemplu:

$a = 123; //numar intreg zecimal

$b = -552; //numar intreg negativ

$c = 0123; //numar intreg in format octal – numarul trebuie precedat de un 0

$d = 0x1AB; //numar intreg in format hexazecimal – numarul e precedat de 0x

String – reprezinta un sir de caractere

Sunt folosite doua moduri de definire a variabilelor:

-definirea cu ghilimele simple

$a = ‘Acesta este un sir de caractere’;

-definirea cu ghilimele duble

$a = “Acesta este un sir de caractere”;

In cel de-al doilea tip de definire (cu ghilimele duble) pot fi adaugate anumite caractere speciale iar daca in text apare o variabila aceasta va fi inlocuita cu valoarea sa.

Exemplu:

$a = 25;

$b= “S-au inscris $a studenti la examenul de licenta.”;

//Se afiseaza: S-au inscris 25 studenti la examenul de licenta.

Caractere speciale:

\n linie noua

\” ghilimele

\t tab

\$ semnul dolar

\r intoarcere la inceputul liniei (carriage return)

\\ backslash

Array – se mai numeste tipul Tablou si reprezinta o structura ordonata pe mai multe dimensiuni

Are urmatoarea sintaxa:

$nume_array[cheie] = valoare;

“cheie” poate fi de tipul integer pozitiv sau string

“valoare” poate fi orice

Exemplu definire:

$a = array( 'culoare' => 'verde'

, 'forma' => 'rotunda'

, 'gust' => 'acrisor'

, 'nume' => 'para'

, 4

);

sau

$a['culoare'] = 'verde'

$a['forma'] = 'rotunda';

$a['gust'] = 'acrisor';

$a['nume'] = 'para';

$a[] = 4;

Referirea la o variabila de tip array se face astfel:

echo “Fructa $a[‘nume’] are culoarea $a[‘culoare’].”;

//Se afiseaza: Fructa para are culoarea verde.

Floating Points reprezinta numerele cu virgula. Ele au urmatoarea sintaxa:

$a = 1,23;

$b = 2,85;

Null – reprezinta o variabila care nu are nicio valoare.

Sintaxa este una foarte simpla:

$a = Null;

(In cazul in care valoarea este scrisa cu “n” ea nu este recunoscuta, fiind necesar sa o scriem cu “N”)

Variabile

Toate variabilele sunt precedate de “$”. Variabilele tin cont de litere mici sau mari, $var este diferita de $Var. Numele unei variabile incepe cu o litera sau “_” (underscore) urmata de orice litere sau cifre.

Exemplu:

$var = “Ionut”;

$Var = “Popescu”;

echo “$var, $Var”;

Se va afisa “Ionut, Popescu”

$21numar = “ 0741992195”; // variabila nu este declarata corect pentru ca incepe cu o cifra.

$_21numar = “ 0741992195”; // variabila este declarata corect pentru ca incepe cu underscore.

Variabilele declarate in interiorul unui program nu sunt valabile si in interiorul functiilor.Variabilele care sunt valabile in tot programul se numesc variabile globale, iar cele folosite in structurile definite de utilizator (functii) se numesc variabile locale.

Exemplu:

$b = 50; /* variabila globala */

Function Testare () {

global $b;

echo $b; /* face referinta spre o variabila locala */

}

Testare ();

Astfel se va afisa valoarea 50 pentru ca se foloseste variabila globala.

Constante

Constanta este un identificator care nu isi schimba valoarea pe parcursul executiei programului.

Constantele se definesc folosind sintaxa:

define ( ‘NUME’ , ‘Ionut’);

define ( ‘Varsta’ , ‘25’);

Se recomanda ca numele constantelor sa fie scris cu litere mari pentru o identificare mai usoara. Cand se folosesc se specifica doar numele.

print “Ma numesc” . NUME;

print “ si am “ . VARSTA . “ ani”;

Exista cateva diferente intre constante si variabile:

– constantele nu au semnul “$” in fata

– ele pot fi definite si accesate oriunde

– ele nu mai pot fi redefinite

Operatori

Operatorii sunt elemente de limbaj care aplicate unor expresii dau nastere altor expresii noi. Operatorii pot fi de mai multe tipuri, cu sintaxe si roluri diferite.

Tipuri de operatori:

Operatori aritmetici (adunarea, scaderea, inmultirea si impartirea):

$a + $b adunarea

$a – $b scaderea

$a * $b inmultirea

$a / $b impartirea

$a % $b modulo (restul impartirii)

Operatori de atribuire:

$a = 5; //$a primeste valoarea 5

$a += 7; //$a ia valoarea 12, 5 + 7.

$c = ($b = 3) + 5; //$b primeste valoarea 3, iar $c valoarea 8

––––––––––––––––––––––––––––––––––-

$d = "Cosmin ";

$d .= "Ionescu"; //atribuie lui $d valoarea "Cosmin Ionescu"

Operatori de comparare:

$a == $b egal cu

$a === $b identic cu

$a != $b diferit

$a < $b mai mic

$a > $b mai mare

$a <= $b mai mic sau egal

$a >= $b mai mare sau egal

$a <> $b diferit

$a !== $b neidentic

Operatori la nivel de bit:

$a & $b Si

$a | $b Sau

$a ^ $b Sau-Exclusiv

~ $a Not (Negare)

$a << $b Muta bitii lui $a cu $b pozitii spre stanga

$a >> $b Muta bitii lui $a cu $b pozitii spre dreapta

Operatori de incrementare si decrementare:

++$a Pre-incrementare (aduna 1 la $a, apoi returneaza $a)

$a++ Post-incrementare (returneaza $a, apoi aduna 1 la $a)

–$a Pre-decrementare (scade 1 din $a, apoi returneaza $a)

$a– Post-decrementare (returneaza $a, apoi scade 1 din $a)

Operatori logici:

$a or $b Sau

$a and $b Si

$a xor $b Sau exclusiv

! $a Negare

$a && $b Si

$a || $b Sau

3.3.4 Functii in PHP

Functia este o secventa de cod care se va executa in locul si momentul unde este apelata.

Sintaxa functiei este:

function testare($argument_1,$argument_2, $argument_n) {
echo "Exemplu";
return $val;
}

Unde numele functiei este “testare”, “$argument_1”, “$argument_2”, “$argument_n” sunt argumentele functiei, iar “$val” este valoarea returnata de functie.

Exemplu:

<?php
function adunare($a,$b) {
$suma=$a+$b;
return $suma;
}

$rezultat=adunare(13,32);
echo $rezultat;
?>

Aceasta functie aduna cele doua variabile.

Functia Mail

<?php

$to="[anonimizat]";
$subiect="Trimitere Mail";
$mesaj="Acesta este un mesaj simplu de test trimis cu functia mail din PHP";
mail($to, $subiect, $mesaj);

?>

De ce sa folosim functiile??

Folosirea functiilor au o serie de avantaje precum:

-reutilizarea codului – se poate scrie o functie care apeleaza un set de instructiuni in mai multe parti al unui program fara a fi nevoie sa scriem codul de fiecare data

-modularizare – sau spargerea problemei in probleme mai mici ce pot fi rezolvate mai rapid

-mentinerea mai usoara a codului si intelegerea mai usoara a acestuia

3.4 MySQL

Figura 3.7 MySQL

3.4.1 Notiuni Fundamentale despre bazele de date si SQL

O baza de date este un instrument pentru colectarea, stocarea si organizarea informatiilor. Ele pot stoca informatii despre persoane, comenzi, produse sau despre orice altceva.

MySQL este un sistem de gestiune a bazelor de date relationale. El este produs de MySQL AB si este cel mai popular sistem de gestiune a bazelor de date.

Cel mai des MySQL este folosit impreuna cu limbajul de programare PHP, insa se pot construi aplicatii in orice limbaj major de programare. Popularitatea MySQL ca aplicatie web este strans legata de cea a PHP-ului care este combinat deseori cu MySQL.

Pentru administrarea bazelor de date MySQL se poate folosi modul linie de comanda sau se pot descarca programe care au o interfata grafica gen: MySQL Administrator si MySQL Query Browser insa mai exista si o aplicatie gratuita scrisa in PHP numita phpMyAdmin. MySQL poate fi rulat pe majoritatea platformelor: Windows, Linux, MacOS X, SunOS, AIX etc.

3.4.2 Proiectarea si crearea unei baze de date MySQL

Proiectarea atenta a bazei de date este o etapa esentiala pentru succesul unei aplicatii. Ea va incepe cu analiza problemei si identificarea datelor. Cand se creaza un tabel intr-o baza de date este foarte important sa se tina cont de „cheia primara”.

O operatie importanta este specificarea tipului de date pt fiecare coloana. Majoritatea bazelor de date accepta urmatoarele tipuri de date:

-Caracter

-Intreg

-Zecimal

-Binar

-Data si ora

Mai jos aveti un tabel unde o sa gasiti cele mai folosite tipuri de date din MySQL

Tabel 3.1

Pentru a crea o baza de date, si un tabel in baza de date se va folosi un limbaj numit Data Definition Language (DDL), acesta fiind un sub-limbaj SQL special.

Comanda pt crearea bazei de date este:

CREATE DATABASE nume_db;

„nume_db” este numele bazei de date

Pentru a selecta baza de date in care vrem sa lucram folosim sintaxa:

USE nume_db;

Crearea unui tabel se face folosind sintaxa: CREATE TABLE (coloana tip, coloana tip,..);

Exemplu:

CREATE TABLE carte (carteid CHAR(10), nume VARCHAR(255), pret DECIMAL(5,2));

Intre paranteze se mai pot specifica si alte atribute optionale ale unei coloane:

-PRIMARY KEY – Coloana asociata este cheia primara a tabelului

-NOT NULL – Valorile nule nu sunt permise

-DEFAULT valoare – Daca nu este data o valoare coloanei se va lua valoarea specificata

-AUTO INCREMENT

Stergerea unui tabel se face folosind sintaxa: DROP TABLE nume_tabel;

Pentru a putea lucra in tabelul creat se foloseste sintaxa: ALTER TABLE

Exemplu:

ALTER TABLE nume_tabel DROP coloana_nume; – sterge coloana „coloana_nume” din tabel

ALTER TABLE nume_tabel ADD coloana_nume tip [optiuni]; – adauga in tabelul „nume_tabel” o coloana „coloana_nume”, „tip” este tipul coloanei, iar „optiuni” optiunile dorite, de exemplu PRIMARY KEY

Pentru a afisa toate bazele de date se foloseste sintaxa: SHOW DATABASE;

Sintaxa SHOW TABLE; afiseaza toate tabelele dintr-o baza de date, iar sintaxa SHOW COLUMNS FROM nume_tabel; afiseaza toate coloanele din tabelul respectiv

3.4.3 Acordarea si revocarea privilegiilor de acces

Functia principala a sistemului de privilegii MySQL este de a autentifica si autoriza utlizatorii conectati la server.Autorizarea se refera la permisiunea de a rula interogari precum: SELECT, UPDATE, INSERT sau DELETE

Cand este instalat sistemul este creat automat si un utilizator numit root care are toate drepturile activate. Insa se poate crea oricand un utilizator nou si ii putem adauga noi ce privilegii dorim:

– SELECT – permite selectarea (vizualizarea) datelor

– UPDATE – permite modificarea datelor

– INSERT – permite adaugarea de noi inregistrari

– DELETE – permite stergerea inregistrarilor

– INDEX – permite crearea/stergerea indecsilor

– ALTER – permite redenumirea sau modificarea structurii tabelei

– CREATE – permite crearea unei baze de date/tabele

– DROP – permite stergerea unei baze de date/tabele

– GRANT – permite delegarea privilegiilor catre alt utilizator

– PROCESS – permite vizualizarea/oprirea proceselor in executie

– FILE – permite schimbul de date intre tabele si fisiere

– SHUTDOWN – permite oprirea serverului din programul curent

Comanda GRANT se foloseste pentru crearea utilizatorilor, stabilirea si modificarea privilegiilor acestora pe 4 nivele de privilegii:

– Global – este aplicata tuturor bazelor de date

– Database – este aplicata tuturor tabelelor dintr-o baza de date

– Table – este aplicata tuturor coloanelor dintr-un tabel

– Column – este aplicata doar coloanelor specificate

Sintaxa generala a comenzii Grant este:

GRANT ALL ON baza_de_date.* TO utilizator [IDENTIFIED BY ’parola’];

GRANT ALL ON tabel TO utilizator IDENTIFIED BY ’parola’;

Comanda REVOKE se foloseste pentru retragerea privilegiilor acordate
Comanda are urmatoarele forme:

REVOKE ALL ON tabel FROM utilizator;

REVOKE ALL ON baza_de_date.* FROM utilizator;

3.5 Server Web

Figura 3.8 Server WEB

Un server este un program de aplicatie care furnizeaza sevicii altor aplicatii aflate pe acelasi calculator sau pe calculatoare diferite.De cele mai multe ori aplicatia server asteapta conexiuni din partea aplicatiilor client. Calculatorul care ruleaza una sau mai multe aplicatii client se numeste server.

Serverele pot fi construite din componente obisnuite de calculator, dar pentru un randament mai bun si pentru ca sunt necesare operatii rapide si de mare amploare se folosesc configuratii hardware optimizate pentru aceste operatii.

Cea mai mare diferenta intre computerele personale si servere apare la partea de software, unde sistemele de operare care ruleaza pe servere sunt special proiectate pentru acestea. Pe calculatoarele personale predomina Microsoft Windows in timp ce in lumea serverelor predomina sisteme de operare precum GNU/Linux, Sun Solaris sau FreeBSD.

Sistemele de operare folosite pe servere au urmatoarele proprietati:

-lipseste interfata grafica GUI

-pot reconfigura sistemul fara a fi necesara oprirea

-pot crea backup-uri (copii de siguranta) pentru datele importante la intervale frecvente de timp

-executia programelor este mai eficienta

-securitatea este mult mai buna

-protectia datelor si a memoriei

Aplicatiile pentru servere executa numai operatii de tip server, majoritatea sunt total neinteractive ele lucrand discret cu serverul. Aplicatiile server pornesc in momentul pornirii serverului, continuand sa ruleze pana cand serverul este oprit.

Toata structura internetului se bazeaza pe modelul client-server.

Serverul WEB este serverul care gazduieste pagini web si le pune la dispozitia utilizatorilor prin protocolul HTTP.Relatia server-client se bazeaza pe o aplicatie instalata pe server ea fiind programata sa transfere paginile web gazduite. Astfel observam ca ideea de web server presupune si notiunea de gazduire (hosting), pentru ca serverul trebuie sa detina datele pe care urmeaza sa le returneze.

Figura 3.9 Structura Serverului web

4) Descrierea si functionalitatea aplicatiei

4.1 Detalii de utilizare

Aplicatia a fost gandita pentru un service auto care avea nevoie de un site web de prezentare, unde utilizatorul putea afla detalii si preturi ale service-ului, se putea programa pentru o verificare a masinii foarte simplu de acasa completand un formular si putea comanda piesele dorite din magazinul online al service-ului.

Fiind cerute cele de mai sus am facut un: Site Web Dinamic cu Magazin online.

De ce am ales un site web dinamic si nu unul static?

Pentru ca in cazul unui site dinamic editarea continutului este mult mai simpla pentru un uitilizator neexperimentat, aceasta facandu-se dintr-un panou de administrare al site-ului.

Chiar daca a fost gandit pentru un service auto aplicatia se poate adapta si poate fi folosita in mai multe domenii, de exemplu: pentru un magazin de haine, pentru un service de telefoane, etc.

O sa va enumar mai jos avantajele si facilitatile acestei aplicatii

Avantaje:

-Panou de administrare foarte usor de utilizat

-Toate paginile site-ului sunt dinamice si se pot modifica din panoul de administrare

-Navigare cu meniuri dinamice

-Magazin online cu posibiltatea de a adauga/modifica produse si categorii din panoul de administrare

Facilitati utilizatori:

-Sistem de autentificare

-Cos de cumparaturi

-Comanda pe baza de autentificare

-Modificarea datelor personale (nume, prenume, numar telefon)

-Utilizatorii autentificati pot face programare in service completand un simplu formular

Facilitati administrator:

-Adaugarea / Modificarea / Stergerea continutului paginilor din panoul de administrare

-Adaugarea/ Modificarea / Stergerea de categorii

-Adaugarea/ Modificarea / Stergerea de produse

-Vizualizarea/ Editarea / Stergerea utilizatorilor

-Vizualizarea/ Modificarea/ Stergerea comenzilor

-Vizualizarea/ Modificarea/ Stergerea programarilor din service

4.2 Proiectarea aplicatiei web

Pentru proiectarea aplicatiei web vom folosi urmatoarele limbaje de programare:

-HTML – crearea interfetei cu utilizatorul

-CSS – implementarea stilului paginii

-PHP – managementul continutului dinamic

-MySQL – managementul bazei de date

Primul pas pentru inceperea constructiei aplicatiei web este proiectarea aplicatiei (cate pagini vor fi, cum vor fi structurate, cum vor arata) si proiectarea bazei de date:

Schema aplicatiei web este urmatoarea:

Figura 4.1 Schema aplicatie web

Dupa cum vedem mai sus aplicatia web o sa fie construita din urmatoarele pagini:

-Index.php – este pagina de start a aplicatiei. Aceasta pagina va fi afisata la deschiderea site-ului si contine informatii generale despre firma.

-Service.php – este pagina unde putem afla cu ce se ocupa service-ul, putem afla preturile pentru manopera si ne putem programa la service folosind butonul “Programare Service” care ne va redirectiona catre pagina “programare.php”

-Magazin – pe aceasta pagina vor fi afisate produsele, in fuctie de categoria din care fac parte, pe care le puteti gasi si comanda in service.

-Tuning.php – este pagina dedicata pasionatilor de automobile care vor sa fie diferiti de restul oamenilor. Aici gasim informatii despre modificarea masinii atat la exterior cat si la motor,mai gasim si preturi orientative ale acestor operatii.

-Itp.php – aici gasim informatii si preturi despre Inspectia Tehnica a Autoturismului.

-Contact.php – pe aceasta pagina gasim adresa service-ului si numerele de telefon la care putem contacta service-ul.

Mai avem paginile “register.php” si “login.php” de unde ne putem face cont si ne putem autentifica pentru a avea acces total la site. Pagina “cos.php” ne afiseaza ce produse din magazinul online am introdus in cosul de cumparaturi si ne finalizeaza comanda.

Proiectarea bazei de date:

Figura 4.2 Baza de date

Dupa ce am facut schema aplicatiei si schema bazei de date urmeaza sa ne facem o idee despre cum o sa arate aceasta aplicatie web, astfel am realizat schita grafica a aplicatiei web:

Figura 4.3 Schita grafica a aplicatiei web

Dupa ce ne-am facut o idee despre cum o sa arate aplicatia web, trecem la urmatorul pas si anume scrierea codului. Pentru acest lucru vom folosi urmatoarele programe: Adobe Dreamweaver CS6 si Notepad++.

4.2 Prezentarea aplicatiei

4.2.1 Interfata utilizator (client)

Cand accesam adreasa site-ului o sa fie afisata prima pagina a site-ului:

Figura 4.4 Pagina Index.php

Pe pagina Service.php gasim detaliile despre service, preturile pentru manopera si recomandarile service-ului:

Figura 4.5 Pagina Service.php

De asemenea mai gasim si formularul de programare a autoturismului in service, acest formular se completeaza foarte simplu si arata asa:

Figura 4.6 Formular Programare Service

Pagina “Magazin” ne afiseaza, dupa cum vedeti mai jos, in stanga: Categoriile si subcategoriile produselor, iar pe centru sunt ultimele produse adaugate.

Figura 4.7 Aspect magazin

In pagina de prezentare a produsului gasim descrierea detaliata a produsului, imaginile produsului, pretul produsului si butonul de adaugare in cos.

Figura 4.8 Detalii produse

In pagina cosului de cumparaturi „Cos.php” apar produsele care le-am adaugat in cos, putem modifica cantitatea de produse, putem sterge produsele din cos sau putem finaliza comanda foarte simplu, pentru aceasta fiind necesari doar 3 pasi.

Figura 4.8 Cosul de cumparaturi

Figura 4.9 Comanda Pasul 1

Figura 4.10 Comanda Pasul 2

Figura 4.11 Comanda Pasul 3

In pagina “Contact.php” gasim adresa service-ului, numerele de telefon, si un formular de contact.

Figura 4.12 Formular Contact

4.2.2 Interfata de administrare a site-ului

In interfata de administrare a site-ului putem adauga si modifica continutul paginilor, putem adauga, modifica sau sterge categorii si produse, putem vizualiza sau sterge programarile din service, putem vizualiza, modifica sau sterge comezile plasate.

Logarea in panoul de administrare se face cu user si parola declarate in baza de date:

Figura 4.13 Logare Admin

Panoul de administrare aratand astfel:

Figura 4.14 Panou Administrare

Din acest panou noi putem modifica paginile site-ului dand click pe “TEXT Pagini statice” si modificand continutul in fereastra care se deschide:

Figura 4.15 Editare continut pagini

Adaugarea de categorii si produse se face completand cateva campuri(nume, descriere, pret):

Figura 4.16 Adaugarea Produsului

De asemenea in panoul de administrare mai putem vizualiza si edita starea comenzilor si a programarilor din service.

5) Rezultate si concluzii

Am reusit sa finalizez proiectarea si realizarea aplicatiei, fiind acum un site dinamic de prezentare cu magazin online pentru un service auto.Utilizatorii se pot inregistra pe el pentru a comanda online produse din service si pot face programari in service pentru diferite probleme ale autoturismului.

Aplicatia are un panou de administrare din care se pot face urmatoarele modificari:

Editarea paginilor dinamice ale site-ului

Adaugarea, modificarea sau stergerea categoriilor

Adaugarea, modificarea sau stergerea produselor

Vizualizarea si modificarea programarilor din service

Vizualizarea si modificarea comenzilor plasate

Vizualizarea, modificarea si stergerea utilizatorilor

In “spatele” aplicatiei a fost folosit limbajul de programare PHP impreuna cu MySQL, iar aranjarea paginii web este facuta cu ajutorul HTML si CSS. Am ales aceasta combinatie deoarece este cea mai raspandita si foarte fiabila pentru constructia aplicatiilor web de acest gen.

Aplicatia poate fi modificata in viitor si pot fi implementate noi functii cum ar fi un modul de filtrare al produselor in magazin, un modul de plata online a comenzilor sau un modul de newsletter (clientii sa primeasca mail-uri cand sunt promotii sau sunt adaugate produse noi).

De asemenea aplicatia poate fi imbunatatita si poate fi comercializata pentru firme care se ocupa cu vanzarea de produse in mediul online si nu au inca un site de prezentare sau magazine online, ea putand fi adaptata pentru orice domeniu al comertului online.

Bibliografie

Site web: https://ro.wikipedia.org/wiki/World_Wide_Web

Site web: http://tutorialehtml.com/

Site web: https://ro.wikipedia.org/wiki/HTML

Site web: https://ro.wikipedia.org/wiki/CSS

Site web: https://ro.wikipedia.org/wiki/PHP

Site web: https://ro.wikipedia.org/wiki/MySQL

Site web: http://php.net/docs.php

Site web: http://dev.mysql.com/doc/

Site web: http://www.w3schools.com/

Site web: https://ro.wikipedia.org/wiki/Server_web

Site web: http://www.eccromania.ro/

Site web: https://ro.wikipedia.org/wiki/Comert_electronic

Anexe

Index.php

<?php include("head.php");?>

<body>

<div id="container">

<div id="header">

<?php include ("header.php"); ?>

</div> <!– header end –>

<div id="mijloc">

<div id="continut" >

<div ID="subiect">

<?php

if (isset($_GET['idpag'])) {

$qry = "SELECT * FROM pagini_dinamice where id=" . $_GET['idpag'];

$rs = mysql_query($qry, $link) or die(mysql_error());

$row = mysql_fetch_assoc($rs);

?>

<div id="titlu_subiect"><? echo $row['pagina'] ; ?></div>

<?php

//$num_rows = mysql_num_rows($rs);

echo $row['continut'] ;

}

else {?>

<div id="titlu_subiect">Prezentare firma</div>

<?php

$qry = "SELECT * FROM pagini_statice where pagina='acasa' ";

$rs = mysql_query($qry, $link) or die(mysql_error());

$row = mysql_fetch_assoc($rs);

//$num_rows = mysql_num_rows($rs);

echo $row['continut'] ;

}

?>

</div><!– subiect end –>

</div><!– continut end –>

<div id="sideright">

<?php include("sidebarright.php"); ?>

</div><!– right end –>

</div> <!–mijloc end –>

</div> <!– container end –>

<div id="footer">

<?php include ("footer.php"); ?>

</div> <!– footer end –>

</body>

</html>

Produs.php

<?php include("head.php");?>

<body>

<div id="container">

<div id="header">

<?php include ("header.php"); ?>

</div> <!– header end –>

<div id="mijloc">

<div id="sideleft">

<?

$pag="index";

include("sidebarleft.php");

?>

</div><!– left end –>

<div id="continut" style="width:540px;">

<?php

if (isset($_GET['id']))

{

$id=$_GET['id'];

$qryproduse = "SELECT id,titlu,articole.descriere,pret,articole.idcateg,categorie FROM articole inner join articole_categorii on articole.idcateg=articole_categorii.idcateg where id=" . $id . " ";

}

$rsproduse = mysql_query($qryproduse) or die(mysql_error());

$rowproduse = mysql_fetch_assoc($rsproduse);

$totalRows_lucrari = mysql_num_rows($rsproduse);

?>

<div id="cale">

<?php

cale_categorii($rowproduse['idcateg']) ;

$cale="<a href='index.php'>Acasa</a>" . "" . $cale;

echo $cale ;

?>

</div>

<DIV ID="subiect" style="float:left;display:block;width:100%; height:auto; ">

<?php

//afisez produs

if($totalRows_lucrari>0){

?>

<script>

$(document).ready(function(){

$(".cl<?php echo $rowproduse['id']; ?>").colorbox({rel:'cl<?php echo $rowproduse['id']; ?>', transition:"fade"});

});

</script>

<div id="titlu_subiect">

<?php echo $rowproduse['titlu'] ;?>

</div>

<p><br><? echo $rowproduse['descriere'] ;

?></p><br>

<div align="right">

<a align="right" href="cos.php?action=add_item&id=<?php echo $rowproduse["id"]; ?>&qty=1">

<img style="border:0px;" src="images/addcos.gif" >

</a>

</div>

<p><b>Pret:</b> <? echo $rowproduse['pret'] ;?> LEI</p>

<div id="poza" >

<?php

//incarc pozaprodus

$qryprodus_poza = "SELECT * FROM articole_poze where id_articol=" .

$rowproduse['id'] . "";

$rsprodus_poza = mysql_query($qryprodus_poza) or die(mysql_error());

$rowprodus_poza = mysql_fetch_assoc($rsprodus_poza);

//afisez pozele

if(mysql_num_rows($rsprodus_poza)>=1){

do {

?>

<a class="cl<?php echo $rowproduse['id']; ?>" href="images/produse/<?php echo $rowprodus_poza['nume_poza']; ?>" >

<img width="160px" height="120px" src="images/produse/<?php echo $rowprodus_poza['nume_poza']; ?>" />

</a>

<?

}while ($rowprodus_poza = mysql_fetch_assoc($rsprodus_poza)) ;

}

?>

</div> <!– poza –>

<?php

} //end if

?>

</div> <!– subiect –>

</div><!– continut end –>

<div id="sideright">

<?php include("sidebarright.php"); ?>

</div><!– right end –>

</div> <!–mijloc end –>

</div> <!– container end –>

<div id="footer">

<?php include ("footer.php"); ?>

</div> <!– footer end –>

</div> <!– container end –>

</body>

</html>

Similar Posts