Realizari Unui Pagini Web In Care Studentii Pot Vizualiza Situatia Scolara

Cuprins

Introducere.

In aceasta lucrare de licenta voi prezenta in detaliu demersul realizari unui pagini web, si lucrurile ce trebuie luate in considerare cand se creeaza un web site in care studentii pot vizualiza situatia scolara. Vizualizarea situatiei scolare online poate fi de folos pentru student, care isi poate verifica notele obtinute si alte informatii folositoare , iar pentru profesori poate fi folositor oferindu-le posibilitatea de a introduce notele optinute de elevi intr-un format csv care ulterior va putea fi introdus in mod automat in baza de date.

Pentru a realiza un website care sa contina situatia scolara sunt necesare cunostinte din diferite tehnologii web precum PHP,MySQL,HTML,CSS despre care voi vorbi mai detaliat in randurile ce urmeaza.

1.Principii de design

In general, fiecare web site trebuie sa fie unic, sa aiba elemente distinctive la nivel de design, continut sau chiar prin functionalitatile oferite utilizatorilor. Un site bine realizat la nivel visual are o interfata adecvata cu continutul prezentat, cu specificul acestuia si este conceput in astfel inca sa transmita mesajul dorit de programator sau de client. Mai mult decat atat, o interfata trebuie sa fie accesibila si dinamica pentru a facilita schimbarile ulterioare la nivel de continut si functionalitati.

In realizarea unei interfete de web site se pot observa cateva etape: planificare, efectuarea designului, colorarea acestuia, popularea cu continut si in final, implementarea interfetei la nivel tehnic, utilizand HTML si CSS sau alte tehnologii, despre care voi vorbi in acest capitol

In etapa de planificare trebuie stabilite functionalitatile oferite utilizatorilor(cautare, accesare profil, etc), tipul de web site (personal, institutional, de prezentare, etc), preferinte vizuale. Toate aceste informatii sunt importante in realizarea interfetei deoarece influenteaza foarte mult forma finala. Un site trebuie sa fie usor de utilizat atat pentru persoana care il administreaza (beneficiar) cat si pentru vizitatori (potentiali clienti). Accesibilitatea functiilor, vizibilitatea butoanelor, pozitionarea meniurilor si a diverselor elemente de interes intr-o pagina web este esentiala pentru transformarea simplilor vizitatori in clienti..

Unul dintre principiile de web design este originalitatea. In prezent exista sute de servicii care furnizeaza site-uri "la cheie", cu "design personalizat", dar care opereaza cu interfete grafice lucrate in prealabil (template-uri) si carora le schimba culorile si le adauga sigla beneficiarului. Aceste site-uri nu au un design original si puteti avea surpriza de a regasi pe internet un site cu un aspect identic sau aproape identic cu al dumneavoastra.

Desi aspectul grafic poate fi acelasi, intre doua site-uri pot exista diferente majore de executie. Dupa ce aspectul grafic dorit a fost hotarat, site-urile sunt lucrate prin utilizarea unui cod specific care are o serie de particularitati si necesita rigurozitate. Intocmai ca o limba straina, codul poate fi folosit mai fluent sau mai stangaci, in functie de cunostintele pe care le detine programatorul.

O codare corecta a unui site garanteaza: posibilitatea interventiilor ulterioare facile – atunci cand doriti sa adaugati o componenta sau un element functional nou in site-ul dumneavoastra, este esential ca pasajele de cod sa poata fi usor descifrate si integrate cu elementele noi de programare.

Design

Layout

Layout-ul determina scheletul unui site – structura și spațiul în care elementele de design trebuie să își îndeplinească rolul. Crearea unui layout nu este ușoară, designerul fiind nevoit să ia în considerare inconsistențele dintre browsere și argumentele pro și contra unui tip de layout anume.

Alegerea unui anume tip de layout este deseori influențată de aptitudinile designerului și de perspectiva acestuia asupra layout-urilor, fie că sunt "pixel-perfect" sau adaptabile.

Layout-urile pot fi împărțite în 4 mari categorii, denumite în funcție de abilitatea sau inabilitatea de a-și adapta dimensiunile în concordanță cu fereastră browser-ului utilizatorului

1. Layout cu lățime fixă

După cum reiese și din nume, layout-ul cu lățime fixă este un layout static a cărei lățime este setată în pixeli la o valoare absolută. Designer-ul deține mai mult control asupra poziționării elementelor de design în zonele de conținut și navigare și poate lucra mult mai precis.

Acest tip de layout este o alegere populară fiindcă lățimea fixă asigura păstrarea proporției dintre elementele de design indiferent de rezoluția monitorului utilizatorului. Astfel, site-ul va arată la fel la rezoluții variate, iar timpul necesar dezvoltării site-ului va fi redus datorită scăderii cerințelor de testare în diferite condiții.

Unul dintre cele mai mari avantaje ale acestui tip de layout este poziționarea "pixel-perfect" a blocurilor de conținut, această devenind previzibilă odată ce designerul este conștient de lățimea layout-ului sau.

Dezavantajul major al acestui tip de layout este că nu profită de întreagă fereastră a browserului. Printre utilizatorii de monitoare wide există într-adevăr tendința de a redimensionă ferestrele browserelor astfel încât să poată vedea și alte aplicații ce sunt folosite în paralel (de exemplu clienți de chat). Totuși, există riscul de a fi în situația în care layout-ul poate crea spațiu lateral în exces, devenind supărător pentru echilibrul site-ului.

Desigur, alegerea acestui tip de layout atrage după sine întrebarea:

"Care este lățimea potrivită pentru layout-ul site-ului meu?"

Cel mai bun răspuns la această întrebare stă în profilul utilizatorilor site-ului respectiv. Statisticile sunt o metodă de a află, evaluând preferințele de browsing ale utilizatorilor. Din statistici se poate află cu ușurință care sunt rezoluțiile cele mai întâlnite. O regulă nescrisă arată că menținerea unei lățimi între 800 și 1000 de pixeli va conduce la o experiență bună a utilizatorului.

Dacă se dorește că utilizatorul să aibă mai mult control asupra layout-ului, probabil designerul va opta pentru un layout adaptabil.

2. Layout variabil (fluid)

Acest tip de layout își adaptează lățimea în funcție de mărimea ferestrei browserului. În acest tip de layout, majoritatea elementelor sunt definite în valori procentuale, plecând de la proprietățile curente ale ferestrei browserului. Layout-ul variabil poate folosi foarte mult din fereastră browserului, distribuind astfel spațiul gol într-un mod echilibrat.

Astfel, dacă dimensiunea ferestrei se modifică, același lucru se va întâmplă și cu layout-ul. Acesta determina și un dezavantaj major în cazul rezoluțiilor mari, unde liniile de text pot deveni lungi și greu de citit, iar utilizatorul poate ajunge să vadă doar câteva linii scrise în zona de conținut și elemente de navigare ce pot părea disproporționate.

Totuși, față de layout-ul cu lățime fixă, cel variabil îi permite utilizatorului să controleze cum arată site-ul pe care îl vede și reduce derularea paginilor. Nu uitați că uneori o asemenea alegere este riscantă deoarece elimina previzibilitatea poziționării elementelor din mâinile designerului, iar realizarea unui asemenea layout necesită cunoștințe solide despre structura designului.

3. Layout elastic

Pentru a limita dezavantajul major al layout-ului variabil menționat mai devreme, designerul limitează lățimea maximă a acestuia din proprietățile CSS. Un layout elastic prezintă o abordare diferită care are același scop; practic designerul ajustează lățimea layout-ului bazându-se pe dimensiunea fontului utilizatorului, nu pe a ferestrei browserului.

Dacă un pixel nu este scalabil, un em este o unitate de măsură a mărimii fontului. Mărimea fontului variază, iar em-ul este acea unitate relativă care se adaptează preferințelor utilizatorilor în privința textului. Prin folosirea acestei unități atât pentru blocurile de layout, cât și pentru text, layout-ul se va redimensionă consistent, dând impresia unui efect realist de zoom. Pe măsură ce utilizatorul mărește fontul, layout-ul se "întinde" automat, imitând un obiect elastic.

Layout-ul elastic se comportă similar cu layout-ul cu lățime fixă (deoarece nu depinde de mărimea ferestrei browserului) și astfel moștenește avantajele și dezavantajele acestuia. Totuși, pot apărea câteva probleme pentru designer când lucrează la un asemenea layout. Prima este calculul corect al valorilor în em, care poate da bătăi de cap. A două este impactul asupra conținutului multimedia. De exemplu, imaginile se vor redimensionă, depinzând de preferințele utilizatorului. Această problema se poate repara prin diverse metode, însă va duce la creșterea complexității realizării layout-ului.

Acest tip de layout este potrivit designerului care dorește un compromis între lățimea fixă și variabilă. Alegând layout-ul elastic, designerul profită de avantajele fiecăruia, dar trebuie să fie conștient că este mai dificil de implementat și necesită mai multe ore de testare pentru a găsi combinația perfectă pentru majoritatea utilizatorilor.

4. Layout hibrid

De multe ori, designerul încearcă să găsească soluția care să împace toate cele trei tipuri de layout descrise mai sus, păstrând avantajele fiecăruia și dorind reducerea la minim a dezavantajelor.

Un exemplu popular este setarea în unități em a zonei de conținut și a pixelilor pentru un bloc lateral (sidebar), dar există posibilități multiple de a combină procente, pixeli și unități em pentru a obține efectul dorit. Desigur, e de la sine înțeles că designerul trebuie să înțeleagă pe deplin structura layout-ului și interdependență acestor combinații, însă rezultatul poate fi o recompensă binemeritată.

De fiecare dată când începeți să lucrați la designul unui proiect nou, primul lucru pe care trebuie să-l faceți este să determinați layout-ul cadrului aflat la cel mai înalt nivel și care va rezolva toate problemele de design. Acest cadru este UI (User Interface) care include conținutul și ajută la navigarea pe site, precum și la efectuarea anumitor acțiuni specifice. Acesta include navigarea și Acesta include navigarea și componente, precum sidebar și footer.
Dacă abordați designul din această perspectivă, veți avea o imagine mult mai clară asupra rezultatului final atunci când veți crea părțile care nu se află pe prima pagină.

Tipografie

Testarea unor soluții tipografice și culori diferite face parte din faza de cercetare a proiectului. Se recomand a nu se folosii mai mult de două fonturi diferite în designul unui web site, însă, fiindcă acest lucru depinde de natura proiectului, diversitatea fonturilor se poate folosi într-o măsură mai mare sau mai mică. În general, trebuie ales un font lizibil pentru textele lungi și unul care iese în evidenta pentru titluri

Fig 1.1 Tabel diacritice.

Când se alege tipografia, ar trebui să începeți să analizați și culorile pe care le veți folosi în UI (interfața de utilizator), în fundaluri și în text. În acest sens, se recomanda a se opta pentru un set limitat de culori și tonuri.

Este important să aplicam culorile uniform pe întreaga interfață de utilizator, conform funcționalității elementelor. Gândiți-vă la aspectul unor site-uri, precum Facebook, Twitter, Youtube și Vimeo. Cu excepția schemei de culori aleasă, nu ar trebui să existe restricții de culori în ceea ce privește ilustrațiile sau detaliile grafice, atâta timp cât acestea nu perturba funcționalitatea componentelor principale.

Fig 1.2 Panou de culori

Fiecare element trebuie să aibă un scop și un rezultat final pentru că utilizatorul să-l folosească. Ordinea elementelor trebuie să accentueze conținutul care reprezintă cea mai importantă parte din întreagă poveste a site-ului. Totul trebuie să răspundă la întrebarea utilizatorului: “Ce pot să fac pe pagină această” Gândiți-va la o ordine cât mai simplă pentru un scop simplu și începeți să adăugați numai componentele necesare. Respectați regulă “keep it simple”.

CAP 2. Fundamente teoretice

2.1 HTML

HTML este prescurtarplă pentru un scop simplu și începeți să adăugați numai componentele necesare. Respectați regulă “keep it simple”.

CAP 2. Fundamente teoretice

2.1 HTML

HTML este prescurtarea de la Hyper Text Mark-up Language și este codul care stă la baza paginilor web. Paginile HTML sunt formate din etichete sau tag-uri și au extensia .html sau .htm. În marea lor majoritate aceste etichete sunt pereche, una de deschidere <eticheta> și alta de închidere </eticheta>. Mai exista și cazuri în care nu se inchid, atunci se foloseste doar <eticheta />. Browserul interpreteaza aceste etichete afisand rezultatul pe ecran.

HTML-ul nu este un limbaj case sensitiv (nu face deosebirea intre litere mici și mari).

Unele etichete permit utilizarea de atribute care pot avea anumite valori:

<eticheta atribut="valoare"> … </eticheta>

2.1.1 Elementele de marcare

Marcare structurală. Descrie scopul unui text.

De exemplu: <h1>Fotbal</h1>

Direcționeaza browserul pentru a reda "Fotbal" ca pe cel mai important titlu. Marcarea structurală nu are un anumit stil predefinit, dar cele mai multe browsere web au standardizat modul în care acestea sunt afișate. De exemplu, titlurile importante (h1, h2, etc.) sunt aldine și mai mari decât restul textului. De notat că "h1" este folosit doar o singură dată per pagină deoarece cu el este marcat titlul ei.

Marcare pentru prezentare. Descrie cum apare un text, indiferent de funcțiile sale.

De exemplu: <strong>îngroșat</strong>

Va afișa textul "îngroșat" cu litere groase, aldine.

Marcare pentru hiperlink. Leagă părți ale unui document cu alte documente.

De exemplu: <a href="http://ro.wikipedia.org/">Wikipedia Românească</a>

Va reda Wikipedia românească ca hiperlink către un URL specificat.

Elemente speciale (widget). Creează obiecte, cum ar fi butoanele și listele.

2.1.2 Tag-uri

Scheletul unei pagini HTML:

<html>

<head>

<title> Prima pagina </title>

</head>

<body>

Salut!

</body>

</html>

Un document HTML intotdeauna va incepe cu un tag <html> și se va termina cu un tag </html>. Aceasta este structura standard a unei pagini HTML.

Tag-ul <head> este cel care urmează. Acest tag poate oferi browser-ului informații foarte utile. Se pot insera aici printre altele coduri Javascript sau CSS.

Tag-ul <title>. Ceea ce se scrie intre cele doua tag-uri title (<title> și </title>) va putea fi vizualizat ca și numele paginii în browser, de obicei în partea din stanga sus.

Tag-ul <body> este cel care defineste inceperea continutului pagini propriu-zise (titluri, paragrafe, text, imagini, muzica, etc).

Atributele sunt folosite pentru a personaliza tag-urile. La un moment dat vei vrea sa redimensionezi o imagine sau un tabel sau sa schimbi culoarea de fond. Toate acestea sunt posibile cu ajutorul atributelor. Cele mai multe tag-uri au propriile lor atribute. Există și o serie de atribute care se regăsesc la aproape tag-urile, cum ar fi: "class", "id", "name", "title", "align".

Paragraful este un element de baza în editare de text. Tag-ul pentru paragraf este <p>. Acesta va plasa o linie goala deasupra și dedesubtul textului pentru a fi evidentiat, iar browser-ul il va interpreta ca atare.

Un titlu în HTML este exact ceea ce pare: un titlu sau un subtitlu. Atunci cand plasezi un text intr-un tag <h1>, textul va fi afisat ingrosat, iar dimensiunea literei va fi dată de numărul heading-ului. Titlurile pot avea dimensiuni de la de la 1 la 6 unde 1 este cea mai mare dimensiune și repectiv 6, cea mai mica.

Tag-ul <br />. Plasarea acestuia în codul sursa al documentului va incheia rândul pe care este amplasat și va coborî cu o linie mai jos, lăsând un spatiu mai mic în comparatie cu cel de paragraf.

Etichetele <div> și </div> delimiteaza un bloc text în vederea formatarii.

În situatia în care dorim ca textul introdus sa fie afisat exact asa cum a fost introdus (text preformatat) în fisierul sursa vom folosi pereche de etichete <pre> și </pre>.

Listele sunt un mod simplu de organizare a informatiei și pot fi neordonate, ordonate și de definitii.

Liste neordonate: Aceste liste sunt delimitate de etichetele <ul> și </ul> iar elementele de <li> și </li>. Elementele listei pot fi particularizate folosind atributul type care poate lua valorile square, circle și disc.

Liste ordonate: Aceste liste sunt delimitate de etichetele <ol> și </ol> iar elementele de <li> și </li>. Elementele listei pot fi particularizate folosind atributul type care poate lua valorile A (litere mari), a (litere mici), I (cifre romane mari), i (cifre romane mici), 1 (optiunea default).

Liste de definitii: Aceste liste sunt delimitate de etichetele <dl> și </dl>. Termenii listei sunt delimitati de etichetele <dt> și </dt> iar definitiile termenilor de <dd> și </dd>.

2.1.3 Legături

Legatura (link-ul) este o eticheta foarte importanta în HTML deoarece confera utilizatorului posibilitatea navigarii de la o pagina la alta. Deobicei link-ul este subliniat, iar atunci când suntem deasupra lui cursorul își schimba forma.

Link-ul este definit cu etichetele <a> și </a> și are atributele:

href – adresa fisierului destinatie

target – în ce fereastra se va deschide fisierul destinatie

title – mica descriere asociata legaturii afisata în momentul în care mouse-ul se afla deasupra legaturii

Adresa fisierului destinatie poate fi exprimata astfel:

nume fisier daca se afla în acelasi folder cu pagina curenta

adresa relativa daca se afla pe acelasi server sau disc, indicandu-se calea

adresa URL fiind adresa completa a paginii

Atributul target poate lua valorile:

_blank – pagina va fi incarcata intr-o noua fereastra

_parent – pagina va fi incarcata în fereastra parinte

_top – pagina va fi incarcata în fereastra top a cadrului

_self – pagina va fi incarcata în aceeasi fereastra

Putem insera un link catre o adresa de e-mail putand asocia și un subiect prestabilit

Exemple:

<a href="mailto:[anonimizat]">Trimite e-mail</a> Trimite e-mail

<a href='mailto:[anonimizat]?subject="subiect"'>Trimite e-mail</a> Trimite e-mail

Culoarea linkurilor poate fi modificata introducand în eticheta body urmatoarele atribute:

LINK legatura nevizitata (default albatru)

VLINK legatura vizitata (default rosu)

ALINK legatura activa (mai rar folosit – default portocaliu)

2.1.4 Ancore

Se pot adauga puncte de reper (ancore) pentru o deplasare mai usoara în cazul unor pagini HTML lungi sau catre un loc anume aflat intr-o alta.

Ancora se defineste tot intre etichetele <a> și </a> dar cu atributul name. Pentru a face trimitere catre ancora se introduce un link cu atributul href avand ca valoare denumirea ancorei.

Exemple:

Ancora : <a name="nume">Ancora</a>

Link catre ancora aflata în aceeasi pagina: <a href="#nume">Inapoi la ancora</a>

Link catre ancora aflata în alta pagina: <a href="pagina.html#nume">Inapoi la ancora din pagina.html</a>

2.1.5 Imagini

Folosind imagini, o pagina capata un plus de atractivitate, dar puteti plati pretul unei incarcari greoaie daca dimensiunile imaginii sunt mari.

Cateva din formatele de imagini utilizate în paginile web sunt: JPEG (*.jpg sau *.jpeg), GIF (*.gif), BMP (*.bmp), PNG (*.png). Formatul gif este recomadat pentru realizarea butoanelor și a icoanelor iar jpg pentru fotografii.

Eticheta folosita pentru inserarea unei imagini în pagina este <img> și are urmatoarele atribute:

src = sursa, locul unde se afla imaginea

width = latimea imaginii

height = inaltimea imaginii

alt = numele care inlocuieste imaginea pana aceasta se incarca sau cand nu a fost gasita

border = chenar (0 = lipsa bordura)

Dimensiunea imaginii afisate de browser este stabilita de argumentele width și height care pot fi diferite de dimensiunile imaginii originale, caz în care imaginea va fi redimensionata automat de catre browser.

Exemplu: <img src="poza.jpg" width="100" height="75" alt="poza" border="0">

Pentru a micsora timpul incarcarii complete a paginii exista programe care optimizeaza imaginile. Optimizarea consta în:

1. reducerea dimensiunii imaginii fără degradarea majora a calitatii

2. eliminarea informatiilor tip metadata asociate imaginii. Aceste date (EXIF/IPTC) sunt asociate automat de programele de grafica (de ex. Adobe Photoshop) sau de aparatele de fotografiat digitale.

2.1.6 Tabele

Tabelele constituie structura care sta la baza organizarii marii majoritati a paginilor web. Tabelul este format din linii și coloane impartind zona în celule. Fiecare celula conține informatia care va fi afisata. Pentru o afisare corecta a tabelului fiecare rand va avea acelasi număr de celule. Daca dorim ca o celula sa fie goala vom introduce un spatiu gol (space) sau codul echivalent &nbsp;.

Pentru inserarea unui tabel este folosita perechea de etichete <table> și </table>, pentru un rand <tr> și </tr> iar pentru o celula <td> și </td>.

Tabele pot fi imbricate, adica în interior pot contine unul sau mai multe tabele.

Atributele etichetei <table> sunt:

border – bordura (0 – lipsa bordura)

width – latimea tabelului

height – inaltimea tabelului

bgcolor – culoarea de fundal

background – imaginea de fundal

cellspacing – distanta intre celule

cellpadding – distanta dintre marginea celului și continut

Atributele etichetei <td> sunt:

align – aliniere pe orizontala a continutului (left, right, center)

valign – aliniere pe verticala a continutului (top, bottom, middle)

width – latimea celulei

height – inaltimea celulei

bgcolor – culoarea de fundal

background – imaginea de fundal

colspan – uneste celula cu cea din dreapta ei

rowspan – uneste celula cu cea de sub ea

Daca dorim sa evidentiem continutul primului rand (capul de tabel) putem folosi perechea de etichete <th> și </th> în locul etichetelor <td> și </td>. Astfel, continutul celulei va fi afisat ingrosat și aliniat pe mijloc.

Eticheta <caption> va adauga o linie text deasupra tabelului, centrata pe mijloc, deobicei folosita ca fiind un titlu al tabelului. <caption> se plaseaza obligatoriu imediat dupa tag-ul <table> dar inainte de prima eticheta <tr>.

2.1.7 Cadre

Sunt și situatii în care imaginea afisata de browser este formata din mai multe pagini HTML numite cadre. Caracteristic acestor pagini este ca perechea de etichete <body> </body> este inlocuita de <frameset> </frameset> iar în interiorul lor cadrele sunt delimitate de <frame> și </frame>.

Atributele etichetei frameset sunt:

cols – imparte pagina în coloane și are valori exprimate în procente din dimensiunea ferestrei, număr de pixeli sau * adica spatiul ramas

rows – imparte pagina în randuri cu aceleasi valori ca la cols

bordercolor – culoarea tuturor chenarelor conform modelului #rrggbb

frameborder – inhibarea afisarii chenarelor cu valorile yes sau no

Cadrele sunt introduse prin pereche de etichete <frame> </frame> care suporta atributele:

src – fisierul sau adresa fisierului introdus

bordercolor – culoarea chenarului cadrului curent conform modelului #rrggbb

noresize – dezactiveaza posibilitatea vizitatorului de a redimensiona cadrul

scrolling – adauga cadrului bare de defilare cu valorile yes no și auto

<html>

<head>

<title>Exemplul frame</title>

</head>

<frameset rows="20%,80%">

<frame src="exemplu1_1.html" bordercolor="#ff0000">

<frame src="exemplu1_2.html" scrolling="yes">

</frameset>

</html>

În situatia în care browserul folosit nu suporta pagini care contin cadre imaginea afisata va fi goala. Pentru a evita acest lucru vom introduce un mesaj incadrat de <body> și </body> intre etichetele <noframes> și </noframes> prin care informam vizitatorul ca foloseste un browser care nu suporta cadre.

Cadre în-line: Sunt blocuri care se introduc în pagina prin perechea de etichete <iframe> și </iframe>.

2.1.8 Fonturi

Tag-ul <font> este folost pentru a modifica tipul de text, marimea și culoare. Foloseste atributele "size", "color", și "face" pentru a personaliza textul. Foloseste tag-ul <basefont> pentru a seta culoarea marimea și stilul intregului tau text.

Seteaza marimea font-ului tau cu ajutorul atributului size al tagului font. Sunt acceptate valori intre 1 (cea mai mica) și 7 (cea mai mare). Valoarea standard a unui text normal este 3.

Alege un stil de litera folosind tag-ul fontface. Poti alege orice font ai instalat, cu toate acestea, alege cu grija deoarece utilizatorul aflat pe pagina ta nuva putea vizualiza fontul respectiv daca nu il are instalat. Acesta va vedea în schimb font-ul default și anume Times New Roman.

În general tag-urile "font" și "basefont" nu se folosesc prea mult, în general se foloseste CSS-ul pentru a stabili atributele textului.

2.1.9 Culori

Exista trei feluri distincte de a defini o culoare. Cea mai simpla metoda este aceea de a numi culorile (în engleza). De exemplu: black, white, red, green, și blue.

Sistemul de culori RGB

Acest cod de culori nu este recomandat, deoarece Intenet Explorer este singurul Browser care suporta valorile RGB în HTML.

RGB este prescurtarea pentru: Red, Green, Blue. Fiecare dintre aceste culori poate lua orice valoare intre 0 (nu coloreaza deloc) și 255 (în totalitate acea culoare). Am alaturat mai jos forma de scriere a culorilor în RGB. Daca folosesti un browser care nu este Internet Explorer nu vei avea nici un rezultat.

Sistemul de culori hexazecimal

Sistemul hexazecimal este destul de dificil la prima vedere. Cu toate astea te asigur ca odata cu trecerea timpului, și cu putina practica, il vei intelege pe deplin. Sistemul de culori hexazecimal este sistemul standard pentru toate browser-ele web. Este de incredere și este compatibil nu numai în aplicatiile web dar și aplicatii locale precum gimp, photoshop, corel, etc.

Sistemul coduri de culori hexazecimale este o reprezentare de 6 caractere de culoare. Primele doua caractere (RR) reprezinta culoarea rosu (Red), urmatoarele doua (GG) culoarea verde (Green), iar ultimele doua (BB) culoarea albastra (Blue).

2.1.10 Formulare

Folosind formularele webdesignerul sau administratorul site-ului poate colecta diverse informatii de la vizitatori.

Cele mai importante atribute ale etichetei <form> sunt action și method.

action mentioneaza adresa scriptului (aflat pe server) care va interpreta formularul. Aceste scripturi pot fi scrise în limbajele PHP sau Pearl.

method indica metoda folosita de browser pentru transmiterea formularului. Poate lua valorile get și post.

get – datele sunt trimise prin adaugarea la adresa indicata de action. Permite trimiterea unor mici cantitati de date.

post – datele sunt trimise separat și sunt permise cantitati mari de date.

Eticheta <input> poate avea atributele:

type – indica tipul datelor care vor fi introduse (text= câmp de text, submit=trimite, reset=sterge, password=parola, hidden=nu este vizibil, checkbox=caseta de validare, button=buton, radio=selectarea unui singur element dintr-un grup, file=fisier pentru upload)

name – numele asociat câmpului respectiv. Este folosit la prelucrarea datelor de catre scriptul mentionat în action

size – numărul de caractere vizibile din câmp

maxlenght – numărul maxim de caractere introduse în câmp

readonly – datele prezente în câmp nu pot fi modificate

Constructia select introduce un meniu derulant (lista de selectie) la care valorile sunt declarate prin option.

În câmpul textarea se poate introduce text și are atributele cols (număr de coloane) și rows (număr de randuri).

Câmpurile de text sunt intalnite cel mai des în formulare. Acestea sunt ulteror procesate cu ajutorul unui limbaj de programare de cele mai multe ori ASP PERL sau PHP.

Atributele aditionale care se folosesc pentru formatarea unui câmp de text sunt:

– size: stabileste lungimea câmpului de text. Lungimea standard a unui câmp de text este în general intre 20-25 de caractere, dar poate varia depinzand de scopul formularului sau al câmpului în sine.

– value: Folosind acest atribut vom face posibila scrierea de informatie în câmpurile noastre, informatie pe care userul o poate sterge sau nu. Aceasta aplicatie este destul de folositoare în special atunci cand se integreaza un script php care recunoaste un vizitator și retine optiunile inscrise de acesta.

– maxlength: este unul dintre atributele cele mai folositoare ale câmpurilor de text, el impiedicand utilizatorul sa introduca un sir de caractere mai mare decat cel dorit.

Câmpurile cu parole sunt o categorie aparte a tag-ului input. Rezultatul este un câmp în care textul este ascuns sub asteriscuri, stelute, patratele sau cerculete negre, acest lucru depinzand de interpretarea browserului.

Trebuie mentionat ca aceste câmpuri de parole nu sunt criptate, iar folosirea lor asa cum a fost exemplificat mai sus fără nici o masura de precautie nu este recomandata sub nici o forma. Criptarea acestor câmpuri se realizeaza cu ajutorul altor limbaje de programare de exemplu Php sau Javascript.

Checkbox-urile vin în ajutorul utilizatorului facilitand alegerea simulatana a mai multor variane de raspuns. Checkbox-urile ofera deasemenea posibilitatea de a fi bifate pentru a facilita în anumite situatii "munca" utilizatorului. Acest lucru se realizeaza cu ajutorului atributului checked acesta avand valoarea yes.

Butoanele radio sunt folosite pentru a permite utilizatorului sa selecteze una dintre optiunile listate.

Specificand un nume pentru categoria din care face parte formularul de tip radio vom instiinta browser-ul pentru ca ulterior el sa faca diferenta intre mai multe formulare de tip radio permitand astfel alegerea unei singure variante de raspuns pentru fiecare formular în parte.

La fel ca și la checkbox-uri, butoanele radio pot fi selectate pentru a facilita "munca" utilizatorului.

Textarea: Câmpurile de text de acest fel sunt folosite pentru comentarii, bloguri, memos, sau orice alt scop care cere un spatiu de exprimare.

Atributul "wrap": acest atribut al tagului <textarea> va stabili felul în care va reactiona textului atunci cand va ajunge la sfarsitul liniei.

Wrap va avea una dintre cele trei valori: hard, soft, off.

– hard – va plasa un enter la sfarsitul fiecarei linii și va trimite textul în acelasi format în care a fost introdus.

– soft – va plasa un enter la sfarsitul fiecarei linii dar spre deosebire de hard va trimite textul în format liber.

– off – nu va formata câmpul de text sub nici o forma, lasand textul introdus intr-o singura linie continua.

Atributul "readonly": Depinzand de valoarea acestui atribut, utilizatorul poate sau nu modifica continutul câmpului de text. Atributul readonly poate lua valoarile "yes" sau "no".

Atributul "disabled": Acesta va afisa textul în gri, restrictionand în acelasi timp, posibilitatea de a modifica textul pe care il contine câmpul respectiv.

Upload-ul este o forma forte practica de a permite utilizatorilor sa urce pe server fotografii, filme, sau orice alte fisiere în general. Pentru a crea un formular de upload nu va trebui decat sa stabilim tagului <input type=" ">, valoarea file.

Pentru a limita marimea unui fisier urcat pe server vom utiliza un câmp ascuns.

Exemplu:

<input type="hidden" name="MAX_FILE_SIZE" value="500" />

< input type="file" />

Valoarea aleasă în exemplul de mai sus a fost 500. Aceasta inseamnă că nu vor fi permise spre upload fisiere mai mari de 500kb. [6, 7, 9]

2.2 PHP

PHP este un limbaj de programare. Numele PHP provine din limba engleză și este un acronim recursiv : Php: Hypertext Preprocessor. Folosit inițial pentru a produce pagini web dinamice, este folosit pe scară largă în dezvoltarea paginilor și aplicațiilor web. Se folosește în principal înglobat în codul HTML, dar începând de la versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI), permițând crearea de aplicații independente. Este unul din cele mai importante limbaje de programare web open-source și server-side, existând versiuni disponibile pentru majoritatea web serverelor și pentru toate sistemele de operare.

PHP însemna inițial Personal Home Page. PHP a fost început în 1994 ca o extensie a limbajului server-side Perl, și apoi ca o serie de CGI-uri compilate. Apoi a evoluat în PHP/FI 2.0, dar proiectul open-source a început să ia amploare după ce Zeev Suraski și Andi Gutmans, de la Technion au lansat o nouă versiune a interpretorului PHP în vara anului 1998, această versiune primind numele de PHP 3.0. Tot ei au schimbat și numele în acronimul recursiv de acum, până atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi Suraski și Gutmans au rescris baza limbajului, producând astfel și Zend Engine în 1999. În mai 2000 a fost lansat PHP 4.0, având la bază Zend Engine 1.0. Pe 13 iulie 2004 a fost lansat PHP 5, cu Zend Engine II, ce a adus și o orientare obiect mai pronunțată și suportând mai multe caracteristici ale acestui tip de programare. Dezvoltarea la PHP 6 începuse deja în decembrie 2007 și urma să fie oferit odată cu scoaterea din uz a PHP4.

2.2 PHP

PHP este un limbaj de programare server-side . Numele PHP provine din limba engleză și este un acronim recursiv : Php: Hypertext Preprocessor. Folosit inițial pentru a produce pagini web dinamice, este folosit pe scară largă în dezvoltarea paginilor și aplicațiilor web. Se folosește în principal înglobat în codul HTML, dar începând de la versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI), permițând crearea de aplicații independente. Este unul din cele mai importante limbaje de programare web open-source și server-side, existând versiuni disponibile pentru majoritatea web serverelor și pentru toate sistemele de operare.

PHP însemna inițial Personal Home Page. PHP a fost început în 1994 ca o extensie a limbajului server-side Perl, și apoi ca o serie de CGI-uri compilate. Apoi a evoluat în PHP/FI 2.0, dar proiectul open-source a început să ia amploare după ce Zeev Suraski și Andi Gutmans, de la Technion au lansat o nouă versiune a interpretorului PHP în vara anului 1998, această versiune primind numele de PHP 3.0. Tot ei au schimbat și numele în acronimul recursiv de acum, până atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi Suraski și Gutmans au rescris baza limbajului, producând astfel și Zend Engine în 1999. În mai 2000 a fost lansat PHP 4.0, având la bază Zend Engine 1.0. Pe 13 iulie 2004 a fost lansat PHP 5, cu Zend Engine II, ce a adus și o orientare obiect mai pronunțată și suportând mai multe caracteristici ale acestui tip de programare. Dezvoltarea la PHP 6 începuse deja în decembrie 2007 și urma să fie oferit odată cu scoaterea din uz a PHP4.

2.2.1 Caracteristici ale PHP

Așa cum va puteti da seama, limbajul PHP este un limbaj de programare practic. In PHP este vorba despre asigurarea programatorului cu tools-urile necesare pentru terminarea programului rapid si eficient .

Exista 5 caracteristici care fac PHP-ul cat mai practic posibil

•Familiarizarea
•Simplitate
•Eficiență
•Securitate
•Flexibilitate
O caracteristică finală face PHP deosebit de interesant: este gratuit!
O caracteristica face PHP-ul deosebit de interesat: faptul ca este gratuit

Familiaritatea
Programatorii care vin din mai multe medii de programare se vor găsi ei înșiși deja obișnuiți cu limbajul PHP. Multi constructori din PHP sunt împrumutate din C și Perl, și în multe cazuri codul PHP este aproape imposibil de distins de codul gasit in C sau Pascal. Acest lucru scurteaza timpul de invatare considerabil

Simplitatea

Un script PHP poate contine 10.000 linii sau o singura linie: orice ai nevoie pentru a face treaba. Nu este nevoie să se includă biblioteci, directive speciale de compilare, sau orice de genul. Motorul PHP începe executarea codului după prima secvență de terminare (). Dacă codul este sintactic corect, acesta va fi executat exact așa cum este afișat.

Eficiență
Eficiența este un element extrem de important pentru a lucra intr-un mediu multiutilizator, cum ar fi WWW. PHP 4.0 a introdus mecanisme de alocare a resurselor și de sprijin mai pronunțate pentru programarea orientată pe obiecte, în plus față de caracteristicile de gestionare a sesiunilor.

Securitate
PHP oferă dezvoltatorilor și administratorilor un set flexibil și eficient de garanții de securitate. Aceste garanții pot fi împărțite în două cadre de referință: la nivel de sistem și la nivel de aplicație.
– garantii de securitate la nivel de sistem:

PHP furnizează o serie de mecanisme de securitate pe care administratorii le pot manipula, care prevad suma maximă de libertate și securitate atunci când PHP-ul este configurat corect. PHP-ul poate fi rulat în ceea ce este cunoscut sub numele de modul de siguranță, care poate limita încercările utilizatorilor de exploatare.

– Garanții de aplicare la nivel de securitate:

Mai multe opțiuni de criptare a datelor sunt acceptate în setul de functii PHP predefinite. PHP este compatibil cu multe aplicații terte, pentru a permite ușor integrarea in tehnologiile de comert electronic sigure. Un alt avantaj este faptul că codul sursă PHP nu poate fi vizualizat prin intermediul browser-ului , deoarece codul sursa este analizat complet înainte de a fi trimis la utilizator solicitant. Acest beneficiu a arhitecturii server-side PHP previne pierderea de script-uri creative in defavoarea utilizatorilor care au suficient de cunostinte pentru a executa un "View Source".

Flexibilitatea

Deoarece PHP este un limbaj încorporat, este extrem de flexibil pentru a satisface necesitățile dezvoltatorului. Deși PHP este, în general utilizat în conjuncție exclusiv cu HTML, aceasta poate fi, de asemenea, integrat alături de limbaje de programare, cum ar fi JavaScript, WML, XML, și multe altele.

Dependența de browser nu este o problemă, deoarece scripturile PHP sunt compilate în întregime pe partea de server înainte de a fi trimise utilizatorului. De fapt, scripturile PHP pot fi trimise la aproape orice fel de dispozitiv care conține un browser, inclusiv a telefoanelor mobile, dispozitivelor de Personal Digital Assistant (PDA), pagere, laptopuri, si nu mai vorbim de PC tradițional. Oamenii care doresc să dezvolte aplicații bazate pe shell pot executa, de asemenea, PHP din linia de comandă.

Deoarece PHP nu conține cod de server specific, utilizatorii nu se limitează la un server Web specific și, probabil, nefamiliar.. Din cauza diferitelor platforme care operează pe, PHP este în mare măsură independent de platforma, disponibil pentru diferite platforme precum UNIX, Solaris, FreeBSD și Windows 95/98 / NT.

În cele din urmă, PHP oferă acces la componente externe, cum ar fi Enterprise Java Beans si obiecte Win32 COM. Aceste caracteristici noi adăugate pune PHP, care să permit într-adevăr dezvoltatorilor proiecte PHP

Gratuit
Strategia de dezvoltare open source a favorizat considerabil PHP-ul în industria de software. Perspectiva de eliberare a codului sursă pentru utilizator a dus incontestabil la rezultate pozitive pentru multe proiecte, poate cel mai special fiind Linux, deși succesul proiectului Apache a fost cu siguranță o contribuție majoră în a dovedi validitatea idealului open source.

2.2.2 Tipuri de date interne

Boolean sunt valori logice de tip adevărat sau fals, similare cu cele din C++ sau Perl.

Integerurile sunt – numere întregi. Valoarea maximă depinde de sistemul de operare și de tipul de integer. Tipul poate fi "signed" sau "unsigned", adica dependent de semnul + sau – sau independent de acestea. Valorile pentru integer unsigned sunt mai mari decât cele pentru signed.

Float sunt cunoscute ca si numere reale. Valorile maxime sunt de asemenea dependete de platforma, în general cu un maxim de ~1.8e308 cu o precizie de 14 zecimale dupa virgulă ( in formatul 64 bits IEEE).

String-urile sunt șiruri de caractere. Înainte de PHP6, un caracter era echivalent cu un byte. Nu există limitări pentru lungimea unui șir, în afără memoriei alocate PHP.

Array-urile în PHP sunt un tip de date care conțin un grup de elemente. Fiecare element are un indice intern , iar fiecărui indice îi corespunde o valoare anume. Un astfel de grup poate fi folosit ca o simulare pentru diverse situații matematice precum vectori, serii, dicționare de elemente.

Obiectele sunt instanțele unei clase, în care proprietățile obiectului primesc valori specifice.

Resursele sunt variabile speciale care conțin legături cu resurse externe PHP. Conexiunea cu o bază de date este o astfel de resursa deschisă și menținută cu ajutorul unor funcții special definite pentru aceasta muncă.

Tipul de data NULL , semnifică că variabila respectivă nu a fost definită și că nu are valoare sau valoarea e necunoscută.

2.2.3 Variabile

O variabila este un suport pentru un tip de date. Deci, în funcție de tipul variabilei, o variabilă poate deține numere, siruri de caractere, boolean, obiecte, resurse sau poate fi NULL. În PHP toate variabilele încep cu un semn dolar "$", iar valoarea poate fi assignes folosind "=" operatorul. Semnul dolar nu este punct de vedere tehnic o parte din numele variabilei, dar este necesar ca primul caracter pentru parser PHP să recunoască variabila ca atare.

Un alt lucru important în PHP este că toate declarațiile trebuie să se termine cu punct și virgulă ";". In PHP nu avem nevoie să specificați tipul de variabile, ca este nevoie de tipul de date din valoarea atribuită. Conținutul unei variabile poate fi schimbată în orice moment, și astfel poate tipul său. Pentru a declara o variabila, trebuie să o includem în script. Puteți declara o variabilă și atribuii o valoare în aceeași declarație.

2.2.4 Variabile predefinite

PHP foloseste variabile predefinite pentru a oferi acces la informații importante despre server și cererile dintr-un browser. Această secțiune descrie variabilele predefinite disponibile.

Începând cu versiunea 4.1.0 a PHP, utilizarea noilor autoglobals, de asemenea, cunoscut sub numele de superglobals, au fost metoda recomandată pentru a avea acces variabile predefinite.

Înainte de introducerea autoglobals, aceste variabile au fost accesibile prin rețele similare (adesea menționată ca $ HTTP _ * _ VARS). Aceste variabile nu au fost la nivel mondial, care a făcut de codificare mai greoaie. În schimb, oamenii de multe ori s-au bazat pe directiva de configurare register_globals, care ar face ca toate elementele individuale din $ HTTP _ * _ VARS disponibile ca elemente globale. Dezavantajul acestei abordări este aglomera severă a domeniului de aplicare la nivel mondial.

PHP ofera un mare număr de variabile predefinite oricarui script care ruleaza și sunt functie de serverul pe care functioneaza.

Incepand cu PHP 4.2.0 valoarea default pentru directiva register_globals este off. Aceasta afecteaza setul de variabile predefinite disponibile în scop global.

De exemplu pentru a obtine DOCUMENT_ROOT vom folosi $_SERVER['DOCUMENT_ROOT'] în loc de $DOCUMENT_ROOT cum era în cazul în care register_globals erau on.

PHP Superglobals sunt variabile disponibile oriunde în script:

2.2.5 Constante

O constantă este un nume sau un identificator pentru o valoare simpla. O valoare constantă nu se poate schimba în timpul executării scriptului. În mod implicit o constantă este case-sensitive. Prin convenție, identificatori pentru valori constante sunt întotdeauna majuscule. O constantă începe cu o literă sau cu “_”, urmat de orice numar de litere sau numere. Dacă ați definit o constantă, ea nu poate fi schimbat sau nedefinită.

Pentru a defini o constantă va trebui să utilizați defini funcția () și pentru a prelua valoarea unei constante, trebuie să specificați doar numele său.

2.2.6 Comentarii

Comentariile în PHP sunt similare cu comentariile utilizate în HTML.Comentariul in PHP începe întotdeauna cu un caracter special și tot textul care apare între începutul și sfârșitul comentariului va fi ignorat.

In HTML scopul principal ale unui comentariu este de a servi ca o notă personala, utila pentru dezvoltator web sau alte persoane care pot vizualiza codul sursă al site-ul dumneavoastră. Cu toate acestea, comentariile PHP sunt diferite în felul in care acestea nu vor fi afișate pentru vizitatori. Singura modalitate de a vizualiza comentariile PHP este de a deschide fișierul PHP pentru editare. Acest lucru face comentarii PHP utile doar pentru programatori PHP.

2.2.7 Operatori

Operatorii aritmetici sunt de adunare, scadere inmultire și impartire.

adunare $a+$b

scadere $a-$b

inmultire $a*$b

impartire $a/$b

modulo (restul impartirii a două valori) $a%$b

Operatorii de atribuire

Principalul operator de atribuire este = și inseamna asocierea operatorului din stanga cu valoarea expresiei din dreapta (a nu se confunde cu egalitatea). Mai există o a doua formă a operatorului de atribuire de forma operator=.

Operatorii de comparatie sunt:

egalitate $a==$b

identic $a===$b TRUE daca $a este egal cu $b și sunt de acelasi tip

inegalitate (diferit)

inegalitate (diferit) $a<>$b

neidentic $a!==$b

mai mic $a<$b

mai mare $a>$b

mai mic sau egal $a<=$b

mai mare sau egal $a>=$b

Operatorii logici sunt:

NOT !$a

AND $a && $b

AND $a and $b

OR $a || $b

OR $a or $b

OR $a xor $b TRUE daca ori $a ori $b sunt TRUE dar nu amandoua

Incrementarea și decrementarea unei variabile numerice:

post incrementare $a++ incrementeaza $a cu 1 și returneaza $a

pre incrementare ++$a returneaza $a și incrementeaza $a cu 1

post decrementare $a– decrementeaza $a cu 1 și returneaza $a

pre decrementare –$a returneaza $a și decrementeaza $a cu 1

Instrucțiunile valabile in PHP

-if este o instructiune conditionala importanta, fiid cea mai folosita, conditia if functioneaza in felul urmator:

if (TRUE) {

intructiuni de executat ;

}

else este o instructiune conditionala care se executa daca instructiunea if nu este adevarata și are sintaxa:

if (conditie) {

instructiuni de executat daca se indeplineste conditia dintre paranteze;

} else {

instructiuni executate daca conditia din paranteze nu este indeplinita;

}

elseif in cazul in care conditia if nu este indeplinita si sunt mai multe conditii de verificat se introduce elseif care poate testa inca o conditie

if (conditia1) {

instructiuni de executat daca conditia 1 este adevarata;

} elseif (conditia2) {

Instructiuni de executat daca conditia 1 este falsa, iar conditia 2 este adevarata;

} else {

Instructiuni executata daca nici conditia 1 nici conditia 2 nu sunt adevarate;

}

functia switch este asemanatoare functiei if, dar conditia poate procesa mai mult de doua valori.

while este o instructiune de tip bucla. Atata timp cat conditia din paranteza este adevarata codul va rula pana cand conditia din paranteza este falsa.

while (conditie) {

instructiuni de executat;

}

for este o instructiune de tip bucla.

for (ex1; ex2; ex3) {

instructiuni de executat;

}

ex1 – este evaluata la inceputul buclei.

ex2 – se verifica la inceputul fiecarei rulari a codului

ex3 – se executa la sfarsitul fiecarei rulari a codului

Constructia for poate rula si fara aceste expresii.

Exemplu: se initializeaza variabila i cu valoarea 1, se verifica daca este mai mica sau egala cu 10, iar apoi se incrementeaza cu 1. De fiecare data cand se ruleaza codul se printeaza variabila i.

for ($i=1; $i<=10; $i++) {

echo $i."<br>";

}

foreach este o constructie care functioneaza doar cu matrice generand erori cand sunt folosite variabile cu tipuri de date diferite sau variabile neinitializate.

foreach ($matrice as $cheie=>$valoare) {

instructiuni de executat;

}

Exemplu:

$personal = array("Florin" => director, "Catalin" => inginer, "Mihai" => economist);

foreach ($personal as $nume => $meserie) {

echo "$nume => $meserie<br>";

}

instructiunea break opreste deruralea codului pentru urmatoarele tipuri de conditii: for, foreach,while,do..while sau switch.

break accepta opțional un argument numeric care indica numărul de structuri imbricate a caror functionare este oprita.

continue sare peste restul din iteratia buclei curente și continua executia la inceputul iteratiei urmatoare. continue accepta opțional un argument numeric care indica numărul de bucle care vor fi sarite până la sfarsit.

2.2.9 Funcții

Funcțiile PHP sunt similare cu alte limbaje de programare. O funcție este o bucată de cod care are o intrare mai în formă parametrului și nu unele de prelucrare și returnează o valoare.

Deja ati văzut multe funcții cum ar fi fopen () și fread () etc. Acestea sunt functii built-in, dar PHP va ofera optiunea de a crea propriile funcții.

Există două părți, care ar trebui să fie clare pentru utilizator cum ar fi:

Crearea unui funcții PHP

Apelarea unui funcții PHP

De fapt, nu prea e nevoie pentru a crea propria funcție PHP, deoarece există deja mai mult de 1000 funcții create.

Este foarte ușor de a crea propria funcție PHP. Să presupunem că doriți să creați o funcție PHP care va scrie pur și simplu un mesaj simplu în browser, atunci când este accesata.

2.2.10 Trimiterea de emailuri

Folosind functia mail() din PHP pot fi trimise mailuri utilizand urmatoarea sintaxa:

mail(destinatar, subiect, mesaj, header aditional);

destinatar este adresa unde va fi trimis mailul iar daca este necesar mailul poate fi trimis mai multor destinatari, situatie în care adresele vor fi separate prin virgula

subiect este informatia care va fi afisata în câmpul subiect

mesaj este corpul mailului. Fiecare linie va fi separata prin LF (\n) și nu va avea mai mult de 70 de caractere

header aditional contine informatii optionale, de exemplu: From, Cc, Bcc fiind separate de caracterele CRLF (\r\n)

Toate mailurile trimise trebuie sa aibe câmpul From completat. Acest lucru poate fi facut prin adaugarea acestuia în header aditional sau prin setarea corespunzatoare a adresei în fisierul php.ini din PHP.

Acceptarea mailului pentru trimitere nu inseamna obligatoriu și ca a fost trimis.

Exemplu: trimiterea unui simplu mail

$to="[anonimizat]";

$subject="functia mail";

$mesaj="Mail trimis cu functia mail din PHP";

mail($to, $subiect, $mesaj);

Exemplu: trimiterea unui mail la care adaugam header aditional cu câmpurile From, Cc, Bcc. Pentru ca mailul sa poata contine etichete HTML trebuie adaugat Content-type. S-au folosit caracterele speciale \r\n pentru afisarea fiecarei informatii pe un nou rand.

$to="[anonimizat]";

$subject="functia mail";

$mesaj="Mail trimis cu functia mail din PHP";

$headers = 'MIME-Version: 1.0'."\r\n";

$headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";

$headers .= 'From: [anonimizat]'."\r\n";

$headers .= 'Cc: [anonimizat]'."\r\n";

$headers .= 'Bcc: [anonimizat]'."\r\n";

mail($to, $subiect, $mesaj, $headers);

2.2.11 Reprezentarea datei și a orei

Funcția date returneaza un sir functie de parametri ceruti conform tabelului de mai jos:

Parametru Semnificatie Exemplu

Y An format 4 cifre 2006

y An format 2 cifre 06

n Luna format 1 sau 2 cifre 7

m Luna format 2 cifre 07

F Luna June

M Luna format 3 litere Jun

j Zi din luna format 1 sau 2 cifre 9

d Zi din luna format 2 cifre 09

l Zi din saptamana Friday

D Zi din saptamana format 3 litere Wed

w Zi din saptamana format 1 cifra 0=duminica 6=sambata

z Zi din an (0-365) 123

t Numărul zilelor dintr-o anumita luna 30

g Ora 12h format 1 sau 2 cifre 3

G Ora 24h format 1 sau 2 cifre 21

h Ora 12h format 2 cifre 03

H Ora 24h format 2 cifre 21

i Minute 32

s Secunde 17

a am sau pm pm

A AM sau PM PM

Exemple:

echo date("d-m-Y g:i A");

echo date("j-F-Y H:i" );

echo date("l-M-Y");

2.2.12 Funcții pentru șirurile de caractere

strlen() returneaza lungimea unui string

trim() elimina spatiile albe din sir

ltrim() elimina spatiile albe din stânga sir

rtrim() elimina spațiile albe din dreapta sir

strtolower() converteste un sir la litere mici

strtoupper() convertește un sir la litere mari

2.2.13 Funcții MySQL

Stabilirea unei conexiuni la baza de date

Înainte de a efectua o cerere de date (interogare) asupra unei baza de date, către aceasta trebuie deschisă o conexiune. Când nu se mai dorește utilizarea bazei de date, conexiunea trebuie închisă, deoarece numărul de conexiuni este limitat.

Conectarea la serverul MySQL:

resource mysql_connect([string server [,string username [,string password [,bool new_link [,int client_flags]]]]]);

resource mysql_pconnect([string server [,string username [,string password [,int client_flags]]]]);

Aceste două funcții returnează un identificator de legătură în caz de succes sau valoarea FALSE în caz contrar.

Parametrii:

– server: optional se pot specifica un numar de port (ex. "hostname:port") sau o cale (ex. "hostname:/path/to/socket") pentru server. Dacă nu se specifica, se transmite valoarea "localhost:3306";

– username: numele utilizatorului care doreste conectarea. Dacă nu se specifica, se transmite numele utilizatorului proprietar al procesului curent de pe server;

– password: parola cu care se doreste conectarea. Dacă nu se specifica, se va utiliza sirul vid;

– client_flags: poate fi o combinatie a urmatoarelor constante: MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE sau MYSQL_ CLIENT_INTERACTIVE.

Deosebirea dintre aceste două funcții este că prima deschide o conexiune normală nepersistentă, iar cea de-a doua una persistentă. Conexiunea normală se închide odată ce scriptul își termină execuția sau cu funcția mysql_close(). Conexiunea persistentă se termină odată cu oprirea serverului MySQL.

Dacă în prealabil a mai fost deschisă o conexiune persistentă către același server de către același client, nu se mai deschide încă una, ci se foloseste cea deja deschisă.

Funcția mysql_connect() se foloseste pentru conectarea ocazională, iar funcția mysql_pconnect() se folosește când există o conectare permanentă sau intensivă la serverul de date.

Numărul maxim de conexiuni care pot exista în același timp este dat de parametrul mySQL max_connections.

-Alegerea bazei de date:

bool mysql_select_db(string database_name [,resource link_identifier]);

Selectează baza de date activă pe serverul pe care este deschisă conexiunea. Acest lucru este necesar dupa ce s-a deschis o conexiune noua. Funcția returnează TRUE sau FALSE, în funcție de reușita operațiunii.

Opțional se poate specifica o conexiune deschisă, altfel este utilizata conexiunea care a fost stabilită ultima. Dacă nu este deschisă nici una, se apelează automat funcția mysql_connect().

Deconectarea de la serverul MySQL:

bool mysql_close([resource link_identifier]);

Aceasta funcție realizează închiderea explicită a unei conexiuni normale (nepersistente). Dacă nu se specifică parametrul, se va închide ultima conexiune utilizată.

Interogări

Cel mai utilizat mod de execuție a unei interogări SQL se face cu instructiunea SQL SELECT.

Rezultatul unei interogări SQL este o tabelă temporară, care are câmpurile specificate instructiunea SELECT și un numar de înregistrări care poate fi cuprins între 0 și produsul cartezian al tuturor înregistrarilor din tabelele specificate în clauza FROM a instrucțiunii SELECT.

resource mysql_query(string query [, resource link_identifier [,int result_model]]);

resource mysql_db_query(string database, string query [, resource link_identifier]);

Aceste funcții trimit o interogare la serverul care este asociat conexiunii specificate de link_identifier. Dacă nu este specificat, se foloseste ultima conexiune deschisă. Dacă nu este nici o conexiune deschisă, funcția încearcă deschiderea uneia. Returnează un identificator, care poate fi folosit pentru analiza rezultatului. Dacă interogarea nu se poate executa, funcția returnează valoarea FALSE.

Parametrii:

– query: șirul de caractere care conține comanda SQL. Pentru a avea un rezultat valid, trebuie respectata sintaxa SQL.

– result_model: poate avea valorile MYSQL_USE_RESULT sau MYSQL_ STORE_RESULT.

Prima funcție se folosește uzual, iar cea de-a doua este învechită. mysql_db_query() este o combinație a funcțiilor mysql_select_db() și mysql_query().

Eliberarea memoriei utilizate de o interogare

bool mysql_free_result(resource result);

Aceasta funcție eliberează memoria utilizată de tabelele temporare generate de interogări. Returnează TRUE sau FALSE, în funcție de succesul operației.

Prelucrarea rezultatelor unei interogări

array mysql_fetch_array (resource $result [, int $result_type = MYSQL_BOTH| MYSQL_ ASSOC| MYSQL_NUM]);

Această funcție transformă un rând din tabela rezultată în urma interogări într-un tabel, care poate fi apoi parcurs coloană cu coloană.

Parametrii:

result: rezultatul obținut în urma apelării funcției mysql_query()

result_type: tipul tabloului

Alte funcții:

int mysql_num_rows (resource $result);

Returnează numărul de rânduri obținute în urma unei interogări.

string mysql_field_name(resource result, int field_index);

Returnează numele câmpului cu indexul specificat, dintr-un rezultat al unei interogări.

string mysql_info( [resource link_identifier]);

Returnează informații detaliate despre ultima interogare care utilizează conexiunea link_identifier, iar în cazul în care nu este specificat, ultima conexiune deschisă.

2.2.14 HTML în PHP

Când se doreste construirea unuei pagini complexe, la un moment dat programatorul se va confrunta cu necesitatea de a combina PHP și HTML pentru a obține rezultatele necesare. La început, acest lucru poate părea complicat, deoarece PHP și HTML sunt două limbi diferite, dar nu este cazul. PHP este proiectat să interacționeze cu HTML si scripturile PHP pot fi incluse într-o pagină HTML fara nici o problema.

Într-o pagină HTML, codul PHP este inclus în etichete speciale PHP. Când un vizitator deschide pagina, serverul procesează codul PHP și apoi il trimite (nu codul PHP în sine) browser-ului vizitatorului. De fapt, este destul de simplu de a integra HTML și PHP. Un script PHP poate fi tratată ca o pagină HTML, cu bucățele de PHP inserate aici și acolo. Toate datele dintr-un script PHP care nu este conținut în Tag-uri <? Php?> este ignorat de compilatorul PHP și e trecut direct la browser-ul web. Dacă te uiți la exemplul de mai jos puteți vedea cum ar putea arata un script PHP complet:

<head></head>
<body class="page_bg">
Hello, today is <?php echo date('l, F jS, Y'); ?>.
</body>
</html>

Codul de mai sus este pur și simplu HTML, cu un pic de PHP care imprimă data de astăzi, folosind funcția date care este o functie built-in. După cum sa menționat mai sus, tot codul HTML simplu va fi ignorat de compilator PHP și va fi trecut prin a browser neatins.

Vezi cât de ușor, care este? Integrarea PHP și HTML este într-adevăr foarte simpla. Doar amintiți-vă că, la miezul ei, un script PHP este doar o pagină HTML cu unele PHP stropit prin ea. Dacă doriți, puteți crea un script PHP care are doar HTML în ea și nu <? Php?> Etichete, și va funcționa bine.

2.3 CSS

Cascading Style Sheets (CSS) este un limbaj folosit pentru a descrie aspectul și formatarea unui document scris într-un limbaj de marcare. Deși cele mai multe ori folosit pentru a schimba stilul paginilor web si interfetele scrise în HTML și XHTML, el mai poate fi aplicat si la orice tip de document XML, inclusiv XML simplu, SVG și XUL. Împreună cu HTML și JavaScript, CSS este o tehnologie fundamentala folosita de cele mai multe site-uri web pentru a crea pagini web, interfete de utilizator pentru aplicații web, și interfețe de utilizator pentru multe aplicații mobile.

CSS este destinat în primul rând pentru a permite separarea conținutului documentului de prezentare de documente, inclusiv elemente cum ar fi aspectul, culorile, și fonturile. Această separare poate îmbunătăți accesibilitatea conținutului, oferă mai multă flexibilitate și control în specificarea caracteristicilor de prezentare, permite utilizarea unui cod CSS in mai multe pagini HTML prin specificarea codului CSS relevant într-un fișier .css separat, și care să reducă complexitatea și repetiția în conținutul structural. CSS face posibilă separarea instrucțiunilor de prezentare de conținutul HTML printr-un fișier sau o secțiune de still separată a fișierului HTML. Pentru fiecare element HTML, se oferă o listă de instrucțiuni de formatare.
Această separare de formatare și conținut face posibilă prezentarea aceeași pagini marcate in stiluri diferite pentru diferite metode de redare, cum ar fi pe ecran, în print, și pe bazate pe Braille, dispozitive tactile. Acesta poate fi de asemenea utilizata pentru a afișa pagini web diferite în funcție de dimensiunea ecranului sau dispozitivul pe care este vizualizat.

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

nivelul 3 este reprezentat de comenzile aflate în pagini separate, tip externe

Cea mai mare importanță (suprascrie orice alt parametru) o are sintaxa 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ă si totodată editarea lor într-un singur loc pentru mai multe fișiere. Extensia acestor fișiere este .css.

Legștura paginilor HTML cu fișierele extene CSS se face prin introducerea urmatoarei linii: <link rel="stylesheet" type="text/css" href="fisier_css.css">

Comenzile de nivel 2 sunt cele găzduite oriunde între perechea de etichete <head> și </head> conform sintaxei:

<style type="text/css">

<!– comenzi CSS –>

</style>

Comenzile CSS de nivel 1 sunt cele mai folosite, ele suprascriind orice alte comenzi CSS. Sunt amplasate in interiorul etichetelor HTML aflate in zona <body> și </body> și au sintaxa:

<eticheta style="codul CSS dorit">

textul sau obiectul asupra căruia este aplicat codul CSS

</eticheta>

Selector CSS

Selectorul CSS este utilizat pentru a arata ce reguli au prioritate în CSS atunci când mai multe reguli ar putea fi aplicate pentru același element. Designer-ul definește blocurile de reguli de prezentare și stilare care sunt delimitate de acolade {}.

In blocurile de reguli se defines declaratiile CSS care sunt delimitate cu semnul ;(punct si virgula).

Proprietățile CSS sunt cuvinte în limba engleză care trebuie urmate de o valoare. O declarație CSS este o pereche formată dintr-o proprietate și o valoare. Fiecare bloc de reguli începe cu un selector sau mai multe selectoare separate de virgulă: selector1, selector2, selector3{proprietate: valoare;}.

Exemple de proprietăți și valori: font-size: 10px; position: absolute; margin: 15px,etc.

Selectoarele sunt expresii care determină asupra căror elemente (atribute sau tag-uri) din limbajul de marcaj (de ex. HTML) sunt aplicate proprietățile de stilare CSS. Selectoarele sunt clasificate în funcție de tipul de elemente: universal, element, clasă, id și atribut.

Un selector de elemente aplică regulile de stilare pe toate elementele de un anumit fel ce se găsesc în document, de exemplu tag-urile <p> sau <h3> succedate de blocul de reguli {proprietăți: valori;}.

Specificitatea CSS

In primul rand trebuie sa se iei in considerare faptul ca legile de specificitate se pot schimba de la o versiune la alta.

Specificitatea este calculate folosindu-se o formula care este bazata pe zona de selectare a regulilor CSS. Zona de selectare este sectiunea care vine inainte de acoladele de deschidere, in exemplul urmator, sectiunea h1 de regula este selectorul

Fig 2.1 Selector css.

Un selector poate contine unul sau mai multe puncte de referinta.

Ierarhia specificitati

Specificitatea se calculează într-un sistem ierarhic . Această ierarhie este împărțit în patru categorii distincte , în scopul de a determina specificitatea oricărei norme date ( enumerate în ordine descrescătoare) :

    a. Stiluri „inline”

    b . ID-uri

    c . Clase și pseudo- clase

    d . Elemente și pseudo- elemente

Specificitatea unui selector h1 care conținea doarnumele elementului ar fi calculată după cum urmează :

h1 = (x=0), (y=0), (z=0), (a=1)

În realitate, acest lucru ar fi scris ca o listă separate prin virgulă :

h1 = 0,0,0,1

Dacă selector dvs. de referință are un id , atunci valorile ar arata astfel:

#content h1 = 0,1,0,1

Așa cum exemplul de mai sus conține un selector ID ( #content ) , a doua valoare devine 1 pentru a arăta că aceast selector conține 1 punct de referință . Al doilea exemplu este mult mai specific , deoarece conține un punct de referință id care este mai important decat un simplu element . Nu contează în cazul în care această regulă este plasat în foaia de stil ; va câștiga întotdeauna împotrivasimplu selectorul h1 datorită specificității sale mai mare. Mai la stânga de pe lista separate prin virgulă punctele de referință sunt ,mai specific punctul de referință este .

Să presupunem că în mod eronat ai scrisaceeași regulă în foaia de stil extern de două ori . Atunci când sunt introduse unul lângă altul , aceste două reguli s-ar putea arata astfel :

h1 {color: albastru;}

h1{color: galbena;}

In acest exemplu ,specificitatea ambelor reguli este 0,0,0,1 in care nici una nu este mai specifică decât cealaltă . Dacă acestea au fost singurele două reguli care afectează h1 in foaie de stil , atunci elementul h1 ar fi de culoare galbenă, regula care este mai aproape de elementul de stil , se consideră a fi mai specifica . Dacă cele două reguli ar fi inversate astfel încât culoarea : albastra sa fie in partea de jos , atunci elementul h1 ar fi afișat în albastru . Când selectoare au o valoare egală specificata , atunci conflictul va fi întotdeauna rezolvate în acest mod

Originea fisierelor de stil

Fisiele de stil pot proveni din diferite locuri – vă puteți conecta la ele, le puteți încorpora în documentului , și puteți avea chiar si stiluri de linie chiar în interiorul documentului XHTML . În exemplul anterior, s-a văzut cum regulile contradictorii sunt rezolvate.

CAPITOLUL 3. Studiu de caz

3.1. Baza de date

Baza de date este de tip MySQL, creată cu ajutorul utilitarului XAMPP, și conține 3 tabele dupa cum urmeaza:

3.1.1 Tabelul Users

Fig 3.1 Tabel useri.

In acest tabel am introdus cateva exemple de studenti si datele necesare pentru conectarea fiecarui student pe pagina web. Studenti se vor conecta cu ajutorul CNP-ului .In acest tabel se vor introduce diferite date legate de studenti care vor ajuta in realizarea diferitelor grafice necesare pentru facultate, de exemplu: grafice de promovabilitate, grafice de locatie, etc. Dupa cum se poate vedea, in acest tabel vom avea si datele legate de specializare, forma de studii precum si date legate de taxa achitata de student si restul de achitat daca este cazul. Fiecare student are un cod unic dat de facultate pe care il voi folosi pentru a urmari studentul si in tabele urmatoare.

3.1.2 Tabelul Matematica – Informatica

Fig 3.2 Tabel matematica – informatica.

In acest tabel putem introduce notele tuturor studentilor aflati la specializarea Matematica – Informatica, dupa cum se poate vedea coloana B are o valoare unica, aceasta valoare fiind numarul unic primit de la facultate, acest tabel se poate modifica in functie de cerintele facultati. Informatiile introduse in acest tabel se vor afisa pe pagina web site-ului. Datele se pot introduce manual sau automat prin ajutorul formularelor aflate pe pagina web

3.1.3 Tabelul Informatica

Fig 3.3 Tabel Informatica

Acest tabel la fel ca si tabelul anterior va retine notele studentilor dar pentru studenti aflati la specializarea Informatica. Ca si in tabelul anterior, datele se vor putea introduce manual sau automat(upload) cu ajutorul formularelor de pe pagina web.

3.2 Fisierele folosite

Marea parte a site-ului se bazează pe fișiere php. Pe lângă fișierul de start index.php mai exista și fisierul screen.css.

Pentru a nu repeta aceleași date necesare la conectarea la baza de date, acestea au fost grupate în fișierul connect.php care este inclus apoi în celelalte fișiere php care accesează baza de date. Fisierul connect.php va contine cele 2 instructiuni, mysql_connect si mysql_select_db pe care le voi folosi pe fiecare pagina a site-ului.

<php

mysql_connect("localhost","root","");

mysql_select_db("lr");

?>

3.2.1 Fișierul screen.css:

– conține câteva setări de stil pentru textul din câteva elemente mai des utilizate în site:

De ex:

/* Resets */

ul {

padding:0;

margin:0 0 20px 0;

list-style:none;

}

h1, h2 {

padding:0;

margin:0 0 20px 0;

font-weight:normal;

}

p {

padding:0;

margin:0 0 20px 0;

}

a:link, a:visited {

text-decoration:underline;

color:#000;

}

/* mouse over link */

a:hover {

color: blue;

}

ul li {

padding:5px 0;

}

ul li input[type="text"], ul li input[type="password"] {

width:200px;

}

3.2.2 Fișierul index.php

Index.php este de fapt o combinație din mai multe pagini. Unele elemente sunt prezente pe toate paginile din acest site, că de exemplu notiță de copyright de la sfârșit, instrucțiunile de conectare la baza de date sau prima parte în care specificăm titlul, setul de caractere folosit și stilul CSS.

PHP oferă funcția include cu care le pot include în cadrul scriptului și să le refolosesc în orice alt script în care am nevoie de ele fără să trebuiască să le scriu din nou.

Structura fiecărei pagini din acest site, indiferent dacă este prima pagină, pagină de domeniu sau pagină cu detalii despre carte, va arată astfel:

Conectarea la baza de date

Coținutul paginii

Index.php

Fig. 3.3 Schema de alcatuire a paginilor

Acesta structură o voi folosi pentru toate paginile site-ului și în afară de conținutul paginii care diferă, celalalte rămân practic neschimbate. Le voi refolosi, scriind fiecare din ele într-un fișier separat și apoi incluzându-le atunci când voi avea nevoie de ele.

Structura fișierului index.php:

<?php

include 'core/int.php';

include 'includes/overall/oheader.php';

error_reporting(0);

?>

În aceste prime rânduri puteți observă comenzile „include” despre care am vorbit mai devreme, aceste comenzi ne ajută să includem anumite bucăți de cod pe care le-am salvat în fișiere diferite pentru a ne ajută în creearea de cod ușor de urmărit. Fișierul int.php este un alt fișier foarte important pentru acest web site, el ne permite să ne conectăm la baza de date și să determinăm cu ajutorul unor funcții ce user este logat în acest moment pe web site. Acest fișier ne va mai arată pe pagină web câteva informații folositoare despre student cum ar fi specializarea și anul curent în care se află studentul.

În următoarea parte a codului am introdus o condiție care să diferențieze un student de un administrator, student-ul neavând opțiunile unui administrator despre care voi vorbi în rândurile ce urmează.

<?php

if(has_access($session_user_id, 1) === true){

echo "<a href=contact.php>Vizualizare date studenti</a><br>";

echo "<a href=upload.php>Upload studenti</a><br>";

echo "<a href=adauga.php>Adauga studenti</a> <br>";

echo "<a href=form.php>Cauta Student</a> <br>";

echo "<a href=updateNote.php>Update Note</a> <br>";

}

După cum puteți vedea această condiție verifică dacă user-ul logat momentan are valoarea 1( această valoare este setată în baza de date în tabelul users) cu ajutorul unei funcții numită “has_acces”. Această funcție este situate în fișierul users.php, alături de restul de funcții legate de useri.

Pe această pagină se vor afișa informații diferite pentru diferiți useri, studenții neavând posibilitatea să interacționeze cu această pagină, doar administratorul și secretariatul ( aceștia având funcții specifice precum actualizare note, adăugare student, etc.).

Fig 3.4 Index.php

Totuși dacă user-ul nu este logat, pe web site v-a apărea următoarea pagină. Pe această pagină user-ul are posibilitatea de a se loga sau de a-și recupera username-ul/parolă (cu ajutorul adresei de e-mail ) în caz că acestea au fost uitate

3.2.4 Fișierul header.php

Acest fișier conține numele web site-ului și meniul care va fi afișat tuturor utilizatorilor

<header>

<h1 class="logo">Uav Date Studenti</h1>

<?php include'includes/menu.php'; ?>

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

3.2.5 Fisierul head.php

Acest fisier contine titlul pagini web.

<head>

<title>Uav Date Studenti</title>

<meta charset="UTF-8">

<link rel="stylesheet" href="css/screen.css">

</head>

3.2.6 Fisierul footer.php

In acest fisier scriem notita de copyright si inchidem toate tagurile deschise.

<footer>

&copy; All rights reserved˜.

</footer>

Fisierele descrise mai sus (heater.php si footer.php ) pot fi urmarite in urmatoarea imagine.

Fig 3.5 Alcatuire index.php

În figura 3.5 se pot vedea opțiunile disponibile unui administrator precum:

– Vizualizare date student

– Upload student

– Adăugare student

– Caută student

– Update note

Update note.

Fig 3.6

După cum se vede în figura 3.6 administratorul are posibilitatea de a da upload la note prin intermediul acestui “drop box” care îi permite selectarea unei anumite materii. Acest lucru

Opțiunile afișate în partea dreapta a ecranului sunt disponibile tuturor utilizatorilor.

Acesta a fost fișierul index.php, prima pagină a site-ului dar după cum puteți vedea este foarte bine partajat și îmi permite să folosesc un număr minim de linii de cod.

3.2.7 Profilul utilizatorului (profile.php).

Această pagină este core-ul acestui web site. Pe această pagină putem vizualiza majoritatea datelor necesare unui student precum.

-notele obținute

-restanțele

-taxele achitate

-restul de taxe

În cadrul fișierului profile.php avem multe linii de cod, dar va voi vorbi doar despre cele mai importante în rândurile ce urmează:

Selectarea studentului:

$result=mysql_query("SELECT * FROM informatica WHERE B = $user_id

UNION ALL

SELECT * FROM mate_info WHERE B = $user_id" );

$row = mysql_fetch_array($result);

In aceasta insiruire de cod avem un query pe baza de date care ne va cauta student-ul logat dupa $user_id ($user_id fiind numarul unic atribuit de facultate unui anume student) in cele doua tabele “informatica” sau “mate-info”.

Achitarea taxei de invatamant:

$result1=mysql_query("SELECT * FROM users WHERE user_id = $user_id" );

$row1 = mysql_fetch_array($result1);

Această linie de cod ne va caută în baza de date dacă studentul are probleme cu plata taxei, lucru care poate evita multe neplăceri cauzate de inabilitatea de verificare a erorilor apărute în momentul plăti facturi (plata întârziată, probleme bancare, etc.)

Fig 3.7

Afișarea notelor:

Afișarea notelor se face printr-o metodă simplă care ne permite să găsim notele student-ului logat și să le afișăm în momentul în care acestea au fost încărcate în baza de date.

Fig 3.8

După cum vedeți în fig. 3.8, avem mai multe elemente care ne ajută la vizualizarea notelor unui student. După cum puteți observă în primul rând avem butonul de submit pentru a alege anul pentru care se dorește vizualizarea notelor. În al doilea rând avem tabelele cu notele studenților care pot fi modificate doar de un administrator. Notele studenților pot fi încărcate automat sau manual cu ajutorul formularelor disponibile administratorilor

Acesta a fost fișierul profile.php, principalul fișier al acestui proiect.

Similar Posts