Aplicatii de Tip Magazin Online
Cuprins
Capitolul 1 Introducere 3
Capitolul 2 Introducere în aplicațiile de tip magazin online 5
2.1 Internetul 5
2.2 Magazinele online și importanța lor azi 7
2.2.1 Avantaje 8
2.2.2 Dezavantaje 8
2.3 Dezvoltarea magazinelor online 10
2.4 Chat-ul online 11
2.5 Importanța unui chat într-un magazin online 12
2.6 Tehnici de realizare a chat-urilor 14
2.7 Securitatea chat-urilor 16
Capitolul 3 Instrumente folosite pentru realizarea proiectului 18
3.1 HTML 18
3.2 PHP 21
3.3 Baze de date 22
3.4 CSS 24
Capitolul 4 Dezvoltarea unei aplicații de tip chat pentru un magazin online 25
4.1 Proiectarea unei aplicații de tip magazin online 25
4.1.1 Obiective 25
4.1.2 Baza de date 25
4.2 Dezvoltarea aplicației de tip chat pentru un magazin online 30
4.2.1 Obiective 30
4.2.2 Structura chat-ului 30
4.2.3 Baza de date 32
4.2.4 Schema de realizare 33
Concluzii 48
Bibliografie 49
Capitolul 1 Introducere
Tema aleasă “Aplicație suport clienți de tip chat pentru un magazin online” dezvolta o aplicație de tip chat pentru un magazin online în scopul de a ajuta clienții pentru a se informa mai bine sau pentru a primi suport tehnic.
Aplicația se va dezvolta cu ajutorul mai multor aplicații și limbaje de programare. Aplicațiile folosite sunt: un editor de text (“Notepad++”), un program cu care să se modeleze baze de date și care să funcționeze și pe post de sever (“Wamp”); iar limbajele sunt: “HTML”, “PHP”, “CSS” și “MySQL”.
Primul capitol “Introducere în aplicațiile de tip magazin online” reprezintă o introducere în subiectul magazinelor online. În acest capitol se găsesc informații despre: Internet (ce este Internetul, evoluția și importanța lui),
despre magazinele online în general (importanța lor, cum funcționează, avantaje și dezavantaje),
despre dezvoltarea magazinelor online (metode de dezvoltare),
despre chat-ul online în general (ce este un chat, tipuri de chat, importanța lui),
despre importanța unui chat într-un magazin online (impactul asupra utilizatorilor, pentru ce este utilizat, comunitățile online),
despre tehnici de realizare a chat-ului (aplicațiile cu care se modelează un chat, ce fișiere trebuie să conțină)
și despre securitatea chat-urilor (ce sunt atacurile cibernetice, metode de a spori securitatea într-un chat).
În cel de-al doilea capitol “Instrumente folosite pentru realizarea proiectului” sunt prezentate informații despre limbajele folosite în realizarea aplicației :
HTML(ce este, pentru ce se folosește, exemple de tag-uri obligatorii și opționale),
PHP (ce este, pentru ce se folosește, programne necesare),
Baze de date (ce sunt, tipuri de baze de date, comenzi uzuale),
CSS (ce este, pentru ce este folosit, avantaje și dezavantaje).
Cel de-al treilea capitol “Dezvoltarea unei aplicații de tip chat pentru un magazin online” conține toate informațiile despre cum a fost realizat proiectul. Acest capitul este împărțit în două subcapitole: “Proiectarea unei aplicații de tip magazin online” și “Dezvoltarea aplicației de tip chat pentru un magazin online”.
Primul subcapitol conține informații despre cum a fost creată aplicația de tip magazin online cum ar fi:
obiective (obiectivele realizării aplicației),
baza de date folosită (conținutul bazei de date: tabele, câmpuri, tipurile de date),
din ce este format proiectul (structura proiectului).
Al doilea subcapitol conține toate informațiile referitoare la crearea și conținutul aplicației de tip chat pentru un magazin online. Aceste informații sunt:
obiective (obiectivele realizării aplicației),
structura aplicației (pașii ce trebuie parcurși pentru a intra în chat, pentru logare,
pentru accesarea chat-ului, pentru delogare),
baza de date folosită (conținutul bazei de date: tabele, câmpuri, tipurile de date)
și schema de realizare (fișierele pe care le conține aplicația, ce conține fiecare fișier, de ce tip este, ce limbaje s-au folosit, ce instrumente și coduri s-au folosit).
Aplicația de tip chat pentru un magazin online își propune să sprijine dezvoltarea magazinelor online, venind în sprijinul utilizatorilor. Cu ajutorul acestei aplicații utilizatorii vor putea să se informeze mult mai bine înainte sau după cumpărarea unui anumit produs al magazinului online, sau vor putea primi suport din partea unor persoane specializate în domeniu.
Capitolul 2 Magazinele online și importanta comunicării dintre clienții acestora
2.1 Evoluția Internetului
Internetul (cuvântul provine din unirea parțială a două cuvinte englezești: “interconnected”=interconectat și “network”=rețea) reprezintă un sistem de rețele de calculatoare, la nivel mondial, care servește la servicii de comunicare a datelor. Calculatoarele dintr-o rețea de Internet sunt interconectate conform protocoalelor “Transmission Control Protocol” și “Internet Protocol” (TCP/IP). Aceste protocoale sunt de fapt niște reguli de comunicare și servesc la menținerea conexiunii intacte chiar dacă unele mașini sau linii de transmisie se opresc brusc. Pentru a face față acestor condiții modelul TCP/IP are patru niveluri: “Aplicație”, “Transport”, “Rețea” și “Acces la Rețea”.
Internetul a evoluat foarte mult în ultimii aproximativ 10 ani, fiind aproape indispensabil oamenilor din ziua de azi. Pentru orice informație pe care ei doresc să o afle au nevoie de doar câteva minute pentru a o căuta, motoarele de căutare de pe Internet înlocuind cu succes căutarea clasică de informații în cărți, reviste de specialitate, dicționare, etc.
Oamenii folosesc Internetul pentru aproape orice activitate zilnică:
-pentru activități culturale(de exemplu pentru a se documenta în diverse domenii de interes, pe internet putând fi găsite cu ușurință foarte multe informații din toate domeniile;
-pentru a citi cărți;
-pentru a participa la cursuri interactive;
-pentru a învăța să folosească diverse aplicații cu ajutorul tutorialelor de pe internet);
-pentru divertisment(de exemplu pentru a citi ziare, reviste, pentru a asculta muzică, a viziona filme, pentru a juca jocuri interactive în rețea, pentru a folosi televiziunea prin internet);
-pentru comunicare(de exemplu pentru a comunica în timp real cu persoane aflate la mare distanță cu ajutorul e-mail-ului sau a chat-ului;
-pentru a transfera diverse date de tip text, imagine, sunet, video;
-pentru a folosi telefonia prin internet, un lucru destul de important ar fi faptul că este gratuită;
-pentru a folosi telefonia cu video în timp real, fiind de asemenea gratis).
Aproape toate domeniile de activitate au fost transpuse pe internet și dezvoltate.
Internetul are însă și părți negative: se pot transmite viruși foarte dăunători, unii utilizatori îi pot pune în pericol pe alții, se pot transmite aplicații nedetectabile care spionează activitățile oamenilor pe Internet și după ce au colectat suficiente date le fură acestora din conturile bancare.
Pentru a transpune o aplicație web pe Internet este nevoie de un furnizor care să găzduiască păgâne. Acești furnizori dispun de servere performante capabile să găzduiască mai multe site-uri simultan.
2.2 Importanta magazinelor online
Un astfel de domeniu care s-a dezvoltat mult cu ajutorul Internetului este e-commerce (comerț electronic). Cu ajutorul comerțului electronic se poate cerceta piață, se pot încheia contracte sau tranzacții de afaceri sau se pot derula vânzări, se pot achiziționa și distribui diverse produse cu ajutorul magazinelor electronice(online).
În ziua de azi oamenii sunt foarte ocupați și nu mai au timp să se deplaseze până la diverse magazine,să stea la cozi interminabile sau să cerceteze piață pentru a găsi lucrurile preferate la un preț convenabil. Datorită Internetului și a magazinelor online acest lucru a devenit mult mai comod, necesita mult mai puțin timp și se poate face de oriunde(acasă, serviciu, etc.).
Astfel, oamenii pot căuta produsele necesare și le pot comanda de pe magazinele online. Acest lucru necesita foarte puțin timp, iar produsele vor fi livrate direct la locuința clienților.
Un magazin online este practic un magazin clasic transpus într-un mediu virtual. Acesta are nevoie de mult mai puține resurse decât un magazin fizic, fiind nevoie doar de un software (pagină web), de un site care să găzduiască software-ul și de un parteneriat convenabil cu o firmă de curierat.
Software-ul reprezintă magazinul propriu-zis și sistemul de gestionare și management al magazinului.
Pentru că magazinul online să nu întâmpine probleme de funcționare este nevoie de un site care oferă găzduire web de calitate.
Transportul produselor poate fi o problemă destul de importantă deoarece clienții nu sunt dispuși să îl plătească, iar reprezentanții magazinelor online va trebui să găsească o soluție convenabilă pentru a nu cheltui foarte mult cu firmele de curierat.
2.2.1 Avantajele magazinelor online
Magazinele online prezintă anumite avantaje destul de considerabile:
-dispar costurile pentru închirierea sau cumpărarea unei locații pentru un magazin fizic; dispar costurile pentru angajarea unui personal specializat numeros;
-spatiul pentru depozitarea mărfii este mai redus, poate fi extins sau modificat foarte repede cu costuri foarte mici, iar pentru acestea magazinul nu trebuie închis temporar ca în cazul magazinelor clasice;
-reclama poate fi gratuită;
-nu se mai pierde timpul cu clienții care vor să se privească sau să încerce produsele fără a le cumpăra deoarece într-un magazin online comandă doar acei clienți care sunt siguri de achiziție;
-magazinele online sunt deschise permanent, iar o comandă se poate face în orice moment;
-anumite produse (de exemplu produse electronice) cumpărate dintr-un astfel de magazin pot fi restituite într-un termen de câteva zile în cazul în care clientul nu este mulțumit de produs ori produsul nu este conform.
2.2.2 Dezavantajele magazinelor online
Există însă și anumite dezavantaje în cazul magazinelor online, precum:
-multi dintre clienți nu au încredere în produsele pe care doar le văd într-o poză și nu le pot controla fizic pentru a le verifica starea și calitatea, în consecință unele produse nu pot fi vândute într-un magazin online (de exemplu legume, fructe, produse proaspete neambalate, etc.);
-clientii nu mai sunt tentați să cumpere în grabă produse de care nu au nevoie doar pentru că arată foarte bine, iar vânzările sunt nai mici;
-produsele nu se pot achiziționa pe loc, clienții fiind nevoiți să aștepte livrarea produselor;
-nu toți posibilii cumpărători știu să folosească un calculator sau au acces la internet (de exemplu oamenii în vârstă), acest lucru micșorând numărul clienților.
Magazinele online folosesc anumite strategii pentru a crește vânzările și a atrage noi clienți, interacționând cu aceștia:
-folosesc newsletter-uri (care conțin anumite oferte ale produselor) la care se pot abona clienții;
-le trimit e-mail-uri de informare clienților despre produse noi, produse reintroduse în stoc sau oferte.
Promovarea acestor magazine se face în mare parte tot pe Internet datorită faptului că o mare parte din populația lumii îl accesează foarte des, iar TV-ul, ziarele sau revistele nu mai au un impact la fel de mare asupra oamenilor. Reclamele se fac mai rapid și se pot distribui mai eficient. Mare parte din site-urile de pe Internet au încorporate reclame, acest lucru fiind mult mai benefic decât alte metode de a promova reclame.
Magazinele online au o importanță mai mare pe măsură ce timpul trece pentru că sunt o metodă simplă, comodă și utilă de a face cumpărăturile fără a fi nevoie să se piardă timp și bani ca în cazul magazinelor clasice.
2.3 Dezvoltarea magazinelor online
Magazinele online se dezvolta continuu pentru a satisface nevoile și cerințele clienților, lucru ce favorizează și vânzările, dar și încrederea acestora.
Pentru a se dezvolta și pentru a fi pe placul clienților, un astfel de magazin poate recurge la anumite procedee:
-schimbarea design-ului în unul mai frumos și mai atractiv;
-introducerea unei des, iar TV-ul, ziarele sau revistele nu mai au un impact la fel de mare asupra oamenilor. Reclamele se fac mai rapid și se pot distribui mai eficient. Mare parte din site-urile de pe Internet au încorporate reclame, acest lucru fiind mult mai benefic decât alte metode de a promova reclame.
Magazinele online au o importanță mai mare pe măsură ce timpul trece pentru că sunt o metodă simplă, comodă și utilă de a face cumpărăturile fără a fi nevoie să se piardă timp și bani ca în cazul magazinelor clasice.
2.3 Dezvoltarea magazinelor online
Magazinele online se dezvolta continuu pentru a satisface nevoile și cerințele clienților, lucru ce favorizează și vânzările, dar și încrederea acestora.
Pentru a se dezvolta și pentru a fi pe placul clienților, un astfel de magazin poate recurge la anumite procedee:
-schimbarea design-ului în unul mai frumos și mai atractiv;
-introducerea unei varietăți mai mari de produse;
-folosirea unor reclame propice;
-folosirea unor aplicații cu ajutorul cărora clienții să dea calificative produselor cumpărate sau să lase comentarii;
-folosirea unor aplicații de tip forum sau chat menite să ajute clienții să comunice între ei sau cu personalul specializat despre produsele și serviciile magazinului;
Folosirea aplicațiilor care le permit clienților să comunice este foarte importantă deoarece ei se pot documenta mai bine despre un produs, pot citi opiniile altor clienți despre produs sau pot primi ajutor de la persoanele specializate din magazin în timp real.
2.4 Chat-ul – mijloc de comunicare
Pe internet există două feluri de comunicare:”online” și “offline”. Comunicarea online se desfășoară în timp real (de exemplu chat-urile), în timp ce comunicarea offline este indirectă (de exemplu e-mail-urile).
Cu ajutorul comunicării online mesajele sunt transmise și recepționate instantaneu, spre deosebire de comunicarea offline unde utilizatorii nu sunt mereu conectați și poate dura mult ca aceștia să interacționeze.
Chat-ul online reprezintă orice fel de comunicare în timp real pe Internet. Cu ajutorul chat-ului online utilizatorii își pot trimite între ei mesaje text sau fișiere. Mesajele text care se trimit pe un chat sunt în general scurte pentru că utilizatorii să răspundă rapid, iar aceștia nu se pot vedea sau auzi.
Chat-ul se deosebește de celelalte mijloace de comunicare online prin faptul că permite utilizatorilor să aibă o conversație foarte asemănătoare cu una vorbită.
Într-o sesiune de chat pot participa două sau mai multe persoane. O sesiune de chat cu 2 participanți se caracterizează prin intimitatea de care au parte participanții, ei se adresează direct unul celuilalt, își pot dezvolta un limbaj familiar format din cuvinte și expresii folosite doar de ei, iar subiectul discuției poate fi oricând schimbat.
În schimb, într-o sesiune de chat cu mai mulți participanți subiectul discuției este prestabilit și nu poate fi schimbat deloc ușor, unui participant îi este imposibil să selecteze un anumit destinatar al mesajului său, comunicarea asemănându-se mai mult cu discurs.
Faptul că participanții unei sesiuni de chat nu se pot vedea și auzi este foarte important datorită faptului că în timpul comunicării lipsesc total limbajul corpului, intonația și intensitatea vocii, iar participanții pot avea probleme de înțelegere a mesajului său pot tinde să nu creadă cuvintele pe care le citesc.
2.5 Importanța unui chat într-un magazin online
Chat-ul are o importanță foarte mare pentru un site web deoarece ajuta la creșterea eficienței și la sporirea încrederii oamenilor în acel site. Este cazul și magazinelor online unde toți oamenii vor să se informeze înainte de a cumpăra ceva.
Instalarea unui software de chat într-un magazin virtual poate atrage mulți clienți noi și îi poate determina și pe actualii clienți să apeleze din nou la serviciile aceluiași magazin, ceea ce este un lucru foarte important.
Oamenii din ziua de azi sunt obișnuiți să comunice cu ajutorul chat-urilor și acest lucru determina tot mai multe magazine online să apeleze la acest mijloc de comunicare pentru a se dezvolta și pentru a prospera.
Cu ajutorul chat-urilor acest tip de magazine pot acorda suport tehnic clienților, le pot permite acestora să discute între ei despre anumite produse (de exemplu despre calitatea acelui produs), despre nivelul de încredere pe care îl au în acel magazin, despre cât de convenabile sau nu sunt în general prețurile în acel magazin, clienții pot primi recomandări pentru anumite produse de care au nevoie, pot verifica locul în care se afla produsele comandate și durata până la expediere.
Chat-ul permite magazinelor să fie mai aproape de clienți, să le capteze atenția mai ușor, să îi informeze mai bine despre anumite lucruri, să îi înțeleagă mai bine și să le ofere servicii pe măsură așteptărilor. Aceste lucruri ajuta ambele părți să beneficieze de mai multe avantaje și posibilități.
Se pot crea comunități de oamenii care folosesc acele chat-uri pentru a se ajuta reciproc și pentru a fi mereu la curent cu ce se întâmplă. Acest lucru sporește substanțial de mult încrederea oamenilor în respectivele magazine online.
O comunitate este reprezentată de un grup de oameni care se cunosc sau nu și care comunica prin Internet (pe chat-uri, forum-uri, blog-uri). Există diferite comunități virtuale pentru aproape toate domeniile de interes. Membrii unei comunități nu leagă relații apropiate, ci strict legate de subiectul discuției.
Membrii unei comunități adesea când comunica aleg să fie ei înșiși sau să joace un rol precum actorii. Ei aleg să joace acest rol pentru că acesta le permite să fie așa cum vor ei și să vorbească în alt mod decât o fac de obicei.
Avantajele comunităților virtuale sunt:
-ajutorul acordat reciproc de către membrii,
-acumularea de multe cunoștințe noi într-un anumit domeniu,
-motivatia de a aparține unui grup.
Un dezavantaj al comunităților virtuale este faptul că din ele pot face parte și membrii care vor doar să pună în pericol ceilalți membrii (de exemplu hoți, criminali). Un alt dezavantaj ar putea fi faptul că membrii unei comunități tind să comunice exclusiv prin intermediul Internetului, iar acest lucru ar putea afecta capacitatea acestora de a interacționa cu lumea reală.
2.6 Tehnici de realizare a chat-urilor
Crearea unui software de tip chat necesita cunoștințe în limbajele C, HTML, MySQL, PHP, CSS și eventual JQuery sau AJAX(bazate pe JavaScript), iar pentru a lucra cu aceste limbaje este nevoie de un editor de texte care să decodeze aceste limbaje și de un program special cu care să se poată crea și modela o bază de date în limbajul MySQL, dar și care să acționeze ca un server pentru a putea vedea cum ar arăta și cum s-ar comporta chat-ul dacă ar fi încărcat pe Internet (cel mai des utilizate astfel de programe sunt “Wamp” și “Xampp”). Cele mai des utilizate editoare sunt “Notepad” (care este preinstalat pe toate calculatoarele cu sistem de operare “Windows”, fiind o versiune standard) sau “Notepad++” (care trebuie instalat de către utilizator și este o versiune mult mai evoluată a lui “Notepad”, ajutând mult utilizatorul în procesul de editare).
Chat-urile sunt de fapt niște pagini web programate să preia mesajele text pe care utilizatorii le introduc, să le salveze într-o bază de date sau într-un fișier text și să le afișeze astfel încât toți participanții la chat să le poată vedea, iar toate aceste lucruri trebuie să se întâmple în timp real.
Pentru că chat-ul să funcționeze nu este necesar doar să scriem codurile în editorul de texte, trebuie să salvăm fișierele cu o extensie potrivită.
Toate fișierele pe care le conține un chat sunt de fapt fișiere text (“ .txt ”) salvate cu diferite extensii în funcție de limbajul folosit (pentru HTML extensia “ .html ” sau “ .htm ”; pentru PHP extensia “ .php ”; pentru CSS extensia “ .css ”; pentru JQuery extensia “ .js ”; pentru MySql baza de date se exporta, salvându-se într-un fișier cu extensia “ .sql ”).
Cu ajutorul limbajului HTML se creează pagină web propriu-zisă. Se folosesc tag-urile obligatorii oricărei pagină web, dar și tag-uri specifice pentru a o contura.
Cu ajutorul limbajului CSS se “înfrumusețează” pagina creată, adăugând culori și efecte vizuale tag-urilor deja create.
Limbajul PHP seamănă foarte mult cu limbajul C, iar dacă utilizatorul îl cunoaște pe cel din urmă automat îi va fi foarte ușor să învețe să utilizeze PHP. Cu ajutorul acestui limbaj practic se programează pagină web să acționeze ca un chat. Acest lucru se poate face și cu limbajul JQuery.
Cu ajutorul limbajului MySQL se poate crea o bază de date specifică în care se pot salva și modifica toate conversațiile chat-ului. Comenzi din acest limbaj se adăugă în codurile limbajului PHP, acesta din urmă recunoscându-le.
Sunt mai multe moduri prin care o pagină web este programată și transformată într-un chat.
-in primul rând trebuie creată pagină web propriu-zisă cu ajutorul limbajului HTML;
-pagina creată trebuie făcută să arate atractiv, iar acest lucru se poate face ori cu ajutorul comenzilor CSS într-un fișier separat, ori cu ajutorul tag-urilor speciale din HTML, ori cu template-uri deja definite (există template-uri gratuite care se pot descărca și utiliza, sau template-uri care trebuie cumpărate);
-chat-ul poate fi făcut să funcționeze doar cu ajutorul comenzilor din PHP (un chat simplu);
-chat-ul poate fi făcut să funcționeze și cu ajutorul comenzilor din JQuery și PHP;
-se pot crea și chat-uri sub forma unor mici ferestre pop-up cu ajutorul limbajului JQuery;
-trebuie create formulare pentru că utilizatorii să își creeze cont-uri sau să se autentifice (cu ajutorul limbajelor HTML și PHP);
-conversatiile trebuie memorate, iar acest lucru se poate face în limbajul PHP fie într-o bază de date (adăugând comenzi MySQL), fie într-un fișier text simplu;
-conversatiile pot fi afișate pe ecran fie preluându-le din tag-ul în care au fost scrise, fie apelate din baza de date.
2.7 Securitatea chat-urilor
Un nivel ridicat de securitate a unui chat pentru un magazin online trebuie menținut atât de către administratorii chat-ului, cât și de către utilizatori.
Administratorii chat-ului trebuie să găsească și să aplice niște metode foarte bune de împiedica atacurile și de a proteja fișierele pe care le administrează. Unii administratori de chat-uri dețin chiar aplicații software speciale care scanează conversațiile utilizatorilor și detectează discuțiile care ar putea pune în pericol utilizatorii, în cazul unor posibile activități criminale, unui limbaj și comportament suspiciose, anunțând autoritățile.
Utilizatorii chat-ului sunt foarte predispuși unor atacuri cibernetice. Ei pot primi viruși (în mare parte de la persoane necunoscute), li se pot fura conturile, parolele și datele personale de către hackeri care le utilizează pentru cauza daune. Pentru că acest lucru să nu se întâmple ei trebuie să ia niște măsuri preventive.
Atacurile asupra fișierelor chat-ului se pot datora utilizării și administrării necorespunzătoare a acestora sau a anumitor administratori care vor să facă rău și să creeze daune companiei. Un astfel de atac duce la divulgarea datelor importante ale companiei și a datelor personale ale utilizatorilor.
Atacurile asupra utilizatorilor chat-ului se pot datora neatenției acestora, alegerea unor parole care se pot descifra ușor, alegerea acelorași parole pentru mai multe conturi, datorită încrederii pe care le-o oferă unor persoane necunoscute cu care discuta pe chat.
Pentru a avea o securitate cât mai puternică atunci când utilizează un chat dintr-un magazin online, utilizatorii pot recurge la câteva măsuri de prevenire cum ar fi:
-alegerea unor parole cât mai complexe. O parolă cu un risc mic de descifrare trebuie:
-sa conțină cel puțin 6 caractere;
-sa nu conțină caractere care sunt dispuse învecinat pe tastatură;
-sa nu fie formată dintr-un cuvânt real care se poate găsi în dicționar;
-sa nu reprezinte informații personale care pot fi aflate cu ușurință;
-sa nu fie aceeași cu a altui cont deținut de aceeași persoană;
-sa conțină toate tipurile de caractere (litere mari și mici, cifre, semne grafice);
-caracterele parolei să fie dispuse într-un mod cât mai aleatoriu;
-unele litere să fie înlocuite cu cifre care se aseamănă la aspect (de exemplu litera “t” cu cifra “7”, litera “e” cu cifra “3”, etc.).
-evitarea dezvăluirii datelor personale unor persoane străine;
-evitarea acceptării de fișiere de la persoane străine (acestea pot conține viruși);
Virușii reprezintă niște programe mici care se instalează singure și care pot să provoace daune foarte mari atât în elementele software ale calculatorului (de exemplu fișierele din memorie), cât și în elementele hardware (de exemplu hard disk-ul).
Capitolul 3 Instrumente folosite pentru realizarea proiectului
3.1 HTML
HTML(HyperText Markup Language) este un limbaj de marcare ce nu utilizează comenzi sau instrucțiuni, ci etichete. Etichetele se mai numesc și tag-uri.
HTML se folosește pentru a crea pagini web pe care le putem vizualiza într-un browser. Acest limbaj indica browserului cum să redea anumite texte, imagini, formulare, tabele, etc. Pentru asta se pot crea scripturi simple(de exemplu: modificarea fontului și a culorii textului textului) sau scripturi complexe(de exemplu: folosirea unor baze de date, a unor grafice sau statistici). Documentele HTML au extensia „ .html ” sau „ .htm ”. Scrierea și formatarea unui document HTML se poate face cu ajutorul unor editoare(de exemplu: Notepad, Wordpad, Dreamweaver).
În mare parte tag-urile unui document HTML sunt perechi, fiind alcătuite dintr-o parte de început care deschide tag-ul și o parte de sfârșit care îl închide(de exemplu: „<HTML>…</HTML>”). Există însă și tag-uri singulare, care nu au o parte de închidere(de exemplu: „<BR>”).
Structura unui fișier HTML este următoarea:
<HTML>
<HEAD>
<TITLE> … </TITLE>
</HEAD>
<BODY>
…
</BODY>
</HTML>
Tag-urile <HTML> și </HTML> sunt cele mai importante deoarece acestea comunica browser-ului faptul că documentul respectiv este deschis și editat în limbajul HTML.
<HEAD> și </HEAD> sunt tag-urile ce reprezintă antetul paginii. În antet pot fi introduse și tag-urile <TITLE>, respectiv </TITLE> pentru a putea fi formatat titlul paginii.
<BODY> și </BODY> reprezintă corpul paginii. Aici se introduc toate marcajele care formatează corpul paginii web.
Organizarea unui fișier de tip text se numește și formatare. Aceasta se poate face la nivel de document, la nivel de paragraf sau la nivel de caracter.
Formatarea la nivel de document se referă la formatul paginii(A3, A4, A5), la marginile paginii, la așezarea în pagina(de exemplu: pe lățime, pe lungime).
Formatarea la nivel de paragraf se referă la spațial dintre liniile unui paragraf, spațiul dintre paragrafe și alinierea unui paragraf.
Formatarea la nivel de caracter se referă la spațiul dintre caractere, tipul și dimensiunea caracterelor.
Pentru că aceste tipuri de formatare să poată fi realizate într-o pagină web trebuie folosite niște tag-uri specifice.
Exemple de tag-uri des folosite pentru formatare:
<P>…</P> reprezintă un paragraf.
<BR> încheie un rând al documentului și trece la o linie nouă.
<FONT> … </FONT> formatează atributele textului.
<CENTER> … </CENTER> centrează în pagina conținutul.
<B> … </B> caracterele dintre aceste tag-uri vor fi transformate în caractere aldine(îngroșate).
<I> … </I> caracterele dintre aceste tag-uri vor fi transformate în caractere cursive(înclinate).
<A> … <A> reprezintă o ancoră ce poate fi folosită pentru a lega mai multe pagini web între ele.
Unele tag-uri pot avea și parametri (de exemplu:
<BODY> … </BODY> pot avea BACKGROUND – pentru a pune o imagine pe fundalul paginii, BGCOLOR – pentru a specifica o culoare pentru fundalul paginii, TEXT – pentru culoarea textului din document, ALINK – pentru culoarea unui link activ din document, LINK – pentru culoarea link-urilor nevizitate din document, VLINK – pentru culoarea link-urilor vizitate din document;
<FONT> … </FONT> pot avea SIZE – pentru dimensiunea caracterelor, FACE – pentru fontul caracterelor, COLOR – pentru culoarea caracterelor;
<A> … </A> pot avea parametrul HREF care reprezintă o referință hypertext care ia valoarea adresei URL cu care se dorește să se facă legătura ).
Documentele HTML conțin numai tag-uri și textul propriu-zis al paginii, iar conținutul acestora (sursa) poate fi vizualizat de oricine utilizând orice tip de browser.
3.2 PHP
PHP(Hypertext Preprocessor) este un limbaj de programare web folosit pentru a dezvolta pagini și aplicații web. PHP poate fi folosit pentru a executa anumite comenzi, pentru a deschide conexiuni pe server sau pentru a accesa anumite fișiere. PHP poate afișa texte, imagini, fișiere PDF și se pot modela baze de date. Limbajul PHP este foarte asemănător cu limbajul C și poate fi introdus în orice document HTML. Fișierele care conțin coduri PHP trebuie să fie salvate cu extensia “ .php ”.
Aplicațiile PHP oferă suport pentru modelarea bazelor de date (recunoaște și operează cu limbaje SQL), suport pentru cookies (fișiere ce stochează date despre utilizatori, salvându-le în navigatorul client), suport pentru a încărca fișiere pe Internet (upload).
Limbajul PHP da posibilitatea utilizatorului să scrie un cod scurt (în comparație cu un alt limbaj de programare; de exemplu C) într-o pagină HTML pentru a programa o acțiune precisă.
Pentru că o pagină HTML să recunoască instrucțiunile PHP trebuie ca acestea să fie incluse între două tag-uri speciale:“ <?php ” și “ ?> ”. Se pot utiliza și tag-urile prescurtate “ <? ” și “ ?> ”, dar pentru că acestea să funcționeze corect trebuie să se configureze directivele fișierelor. Dacă un fișier conține doar coduri PHP este recomandat să se omită scrierea tag-ului de închidere deoarece utilizatorul poate scrie din greșeală caractere sau spații după tag-ul de sfârșit, iar acest lucru poate cauza efecte nedorite paginii.
Pentru a scrie și verifică fișierele PHP trebuie instalat un program care să acționeze ca un server și care să poată afișa fișierele așa cum ar fi afișate dacă ar fi încărcate pe Internet. Codurile PHP sunt executate direct pe server (spre deosebire de alte limbaje ca Javascript care execută codurile în browser), iar acest lucru le permite să acceseze fișiere, baze de date și alte resurse.
3.3 Baze de date
Bazele de date(BD) reprezintă un grup de date(înregistrări) asemănătoare(înrudite), interconectate,care sunt memorate pe un dispozitiv de stocare. Unor înregistrări ale unei baze de date se pot atribui informații de tip numeric, text sau reprezentări grafice. Bazele de date se pot accesa, modifică și extinde ușor cu ajutorul unui Sistem de Gestiune a Bazelor de Date(SGBD). Un sistem de gestiune a bazelor de date este un software complex care controlează și administrează o bază de date.
Bazele de date sunt de două feluri: ierarhizate și relaționale.
Bazele de date ierarhizate folosesc o structură arborescenta pentru a memora informațiile într-un singur fișier. Datele din acest tip de baze de date de multe ori se repeta, folosind mult spațiu.
Bazele de date relaționale permit descompunerea datelor în mai multe părți care sunt salvate în mai multe fișiere și care pot fi accesate și utilizate în mai multe înregistrări.
Pentru a accesa o bază de date, utilizatorul trebuie să introducă anumite interogări(query) într-un limbaj specific. Cel mai folosit limbaj pentru modelarea bazelor de date este SQL(Structured Query Language). Cu ajutorul limbajului SQL se pot defini, include, însera, șterge, găsi sau modifica datele stocate într-o bază de date.
Comenzi uzuale pentru definirea datelor:
“CREATE DATABASE nume_baza_de_date” – crează o bază de date.
“CREATE TABLE nume_tabel
(câmp1 tipul_datelor(mărime),
câmp2 tipul_datelor(mărime),
câmp3 tipul_datelor(mărime)…)” – crează un tabel, specifică structura acestuia, precum și tipurile și mărimea datelor.
“DROP TABLE nume_tabel” – șterge un tabel din baza de date.
“ALTER TABLE nume_tabel
ADD nume_câmp tip_date” – adaugă un câmp la un tabel din baza de date.
“DROP DATABASE nume_baza_de_date” – șterge baza de date.
Instrucțiuni de interogare uzuale:
“SELECT nume_coloană, nume_coloana
FROM nume_tabel
[WHERE criteriu]
[ORDER BY criteriu[ASC|DESC]]” – selectează date din baza de date.
“INSERT INTO nume_tabel (câmp1, câmp2…)
VALUES (valoare1, valoare2…)“ – introduce date în baza de date.
“UPDATE nume_tabel
SET nume_câmp1=valoare1 [,nume_câmp2=valoare2]…
[WHERE criteriu_de_actualizare]” – modifica sau introduce date noi în baza de date.
“DELETE FROM nume_tabel
[WHERE criteriu_de_ștergere]” – șterge date dintr-o tabelă
3.4 CSS
CSS(Cascading Style Sheets) este un limbaj care permite formatarea paginilor web la nivel de grafică și aspect.
Cu ajutorul CSS se pot formata pagini, texte, tag-uri ale paginilor, fundaluri, imagini și se pot crea stiluri.
Un stil reprezintă un grup de coduri de formatare care se poate folosi pentru unul sau mai multe elemente dintr-o pagină web.
CSS nu trebuie confundat cu HTML chiar dacă limbajele sunt foarte asemănătoare. Diferența dintre ele este ca CSS este ca o extindere a lui HTML în materie de formatare a paginii. CSS modelează tag-urile HTML dintr-o pagină.
Avantajele utilizării CSS:
-stilurile care permit atât formatarea unui singur element, cât și a mai multor elemente simultan;
-limbajul simplu;
-poate fi controlat ușor;
-continutul paginii nu este mereu amestecat cu opțiunile de formatare;
-permite utilizarea mai multor opțiuni de formatare în comparație cu alte limbaje.
Dezavantaje ale CSS:
-nu toate browser-ele îl recunosc;
Pentru a putea fi editate cu ajutorul CSS fișierele conțin o legătură către fișierul CSS. Această legătură se face în cadrul unui tag HTML numit “<style>”.
Capitolul 4 Dezvoltarea unei aplicații de tip chat pentru un magazin online
4.1 Proiectarea unei aplicații de tip magazin online
4.1.1 Obiective
Aplicația magazin online proiectată are ca obiectiv promovarea și vânzarea pe Internet a produselor din stocul magazinului Petshop. Toate informațiile despre animale, produsele pentru animale, clienții și furnizorii sunt memorate într-o bază de date. Clienții pot apela la serviciile unui medic veterinar completând un formular special cu datele personale. Magazinul conține și un chat unde clienții pot discuta despre produse sau pot primi suport tehnic.
4.1.2 Baza de date
Baza de date folosită se numește “animale” și conține 8 tabele (câine, client, furnizor, pasăre, pisici, produs, rozătoare, veterinar).
Tabelele câine, pasăre, pisici și rozătoare au următoarele câmpuri:
nr. crt. – contor;
cantitate – numărul de animale disponibile;
rasa – rasa animalelor;
vârsta – vârsta animalelor;
țara origine – țară din care provin animalele;
pedegree – indică dacă animalele au sau nu pedegree;
sexul – sexul animalelor;
Tabelul client conține următoarele câmpuri:
nume – numele clientului;
prenume – prenumele clientului;
cnp – codul numeric personal al clientului;
articol cumpărat – denumirea articolului pe care l-a cumpărat clientul;
cod articol – codul articolului cumpărat;
cantitate – numărul de articole cumpărate;
nr factura – numărul facturii;
Tabelul furnizor conține următoarele câmpuri:
nr. crt. – contor;
nume – numele furnizorului;
domeniul de activitate – domeniul în care își desfășoară activitatea furnizorul;
an înființare – anul înființării firmei;
adresa – adresa furnizorului;
telefon – numărul de telefon al furnizorului;
e-mail – adresa de e-mail a furnizorului;
Tabelul produs conține următoarele câmpuri:
nr. crt. – contor;
specie animal – specia de animale căreia îi este destinat produsul;
accesoriu – denumirea accesoriului;
hrana – denumirea tipului de hrană pentru animale;
farmacie – denumirea medicamentului pentru animale;
igiena – denumirea produsului de îngrijire a animalelor;
cod articol – codul produsului;
Tabelul veterinar conține următoarele câmpuri:
nr. crt. – contor;
nume – numele cabinetului veterinar;
adresa – adresa cabinetului veterinar;
telefon – numărul de contact al cabinetului veterinar;
e-mail – adresa de e-mail a cabinetului veterinar.
Partea de design a magazinului online este formată dintr-un template gratuit ajustat pentru a arăta corespunzător.
Magazinul online conține:
-cateva poze cu animale pentru a întâmpina vizitatorii magazinului;
-text cu sfaturi despre îngrijirea animalelor;
-mai multe galerii foto cu speciile de animale și rasele asociate acestora;
-un buton pentru aelectarea și afișarea produselor;
-un buton pentru formularul pe care clienții îl pot completa pentru a apela la ajutorul unui medic veterinar;
-un buton pentru a accesa o sesiune de chat.
4.2 Dezvoltarea aplicației de tip chat pentru un magazin online
4.2.1 Obiective
Aplicația chat are ca obiectiv suportul oferit clienților pentru a se informa înainte și după ce au cumpărat un produs, pentru a împărtăși păreri și experiențe legate de produsele magazinului și pentru a primi suport tehnic de la persoane specializate dacă este cazul. Pentru a accesa o sesiune de chat, un client trebuie să se autentifice (fie își crează un cont, fie utilizează un cont deja creat dacă este cazul). Atât datele despre utilizatorii chat-ului care își fac un cont, cât și conversațiile acestora se vor memora într-o bază de date.
4.2.2 Structura chat-ului
Atunci când un client dorește să acceseze o sesiune de chat în cadrul magazinului online trebuie să dea click pe butonul numit “chat” din partea dreaptă sus a paginii principale a site-ului (vezi imaginea 1).
Imaginea 1
Se va afișa pe ecran o pagină în care clientul este rugat să se autentifice, având două opțiuni: dacă respectivul utilizator are deja un cont selectează opțiunea pentru logare, iar dacă utilizatorul nu are un cont va selecta opțiunea pentru crearea unui cont.
În cazul în care utilizatorul are deja un cont și da click pe butonul aferent, se va afișa într-o pagină web un formular pentru autentificare. Formularul conține două câmpuri în care se vor scrie numele și parola, un buton de ștergere pentru eventualele tastări incorecte și un buton de trimitere a datelor. Odată introduse datele corect și apăsat butonul de trimitere pe ecran se vor afișa un mesaj în care utilizatorul este informat cu privire la numele pe care îl va avea pe chat potrivit contului și 3 opțiuni: o opțiune pentru a introduce alte date (în cazul în care utilizatorul dorește să se autentifice cu un alt cont), o opțiune pentru întoarcerea la pagina principală (în cazul în care utilizatorul s-a răzgândit și dorește să abandoneze sesiunea) și o opțiune pentru a accesa o nouă sesiune de chat.
În cazul în care utilizatorul nu are un cont și selectează opțiunea pentru creare, se va afișa într-o pagină web un formular pentru înregistrare. Formularul conține două câmpuri în care se vor scrie numele și parola alese de utilizator, un buton de ștergere pentru eventualele tastări incorecte a datelor și un buton de trimitere. După ce au fost introduse date și a fost apăsat butonul de trimitere pe ecran se vor afișa un mesaj în care utilizatorul este informat cu privire la numele pe care l-a ales pentru sesiunea de chat și 3 opțiuni: o opțiune pentru a introduce alte date (în cazul în care utilizatorul dorește să își creeze un alt cont), o opțiune pentru întoarcerea la pagina principală (în cazul în care utilizatorul s-a răzgândit și dorește să abandoneze sesiunea) și o opțiune pentru a accesa o nouă sesiune de chat.
După ce utilizatorul s-a autentificat și a ales să acceseze o sesiune de chat apăsând butonul aferent, se va afișa pe ecran:
-o opțiune de deconectare de la sesiunea de chat;
-un mesaj text care conține numele utilizatorului;
-campul în care va fi afișată conversația;
-campul în care utilizatorul va scrie mesajele;
-un buton de trimitere a mesajului.
4.2.3 Baza de date
Baza de date în care se vor memora informațiile se numește “chat” și conține 2 tabele (mesaje și utilizatori).
Tabelul mesaje conține următoarele câmpuri:
id – contor;
ușer – utilizatorul care a trimis mesajul;
conversații – mesajul trimis;
Tabelul utilizatori conține următoarele câmpuri:
id – contor;
nume – numele utilizatorului;
parola – parola utilizatorului;
selectat – ia valoarea 1 atunci când utilizatorul este logat și valoarea 0 când nu este logat.
4.2.4 Schema de realizare
Aplicația de tip chat pentru un magazin online conține mai multe fișiere: “stil.css”, “index.php”, “login.php”, “formular.php”, “logout.php”, “chat.php”.
Fișierul “stil.css” conține codurile pentru formatarea tag-urilor din toate fișierele aplicației. Acesta conține informații precum:
-culoarea fundalului; -culorile diferitelor texte; font-urile pentru diferite texte; -marimea font-urilor; -alinierea în pagina a tag-urilor; -marimea anumitor tag-uri.
Exemple de coduri:
body {
background:#009966;
}
Acest cod specifică faptul că pentru conținutul tag-ului <BODY> din interiorul fișierelor culoarea de fundal (codul “background”) este cea specificata de codul “#009966”. În limbajul CSS culorile se pot specifica în cuvinte (de exemplu “white”, “red”) sau în coduri (ca în exemplul anterior).
#conținut{
background:#A9F5A9;
border:5px solid #006633;
border-radius:25px;
width:600px;
height:400px;
overflow:auto;
margin-left:auto;
margin-right:auto;
}
Acesta este un exemplu de cod mai complex folosit pentru tag-urile din aplicație care au id-ul “conținut”. Semnul “#” urmat de numele “conținut” indică faptul că numele “conținut” nu este un tag, ci un id al unui tag, iar acest fapt face că doar acele tag-uri cu id-ul respectiv să fie formatate în acest fel. Interiorului tag-ului respectiv:
-i se va schimba culoarea de fundal (codul “background”),
-va fi înconjurat de un chenar cu o anumită grosime și culoare (codul “border”),
-chenarul va avea colțurile rotunjite (codul “border-radius”),
-va avea o anumită lățime (codul “width”) și înălțime (codul “height”),
-distanta de la marginile din stânga și din dreapta ale tag-ului și marginile paginii vor fi ajustate automat pentru că tag-ul să fie centrat (codurile “margin-left” și “margin-right”),
-iar atunci când cantitatea de text scrisă în interiorul tag-ului depășește mărimea tag-ului, acestuia îi vor apărea niște bare de derulare pentru a putea fi văzut tot textul (codul “overflow”).
Pentru a putea fi editate cu ajutorul acestor coduri toate fișierele conțin o legătură către fișierul CSS. Legătura este “<link rel="stylesheet" type="text/css" href="stil.css"/>”.
Fișierul “index.php” (vezi imaginea 2) reprezintă pagina principală a chat-ului. În el se afla structura oricărui document HTML, un titlu, un mesaj în care utilizatorul este informat că trebuie să se autentifice pentru a accesa sesiunea de chat și încă două mesaje care îl îndrumă să facă o alegere, urmate de două butoane aferente.
Mesajele de îndrumare împreună cu butoanele aferente sunt scrise în câte un paragraf (tag-ul “<p>”) aliniat centrat (valoarea “align”). Butoanele (tag-ul “<button>”) sunt scrise în interiorul unui tag care duce la un alt fișier ( tag-ul “<a href=“numele_fișierului”>”).
Imaginea 2
Screenshot cu rularea paginii “index.php”:
Imaginea 3
Fișierul “login.php” reprezintă formularul pe care utilizatorul trebuie să îl completeze în cazul în care are deja un cont și vrea să se autentifice .
Formularul este următorul:
<form method="post">
<h3>Nume:
<input type="text" name="nume"></h3>
<br>
<h3>Parola
<input type="password" name="parola"></h3>
<br>
<h3><input type="reset" value="Șterge">
<input type="submit" value="Trimite" name="submit"></h3>
</form>
În acest fișier se afla structura oricărui document HTML, un titlu, un formular cu câmpurile pentru nume și parola, un buton de ștergere a textului din câmpuri, un buton de trimitere și codurile PHP care:
-preiau valorile din câmpurile formularului:
$nume=$_POST['nume'];
$par=$_POST['parola'];
-se conectează la server:
$id = mysql_connect('localhost', 'root', '');
if (!$id) {
die(mysql_error());
}
-se conectează la baza de date:
$db = mysql_select_db("chat", $id);
if (!$db)
{
die (mysql_error());
}
-selecteaza din baza de date informațiile utilizatorului:
$sql = "SELECT * FROM utilizatori WHERE nume='".$nume."' AND parola='".$păr."' ";
$rez=mysql_query($sql);
-modifica în baza de date câmpul “selectat”:
$sql2 = "UPDATE utilizatori SET selectat='1' WHERE id=".$rând['id']."";
$rez2=mysql_query($sql2);
-afiseaza pe ecran numele utilizatorului:
echo ("<h3>Tu ești: ".$rând['nume']."</h3>");
-afiseaza pe ecran opțiuni din care utilizatorul să aleagă (să se logheze cu un alt cont, să se întoarcă la pagina principala sau să acceseze o sesiune de chat):
echo('<p><a href="login.php"> Introduceți alte date </a></p>');
echo('<p><a href="index.php"> Întoarce-te la pagina principala </a></p>');
echo('<p><a href="chat.php"> Accesează o nouă sesiune de chat </a></p>');
În acest fișier sunt folosite și comenzi MySQL introduse în limbajul PHP pentru a manipula baza de date.
Screenshot cu rularea paginii “login.php”:
Imaginea 4
Fișierul “formular.php” reprezintă formularul pe care utilizatorul trebuie să îl completeze în cazul în care dorește să își facă un cont pentru a accesa o sesiune de chat.
În acest fișier se afla structura oricărui document HTML, un titlu, un formular cu câmpurile pentru nume și parola, un buton de ștergere a textului din câmpuri, un buton de trimitere și codurile PHP care:
-preiau valorile din câmpurile formularului:
$nume=$_POST['nume'];
$par=$_POST['parola'];
-se conectează la server:
$id = mysql_connect('localhost', 'root', '');
if (!$id) {
die(mysql_error());
}
-se conectează la baza de date:
$db = mysql_select_db("chat", $id);
if (!$db)
{
die (mysql_error());
}
-insereaza valorile preluate în baza de date:
$sql = "INSERT INTO utilizatori (nume,parola,selectat) VALUES ('$nume','$par','1')";
$rez=mysql_query($sql);
-selecteaza din baza de date numele utilizatorului:
$sql2="SELECT * FROM utilizatori WHERE nume='".$nume."' ";
$rez2=mysql_query($sql2);
-afiseaza pe ecran numele utilizatorului:
$rând=mysql_fetch_assoc($rez2);
echo ("<h3>Tu ești: ".$rând['nume']."</h3>");
-afiseaza pe ecran opțiuni din care utilizatorul să aleagă (să se logheze cu un alt cont, să se întoarcă la pagina principala sau să acceseze o sesiune de chat):
echo('<p><a href="formular.php"> Creează un nou cont </a></p>');
echo('<p><a href="index.php"> Întoarce-te la pagina principala </a></p>');
echo('<p><a href="chat.php"> Accesează o nouă sesiune de chat </a></p>');
În acest fișier sunt folosite și comenzi MySQL introduse în limbajul PHP pentru a manipula baza de date.
Screenshot cu rularea paginii “formular.php”:
Imaginea 5
Fișierul “logout.php” reprezintă acel fișier pe care utilizatorul îl accesează la apăsarea butonului pentru delogare.
Acest fișier conține codurile PHP pentru:
-distrugerea sesiunii de PHP:
session_destroy();
-selectarea din baza de date a id-ului utilizatorului:
$sql = "SELECT id FROM utilizatori WHERE selectat='1' ";
$rez=mysql_query($sql);
$rând=mysql_fetch_assoc($rez);
-modificarea câmpului “selectat” din baza de date:
$sql2 = "UPDATE utilizatori SET selectat='0' WHERE id=".$rând['id']." ";
$rez2=mysql_query($sql2);
-intoarcerea automată la pagina principala:
header("Location: index.php");
În acest fișier sunt folosite și comenzi MySQL introduse în limbajul PHP pentru a manipula baza de date.
Fișierul “chat.php” reprezintă pagina propriu-zisă a chat-ului.
Acest fișier conține structura oricărui document HTML, un buton pentru închiderea sesiunii, un titlu, un formular cu un câmp unde utilizatorul va introduce mesajul și un buton de trimitere, o secțiune unde mesajele vor fi afișate și codurile PHP care:
-selecteaza din baza de date numele utilizatorului:
$sql = "SELECT nume FROM utilizatori WHERE selectat='1' ";
$rez=mysql_query($sql);
-afiseaza pe ecran numele utilizatorului:
$rând=mysql_fetch_assoc($rez);
echo ("<h3>Tu ești: ".$rând['nume']."</h3>");
-preiau numele și mesajul utilizatorului:
$ușer=$rând['nume'];
$conversații=$_POST['mesaje'];
-insereaza în baza de date numele și mesajul:
$insert="INSERT INTO mesaje (ușer,conversații) VALUES('".$ușer."','".$conversații."')";
mysql_query($insert);
-selecteaza din baza de date și afișează în secțiunea special creată numele și mesajele utilizatorilor:
$select="SELECT * FROM mesaje ORDER BY id DESC";
$rez2=mysql_query($select);
$rand2=mysql_num_rows($rez);
if($rand2>0)
{
while ($rand2=mysql_fetch_array($rez2))
{
echo "<p>"; echo"<strong>"; echo $rand2['user']; echo"</strong>"; echo": "; echo $rand2['conversatii']; echo "</p>";
}}
În acest fișier sunt folosite și comenzi MySQL introduse în limbajul PHP pentru a manipula baza de date.
Screenshot-uri cu rularea paginii “chat.php”:
Imediat după logare:
Imaginea 6
După câteva mesaje trimise de mai mulți utilizatori:
Imaginea 7
Concluzii
“Aplicația suport clienți de tip chat pentru un magazin online” este continuarea aplicației “Animale și păsări – magazin pentru animale de companie gen Zoomania” realizată în anul al II-lea de facultate la materia Tehnologii Web. Am continuat acest proiect în vederea sprijinului oferit clienților magazinelor online pentru a-și perfecționa modul de a se interesa în legătură cu produsele pe care doresc să le cumpere sau cu serviciile de care vor să beneficieze. Clienții vor putea primi suport de la alți clienți care au întâmpinat aceleași nelămuriri sau de la persoane de specialitate din cadrul magazinului care îi pot îndruma corect.
Cu ocazia realizării chat-ului, consider că mi-am îmbunătățit modul de lucru cu paginile web și am aprofundat mai mult studiul în acest domeniu. Aplicația chat este mult mai bine organizată și structurata față de celelalte proiecte de acest tip realizate de mine.
Unul dintre lucrurile noi pe care le-am învățat și cu care nu mai interacționasem niciodată este limbajul JQuery (dezvoltat de JavaScript). Am învățat că se pot face multe lucruri cu ajutorul lui (se pot face ferestre pop-up în care se pot introduce informații, se pot adăuga efecte și animații, se pot înregistra și modifica elemente din pagină web și am învățat și câteva funcții de bază). Inițial proiectasem aplicația să ruleze datorită anumitor funcții JQuery pe care le realizasem. Pe parcursul realizării aplicației însă, am realizat că limbajul deocamdată mă depășește și nu știu cum să îl configurez astfel încât să reacționeze așa cum vreau eu cu toate elementele folosite pentru chat. Astfel am renunțat la folosirea funcțiilor JQuery și le-am înlocuit cu altele în PHP.
Un alt lucru relativ nou pentru mine a fost limbajul CSS. Îl mai folosisem doar o singură dată atunci când am făcut practică la sfârșitul anului ÎI de facultate, dar nu am învățat prea multe despre el. Realizarea chat-ului mi-a dat ocazia să lucrez mult mai mult cu limbajul CSS și să formatez toată pagină web cu ajutorul lui.
De-a lungul proiectării aplicației am întâmpinat mai multe dificultăți (erori, folosirea unor funcții și tag-uri noi) care m-au ajutat să învăț să mă documentez mai bine, să am răbdare și să încerc de foarte multe ori până reușesc.
Consider că realizarea proiectului de licență “Aplicație suport clienți de tip chat pentru un magazin online”, începând cu documentarea inițială pentru construirea lui, folosirea unui limbaj nou pe care în final nu l-am mai adăugat în lucrare, și până la documentarea pentru redactarea proiectului (scrierea propriu-zisă a dosarului) m-au ajutat să avansez pe plan profesional.
Aplicația proiectată are o structură simplă, dar bine organizată, acest lucru ajutând clienții să îl folosească fără a întâmpina probleme.
Bibliografie
Peretti, André de, Jean-André Legrand, Jean Boniface, Tehnici de comunicare, Iași, Polirom, 2001;
Jouve, Michele, Comunicarea: publicitate și relații publice, Iași, Polirom, 2005;
Gabriela, Mailat, Elena, Helerea, Curs: Tehnologia informației în cercetare, 2010;
Andy, Budd, Cameron, Moll, Simon, Collison, CSS Mastery, APress, 2006;
Andrew, Tanembaum, Rețele de calculatoare, Computer Press AGORA, 1998;
Luke, Welling, Laura, Thomson, PHP and MySQL Web Development, Sams Publishing, 2001;
Giurgițeanu, N., Proiectarea bazelor de date relaționale, Editura Sitech ,1997;
Popă, S., Introducere în Internet, Editura Teora, 1995;
Kris Jamșă, Suleiman Lalani, Steve Weakley, Programarea în Web, Jamșă Press, 1996;
Slama, Cazacu, T., Computerul și omul, România Literară, nr. 9, p. 12-13, 2001;
Patriciu, V. V, Ene-Pietroșanu M., Bâca I., Văduva C., Voicu N., Securitatea comerțului electronic, Editura All, 2001;
Marcoccia, M., On-line Polylogues: Conversation Structure and Participation Framework în Internet Newsgroups, Journal of Pragmatics, nr. 36(1), p. 115-145, 2004
Slama, Cazacu, T., Verbal Comunication and Interaction on/via Computer, Editura Europolis, 2001;
Reid, E., Electropolis: Comumunication and Community on Internet Relay Chat, University of Melbourne-Melbourne, 1991;
Rheingold, H., The Virtual Community: Homesteading on the Electronic Frontier, New York, Addison Wesley, 1993;
Resurse de pe Internet:
Internet, http://ro.wikipedia.org/wiki/Internet;
Online chat, http://en.wikipedia.org/wiki/Online_chat;
PHP, www.php.net;
SQL, http://www.w3schools.com/sql/default.asp;
Securitatea rețelelor de calculatoare, http://ro.wikipedia.org/wiki/Securitatea_re%C8%9Belelor_de_calculatoare;
HTML, http://www.w3schools.com/html/default.asp;
CSS, http://www.w3schools.com/css/default.asp;
Virus informatic, http://ro.wikipedia.org/wiki/Virus_informatic;
Anexa cu extrase de cod
Codurile din fișierul “index.php”:
<html>
<head>
<title>Chat</title>
<link rel="stylesheet" type="text/css" href="stil.css"/>
</head>
<body>
<h1>Chat</h1>
<h3>Bine ai venit! Pentru a vă conecta la chat trebuie să vă autentificați.</h3>
<p align="center">Aveți deja un cont? <a href="login.php"><button>Click aici</button></a><p>
<p align="center">Doriți să vă faceți un cont? <a href="formular.php"><button>Click aici</button></a><p>
</body>
</html>
Codurile din fișierul “login.php”:
<html>
<head>
<title>Autentificare</title>
<link rel="stylesheet" type="text/css" href="stil.css"/>
</head>
<body>
<form method="post">
<h3>Nume:
<input type="text" name="nume"></h3>
<br>
<h3>Parola
<input type="password" name="parola"></h3>
<br>
<h3><input type="reset" value="Șterge">
<input type="submit" value="Trimite" name="submit"></h3>
</form>
<?php
session_start();
if(isset($_POST['submit']))
{
$nume=$_POST['nume'];
$par=$_POST['parola'];
$id = mysql_connect('localhost', 'root', '');
if (!$id) {
die(mysql_error());
}
$db = mysql_select_db("chat", $id);
if (!$db)
{
die (mysql_error());
}
$sql = "SELECT * FROM utilizatori WHERE nume='".$nume."' AND parola='".$păr."' ";
$rez=mysql_query($sql);
if($rez === FALSE) {
die(mysql_error());
}
$rând=mysql_fetch_assoc($rez);
$sql2 = "UPDATE utilizatori SET selectat='1' WHERE id=".$rând['id']."";
$rez2=mysql_query($sql2);
if($rez2 === FALSE) {
die(mysql_error());
}
echo ("<h3>Tu ești: ".$rând['nume']."</h3>");
echo('<p><a href="login.php"> Introduceți alte date </a></p>');
echo('<p><a href="index.php"> Întoarce-te la pagina principala </a></p>');
echo('<p><a href="chat.php"> Accesează o nouă sesiune de chat </a></p>');
mysql_close();
}
?>
</body>
</html>
Codurile din fișierul “formular.php”:
<html>
<head>
<title>Autentificare</title>
<link rel="stylesheet" type="text/css" href="stil.css"/>
</head>
<body>
<form method="post">
<h3>Nume:
<input type="text" name="nume"></h3>
<br>
<h3>Parola
<input type="password" name="parola"></h3>
<br>
<h3><input type="reset" value="Șterge">
<input type="submit" value="Trimite" name="submit"></h3>
</form>
<?php
session_start();
if(isset($_POST['submit']))
{
$nume=$_POST['nume'];
$par=$_POST['parola'];
$id = mysql_connect('localhost', 'root', '');
if (!$id) {
die(mysql_error());
}
$db = mysql_select_db("chat", $id);
if (!$db)
{
die (mysql_error());
}
$sql = "INSERT INTO utilizatori (nume,parola,selectat) VALUES ('$nume','$par','1')";
$rez=mysql_query($sql);
if($rez === FALSE) {
die(mysql_error());
}
$sql2="SELECT * FROM utilizatori WHERE nume='".$nume."' ";
$rez2=mysql_query($sql2);
if($rez2 === FALSE) {
die(mysql_error());
}
$rând=mysql_fetch_assoc($rez2);
echo ("<h3>Tu ești: ".$rând['nume']."</h3>");
echo('<p><a href="formular.php"> Creează un nou cont </a></p>');
echo('<p><a href="index.php"> Întoarce-te la pagina principala </a></p>');
echo('<p><a href="chat.php"> Accesează o nouă sesiune de chat </a></p>');
mysql_close();
}
?>
</body>
</html>
Codurile din fișierul “logout.php”:
<?php
session_start();
$id = mysql_connect('localhost', 'root', '');
if (!$id) {
die(mysql_error());
}
$db = mysql_select_db("chat", $id);
if (!$db)
{
die (mysql_error());
}
session_destroy();
$sql = "SELECT id FROM utilizatori WHERE selectat='1' ";
$rez=mysql_query($sql);
if($rez === FALSE) {
die(mysql_error());
}
$rând=mysql_fetch_assoc($rez);
$sql2 = "UPDATE utilizatori SET selectat='0' WHERE id=".$rând['id']." ";
$rez2=mysql_query($sql2);
if($rez2 === FALSE) {
die(mysql_error());
}
header("Location: index.php");
?>
Codurile din fișierul “chat.php”:
<html>
<head>
<a href="logout.php"> Închide sesiunea de chat </a>
<title>Chat</title>
<link rel="stylesheet" type="text/css" href="stil.css"/>
</head>
<body>
<h1>Chat</h1>
<?php
session_start();
$id = mysql_connect('localhost', 'root', '');
if (!$id) {
die(mysql_error());
}
$db = mysql_select_db("chat", $id);
if (!$db)
{
die (mysql_error());
}
$sql = "SELECT nume FROM utilizatori WHERE selectat='1' ";
$rez=mysql_query($sql);
if($rez === FALSE) {
die(mysql_error());
}
$rând=mysql_fetch_assoc($rez);
echo ("<h3>Tu ești: ".$rând['nume']."</h3>");
if(isset($_POST['trimite']))
{
$ușer=$rând['nume'];
$conversații=$_POST['mesaje'];
$insert="INSERT INTO mesaje (ușer,conversații) VALUES('".$ușer."','".$conversații."')";
mysql_query($insert);
}
?>
<form method="post">
<div id="conținut">
<?php $select="SELECT * FROM mesaje ORDER BY id DESC";
$rez2=mysql_query($select);
$rand2=mysql_num_rows($rez);
if($rand2>0)
{
while ($rand2=mysql_fetch_array($rez2))
{
echo "<p>"; echo"<strong>"; echo $rand2['user']; echo"</strong>"; echo": "; echo $rand2['conversatii']; echo "</p>";
}}?>
</div>
<div id="form"><input type="text" size="60" name="mesaje"/> <button type="submit" name="trimite">Trimite mesaj</button></div>
</form>
</body>
</html>
Codurile fișierului “stil.css”:
h1{
font-family:'Lucida Console', Monaco, monospace;
color:#FFFF66;
margin:50px;
text-align:center;
font-size:50px;
text-shadow: 5px 5px 5px #CCFF99;
}
h3{
font-family:'Courier New', Courier, monospace;
color:#003333;
margin:30px;
font-size:25px;
text-align:center;
}
body {
background:#009966;
}
#conținut{
background:#A9F5A9;
border:5px solid #006633;
border-radius:25px;
width:600px;
height:400px;
overflow:auto;
margin-left:auto;
margin-right:auto;
}
#conținut p{
background:#CCFF99;
margin:16px;
padding:16px;
border:1px solid #006633;
border-radius:10px;
font-family:'Palatino Linotype', 'Book Antiqua', Palatino, șerif;
color:#006600;
}
#form input{
background:#CCFF99;
border:1px solid #006633;
border-radius:10px;
font-family:'Palatino Linotype', 'Book Antiqua', Palatino, șerif;
margin:30px;
margin-left:550px;
height:50px;
}
input{
background:#CCFF99;
border:1px solid #006633;
border-radius:10px;
font-family:'Palatino Linotype', 'Book Antiqua', Palatino, șerif;
margin:10px;
height:50px;
}
button{
background:#A9F5A9;
padding:6px;
color:#003333;
cursor:pointer;
border-radius:50px;
}
p{
color:white;
font-size:20px;
margin:100;
}
Bibliografie
Peretti, André de, Jean-André Legrand, Jean Boniface, Tehnici de comunicare, Iași, Polirom, 2001;
Jouve, Michele, Comunicarea: publicitate și relații publice, Iași, Polirom, 2005;
Gabriela, Mailat, Elena, Helerea, Curs: Tehnologia informației în cercetare, 2010;
Andy, Budd, Cameron, Moll, Simon, Collison, CSS Mastery, APress, 2006;
Andrew, Tanembaum, Rețele de calculatoare, Computer Press AGORA, 1998;
Luke, Welling, Laura, Thomson, PHP and MySQL Web Development, Sams Publishing, 2001;
Giurgițeanu, N., Proiectarea bazelor de date relaționale, Editura Sitech ,1997;
Popă, S., Introducere în Internet, Editura Teora, 1995;
Kris Jamșă, Suleiman Lalani, Steve Weakley, Programarea în Web, Jamșă Press, 1996;
Slama, Cazacu, T., Computerul și omul, România Literară, nr. 9, p. 12-13, 2001;
Patriciu, V. V, Ene-Pietroșanu M., Bâca I., Văduva C., Voicu N., Securitatea comerțului electronic, Editura All, 2001;
Marcoccia, M., On-line Polylogues: Conversation Structure and Participation Framework în Internet Newsgroups, Journal of Pragmatics, nr. 36(1), p. 115-145, 2004
Slama, Cazacu, T., Verbal Comunication and Interaction on/via Computer, Editura Europolis, 2001;
Reid, E., Electropolis: Comumunication and Community on Internet Relay Chat, University of Melbourne-Melbourne, 1991;
Rheingold, H., The Virtual Community: Homesteading on the Electronic Frontier, New York, Addison Wesley, 1993;
Resurse de pe Internet:
Internet, http://ro.wikipedia.org/wiki/Internet;
Online chat, http://en.wikipedia.org/wiki/Online_chat;
PHP, www.php.net;
SQL, http://www.w3schools.com/sql/default.asp;
Securitatea rețelelor de calculatoare, http://ro.wikipedia.org/wiki/Securitatea_re%C8%9Belelor_de_calculatoare;
HTML, http://www.w3schools.com/html/default.asp;
CSS, http://www.w3schools.com/css/default.asp;
Virus informatic, http://ro.wikipedia.org/wiki/Virus_informatic;
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: Aplicatii de Tip Magazin Online (ID: 149515)
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.
