Web Design
Introducere
În prezent, majoritatea companiilor apreciază să se facă văzute prin intermediul internetului. Astfel, comerțul electronic a fost răspunsul acestor “neajunsuri”, astfel că cele mai multe din companiile existente pe piață au pagini oficiale- pagini de prezentare a activității desfășurate sau pagini de vânzare a produselor online.
O farmacie online presupune ca și celelalte companii ce își propun vânzarea de produse pe internet necesită existența unui magazin virtual, magazin în care produsele să fie prezentate ca și caracteristici și în mod ideal existența sau nu în stoc a produsului, prețul acestuia și mai cu seamă modalitatea de plată și obținerea produsului de către cumpărător (în ce termen sau condiții cumpărătorul primește produsul achiziționat).
Am realizat practica la SC Helpis SRL și am ocupat un post de operator- programator și am intrat în contact direct cu necesitățile firmei. La acest moment, firma nu deține pagina și cu atât mai mult magazin de desfacere online. La propunerea administratorului societății am realizat un magazin virtual pentru companie motiv pentru care în lucrarea de licență prezentă am găsit adecvat să prezint o astfel de temă-Elaborarea unui site web pentru o farmacie online.
După absolvire societatea mi-a propus o eventuală colaborare în vederea asigurării mentenanței și update-rii bazei de date aferente magazinului virtual. Aplicația realizată de mine ar aduce mari beneficii companiei, din această perspectivă vreau să subliniez faptul că firma a manifestat un interes deosebit pentru o potențială colaborare cu mine. Respectiva colaborare presupune depășirea granițelor stagiului de practică efectuat.
Firma a conștientizat rapid beneficiile aduse de aplicația realizată de mine, acest lucru îl pot explica și prin prisma inexistenței unui site care să pună la dispoziția clienților, la orice oră informațiile indispensabile acestora.
Practic, aplicația mea are rolul de a învinge bariera timpului și de a le oferi clienților și potențialilor clienți informațiile necesare la orice oră, și de a le aduce mai aproape de aceștia- la un clic distanță.
Efectele utilizării aplicației realizate vor fi unele satisfăcătoare pentru societate prin prisma creșterii numărului de clienți, ca urmare a accesării site-ului propus, fără ca societatea să fie nevoită a implica permanent resurse financiare orientate către resursele umane. Investiția pentru punerea în practică a aplicației realizate va fi una singulară, nivelul acesteia pe termen scurt poate fi considerat a fi unul costisitor, însă dacă luăm în considerare efectele pe termen lung vom concluziona că este o investiție și nu o cheltuială.
Specific în acest moment că aplicația prezentată în lucrare este una făcută să funcționeze localhost fără a fi necesară încărcarea acesteia pe un server, respectiv domeniu cumpărat. După finalizarea cursului de licență și susținerea lucrării corespunzătoare cu modificările aferente, aplicația va constitui magazinul online oficial al firmei.
Pentru realizarea aplicației mi- au fost necesare cunoștințe de HTML, PHP, CSS și SQL. Lucrarea este structurată pe 3 capitole, o introducere, concluzii și propuneri.
Capitolul 1 este unul teoretic și înglobează în el noțiuni legate de SQL, HTML.
Câteva dintre aspectele teoretice surprinse în acest capitol sunt: importanța utilizării limbajelor mai sus menționate, respectiv rolul SQL fiind exemplificat prin faptul că acesta este un limbaj de programare prin intermediul căruia datele sunt manipulate de bazele de date relaționale.Acest limbaj își are baza în algebra relațională.
În altă ordine de idei, doresc să subliniez importanța HTML-ului, acesta estelimbajul folosit pentru crearea paginilor Web.El permite crearea unui document astfel încât să poată fi publicat pe World Wide Webși vizualizat cu ajutorul unui browser. HTML este un limbaj accesibil și ușor de utilizat.
În capitolul 2, noțiunile teoretice legate de PHP, CSS, SEO vor fi exprimate într-o manieră originală. În plus, vor fi subliniate aspecte legate de localhost și domenii în internet( servere web).
PHP (acronim recursiv pentru PHP: Hypertext Preprocessor) este un limbaj de scripting de uz general, cu cod-sursă deschis (open source), utilizat pe scară largă, și care este potrivit în special pentru dezvoltarea aplicațiilor web și poate fi integrat în HTML.
CSS, prescurtarea de la Cascading Style Sheets, sunt etichete folosite pentru formatarea paginilor web.
Beneficiile sintaxei CSS constau în următoarele:
formatarea este introdusă într-un singur loc pentru tot documentul;
editarea etichetelor este rapidă și
datorită introducerii într-un singur loc a etichetelor se obține o micșorare a codului paginii, implicit încărcarea mai rapidă a acesteia.
SEO este un acronim ce vine de la Search Engine Optimization, expresie care în limba română se traduce ca Optimizare pentru Motoarele de Căutare. Optimizare este un cuvânt sinonim cu îmbunătățire referitor la motoarele de căutare, cel mai cunoscut și utilizat la acest moment este Google.
Putem spune deci, că SEO are rol în îmbunătățirea paginilor web, a site-urilor, pentru motoarele de căutare precum Google, Bing, Yahoo.
Capitolul 3 este deținut de partea cea mai importantă a lucrării- studiul de caz, în care sunt prezentate aspecte legate de prezentarea aplicației realizate. Pentru o cât mai bună exprimare a aspectelor practice, în acest capitol sunt prezentate print screen-uri din aplicația realizată, print screen-uri ce sunt urmate de explicații obiective și mai apoi, subiective ale etapelor parcurse în realizarea acesteia.
Voi încheia prin prezentarea unor concluzii și mai ales propuneri pertinente, ce au ca scop generarea de beneficii pentru compania cu care am colaborat pe parcursul derulării stagiului de practică și implicit după finalizarea acestuia.
Limbajul HTML
HTML (HyperText Markup Language) estelimbajul folosit pentru crearea paginilor Web.El permite crearea unui document astfel încât să poată fi publicat pe World Wide Webși vizualizat cu ajutorul unui browser. HTML este un limbaj accesibil și ușor de utilizat. Baza acestui limbaj o reprezintă acele elemente cunoscute sub denumirea de tag-uri. Scopul pentru care HTML-ul folosește aceste tag-uri îl constituie faptul că acestea permit introducerea imaginilor cât și a link- urilor,rezultatul final fiind modificarea fontului curent și îmbogățirea paginii anterioare.
HTML este format dintr-un set de elemente, sau tag-uri, care sunt folosite ca instrucțiuni pentru a spune browser-ului ce ar trebui să apară pe o pagină web, și cum ar trebui să fie structurat .
Deși HTML este un singur limbaj menținut de o singură organizație, există multe browsere diferite disponibile, create și întreținute de către mai multe organizații diferite. Firefox, Internet Explorer, Opera, Safariși Google Chrome sunt frecvent utilizate ca browsere. Fiecare browser poate face codul HTML puțin diferit, deci este întotdeauna cel mai bine pentru a vizualiza fișierele HTML în mai multe browsere pentru a verifica apariția lor în fiecare dintre ele.
Fișierele HTML trebuie să fie identificate ca fișiere HTML prin extensia cu care sunt numite.Există două extensii de fișiere disponibile pentru fișiere HTML: ”.html” sau “.htm”. Când se salvează fișierul, trebuie să ne asigurăm căîn numele acestuia este scrisă și extensia (exemplu: index.html), și că, dacă există o opțiune de "Save as Type" verticală în meniul Save , că tipul este setat la " All Files " .
Un tag constă dintr-o literă sau cuvânt rezervat între parantezele unghiulare <>.
Figura nr. 1. Tag-uri pentru descrierea stilului unui text
Sursa: http://www.e-learn.ro/tutorial/html/i-ce-inseamna-htmla/74/1/117.htm
În HTML se folosesc următoarele tag-uri, în scopul descrierii stilului unui text:
<b>…</b>- are rolul de a afișa textul cu caractere aldine;
<i>…</i>- face posibilă scrierea textului cu caracter italic și
<u>…</u>- afișează textul cu caractere subliniate.
Pentru a face posibilă reprezentarea indicilor superiori și inferiori utilizăm tag-urile pereche <sup>…</sup>,<sub>…</sub>.
Tag-ul par <font> își evidențiază rolul prin specificarea următoarelor caracteristici ale caracterelor:
culoare – evidențiată prin atributul “color”;
tipul sau stilul- îl putem stabili prin utilizarea atributului “face”;
grosimea- o putem preciza cu ajutorul atributului “weight” și
dimensiunea- este stabilită întotdeauna prin atributul “size”.
Tag-ul pereche <p> se folosește pentru specificarea paragrafelor. Atributele acestui tag sunt constituite din :
align-alinează textul la stânga (left),la dreapta (right) și la centru (center) și
Class,type,style-sunt folosite pentru un anumit stil de text.
Dacă tag-ul <p> nu are atribute, nu se impune închiderea acestuia.
Pentru delimitarea sau formatarea unui bloc de text se folosește perechea de tag-uri <div>…</div>.
Tag-urile pare (se impune inchiderea acestora) <pre>…</pre> definesc blocuri de texte performante. Aceste tag-uri inserează rânduri fără conținut. Caracterul “spațiu” este explicit prin  .
În general, majoritatea paginilor Web au câteva lucruri în comun, ca de exemplu secțiunile head și body, marcate în mod evident prin tag-urile:<head> și respectiv <body>.
Trebuie să precizăm faptul că anumite informații despre pagina, ca de exemplu titlul, se scriu în secțiunea head, iar conținutul propriu- zis al paginii- în body. Întotdeauna, fiecare pagină HTML începe și se termină în mod obligatoriu cu tag-ul <html> (</html>).
Figura nr. 2. Structura unei pagini HTML
Mai multe elementeutilizate concomitent fac posibilă crearea unei pagini web de bază, însă cel mai important set de tag-uri este < html >și < / html >, deoarece aceste etichete specifică browser-ului unde începe și unde se termină un document HTML. Toate celelalte elemente sunt plasate în mod obligatoriu, în interiorul tag-urilor< html >și < / html >.
Etichetele <head >și < / head > sunt importante, din considerentul că acestea explică lucruri despre document. De exemplu, tag-urile < title >și < / title > anexează textul care va apărea în partea superioară a ferestrei browserul-ui pentru a identifica site-ul.
Etichetele <body >și < / body> sunt esențiale, așa cum tot între aceste două etichete va apărea în browser ca fiind conținutul site-ului. Este foarte important de a deschide elementele HTML strânse într-o anumită ordine, în special atunci când etichetele sunt imbricate.De exemplu, etichetele corpului sunt în interiorul tag-urilor <html>. Având în vedere că tag-ul body a fost ultimul deschis, acesta trebuie să fie primul închis.[1]
Tag-ul <body>, cel al cărui rol se evidențiază prin marcarea începutului și sfârșitului corpului unui document HTML, are următoarele atribute:
bgcolor-stabilește culoarea fundalului paginii,folosind ca valoare numele culorii sau valoarea RGB a culorii;
background– îl utilizăm pentru stabilirea imaginii ca fundal al paginii;
link–menționează culoarea legăturilor nevizitate din pagină;
vlink– certifică culoarea legăturilor vizitate din pagină;
alink– specifică culoarea legăturilor în timpul click-ului;
leftmargin–este utilizat atunci când se dorește deplasarea întregului material din pagină față de marginea din stânga;
rightmargin-este utilizat pentru a deplasa întregului material din pagină față de marginea din dreapta și
topmargin-este util în vederea deplasării întregului material din pagină față de marginea de sus.
Documentele realizate în limbajul HTML permit prin intermediul serviciului Web transferul informațiilor de la servere la clienți, folosind protocolul HTTP (Hyper Text Transfer Protocol). Protocolul HTTP este bazat pe paradigma cerere- răspuns: clientul trimite o cerere către un server Web, iar serviciul răspunde, trimițând clientului un document HTML.
HTML este limbajul ce face posibilă crearea și vizualizarea paginilor web de către utilizatori. Utilizarea singulară a limbajului HTML-ului prezintă dezavantajul că paginile web afișate sunt doar statice. Însă utilizarea acestui limbaj împreună sau cu cel puțin unul din următoarele limbaje:
PHP;
CSS și
SQL ce permite afișarea paginilor dinamice.
Spre exemplu, dacă avem un site Web format doar din pagini HTML […] și vrem să mai adăugăm încă o secțiune va trebui să modificăm întreaga pagina. Acest fapt este neplăcut și îngreunează foarte mult munca.Așadar, utilizarea limbajului HTML într-un fișier generează o pagina Web statică, iar pentru a-i modifica conținutul trebuie să modificăm întregul fișier.
Dacă totuși dorim o pagină Web pe care să o modificăm cu ușurință este necesar realizarea unei pagini dinamice, de aceasta dată este necesară crearea programatică a conținutului înainte de a fi expediată către client.
Pentru generarea paginilor HTML dinamice, serverul Web transmite cererea clientului unui program executabil sau script, care generează pagina de răspuns, iar serverul o transmite apoi clientului.
Realizarea dinamică a paginilor Web se poate efectua cu ajutorul următoarelor metode:
interfața de poartă comună– CGI(Common Gateway Interface);
scripturi PHP (Personal Hypertext Preprocessor);
componente servlet și
scripturi JSP (JavaSever Pages).
HTML permite aranjarea datelor și în interiorul tabelelor- text, text preformatat, imagini, link-uri, forme, câmpuri de formular .
Tabelul este, în general, dimensionat în mod automat pentru a se potrivi conținutului, dar avem posibilitatea modificării dimensiunilor. Lățimea tabelului poate fi stabilită folosind atributul “width”.Fiecare rând al tabelului conține elementul TR, iar tag-ul final poate fi omis. Celulele tabelului sunt definite de elemente TD pentru date și elemente TH pentru antete .
Ca TR, acestea sunt containere și pot fi folosite fără etichete la final.
Elementul TABLEare următoarele atribute:
align- care poate lua una dintre valorile: left, center or right. Acest atribut are rolul de a specifica plasarea orizontală a tabelului în raport cu marginile stânga și dreapta.
În general, alinierea la stânga este implicită, dar acest lucru poate fi înlocuit de atributul DIV;
width- dacă nu vom utiliza acest atribut, lățimea tabelului va fi determinată în mod automat de conținutul acestuia; avem posibilitatea stabilirii acesteia în pixeli sau în procente;
border- poate fi folosit pentru a specifica lățimea chenarului exterior în jurul tabelului la un anumit număr de pixeli;
cellspacing– rolul acestui atribut este acela de a specifica spațiul dintre cellule și
cellpadding– stabilește în mod clar spațiul dintre linia celulei și conținutul acesteia.
De asemenea, mai putem utliza și alte elemente precum:
CAPTION, care are un atribut align, ce poate să aibă următoarele valori: align= top sau align=bottom. Trebuie precizat faptul că acesta necesită întotdeauna atât tag-ul de început,câtși tag-ulde sfârșit.
TR sau table row necesită o etichetă început, dar, de acestă dată tag-ul final poate lipsi.
Acesta are două atribute:
align- setează alinierea orizontală implicită a continutului celulelor. Poate lua oricare din cele 3 valori:left, center sau right.
valign- setează alinierea verticală implicită a conținutului celulelor. Poate avea una din cele 3 valori:top, middle or bottom.
Există două elemente pentru definirea celulelor din tabele:
TH și
TD.
TH este folosit pentru celulele din antet și TD pentru celulele de date . Etichetele de start pentru TH și TD sunt întotdeauna indispensabile, dar tag-urile finale se pot omite. Celulele tabelului pot avea următoarele atribute :
nowspan- este echivalent cu   (explicat anterior);
rowspan- ia de fiecare dată o valoare întreagă pozitivă specificând numărul de rânduri acoperit de această celulă;
colspan- ia aceeași valoare ca și rowspan, însă rolul acesteia este de a specifica numărul de coloane acoperit de această celulă;
align- specifică alinierea orizontală implicită a conținutului celulelor. Este nevoie de aceleași valori:left, center, right;
valign- stabilește alinierea verticală implicită a conținutului celulelor. Sunt necesare valori precum: top,middle, bottom;
width- specifică lățimea propusă pentru un conținut de celulă, este exprimată în pixeli și
height- specifică înălțimea propusă pentru un conținut de celulă (în pixeli).
1.2. Limbajul SQL
SQL(Structured Query Language) este un limbaj structurat de interogare.
Este un limbaj de programare prin intermediul căruia datele sunt manipulate bazele de date relaționale.
Acest limbaj iși are baza în algebra relațională. Acesta are ca scop:
inserarea datelor;
interogații;
actualizare și ștergere;
modificarea și crearea schemelor și
precum și controlul accesului la date.
Este cel mai popular limbaj utilizat pentru:
creearea;
modificarea;
regăsirea și
manipularea datelor de către Sistemele de Gestiune a Bazelor de Date Relaționale.
Cea mai des utilizată instrucțiune în SQL este instrucțiunea SELECT.
Figura nr. 3. Structura instucțiunii SELECT
În afara versiunilor standardale limbajului, mai pot fi întâlnite și o mulțime de dialecte și variante specifice anumitor SGBD-uri. Pe de altă parte, acestea conțin extensii pentru a suporta Sistemele de Baze de Date obiectuale.
SQL permite atât accesul la conținutul bazelor de date, precum și la structura acestora.
Limbajul SQL are în vedere următoarele elemente:
Clauze, acestea sunt componentele instrucțiunilor și interogărilor;
Expresiile generează producerea de valori scalare sau tabele;
Predicates, au rolul în specificarea condițiilor care sunt evaluate de SQL conform logicii, scopul fiind acela de a limita efectele instrucțiunilor, sau a exercita o influență asupra cursului programului;
Interogările, au ca scop regăsirea datelor după criterii specifice și
Instrucțiunile, pot avea un efect persistent asupra datelor sau structurii datelor, fie pot controla tranzacțiile, conexiunile sau cursul programului.
În general, instrucțiunile SQL se termină cu caracterul punct-virgulă (";"), deși acest lucru nu este obligatoriu în toate platformele SQL. Spațiile albe suplimentare sunt ignorate, dar ele pot fi folosite pentru lizibilitatea codului SQL.
Oricărei coloane (sau câmp) dintr-un tabel SQL îi este atribuit un tip de dată, la fel ca în toate celelalte limbaje de programare.
Tipurile de date specifice limbajului SQL sunt următoarele:
character (cu prescurtarea char)- șir de caractere;
integer- număr întreg;
float, real sau double precision- număr real;
numeric sau decimal- număr zecimal;
date- data zilei și
time- ora.
Limbajul este considerat cel mai răspândit limbaj de interogare a bazelor de date relațioanale.
Cel mai recent standard este SQL-3 care a fost lansat în anul 1999, acesta este considerat un limbaj complet în vederea definirii și gestiunii obiectelor complexe. Se consideră că prin publicarea standardului propus în acest an a fost depășită bariera relaționalului, el fiind mult mai mult decât un instrument de consultare a bazelor de date.
Acest limbaj neprocedural operează cu date normalizate.Pentru a putea lucra cu acest limbaj este necesar cunoașterea următoarelor concepte pe care le prezentăm în cele ce urmează:tabelă, cheie primară, coloană, rînd, viziune, index, sinonim, cluster, bază de date relațională, comanda, blocul, cererea,raportul etc.
Tabela sau relația este un ansamblu format din n coloane și m rânduri care respectă următoarele condiții minime: nu conține date la nivel agregat; liniile sunt distincte unele față de altele; nu conține coloane repetitive în descriere.
Cheia primară primește de fiecare dată valori distincte. Fiecare linie se poate identifica printr-o valoare distinctă. Acele atribute care pot fi chei primare poartă denumirea de chei candidate. Coloana tabelei este formată întotdeauna din acele valori pe care le ia atributul în liniile tabelei respective. Rândul este format din valorile coloanelor ce se referă la o entitate a tabelei.
Baza de date relatională se definește ca fiind un ansamblu de tabele normalizate, grupate în jurul unui subiect, care este întotdeauna bine definit. Viziunea este o tabelă logică constând într-o fereastră de date, dintr-una sau mai multe tabele.
Unindex reprezintă o cheie pe una sau mai multe coloane. Indexarea este dinamică, deoarece se pot adauga sau șterge indecși oricând, fără ca datele memorate sau aplicațiile scrise să fie afectate.
Pentru realizarea unor operații sau pentru a utiliza în cereri nume mai scurte, se pot defini sinonime ale unor nume de tabele sau viziuni.
Modalitatea de grupare a randurilor unei tabele se numeste cluster.Această grupare mărește viteza de execuție a unor operații consumatoare de timp.Comanda este o instrucțiune emisă din SQL*Plus către o bază de date Oracle. Blocul reprezintă un grup de instrucțiuni SQL și PL/SQL.
Este necesar ca numele unei baze de date, al unei tabele, al unei coloane sau variabile utilizator trebuie să aibă lungimea între 1 și 30 caractere. Un nume nu poate conține niciodată apostrofuri. În mod similar, un nume utilizat într-o comandă nu va putea fi introdus între apostrofuri. Literele mici și mari sunt echivalente. Este indispensabil ca numele să înceapă cu o literă, acesta trebuie să conțină numai anumite caractere (A-Z, 0-9, $, #, @, -), și, mai ales,să nu duplice numele unui alt obiect de același tip și să difere de un cuvânt rezervat ORACLE.
Luând în considerare faptul că SQL este un limbaj declarativ nu se pot scrie programe. Procesarea datelor se realizează cu ajutorul operatorilor relaționari.
Elementul fundamental al limbajului SQL este clauza- echivalentul unei propoziții în limbajul natural:
Figura nr. 4. Structura instucțiunii SELECT
Operatorii relaționali impliciți din clauza SQL sunt :
selecția;
proiecția și
produsul cartezian;
Figura nr. 5. Sintaxa instucțiunii SELECT
1.2.1. Utilizarea funcțiilor în SQL
Orice funcție SQL se apelează prin sintaxa: Nume_funcție (argument1, argument2, …).
Funcțiile SQL sunt cu un singur rând sau scalare au rolul de a returna un singur rezultat pentru fiecare rând al cererii emise asupra unei tabele sau vederi și cu mai multe rânduri cunoscute sub denumirea de funcții grup sau agregate, rolul acestora fiind acela de a returna un singur rezultat pentru un grup de rânduri regăsite dintr-o tabelă sau vedere.
Funcțiile SQL cu un singur rând (funcțiile scalare) sunt funcții:
numerice;
caracter;
de tip DATE;
de conversie și
alte funcții.
Funcțiile numerice acceptă valori numerice și returnează rezultate numerice.
Funcțiile caracter acceptă la intrare valori caracter și furnizează valori caracter sau numerice.Funcțiile caracter acceptă la intrare valori caracter și furnizează valori caracter sau numerice.
Funcțiile de tip DATE operează cu tipuri de date de tip DATE. Toate funcțiile de tip DATE returnează valori de tip DATE, mai puțin funcția MONTH_BETWEEN care furnizează o valoare numerică.
Funcțiile de conversie convertesc o valoare de la un tip de dată la alt tip de dată. Aceste funcții au formatul general de forma tip_de_dată TO tip_de_dată.
Funcțiile cu mai multe rânduri (de grup) furnizează un rezultat bazat pe prelucrarea mai multor rânduri. Toate funcțiile de grup, mai puțin COUNT(*) ignoră valorile NULL.
Majoritatea funcțiilor de grup acceptă opțiunile: DISTINCT (determină luarea în calcul numai a valorilor distincte ale rândurilor din cadrul grupului) și ALL (determină luarea în calcul a tuturor valorilor grupului de rânduri).
1.2.2. Exemplificarea expresiilor în SQL
Expresia reprezintă o combinație de unul sau mai mulți operatori, operanzi, ce pot fi reprezentați de variabile, literali, coloane sau funcții SQL care se evaluează la o singură valoare.
Operatorii utilizați de SQL sunt:
operatori SQL*PLUS;
operatori SQL;
operatori aritmetici;
operatori logici și
operatori specifici în expresiile de cereri.
O expresie are în general același tip de date ca și componentele sale. Expresiile sunt folosite pentru construirea instrucțiunilor SQL și a unor liste de expresii.
Există cinci forme de furnizarea a expresiilor pentru construirea instrucțiunilor SQL:
Forma I este formată din coloană, pseudocoloană, constantă, secvență sau NULL și are sintaxa:nume_schemă.tabelă | vedere. coloană | pseudocoloană | ROWLABEL.
Forma II este folosită pentru definirea unei variabile gazdă (host variable) cu sau fără indicator de variabilă. Expresiile din această formă se vor folosi doar în instrucțiunile SQL incluse în limbajele de programere gazdă sau în instrucțiunile prelucrate de programele OCI(Oracle Call Interface). Sintaxa este de forma:variabilă_gazdă INDICATOR:variabilă_indicator
Forma III este folosită pentru apelul funcțiilor cu un singur rând și are sintaxa: funcție (DISTINCT | ALL expresie1, expresie2, … )
Forma IV este folosită pentru apelul funcțiilor de utilizator și are sintaxa: nume_schemă.nume_pachet. nume_funcție
Forma V este o combinație de mai multe expresii și are sintaxa: (expresie ) | + | – | PRIOR expresie | expresie1 * | / | – | || expresie2
1.2.3. Importanța condițiilor în SQL
Condiția este ca și expresia o combinație de una sau mai multe expresii și operatori logici evaluată cu una din valorile:
TRUE;
FALSE sau
UNKNOWN.
Condițiile se pot folosi în clauza WHERE a instrucțiunilor SQL DELETE, SELECT și UPDATE sau într-una din clauzele WHERE, START WITH, CONNECT BY sau HAVING ale instrucțiunii SELECT.
Capitolul 2. Mediul de lucru
2.1. Limbajul PHP în dezvoltarea de aplicații Web
PHP (acronim recursiv pentru PHP: Hypertext Preprocessor) este un limbaj de scripting de uz general, cu cod-sursă deschis (open source), utilizat pe scară largă, și care este potrivit în special pentru dezvoltarea aplicațiilor web și poate fi integrat în HTML.
Paginile PHP conțin HTML cu cod-sursă încorporat, care afisează un script . Codul-sursă PHP este încorporat între instuctiuni de procesare de început și de sfârșit, care vă permit să intrați și să ieșiți din "modul PHP".
PHP a fost proiectat în mod specific pentru ca să fie un limbaj mai securizat pentru scrierea programelor CGI decât Perl sau C, și cu o selectare corectă a opțiunilor de configurare la compilare și la rulare, dublate de o tehnică de programare corespunzătoare, PHP oferă combinația perfectă de libertate și securitate .
Diferența o pe care o putem observa în cazul PHP-ului față de JavaScript constă în faptul că executarea codului său se face pe server, generând HTML care este ulterior trimis către client. Clientul va primi rezultatele rulării acelui script, fără a avea însă posibilitaea de a putea cunoaște codul-sursă ce stă la bază. Avem posibilitatea de a configura web server-ul să proceseze toate fișierele HTML cu PHP, acest lucru va împiedica utilizatorii să afle părțile care se doresc a fi private.
Avantajul PHP-ului îl constituie simplitatea extremă, precum și existența multor facilități avansate, care pot fi utilizate cu precădere de un programator profesionist. PHP este util în realizare unei multitudini de aplicații.
PHP este axat în principal pe scripting de partea server-ului, astfel acesta ne permite realizarea unui program CGI, cum ar fi:
colectarea datelor din forme;
generarea conținutului dinamic al paginilor și
trimitereași primirea cookies.
Scripturile PHP sunt utilizate pe trei domenii principale :
Scripting de partea serverului;
Acesta este cel mai utilizat și de bază domeniu al PHP. Pentru a face posibilă funcționarea acestuia trebuie să avem în vedere următoarele:
analizatorul PHP (ce poate avea calitate de CGI, sau modul pentru server);
un server web și
un navigator web.
Trebuie să rulați serverul web cu o instalare PHP conectată la el. Puteți accesa ieșirile programului PHP cu navigatorul web, vizualizând pagina PHP prin server.
Se poate opta pentru scripting în linia de comandă, ceea ce determină ca scriptul PHP să ruleze fără un server și navigator web. Tot ce ne este util este analizatorul PHP pentru a îl utiliza în acest mod. Acest mod de utilizare este ideal pentru script-uri executate în mod regulat cu cron sau cu Task Scheduler. Aceste script-uri pot fi utilizate, de asemenea, pentru lucrări simple de procesare a textelor.
Scrierea aplicațiilor de birou se face utilizând PHP, acesta probabil că nu este cel mai potrivit limbaj pentru a crea o aplicație de birou cu o interfață grafică a utilizatorului, însă PHP- ul oferă totuși această posibilitate.
PHP poate fi utilizatpe toate sistemele de operare majore:
Linux;
multe variante Unix (inclusiv HP-UX, Solaris și OpenBSD);
Microsoft Windows și
Mac OS X, RISC OS ETC.
PHP de asemenea susține majoritatea server-elor web existente în prezent.Acestea includ Apache, IIS, și multe altele. De asemenea, pot fi incluse și server- ele ce pot utiliza binarul PHP FastCGI, cum ar fi lighttpd și nginx.
PHP este un limbaj de programare web puternic, iar interpretorul său, fie că este inclus în serverul web ca un modul, sau executat separat ca binar CGI, este capabil să acceseze fișiere, să execute comenzi sau să deschidă conexiuni în rețea pe server. Aceste proprietăți fac ca totul ce este rulat pe server să fie implicit nesecurizat.
PHP funcționează ca modul sau ca procesor CGI. Deci PHP oferă libertatea alegerii sistemului de operare și a serverului web. El mai oferă posibilitatea utilizării programării procedurale sau programarea orientată pe obiecte (POO), precum și o combinație a acestora.
PHP nu se limitează doar la afișarea HTML. Posibilitățile PHP permit afișarea de:
imagini;
fișiere PDF și
filme Flash.
PHP poate genera automat aceste fișiere și le poate salva în sistemul de fișiere, în loc să le afișeze, formând astfel un sistem de cache al conținutului dinamic de partea server-ului.
Facilități semnificative ale PHP-ului constau în susținerea unui larg domeniu de baze de date. Scrierea unei pagini web ce accesează o bază de date utilizează una din extensiile de lucru cu baze de date sau utilizând un nivel de abstractizare precum PDO, sau conectarea la orice bază de date ce susține standardul "Open Database Connection" cu ajutorul extensiei ODBC. Alte baze de date pot utiliza URL- ul sau socket- uri.
PHP poate să "converseze" cu alte servicii, acest lucru este posibil prin utilizarea unor protocoale cum ar fi:
LDAP;
IMAP;
SNMP;
NNTP;
POP3;
HTTP și
COM (pe Windows),etc.
PHP susține WDDX – schimbul de date complexe între aproape toate limbajele de programare web.
Pe de altă parte, vorbind despre interconectare, PHP are capacitatea de a susține instanțierea obiectelor Java și utilizarea lor transparentă ca obiecte PHP.
PHP posedă numeroase facilități de procesare a textului foarte utile, care include:
expresii regulare compatibile cu Perl (PCRE);
multe extensii și
instrumente utilizate la accesarea și interpretarea documentelor XML.
PHP standardizează toate extensiile XML pe baza solidă și extinde setul de facilități adăugând susținerea:
SimpleXML;
XMLReader și
XMLWriter.
Există multe alte extensii utilizate de PHP. De asemenea, există extensii PECL suplimentare care pot fi, sau pot să nu fie documentate în cadrul manualului PHP, cum ar fi » XDebug.
Deoarece există multe modalități diferite de a utiliza PHP, există și multe opțiuni de configurare care îi controlează comportamentul.
Opțiuni de configurare ale PHP-ului sunt destul de numeroase și au rolul de a garanta posibilitatea utilizării PHP-ului pentru o întreagă suită de întrebuințări, dar aceasta totodată înseamnă că pot exista combinații ale acestor opțiuni și ale configurațiilor de servere, rezultatul utilizării acestora vor duce la crearea unui mediu de execuție nesecurizat.
Flexibilitatea configurațiilor în PHP este egală și rivalizează cu flexibilitatea codului-sursă. PHP poate fi utilizat pentru a construi aplicații complete pentru servere, oferind toate avantajele unui utilizator shell, sau poate fi utilizat ca o simplă incluziune de partea serverului cu grad de risc redus, într-un mediu bine controlat.
Modul de construire a acestui mediu și cât de securizat este el depinde în mare măsură de programatorul PHP.
2.2. Etichete CSS în formatarea paginilor Web
CSS, prescurtarea de la Cascading Style Sheets, sunt etichete folosite pentru formatarea paginilor web.
Beneficiile sintaxei CSS constau în următoarele:
formatarea este introdusă într-un singur loc pentru tot documentul;
editarea etichetelor este rapidă și
datorită introducerii într-un singur loc a etichetelor se obține o micșorare a codului paginii, implicit încărcarea mai rapidă a acesteia.
Sintaxa CSS este structurată pe trei nivele:
nivelul 1- fiind proprietățile etichetelor din documentul HTML, tip inline;
nivelul 2- este informația introdusă în blocul HEAD, tip embedded și
nivelul 3- este reprezentat de comenzile aflate în pagini separate, tip externe.
Cea mai mare importantă este atribuită sintaxei de nivelul 1,iar cea mai mică importanță o are cea de nivelul 3.
Folosirea unui fișier extern sau nivel 3 care să conțină comenzi CSS este foarte practică, deoarece poate fi utilizat în mai multe situații (mai multe fișiere HTML pot folosi același fișier extern CSS), eliminând timpul necesar introducerii codului corespunzător în fiecare pagină și totodată editarea lor într-un singur loc pentru mai multe fișiere. Extensia acestor fisiere este.css.
Legătura paginilor HTML cu fișierele externe CSS se face prin introducerea următoarei linii:
<link rel="stylesheet" type="text/css" href="fisier_css.css">,
type- tip text ce conține comenzi CSS,
href- fișierul sau adresa fișierului CSS.
Comenzile de nivel 2 sau embedded sunt cele găzduite oriunde între perechea de etichete <head> și </head>conform sintaxei:
Figura nr. 6. Sintaxa unui bloc CSS
Unde style are rolul de a specifica unde începe și unde se termină blocul CSS, iartypeare rolulde a ascunde browser-ele vechi, care nu cunosc sintaxa CSS, conținutul blocului style.
Comenzile CSS de nivel 1 sau inline sunt cele mai folosite, ele suprascriind orice alte comenzi CSS. Sunt amplasate în interiorul etichetelor HTML aflate în zona BODY și au sintaxa:
Figura nr. 7. Exemplificarea etichetelor style
Este permisă folosirea comentariilor în CSS ca și în HTML:idși class sunt comenzi care dau unei formatări CSS un nume. Acestea se folosesc atunci când dorim să aplicăm un style de formatare unei anume zone. Pentru compatibilitate cu versiunile anterioare de browsere numele asociate zonelor nu vor conține caracterul _.
Elementul id se aplică unui style de format o singură dată sau la o singură etichetă HTML, plasându-se unnume acelui style. Acest element presupune existența comezilor CSS în zona HEAD , fie într-un fișier extern.
Folosirea elementului id presupune:
Figura nr. 8. Utilizarea elementului id
Elementul class este similar cu id, însă spre deosebire de acesta poate fi folosit de mai multe ori sau pentru zone mai mari. Ca și la id necesită existența comezilor CSS în zona HEAD sau într-un fișier extern.
Folosirea elementului class are în vedere:
Figura nr. 9. Sintaxa elementului class
Aceste elemente specifică argumentul fontului care se asociază unui element HTML fiind incluse ori în zona HEAD ori în interiorul etichetei dorite.
În cazul de față se remarcă asemanarea cu eticheta font din HTML care acceptă argumentele:
type;
style;
sizeși
weight.
Font-familyeste de fapt, o listă de fonturi din care browser- ul va folosi în ordinea în care le recunoaște (primul folosit va fi primul din listă, dacă nu este recunoscut îl folosește pe al doilea și tot așa mai departe). Este recomandat ca ultima poziție din listă să fie un fontgeneric (de exemplu: serif, sans- serif sau monospace). În situatia în care numele fontului este format din două cuvinte se încadrează între ghilimele duble pentru ca browserul să le interpreteze împreună.
Putem aduce un exemplu în acest sens, CSS introdus în HEAD aplicat etichetei p. Browserul nu recunoaște primele două fonturi din listă, așadar, îl folosește pe al treilea:
Figura nr. 10. Exemplificarea fontului family
Font-size este parametrul prin care se stabilește dimesiunea fontului, poate fi exprimată în:
pixeli (px);
puncte (pt);
keywords și
procente. Are o funcționare asemănătoare cu eticheta <font>.
Pentru dimensiunea exprimată în puncte folosim același exemplu înlocuid px cu pt.
Dimensiunea exprimată prin keywords folosește cuvinte în loc de cifre. Șapte cuvinte înlocuiesc dimensiunile de la 1 la 7 de la vechea etichetă FONT FACE din HTML.
Procentele sunt o altă valoare pe care o poate lua font-size. Această modalitate poate fi vizualizată diferit de browsere diferite.
Font-style este folosit pentru a adăuga caracteristica italică fontului. Poate lua valorile normal și italic.
Font-weight este paramerul care stabilește grosimea caracterului putând lua valorile numerice de la 100 la 900 sau:
BOLD;
BOLDER și
LIGHTER.
Stilurile prezentate anterior pot fi folosite simultan în interiorul aceeași etichete fiind despărțite de caracterul ; (punct și virgulă).
Alinierea se realizează cu ajutorul:
text- align, ce pozitionează pe orizontală obiecte (de exemplu: text sau imagini) și admite valorile left, right și center ca și eticheta align din HTML.
vertical- align este folosit pentru alinierea pe verticală a obiectelor dintr-un tabel și poate lua valorile: top, middleși bottom.
float este folosit pentru alinierea textului cu imaginile și poate avea valorile: left și right. În functie de valoarea aleasă, imaginea va fi aliniată în partea opusă a paginii.
Tabularea se realizează cu ajutorul: text- indent este folosit pentru alinierea textului în interior, având valori exprimate în:
inci (in);
centimetri (cm) sau
pixeli (px).
Decorarea presupune utilizarea- text-decoration, cu rol în adăugarea unor sublinieri sau tăieri blocului text asociat și poate avea valorile underline, line-through sau none.
Stilurile pentru legături, în HTML culoarea legăturilor poate fi stabilită prin atributele:
LINK;
ALINK și
VLINK declarate în interiorul etichetei BODY. Același lucru și chiar mai mult poate fi realizat folosind sintaxa CSS.
Repetarea este funcția dimensiunilor obiectului căruia îi sunt asociate imaginile de fond care se repetă pe orizontală și verticală. Repetarea poate fi controlată prin parametrul background-repeat care poate lua următoarele valori:
repeat-x imaginea se repetă pe orizontală;
repeat-y imaginea se repetă pe vertical sau
no-repeat imaginea nu se repetă.
Pozitia- în mod normal imaginea de fundal începe din colțul stânga sus al obiectului asociat, dar acest lucru poate fi controlat prin comanda CSS background-position.
Sunt acceptate două valori:
în prima poziție poate fi: top, center, bottom, percentage sau pixel sau
în a doua poziție poate fi: right, center, left, percentage sau pixel.
2.3. Optimizarea motoarelor de căutare utilizând SEO
SEO(Search Engine Optimization) reprezintă în limba română traducerea optimizării motoarele de căutare. Optimizare este un cuvânt sinonim cu îmbunătățire referitor la motoarele de căutare, cel mai cunoscut și utilizat la acest moment este Google.
Putem spune deci, că SEO are rol în îmbunătățirea paginilor web, a site-urilor, pentru motoarele de căutare precum Google, Bing, Yahoo.
Atunci când dorim să aflăm o informație apelăm la Google, motiv pentru care ne dorim ca acesta să ofere informații cât mai complete și corecte și prezentate într-un mod cât mai accesibil și rapid. La fiecare căutare apelăm de fapt, prin Google la o piață online. Asta facem cei mai mulți dintre noi, prin urmare, cei cu firme și site-uri sunt foarte interesați ca ei să apară în rezultate afișate de Google atunci când cineva caută servicii și produse ca cele pe care le oferă.
O bună prezență în site-urile de căutare va însemna pentru ei mai multi vizitatori, mai multe persoane interesate și mai multe vânzări.
Promovarea de tip SEO este și o metodă mult mai accesibilă ca preț decât achiziționarea altor tipuri de publicitate ca reclama la televizor sau achiziționarea unui baner stradal, de aceea SEO ajunge să fie în topul preferințelor pentru multe firme. O bună promovare pe Google oferă siguranța că cei interesați vor fi informați, deoarece vor putea lua contact cu site-ul propus exact atunci când fac o căutare cu intenția să găsească acel produs sau serviciu pe care îl oferi.
Marea majoritate a celor care folosesc Google sau alte motoare de căutare, se opresc asupra primelor rezultate returnate la căutarea lor, de aceea, pentru ca un site să primească mulți vizitatori, el trebuie să se afle pe prima pagină de rezultate returnate de Google, la căutarile legate de domeniul de care ține, și pe o poziție cât mai superioară.
Pe scurt, o prezență bună pe Google și obiectivul SEO este aducerea unui site în poziții de top la căutări relevante pe motoarele de căutare.
Google vrea să arate rezultate cât mai potrivite și mai apreciate pentru fiecare din căutările pe care oamenii le realizează. Dacă nu ar face-o oamenii s-ar îndrepta spre un alt site de căutare. Prin urmare vom obține o poziție cu atât mai bună în motoarele de căutare, cu cât site-ul nostru va fi considerat de ele foarte relevant și cu informații de calitate pentru utilizatorii lui.
Prin intermediul SEO, rezultatele afișate de Google au la bază un algoritm de poziționare format din sute de factori din care unii sunt mai mult sau mai puțin importanți, aceștia fiind totuși prezenți în această formulă matematică încă de la apariția motoarelor de căutare sau apăruți foarte recent.
Optimizarea este un proces tehnic, dar și creativ. De cele mai multe ori pentru a îmbunătăți un site sunt necesare modificări ale paginilor site-ului, adăugare de text, pagini noi, construire de link-uri recomandări ce vin de la alte site-uri spre site-ul tău.
SEO are scopul de a ajuta la creșterea profitului unei afaceri. Însă asta nu este tot ceea ce face, impactul lui fiind unul mult mai vast și mai benefic, putem susține acest lucru din perspectiva enumerării altor avantaje pe care SEO le oferă motoarele de căutare să își facă mai bine treaba:
oamenii să găsească informațiile, imaginile, produsele etc. de care au nevoie;
firmele mici să concureze cu marile companii;
o adevarată industrie de specialisti și traineri să aibă locuri de muncă și
La reducerea cheltuielilor cu promovarea online.
SEO are printre altele și rol în îmbunătățirea site-urilor, ceea ce nu poate conduce decât la
o experiență online mai plăcută pentru noi toți.
Capitolul 3. Studiu de caz la SC HELPIS SRL
3.1. Descrierea societății
Societatea SC HELPIS SRL a fost înființată și funcționează în baza Legii 31/1990 cu modificările ulterioare și este înregistrat la Registrul Comerțului Dâmbovița sub numărul J15/ 1230/ 1991 și CUI RO893525.
Tabelul nr. 1. Evoluția profitului net la farmacia SC HELPIS SRL 2010-2014
Sursa: http://www.firme.info/farmacia-helpis-srl-cui893525/
Graficul nr.11. Evoluția profitului net la farmacia SC HELPIS SRL 2010-2014
În anul 2010, farmacia SC HELPIS SRL a obținut profitul net în valoare de 166400 lei, iar în anul 2014 a înregistrat o creștere ajungând la valoarea de 268000 lei. Se poate observa că profitul net nu a înregistrat o creștere liniară, cea mai mică valoare fiind în 2012.
Tabelul nr.2. Evoluția veniturilor totale la farmacia SC HELPIS SRL 2010-2014
Sursa: http://www.firme.info/farmacia-helpis-srl-cui893525/
Graficul nr.12. Evoluția veniturilor totale la farmacia SC HELPIS SRL 2010-2014
În anul 2010, farmacia SC HELPIS SRL a înregistrat un venit total de 2335000 lei, în următorii trei ani creșterea nefiind exponențială. În 2014 s-a înregistrat o creștere semnificativă cu aproximativ 1200000 lei, ajungând la valoarea de 3600000 lei.
Tabelul nr.3. Evoluția cheltuielilor totale la farmacia SC HELPIS SRL 2010-2014
Sursa: http://www.firme.info/farmacia-helpis-srl-cui893525/
Graficul nr.13. Evoluția cheltuielilor totale la farmacia SC HELPIS SRL 2010-2014
În anul 2010, farmacia SC HELPIS SRL a avut cheltuieli totale în valoare de 2130000 lei. Se observă că în următorii patru ani cheltuielile au crecut ajungând în 2014 la 3280000 lei.
3.2. Prezentarea aplicației – Magazin virtual SC HELPIS SRL
3.2.1. Conetarea la baza de date SQL
Localhost este numele de gazdă dat unei adrese atribuite interfeței de rețea loopback. Ca o adresă IP, localhost este întodeauna văzut ca fiind 127.0.0.1.
Hostname (numele de gazdă) este termenul ce desemnează eticheta atribuită oricărui dispozitiv conectat la o rețea de calculatoare și este folosită pentru identificarea dispozitivului pe web. Numele de gazdă constăîntr-un nume sau o expresie ce poate avea la sfârșit un nume asociat. În acest fel, numele de gazdă este folosit ca un nume de domeniu. Un exemplu în acest caz îl poate reprezenta hostname.domain
Având în vedere că am folosit anterior termenul de rețea loopback, să vedem ce înseamna și la ce se folosește aceasta. Termenul poate suna complicat, dar este în esență destul de simplu. Este o interfață virtuală utilizată pentru sistemul de management; o astfel de interfață există dar nu în adevăratul sens al cuvântului, fiind simulate de către calculator. Acestei interfețe îi este atribuită o adresă specială ce poate fi accesată din secțiunea de management a rețelei, dar nu are legături cu orice dispozitiv real conectat. Aplicațiile pot utiliza această interfața și pentru a trimite și a primi pachete de date.Localhost este un nume de domeniu înregistrat.
Pentru o mai bună întelegere, să pornim de la general spre detaliat. În acest scop se vor prezenta inițial informații despre modul de fincționare al IP(Internet Protocol), iar ulterior despre localhost.
IP este un set de reguli ce stau la baza unei adrese și a modului de comunicare între douăcomputere sau dispozitive de rețea. În afara modului de adresare, IP-ul standardizează și modul de transmitere al pachtelor de date. În momentul actual, ceea mai mare răspândire la nivel mondial o are IPv4, folosit în cazul rețelelor bazate pe Ethernet. De menționat este faptul că protocolul nu garantează livrarea, integritatea sau secvențierea datelor, bazându-se în schimb pe Transmission Control Protocol (TCP) care se ocupă cu cele enumerate mai sus.
Stabilirea unei conexiuni la adresa de loopback este similară cu una realizată cu orice computer sau dispozitiv de rețea. Diferența principală este dată de conexiunea care evită să folosească interfața hardware a rețelei locale.
În mod frecvent se utilizează pentru a testa dacă echipamentul unui computer de rețea, sistemul de operare și implementarea TCP/IP funcționează corect. Verificarea se face prin trimiterea unei cereri ping la 127.0.0.1 . Rezultatele sunt folosite pentru depanarea problemelor la rețea.
Dezvoltatorii de aplicații folosesc adresa loopback pentru a testa dacă rețeaua de bază funcționează în parametrii optimi, în vederea dezvoltării unui program sau a unei anumite componente a unei aplicații.
Localhost face conectarea la serverele locale, cum ar fi rețeaua locală de internet, permițând o rută directă la orice serviciu de pe server, spre deosebire de cazul în care ar fi necesarămenționarea unui traseu specific pentru fiecare serviciu. De asemenea, face mai ușoară accesarea internetului printr-un nume de domeniu înregistrat.
3.2.2. Utilizarea produselor software: WAMP Server 2.5 cu Apache, PHP și SQL
WampServer (Windows / Apache / MySQL / PHP, Python, (și / sau) PERL) face referire la un stack de software pentru sistemul de operare Microsoft Windows, creat de Romain Bourdon și este format din serverul de web Apache, OpenSSL pentru suport SSL, baze de date MySQL și PHP limbaj de programare.WAMP este o variație de LAMP pentru sistemele Windows și este adesea instalat ca un pachet software (Apache, MySQL, PHP). Acesta este adesea folosit pentru dezvoltarea web și testare internă, dar poate fi utilizat pentru site-uri dinamice.
WampServer are posibiltatea de a gestiona serviciile Apache și MySQL. Acronimul WAMP se referă la un set aplicații gratuite, combinate cu Microsoft Windows, care sunt frecvent utilizate în mediile de servere Web.Stiva WAMP oferă dezvoltatorilor, cu cele patru elemente cheie ale unui server Web: un software de sistem de operare, baze de date, server Web și Scripting Web. Utilizarea combinată a acestor programe se numește o stivă de server. În acest stack, Microsoft Windows este sistemul de operare (OS), Apache este serverul Web, MySQL se ocupă de componente de baze de date, în timp ce PHP, Python, sau PERL reprezintă limbaje de scripting dinamice.
Cea mai importantă parte a pachetului WAMP este Apache, care este folosit pentru a rula serverul web în Windows. Prin rularea unui server local web Apache pe un calculator Windows, un dezvoltator web poate testa pagini Web într-un browser web, fără a fi publicate pe internet.
WAMP include, de asemenea MySQL și PHP, care sunt două dintre cele mai comune tehnologii utilizate pentru crearea de site-uri web dinamice. MySQL este o bază de date de mare viteză, în timp ce PHP este un limbaj de scripting care poate fi utilizat pentru a accesa datele din baza de date. Prin instalarea acestor două componente la nivel local, un dezvoltator poate construi și testa un site web dinamic înainte de a fi publicată pe internet.
În timp ce Apache, MySQL, PHP și sunt componente open source care pot fi instalate individual, ele sunt de obicei instalate împreună.
3.2.3. Prezentarea fișierelor corespunzătoare aplicației PHP ale magazinului virtual
General
Magazinul este făcut pentru a lucra în regim „dropshipping”, adică fără stoc propriu și cu livrări direct de la furnizori. De asemenea, se poate considera furnizorul fiind depozitul central care face livrările magazinului online, dar și aprovizionează farmaciile fizice ale firmei. Din acest motiv baza de date principală cu stocuri este ținută de DEPOZIT care va genera fișiere CSV cu stocuri actualizate la fiecare X minute (5,10,15). Folosind aceste fișiere se va actualiza baza de date cu produse a farmaciei online folosind „Cron jobs”. Cron este un job scheduler permite rularea unor anumite acțiuni, programe, scripturi la un anumit interval de timp. Baza de date se poate actualiza cu produse săptămânal sau la alt interval dorit, dar stocul trebuie actualizat la câteva minute. Ambele scripturi se pot găsi în folderul „autoupdates”.
Folosește mod rewrite în „.htaccess” pentru afișarea link- urilor cu o structurare pe foldere în locul celei clasice a PHP-ului. Acest lucru ajută în SEO.
Costul transportului este setat a fi 10 ron în județul Prahova și 15 în rest. Se poate seta să fie în funcție de oraș.
Plata se face prin PayPal. Butonul paypal (plătește cu paypal) trimite datele necesare și primește înapoi un răspuns și confirmare plată de la Paypal cu anumite date pe baza cărora este creat table-ul txn_paymal– SQL din baza de date (exceptând ultimele trei câmpuri). Acest table va conține comenzile procesate de paypal. PayPal indică ce date trebuiesc trimise.
Pentru comenzile ramburs, datele clientului sunt trecute în baza de date txn_ramburs și rămâne de schimbat câmpul status în „procesat” după procesarea comenzii și „achitat” după plata comenzii.
Comenzile vor sosi pe email și au link pentru schimbarea în procesat a comenzii. Stocul se va schimba în baza de date a DEPOZITULUI și se va reflecta în fișierele create, iar magazinul online va face schimbările la noua actualizare de stoc (de aceea am spus 5, 10, 15 min).
Clienții au posibilitatea de a crea un cont în care se vor reține datele, ulterior vor putea fi modificate. Pentru aceasta se folosește fg_membersite care este un script pentru a adăuga înregistrare și logare pe un site, detalii în header fișier.
Index.php
Folosește Nivo Slider, toate fișierele CSS și js necesare sunt free online.
Afișează o listă de produse recomandate (câmp existent în baza de date care se poate elimina sau se folosește pentru a promova produsele dorite) în ordine aleatorie.
Poza folosită este img_small.
Descrierea folosită este în format TXT, găsită în baza de date.
Figura nr.14. Realizarea meniului în paginaIndex.php
Categoria.php
Listează toate produsele dintr-o categorie când subcategoria este „all” sau dintr-o anume subcategorie.
Folosind GET obține parametrii necesari pentru determinarea categoriei, subcategorieiși metoda de sortare.
Numărul paginilor este determinat înaintea afișării rezultatelor și rezultatul împărțit pe pagini. Rezultatul poate fi afișat crescător sau descrescător în funcție de preț sau de stocul disponibil.
Poza folosită este img_small.
Descrierea folosită este în format TXT, găsită în baza de date.
Figura nr. 15. Realizarea meniului de căutare al produselor în pagina Categoria.php
Vezi-produs.php
Afișează produsul în funcție de codul acestuia.
Codul produsului este în acest moment câmpul „id”,dar în mod normal (o listă reală de produse) trebuie folosit câmpul „cod” care poate fi codul intern al produsului sau codul de bare.
Pozele afișate sunt cele de la img_1 la img_10 dacăîn baza de date nu sunt nule. Se cautăîn „/images/produse/” pozele cu numele ce apar în baza de date.
Descrierea folosită este ce în format HTML, găsită în baza de date.
Figura nr.16. Realizarea script- ului Produse similare în pagina Vezi-produs.php
Search.php
Caută în baza de date comparând termenul căutat cu numele produselor.
Reține forma de sortare precedentă (preț, stoc).
Figura nr.17. Realizarea script-ului de căutare în pagina Search.php
Coșul.php
Folosește variabile globale array pentru reținerea produselor, practic creează o matrice care va avea pe fiecare linie un produs cu toate detaliile necesare.
Cart-count.php din includes verifică dacă există array și numără produsele.
Cart- view.php culege datele din array și afișează produsele aflate în coș.
Cart-add.php adaugă produsul în variabila globală.
Cart-edit.php editează produsul folosind poziția acestuia.
Connect-db.php și cfg.php conțin datele de conectare la baza de date.
Figura nr.18. Realizarea coșului de cumpărături în pagina Coșul.php
Figura nr.19. Confirmarea comenzii unui produs
3.2.4. Prezentarea magazinului virtual al farmaciei SC HELPIS SRL
Figura nr.20. Pagina Home a farmaciei SC HELPIS SRL
Pagina Home este conține un header în care este atașată sigla și numele farmaciei, dar și starea coșului de cumpărături. În partea stângă este un meniu în care produsele sunt exprimate pe categorii: Produse pentru slăbit, Produse pentru femei, Suplimente nutritive, Dermatologice, Afecțiuni digestive, Afecțiuni cardiovasculare și Tratamente naturale. Tot în partea stângă a paginii putem observa o modalitate de plată în care putem plătii comanda la rambursare.
În centrul paginii am un slider, în care rulează mai multe imagini cu cele mai reprezentative produse din farmacie.
Figura nr. 21. Conținutul paginii
În partea stângă a paginii putem observa o altă modalitate de plată în care putem plătii comanda prin portalul PayPal care oferă cel mai sigur și mai rapid mod de plată online și reclama produselor.
Figura nr.22. Footer-ul magazinului online
În footer se pot observa un alt tip se meniu în care sunt indicate produsele recomandate de noi, modalitățile de plată, dar și adresa la care ne puteți contacta.
Figura nr.23. Căutarea produselor în subcategorii
Prin intermediul meniului avem posibilitatea de a căuta produsele mult mai ușor, deoarece sunt clasificate în subcategorii.
Figura nr.24. Informații suplimentare despre produse
Pentru fiecare produs avem posibilitatea de a afla informații suplimentare apăsând butonul Vezi produs. În partea dreaptă, lângă imaginea produsului care poate fi mărită avem prețul produsului cu TVA inclus, numărul de bucăți disponibile în stoc și cantitatea pe care dorim să o cumpărăm.
Figura nr.21. Vizualizarea coșului de cumpărături
În coșul de cumpărături avem posibilitatea de a modifica sau de a șterge comanda în cazul în care ne-am răzgândit sau dacă dorim mai multe cantități dintr-un anumit produs.
Figura nr.22. Pasul numărul 1- Completarea datelor de livrare
Pasul numărul 1 pentru trimiterea comenzii constă în creaeea unui cont sau să ne identificăm dacă avem deja unul. Penrtu crearea contului trebuie să completăm formularul cu datele de livrare care conține următoarele câmpuri: Nume, Prenume, CNP, Telefon, Oraș, Județ, Cod poștal, Email ce sunt obligatorii, mai puțin CNP și Cod poștal.
Figura nr.23. Pasul numărul 2- Forma de plată a comenzii
Pasul numărul 2 pentru trimiterea comenzii este reprezintat de forma de plată în care avem două posibilități: de a plăti online prin portalul PayPal, prin card VISA sau MasterCard sau de a plăti la rambursare. În cazul în care ne-am răzgândit asupra localității unde să fie trimisă comanda avem posibilitatea de a ne întoarce la pasul 1 pentru a face modificările dorite.
În coș a fost adăugat produsul pe care dorim să îl achiziționăm .
Figura nr.24. Pasul numărul 3 – Finalizarea comenzii
Pasul numărul 3 este reprezentat de verificarea comenzii care ne oferă posibilitatea de a modifica pașii anteriori în cazul care dorim să plătim comanda prin PayPal sau să facem orice modificare sau să trimitem comanda.
Figura nr.25. Confirmarea unei comenzi
După trimiterea comenzii primim un mesaj de confirmare a comenzii făcute, precum și un mesaj de mulțumire al societății.
Figura nr.26. Căutarea avansată a produselor
Avem posibilitatea de a realiza o căutare avansată a produselor, de exemplu după nume.
Figura nr.27. Rezutatul căutării unui anumit produs- Ceai verde extract
În această figură, am obținut rezutatul căutării unui anumit produs- Ceai verde extract în care avem posibilitatea de a citi mai multe informații apăsând butonul Vezi produs sau …mai mult>>.
Concluzii și propuneri
Prezenta lucrare a avut drept scop crearea unui site Web aferent activității companiei cu care am colaborat. Am optat pentru realizarea prezentei lucrări pornind de la considerentul că la acest moment, firma nu deține pagina și cu atât mai mult magazin de desfacere online.
Aplicația a fost creată la propunerea administratorului societății. Am realizat un magazin virtual pentru companie. Companiile concurente, în marea lor majoritate dețin o aplicație asemănătoare celei realizate de mine, deoarece ele au știut să aprecieze din timp și să conștientizeze faptul că a te face văzut prin intermediul internetului este un aspect deosebit de important care stă la baza generării profitului.
Astfel, o primă observație pe care aș dori să o menționez și pe care am remarcat-o încă de la primul contact cu societatea o constituie lipsa preocupării pentru efectuarea publicității și respectiv a promovării produselor oferite de societate.
Observația exprimată a fost tratată în mod corespunzător de către administratorul companiei și, mai mult decât atât acesta a conștientizat într-un interval de timp destul de scurt necesitatea existenței acestei aplicații, și practic a ajuns să o considere ca fiind indispensabilă.
Spusele afirmate anterior sunt susținute și de faptul că cele mai multe din companiile existente pe piață au pagini oficiale- pagini de prezentare a activității desfășurate sau pagini de vânzare a produselor online.
Altfel spus, administratorul societății a fost influențat și de companiile concurente în luarea deciziei în vederea solicitării efectuării prezentei aplicații.
A considerat necesar ca și farmacia pe care o administrează să promoveze și online, ca și celelalte companii vânzarea de produse pe internet, însă aceasta necesită existența unui magazin virtual, magazin în care produsele să fie prezentate ca și caracteristici și în mod ideal existența sau nu în stoc a produsului, prețul acestuia și mai cu seamă modalitatea de plată și obținerea produsului de către cumpărător (în ce termen sau condiții cumpărătorul primește produsul achiziționat).
Aplicația aduce satisfacții de ambele părți. Atât clienții vor fi multumiți de faptul că sunt informați în timp real cu privire la aspecte legate de:
caracteristicile produselor;
costul produsului,;
modalitatea de plată și
obținerea produsului de către cumpărător (în ce termen sau condiții cumpărătorul primește produsul achiziționat).
Clientul va avea la dispoziție toate aceste informații în timp real, fără a mai fi nevoiți să se deplaseze la farmacia menționată SC Helpis SRL , și fără alte costuri.
Lipsurile menționate le-am putut remarca datorită faptului că am efectuat stagiul de practică în cadrul SC Helpis SRL și am ocupat un post de operator- programator. Implicit am intrat în contact direct cu necesitățile firmei.
Realizarea magazinului virtual, creat la propunerea administratorului societății nu aduce așa cum am menționat anterior beneficii doar clienților farmaciei ci și, în mod special societății.
Aceste beneficii le putem explica din considerentul că numărul clienților va crește considerabil, cresterea acestui număr o putem corela cu menținerea costurilor farmaciei la același nivel sau mai mult decât atât chiar cu o scădere a nivelului cheltuielilor generale, și anume, o dată cu realizarea acestui magazin online clienții își vor putea achiziționa produsele dorite fără a se impune existența unui număr ridicat de personal.
Pornid de la aceste considerente, mai sus menționate, mi s-a propus o colaborare în vederea asigurării mentenanței și update-rii bazei de date aferente magazinului virtual.
Interesul manifestat pentru punerea în practică a colaborării menționate a fost cu atât mai ridicat cu cât după vizualizarea și prezentarea aplicației realizate, administratorul a considerat că aplicația este una foarte accesibilă clienților și ușor de utilizat, și care satisface la un nivel înalt toate necesitățile care pot surveni în viața oricărei persoane.
Bibliografie
Cărți
[1]. Olga Chicu,”Limbajul HTML”,Ed.Evrica, Chișinău,2011
[2]. Felicia Ionescu, Baze de date relaționale și aplicații, Editura Tehnica, București, 2004
[3]. Ion Ivan, Felician Alecu- Structuri HTML, Editura ASE, Bucuresti, 2005
[4]. Ion Ivan, Cătălin Boja – Metode Statistice în analiza software, Editura ASE, București, 2004
[5]. Ion Ivan, Cătălin Boja- Practica optimizării aplicațiilor informatice, Editura ASE,București, 2007
[6]. Ion Ivan, Doru Ungureanu,Adrian Pocovnicu – Structuri de date, Ghid pentru elaborarea proiectelor, Editura ASE, București, 2003
[7].Valer Roșca,Constantin Apostol, Ion Ivan, Sergiu Coman, Ion Gh. Roșca- LIMBAJE DE PROGRAMARE, metoda programatorului șef, Editura ASE, București, 1979
[8]. Ion Ivan, Romica Adam – Structuri De Date,Editura QED, București, 1992
[9]. Ion Ivan- PROGRAMAREA STANDARD,Editura LITERA, București, 1981
[10]. Ion Ivan, Paul Pocatilu, Doru Cazan (Coordonatori) – PRACTICA DEZVOLTARII SOFTWARE IN LIMBAJE DE ASAMBLARE, Lito ASE, București, 1979
[11]. Teodoru Gugoiu- HTML prin exemple, Editura:Teora, 2002
[12].Vaswani Vikram- MySql. Utilizarea si administrarea bazelor de date MySQL, Editura
ROSETTI EDUCAȚIONAL
[13]. Fehily Chris- SQL, Editura ALL
[14].Rodica Mihalca, Ioan Odăgescu, Ion Ivan, Ileana Trandafir, Alexandru Balog, Viorel Dobrescu – Programe aplicative, Lito ASE, București, 1993
[15]. HTML, XHTML, and CSS Bible, 5th Edition- Steven M. Schafer, 2010
Site-uri
[1]. http://www.e-learn.ro/tutorial/html/i-ce-inseamna-htmla/74/1/117.htm
[2]. http://www.phpforkids.com/references/references.php
[3]. http://www.biblioteca-digitala.ase.ro/biblioteca/pagina2.asp?id=cap4
[4]. http://www.biblioteca-digitala.ase.ro/biblioteca/carte2.asp?id=458&idb
[5]. http://php.net/manual/ro/intro-whatis.php
[6]. http://php.net/manual/ro/security.intro.php
[7]. http://www.hfdesign.ro/ce-poate-face-php/
[8]. https://php.net/manual/ro/intro-whatcando.php
[9]. http://www.hfdesign.ro/notiuni-de-baza-css/
[10]. http://devilx.dust.tv/t165-tutorial-scripturi-css
[11]. http://archive-ro.com/ro/h/hfdesign.ro/2013-04-20_1900094_25/Ce_poate_face_PHP/
[12]. https://www.yumpu.com/ro/document/view/28613613/capitolul-3/3
[13].http://www.cursuricibernetica.info/anul-2-semestrul-1/baza-de-date/elementele-de-baza-ale-limbajului-sqlplus/
[14]. http://cursuri21.rssing.com/chan-11315331/all_p2.html
[15]. http://stylegame.forumers.ro/t121-stiluri-pentru-fonturi
[16]. http://ro.wikipedia.org/wiki/SQL
[17]. https://en.wikipedia.org/wiki/WampServer
[18].https://ro.wikipedia.org/wiki/Localhost
[19].http://www.wampserver.com/en/
[20]. http://www.blasterzone.ro/127-0-0-1-la-ce-se-foloseste-si-de-ce-este-atat-de-important/
[21]. http://whatismyipaddress.com/localhost
Tabelul nr.4. Evoluția indicatorilor pe perioada 2010-2014
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Web Design (ID: 150783)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
