Sistem Informatic de Admitere Online la Facultate
Lucrare de licență
Sistem informatic de admitere online la facultate
I. Mediul online și tehnici de programare
I.1 Mediul online
I.2 Instrumente utilizate
I.2.1 HTML & CSS
I.2.2 JavaScript
I.2.3 PHP
I.2.4 MySQL
II. Sistem informatic de admitere online la facultate
II.1 Structura bazei de date
II.1.1 Conexiune la baza de date
II.1.2 Structura bazei de date
II.2 Descrierea procesului de admitere online la facultate
II.2.1 Înscriere
II.2.2 Validare
II.2.3 Înmatriculare
II.2.4 Plata taxelor
II.3 Autentificare utilizatori cu sesiuni
II.3.1 Contul student
II.3.2 Contul administrator
II.3.3 Contul caserie
II.4 Securitate date
II.4.1 Validare JavaScript
II.4.2 Validare PHP
II.5 Manual de utilizare a sistemului de admitere online
III. Concluzii
IV. Bibliografie
Figure 1-Popularitatea limbajelor de programare 7
Figure 2 -Conexiune și selectare baza de date 17
Figure 3 – Listă tabele bază de date 17
Figure 4 – Aleră formular completat incorect 18
Figure 5 – Capitol I formulat înscriere 19
Figure 6 – Capitolul II formular înscriere 20
Figure 7 – Capitolul III formulat înscriere 20
Figure 8 – Capitolul IV formular înscriere 21
Figure 9 – Capitolul V formular înscriere 22
Figure 10-Formular introducere procente pentru medie admitere 22
Figure 11-Funcții JQuery calcul medie 23
Figure 12 – Capitolul VI formular înscriere 23
Figure 13- Funcție JScript pentru adăugarea opțiunilor 24
Figure 14 – Capitolul VII formular înscriere 24
Figure 15-Selectare specializare pentru afișare listă înscriși 25
Figure 16-Lista specializări pentru înmatriculare 26
Figure 17-Script Jquery export Excel 26
Figure 18 – Logare caserie 27
Figure 19 – Formular achitare taxă înscriere 27
Figure 20 – Formular înmatriculare 28
Figure 21-Meniu studenți 28
Figure 22-Meniu administrator 29
Figure 23-Meniu caserie 29
Figure 24- Funcție JS de validare casetă text 31
Figure 25 – Afișare JScript pentru atenționare câmp gol 32
Figure 26 – Afișare JScript pentru atenționare introducere date nevalide 32
Figure 27- Funcție JS pentru validare butoane radio 32
Figure 28- Funcție JS pentru validare listă de selecție 33
Figure 29-Funcție JS hander onsubmit 33
Figure 30 – Exemplu 1 utilizare funcție isset 34
Figure 31 – Exemplu 2 utilizare funcție isset 34
Figure 32 – Utilizare functie mysql_real_escape_string() 34
Figure 33 – Alertă înscriere realizată 35
Figure 34 – Exemplu validare date 35
Figure 35 – Alertă student deja înscris 36
Figure 36 – Alertă student neînscris 36
Figure 37 – Achitat taxă înscriere 36
Figure 38 – Listă înscriși Infomatică Economică 37
Figure 39 – Achitare taxă înmatriculare prima specializare 37
Figure 40 – Listă opțiuni pentru înmatriculare 38
Figure 41 – Confirmare achitare taxă înmatriculare 38
Figure 42 – Specializări pentru liste înmatriculați 38
Figure 43 – Listă înscriși Infomatică Economică 39
Figure 44 – Înmatriculare a doua specializare 39
Figure 45 – Listă înmatriculat la a doua specializare 40
Introducere
În lumea contemporană, mediul online a pus stăpânire pe toate domeniile existente. Mediul online pune la dispoziția utilizatorului informații din orice subiect existent, oferă posibilități de comunicare în orice capăt al lumii și o gamă variată de servicii cum ar fi achiziționarea de bunuri sau serviciile bancare. Mass-media tradițională a fost atrasă de mediul online, în prezent toate canalele tv, posturile de radio și ziarele fiind disponibile online.
Procesului de admitere la facultate îi este caracteristică o procedură complicată. În mod tradițional asta presupune mii de formulare de înscriere și o muncă minuțioasă pentru centralizare. Având în vedere că, admiterea presupune două etape adică: înscriere și mai apoi înmatriculare, suntem nevoiți să dublăm efortul depus.
Admiterea online la facultate este un avantaj pentru toate părțile implicate. Deoarece mediul online ne pune la dispoziție această opțiune, am ales ca studiu de caz să realizez un astfel de sistem.
În primul capitol al lucrării ..Mediul online și tehnici de programare’’, am prezentat stadiul mediului online în prezent cu avantajele și dezavantajele aferente precum și tehnicile de programare utilizate pentru realizarea unui sistem informatic de admitere online la facultate. Mediul online este un mediu foarte diversificat prezentand numeroase avantaje cum ar fi: comunicare nelimitată, informații din toate domeniile, e-comerț, servicii și divertisment. Toate aceste lucruri sunt accesibile oricărui utiliator. Cum fiecare mediu are și dezavantaje, mediul online nu este o excepție. Posibilitatea furtului de informații personale, spam-urile și virușii sunt inconvenientele mediului online.
Al doilea capitol ,,Sistem informatic de admitere online la facultate’’ cuprinde descrierea proceselor de: admitere, atentificare cu sesiuni, conectare la baza de date și securitatea datelor. Procesul de admitere presupune 3 atape: inscriere, plata taxelor și inmatriculare. Autentificarea cu sesiuni a fost necesară pentru ca fiecare tip de utilizator sa aibă acces doar la informațiile care îl privesc. Pentru acest lucru, în sistemul realizat, există 3 tipuri de utilizatori: student, profesor și caserie.
Securitatea datelor este foarte importantă în procesul de admitere. Securitatea este asigurată la nivel de client cu ajutorul JavaScript prin validarea formularului de înscriere înainte ca acesta să fie introdus în baza de date. PHP-ul asigură securitatea la nivelul bazei de date pentru a elimina posibilitatea răivoitorilor de a accesa baza de date și a modifica informații. Atât în perioada de înscriere cât și în perioada de înmatriculare, sunt disponibile liste cu studenții înscriși respective înmatriculați. Aceste liste se update-ază automat în momentul în care intervin modificări.
Tot în acest capitol este prezentat un manual de utilizare a sistemul de admitere online. Pentru a realiza acest manual, este înscris un student, sunt achitate taxele de înscriere și este vaidat ca înscris după care este realizată înmatricularea în concordanță cu plata sumelor necesare pentru acestă procedură în funcție de numărul de specializări dorite.
Ca și în cazul oricărui sistem informatic, sistemul de admitere online realizat de mine are puncte tari dar și puncte slabe care pot să fie diminuate. Ca și avantaj se poate preciza reducerea timpului care trebuie acordat prelucări datelor manual și realizarea unor liste finale cu studenții admisi. O înbunătățire care poate fi adusă sistemului este introducerea unui sistem online de plată a taxelor care trebuie achitate în funcție de fiecare etapă.
În concluzie, mediul online reușește să diminueze efortul depus pentru a realiza diverse activități. Admiterea realizată online este un avantaj atât pentru viitorii studenți cât și pentru universitatea care realizează înscrierile.
Mediul online și tehnici de programare
Mediul online
Mediul online a revoluționat modul în care oamenii împărtășesc și dobândesc cunoștințe. Acest mediu chiar dacă are avantaje nelimitate nu face excepție de la dezavantaje. Printre avantajele pe care le prezintă mediul online se numără:
Avantaje în comunicare. Comunicare este cel mai important obiectiv al mediului online. Avem posibilitatea de a comunica într-o fracțiune de secundă, cu o persoană care se află în altă parte a lumii. Mediul online adună întrega populație formând o comunitate. Cu ajutorul serviciilor de comunicare puse la dispoziția utilizatorilor, a devenit foarte ușoară slabilirea unei prietenii la nivel mondial deoarece se pot împărtăși gândurile și se pot explora alte culturi.
Avantaje informaționale. Informația este cu siguranță, cel mai mare avantaj pe care mediul online în oferă. Acest mediu oferă informații referitoare la orice subiect existent. Utilizatorii cei mai de top au devenit elevii deoarece folosirea acestui mediu a devenit aproape indispensabilă pentru colectarea datelor și cercetare.
Divertismentul este un alt avantaj al mediului online. Mass-media din acest mediu a devenit foarte de succes. Sunt atrași din ce în ce mai mulți utilizatori în acest mediu fie că este vorba despre descărcarea de jocuri, muzică sau filme, fie că este vorba despre accesarea chat-urilor pentru comunicare,
E-comerț-ul și diversele servicii disponibile fac parte de asemenea din avantajele mediului online. E-comerț este un concept utilizat pentru orice tranzacție comercială oferind o gamă uimitoare și largă de produse. În plus multe servicii sunt furnizate pe internet cum ar fi online banking, căutarea de locuri de muncă, achiziționarea de bilete pentru filmele, servicii de consiliere cu privire la gama de subiecte care au cuprins fiecare aspect al vieții și rezervări hoteliere.
Avantajele sunt numeroase însă există și dezavantaje pe măsură.
Furtul de informații personale este primul mare dezavantaj al mediului onine. Utilizatorii se pot confrunta cu pericolul frutului de către răivoitori al numelui, adresei sau a numărul cardului de credit.
Spam-ul se referă la trimiterea de e-mailuri nedorite, inutile pentru a încetini întregul sistem. Astfel de activități ilegale trebuie optite pentru ca utilizarea acestui mediu să devină mai sigură.
Virușii reprezintă un alt dezavataj al mediului online. Virusul perturbă funcționarea normală a sistemelor informatice. Calculatoare atașate la internet sunt mai predispuse la atacuri de viruși și pot ajunge la distrugerea întregului hard disk.
Conform [3] aproape oricine își poate crea propriul site Web, pe care să îl expună apoi publicului pe Internet. Unele pagini Web aparțin unor companii care își prezintă serviciile, altele unor persoane individuale care doresc să împărtășească anumite informații.
Site-urile web își fac simțită prezența din ce în ce mai mult în domeniul învățământului. Cunoscut ca „e-learning” sau, mai nou, ca „e-education”, conceptul de învățământ electronic (sau virtual) este reprezentat de interacțiunea dintre procesul de predare – învățare și tehnologiile informaționale. Acest timp de învățământ are numeroase avantaje cum ar fi faptul că nu este necesară participarea în același moment cu colegii sau profesorul la lecție, documentația fiind disponibilă în orice moment. Un alt avantaj îl reprezintă modul de căutare a infomațiilor care este mult mai rapid și, de asemenea aceste informații pot fi discutate foarte simplu cu colegii și se pot crea dezbateri pe seama lor. Faptul că un profesor nu poate să realizeze momentul în care un elev a înțeles sau nu conținutul prezentat reprezintă un dezavantaj al acestui tip de învățământ.
Potrivit rezultatelor prezentate de către Biroul de Audit al Tirajelor (BRAT) la Ziua Cercetării Media, 45% dintre utilizatori au vârste cuprinse între 25 și 44 de ani, iar 19% dintre ei au între 14 și 24 ani. Numărul utilizatorilor de internet din România a crescut de la 1,7 milioane în 2002 la 6,5 milioane în anul 2013. Potrivit acelorași rezultate, românii petrec în medie, circa 230 de minute pe zi online, 202 minute în fața televizorului și 112 minute ascultând radio. După cum arată studiul, mediul online devansează importanța televizorului și a radioului.
World Wide Web-ul pune la dispoziție o abundență de informații, idei, concepte, și de mesaje, care este în același timp cel mai mare avantaj și dezavantaj al Web-ului. Cantitatea de informații disponibile pot fi copleșitoare. Ea poate fi confuză atunci când informațiile culese de la diferite site-uri sunt contradictorii.
Instrumente utilizate
Confrom clasificării realizată de Tiobe Software în 2011 popularitatea limbajelor de programare este prezentată în Figure 1: http://www.hipo.ro/locuri-de-munca/vizualizareArticol/731/503 15,06,2014
Figure 1-Popularitatea limbajelor de programare
Limbajele de programare sunt limbaje în care sunt specificați algoritmii care urmează să fie utilizați de către calculatoarele digitale. Algoritmii scriși într-un limbaj de programare sunt numiți programe. Limbajele de programare limbaje formale mai mare avantaj și dezavantaj al Web-ului. Cantitatea de informații disponibile pot fi copleșitoare. Ea poate fi confuză atunci când informațiile culese de la diferite site-uri sunt contradictorii.
Instrumente utilizate
Confrom clasificării realizată de Tiobe Software în 2011 popularitatea limbajelor de programare este prezentată în Figure 1: http://www.hipo.ro/locuri-de-munca/vizualizareArticol/731/503 15,06,2014
Figure 1-Popularitatea limbajelor de programare
Limbajele de programare sunt limbaje în care sunt specificați algoritmii care urmează să fie utilizați de către calculatoarele digitale. Algoritmii scriși într-un limbaj de programare sunt numiți programe. Limbajele de programare limbaje formale (artificiale) ale căror expresii (programe) trebuie să fie acceptate de către calculaor. Aceste două principii sunt evident îndeplinite doar în moemntul în care algoritmii sunt specificați direct în limbajul calculatorului, și anume, limbajul în care un program este codificat în calculator și este gata de a fi executat. Inițial, programarea a fost restricționată de limbajele diferite ale calculatoarelor. Creștere nuărului calculatoarelor și a utilizatorilor acestora, aplicațiile diferite și alți factori, au făcut ca această metodă să devină impracticabilă.
Gradul de independență a limbajlor de programare a calculatoarelor este condiționată de scopul pentru care a fost creată. Acest grad servește ca bază pentru o clasificare a limbajelor de programare. De obicei sunt distinse trei grupe: limbaje ale calculatoarelor (mașinilor), de ansamblare, și limbaje de nivel înalt. Asamblatoarele (uneori numite limbi simbolice) seamănă cu limbaje de programare, dar utilizează anumite simboluri, cum ar fi adrese simbolice (sau instrucțiuni), mai degrabă decât adrese de mașini reale (sau instrucțiuni de mașini) utilizate de către acesta din urmă. Asamblatoarele sunt strâns legate de un anumit calculator și, eliminând unele dintre caracteristicile foarte incomode ale limbajului mașinii ele încă le dau un avantaj de programare care presupune ca toate organizațiile de calculatoare să poate fi efectiv utilizate. http://link.springer.com/chapter/10.1007/978-94-017-1253-8_54
Există o serie de limbaje de programare populare în perioada actuală. Diferite companii, chiar si departamente diferite din cadrul aceleiași companii, preferă sa folosească limbaje diferite. Dezvoltatorii de driver-re obișnuiesc să scrie cod în C. Mulți programatori care lucreaza pe Linux dezvoltă aplicații în C + +, în timp ce programatori care lucrează pe Windows preferă C #. Multe sisteme de cross-platform sunt dezvoltate în Java. Obiectivul C devine tot mai popular, datorită vânzărilor de iPad-uri si iPhone-uri. În plus, limbaje de scripting, cum ar fi Perl și Python, sunt foarte potrivite pentru dezvoltarea unor seturi de instrumente.
http://link.springer.com/chapter/10.1007/978-1-4302-4762-3_2
HTML & CSS
HyperText Markup Language este un limbaj de marcare utilizat pentru crearea paginilor web ce pot fi afișate într-un browser sau navigator. Scopul principal al acestui limbaj este acela de prezentare a informațiilor putând fi citit și editate de utilizând cu ajutorul unui editor de text simplu. HTML furnizează mijloacele prin care conținutul unui document poate fi adnotat cu diverse tipuri de metadate și indicații de redare. Limbajul HTML are două caracteristici esențiale: hipertextul și universalitatea.
Conform [5] mai multe documente hypertext organizate ierarhic și legate între ele, care pot fi încărcate de utilizator în browser prin intermediul unor legături plasate într-o pagină de start, alcătuiesc o pagină Web sau un site Web. De asemenea, uneori, prin pagină Web se înțelege și un singur document hipertext.Ansamblul documentelor hipertext și al resurselor utilizate de acestea, aflate pe mașini răspândite în întrega lume, precum și serviciul care le pune la dispoziție utilizatorului sunt cunoscute sub numele de Word Wide Web.
Hipertextul oferă posibilitatea de a crea în paginile Web o legătură care să ducă vizitatorul la orice altă pagină Web sau, practice, la orice altceva de pe Internet. Principalul efect al utilizării hipertextului este acela că informațiile de pe Web pot fi accesate din multe direcții diferite. Tim Berners-Lee, creatorul rețelei Web, a dorit ca aceasta să funcționeze într-o manieră mai apropiată creierului uman și mai puțin ca o sursă de date statistică.
Conform [3] Universalitatea este următoarea calitate a limbajului HTML deoarece ducumentele sunt salvate ca fișiere text, practic orice calculator poate citi o pagină Web. Nu contează tipul sau sistemul de operare al calculatoarelor, rețeaua Web este deschisă tuturor.
Indicațiile de redare pot varia de la decorațiuni minore ale textului, cum ar fi specificarea faptului că un anumit cuvânt trebuie subliniat sau că o imagine trebuie introdusă, până la scripturi sofisticate, hărți de imagini și formulare. Metadatele pot include informații despre titlul și autorul documentului, informații structurale despre cum este împărțit documentul în diferite segmente, paragrafe, liste, titluri etc. și informații cruciale care permit ca documentul să poată fi legat de alte documente pentru a forma astfel hyperlink-uri.
Printre avantajele acestui limbaj de programare se numără faptul că este open-source, este suportat de toate browserele, ușor de înățat și utilizat la scară largă. Fiind un limbaj static, nu poate avea rezultate în dinamică iar securitatea datelor este limitată ceea reprezintă dezavantaje prentu HTML.
Cu toate că orice calculatoare poate afișa paginile create cu HTML, aspectul acestora depinde de diferiți factori cum ar fi: tipul calculatorului, viteza conexiunii la internet, de monitorul utilizat și nu în cele din urmă de browserul utilizat. În prezent, nu există niciun browser care să afișeze paginile identic cu alte browsere. Având acest lucru în vedere, conceperea unei pagini atrăgătoare nu este suficientă fiind foarte important să fie luate în considerare posibilitățile utilizatorului.
Cascading Style Sheets este un standard pentru formatarea elementelor unui document HTML sau XHTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului. Înainte de CSS, aproape toate atributele de prezentare a documente HTML au fost cuprinse în limbajul HTML, toate culorile de font, stiluri de fundal, aliniamente de elemente, frontiere și dimensiuni trebuie să fie descrise în mod explicit, de multe ori în mod repetat, în HTML. CSS permite autorilor de a muta o mare parte din aceste informații într-un alt dosar, foaia de stil, rezultând un HTML considerabil mai simplu. Un alt obiectiv important al CSS-ului este acela de a permite utilizatorului un control mai mare asupra modului de prezentare.
CSS a apărut ca urmare a presiunilor de standardizare ale organizației World Wide Web Consortium care are drept scop convingerea comunității Web de importanța universalității. W3C a hotărât ca pentru vechea versiune HTML să creeze un nou sistem în care instrucțiunile de formatare să poată fi salvate separat de conținut și structură, prin aceasta putând fi aplicate nu doar unui singur paragraph sau unei singure pagini Web, ci unui întreg site, dacă se dorește. Specificațiile inițiale privind foile de stil în cascadă se limitau la recrearea efectelor HTML. Specificația CSS Level 2, publicată în 1998, a adus noi capacități în special, posibilitatea de a poziționa cu mare precizie elementele într-o pagină Web.
Ca avantaj al CSS-ului îl reprezintă capacitatea de modificare a aspectului și design-ului site-ului foarte ușor. Dimensiunea fișierului CSS este foarte mica având nevoie de timp minim de încărcare. Prin crearea CSS designul paginii web este foarte flexibil.
Dezavantajul CSS-ului este funcționalitatea diferită de la un browser la altul.
Existența mai multor reguli de stil aplicate aceluiași element se folosește principiul cascadă pentru a lua în considerare caracteristici importante, cum ar fi locația, specificitatea și moștenirea pentru a determina care este grupul de reguli care va fi luat în considerare.
Multe dintre proprietățile foilor CSS afectează nu numai elementele definite de selector, ci și pe cele moștenite de către descendenții acestora. Dacă moștenirea determină ce se întamplă atunci când unui element nu îi este aplicată nicio regulă de stil, specificitatea constituie elementul cheie în situația în care sunt aplicate mai multe reguli. Legea specificității arată că, cu cât un selector este mai specific, cu atât regula este mai puternică. Astfel, dacă o regulă stabilește că toate elementele h1 trebuie să fie albastre, iar o altă regulă cere ca toate elementele h1 din clasa Spanish trebuie să fie roșii, atunci cea de-a doua regulă o va anula pe prima pentru toate elementele h1 din clasa Spanish.
Conform [3] uneori specificitatea nu este de ajuuns petru a stabili care dintre reguli are prioritate. În acest caz, locația regulii este cea care stabilește prioritatea: regulile care apar mai târziu au o pondere mai mare. De exemplu, regulile care sunt aplicate local, chiar în cadrul elementului, sunt considerate ca apărute mai târziu edcât regulile cu același grad de specificitate aplicate intern în partea de sus a documentului. Dacă aceasta nu este de ajuns, se poate anula întregul system declarând că o anumită regulă trebuie să fie mai importantă decât celelate, prin adăugarea expresiei !important la sârșitul acesteia.
Atributele id sunt considerate cu cel mai înalt grad de specificitate iar regulile moștenite sunt considerate a avea caracterul cel mai general, fiind anulate de către orice altă regulă. În absența unei reguli, multe caracteristici sunt moștenite de către elementul copil iar când există două reguli contradictorii, cu cât regula are un character mai specific, cu atât are o importanță mai mare, indifferent de locața sa. Regulile care apar mai târziu au prioritate în situația în care au același grad de specificitate.
JavaScript
Dorințele creatorilor de pagini Web pentru un control din ce în ce mai mare a aspectului paginii a crescut odată cu dezvoltarea acestui domeniul, forțând oarecum limbajul HTML să devină mai complex. Deoarece HTML-ul nu putea satisface cerința de interacționare cu utilizatori, Netscape a oferit posibilitatea de controlare a browser-elor prin inventarea limbajului JavaScript.
În ciuda numelor asemănătoare, limbajele JavaScript și Java nu au aproape numic în comun unul cu celălalt. Java este un limbaj de programare în toată regula, dezvoltat și comercializat de compania Microsystems. Prin intermendiul limbajului Java, descendent al familiei de limbaje de programare C și C++, programatorii pot crea aplicații diverse și controla funcționarea diverselor aparate electronice.
Când Netscape a adăugat browserului său Web, Navigator, niște capacități de scriptare rudimentare, specialiștii au numit acest limbaj de scriptare LiveScript. În aceiași perioadă, Java ocupa prima pagină a publicațiilor de specialitate, fiind anticipată ca o revoluție în lumea calculatoarelor. Ulterior, Netscape a revizuit browserul Navigator pentru a permite rularea de appleturi Java în Navigator 2, dar a și redenumit LiveScript în JavaScript, sperând că o parte din gloria limbajului Java se va prinde și de JavaScript. Când Microsoft a văzut că limbajul JavaScript devenea popular între dezvoltatorii de Web, și-a dat seama că trebuie să introducă facilități de scriptare și în prpriul browser, Internet Explorer. Ar fi putut adopta JavaScript dar după un model care se perpetuează, a preferat să își construiască un limbaj propriu, foarte similar limbajului JavaScript, dar nu identic. Această versiune de JavaScript dezvoltată de compania Microsoft poartă numele de Jscript.
Conform [4] pentru creatorii de pagini Web, evoluția limbajului HTML a fost o binecuvântare pusă sub semnul îndoielii. În zilele de început ale Word Wide Web-ului, HTML era destul de simplu, iar marea majoritate a informațiilor necesare pentru a ansambla p pagină Web erau foarte ușor de învățat.
Conform [2] JavaScript este un limbaj de scriptare destinat accesării programate a obiectelor din interiorul altor aplicații. Poate fi folosit atât în forma ,,client-side” cât și în fomra ,,server-side”. La fel ca și alte limbaje de scriptare, are funcționalitate limitată, bazându-se pe caracteristicile oferite de mediul gazdă pe care rulează. Javascript permite construirea paginilor web dinamice, afișarea casetelor de avertizare/confirmare, deschiderea de ferestre noi, validarea informațiilor din formulare, efectuarea de calcule și altele, inclusiv reglarea datei și orei sistemului gazdă. Dar JavaScript are acces limitat la resursele calculatorului gazdă, el nu poate citi sau scrie fișiere pe hard-discul calculatorului gazdă (cu exceția fișierelor cookie), închiderea altor ferestre decât cele deschise de JavaScript, scrierea aplicațiilor pe partea de server sau citirea informațiilor din pagini aparținând altui document decât cel căruia aparține programul JavaScript.
Avantaje:
Este relativ ușor de învățat și înțeles doarece este foarte aproape de limba engleză.
JavaScript este executat pe partea de client.
Se pot construi pagini web dinamice.
Se pot afișa căsuțe de avertizare.
Se pot efectua calcule.
Validarea datelor pe partea client este realizată cu ajutorul JavaScrip foarte simplu
Efectele JavaScript se pot descărca mult mai rapid decât alte tehnologii cum ar fi Flash-urile.
Există o comunitate on-line înfloritoare pentru susținerea dezvoltatorilor JavaScript.
Se pot crea fromulare interactive.
Există posibilitatea de a regla data și ora exactă.
Pentru a scrie JavaScript, orice editor de text simplu sau HTML poate fi utilizat.
JavaScript face posibilă crearea unor interfețe mai sofisticate.
Deoarece codul este executat pe calculatorul utilizatorului rezultatul este aproape instantaneu în funcție de sarcină deoarece datele nu trebuie prelucrate pe server și transmise din nou browser-ului.
Dezavantaje:
Securitatea datelor. Fragmente JavaScript, odată anexate paginilor web și executate pe sistemul utilizatorului, pot fi utilizate pentru a expoata sistemul acestuia. Chiar dacă există restricții impuse de browser-ele moderne, poate exista cod malițios care respectă condițiile impuse de standardele web.
Redare variată în funcție de browser a interfeței și funcționalității. În timp ce versiunile cele mai recente sunt orientate spre un standard universal, încă există variații.
Utilizarea JavaScript pentru codificare îngreunează căutarea pentru browser-re în cazul în care nu este păstrată în mod corespunzător.
JavaScript nu poate să scrie sau să citească fișiere pe hard-discul calculatorului decât a blocurilor cookie.
Informațiile care aparțin unui alt domeniu față de cel căruia îi aparține programul JavaScript nu pot sa fie citite.
Un limbaj de programare orientat pe obiect este un limbaj de programare care este utilizat pentru a construi programe folosind obiecte.
Un obiect este asemenea unui document, o casa sau un caiet. În programare, cele mai răspândite obiecte folosite sunt documentele, formularele, câmpurile, butoanele radio și alte elemente care pot fi existente într-un formular sau pe o intefață cu utilizatorul. De asemenea, o fereastră este un obiect folosit de un program JavaScript.
O pagine web poate să conțină mai multe obiecte de același tip. De exemplu, o pagină poate să conțină mai multe formulare însă diferențierea este realizată de câmpurile diferite pe care le conține. Aceste obiecte trebuie identificate printr-un nume pentru a putea să fie apelate în programul JavaScript.
În funție de tipul obiectului acesta poate avea una sau mai mule valori numite proprietăți. De exemplu un formular poate avea culoare de fundal, lațime și lungime ca proprietăți.
În momentul în care un obiect primește un mesaj se realizează un proces numit metodă care la origine este o acțiune. De exemplu, un buton Reset de pe un formular este un obiect iar dimensiunile și culoarea butonului sunt proprietăți. În momentul în care acest buton este apăsat, datele introduse în formular sunt șterse executându-se o metodă.
Un program scris cu ajutorul JavaScript este inclus între etichetele <script> ale unei pagini HTML. Aceste etichete pot fi introduse atât între etichetele <head> cât și intre cele de <body>.
Cu ajutorul JavaScript se pot adăuga diferite caracteristici în paginile web pentru a face browserul să ia decizii instantanee în timp ce se navighează pe pagina respectivă. Acest lucru este posibil a fi realizat cu ajutorul expresiilor condiționate.
Conform carte o instrucțiune condiționale este un tip de instrucțiune JavaScript care îi cere browserului să evalueze o condiție, cum ar fi faptul ca un nume de identificare și o parolă sunt valide și, în funcție de evaluare, să execute sau să omită una sau mai multe instrucțiuni JavaScript. Cele trei tipuri de instrucțiuni condiționale sunt instrucțiunea if, instrucțiunea switch…case și instrucțiunea loop.
Instrucțiunea condițională if: în cazul în care expresia condițională este adevărată este cerut browserul-ului să execute diverse instrucțiuni.
Instrucțiunea condițională switch…case: realizează o comparație între o valoare și una sau mai multe valori cunoscute.
Instrucțiunea condițională loop: cât timp o situație își păstrează valoarea de adevărat, aceasta cere browserului să execute diverse instrucțiuni repetat.
PHP
Hypertext Preprocessor sau după numele original – Personal Home Page, permite realizarea propriilor pagini web interactive în cel mai simplu mod. PHP este un limbaj de scriptare open source utilizat pe scară largă scripturile fiind executate pe server. Fișierele PHP pot conține de asemenea HTML, CSS și JavaScript iar rezultatul trimis către browser este redat ca simplu HTML. Există peste 20 milioane de site-uri web realizate cu ajutorul PHP. Programele scrise cu acest limbaj rulează pe serverele web. Este necesară instalarea interpreroului de limbaj PHP pe server petru ca acesta să poată procesa paginile. În cazul paginilor web statice scrise în HTML simplu, un server de web nu face decât să transmită înapoi browser-ului codul HTML din pagina web. PHP, prin scrierea de scripturi pe partea de server, specifică serverului ceea ce vrem să facă aceasta fiind ideea principală – posibilitatea de a răspunde dinamic.
Utilizatorul poate primi noi pagini web, ajustate în funcție de ceea ce vrea să vadă în timp real. Cu ajutorul PHP se pot trata: crearea, deschiderea, citirea, scrierea, ștergerea, și închiderea fișierelor de pe server, colectarea datelelor din formure. PHP permite trimiterea și primirea de cookie-uri, adăugarea, ștergerea, modificarea datelelor în baza de date, criptarea datelor și restricționarea utilizatorilor să acceseze anumite pagini. PHP ruleaza pe diverse platforme (Windows, Linux, Unix, Mac OS X, etc), este compatibil cu aproape toate serverele folosite astăzi (Apache, IIS, etc) și suportă o gamă largă de baze de date.
Conform [1] PHP este una din cele mai interesante tehnologii existente în prezent. Deoarece îmbină caracteristici dintre cele mai complexe cu simplitate în utilizare, PHP a devenit rapid un instrument de frunte pentru dezvoltarea aplicațiilor Web. Spre deosebire de alte limbaje de scripting, precum JavaScript, PHP reulează pe serverul Web. În consecință, PHP poate obține accesul la fișiere, baze de date și alte resurse inaccesibile limbajului JavaScript. Acestea constituind bogate surse de conținut dinamic, care atrag vizitatorii.
Un limbaj de scriptare pentru server este din punct de vedere formal asemănător cu un limbaj de scriptare pentru client, în sensul că ambele tipuri de limbaje permit introducerea unor programe numire scripturi în codul HTML utilizat în paginile Web.
Diferența dintre un limbaj de scriptare pentru client și un limbaj de scriptare pentru server constă în aceea că, în timp ce browserul Web interpreteză un script scris într-un limbaj care aparține primului timp, după ce pagina care îl conține a fost descărcată pe calculatorul utilizatorului, un script care a fost scris într-un limbaj care aparține celui de-al doilea tip este interpretat pe server, iar pagina generată este trimisă browserului.
Execuția corectă a scripturilor PHP este condiționată de instalarea și configurarea serverului Web Apache, precum și a serverului de baze date MySQL.
Conform [5] PHP este un limbaj de programare cu tipuri de date dinamice, ceea ce înseamnă că nu este necesar ca tipul variabilelor să fie precizat în mod explicit, acesta putându-se schimba pe parcursul execuției unui script. Aproape tot ceea ce se scrie cu ajutorul limbajului PHP reprezintă expresii. În acest sens se spune că PHP este un limbaj orientat pe expresii, cele mai simple fiind constantele și variabilele însă există și expresii de comparație.
O funcție reprezintă o secvență de cod care realizează o anumită operație și care poate fi apelată în mod repetat. Funcțiile PHP pot fi definite de utilizator sau predefinite și pot fi plasate oriunde în interiorul unui script PHP, dar este de preferat – pentru claritatea codului – să fie plasate la începutul acestuia.
Pe scurt browserul cere serverul un script PHP, cerere care este trimisă mai departe interpretorului PHP. După interpretarea scriptului, se poate obține accesul la fișiere sau baza de date.
După obținerea informațiilor cerute prin script se urmează calea inversă, interpretorul livrează serverului Web o pagină HTML, XHTML, o imagine generată în mod dinamic (JPEG, GIF etc), fișiere PDF sau un alt tip de ieșiri care mai apoi este trimisă către browser.
Utilizarea unui limbaj de programare pentru server este mai avantajoasă în comparație cu cele pentru client deoarece se evită problemele legate de copatibilitatea între browsere. Un alt avantaj este acela că se permite accesul la diferite resurse aflate pe server cum ar fi baze date și fișiere. În cazul în care calculatorul utilizatorului dispune de resurse limitate, utilizarea unui astefel de limbaj este un avantaj deoarece reduce ,,încărcarea,, calculatorului utilizatorului.
Limbajul PHP are o sintaxă inspirată din limbajul C și asemănător limbajului JavaScript. Scpripturile PHP pot fi înglobate în interiorul HTML, defapt întregul cod HTML poate fi scris cu ajutorul instrucțiunii echo, însă este o metodă ineficientă deoarece codul este greu de înțeles și se consumă timp la fiecare apelarea a funcției.
PHP folosește două categorii principale de date: numere (în special din cifre) și șiruri (orice caracter incusiv cifre, litere și caractere speciale). Stocarea sub formă de numere este realizată atunci când se dorește utilizarea pentru operații matematice asupra datelor deoarece acest format permite efectuarea calculelor. Pentru ca utilizatorul să fie capabil de a introduce sau vizualiza anumite date acestea trebuie să fie stocate sub formă de șir. În categoria de numere, PHP folosește numere întregi și numere duble. Spre deosebire de numerele întregi și ce duble care conțin doar cifre, șirurile pot să conține orice caracter. Caracterele conținute de un șir sunt plasate între ghilimele duble.
Avantaje:
Open Source: PHP este distribuit sub o licență Apache-stil, care permite atât utilizarea și dezvoltarea comercială și non-comercială. De asemenea, există o rețea la nivel mondial de dezvoltatori pentru îmbunătățirea continuă și consolidarea PHP.
PHP oferă suport extins în baze de date atât comerciale (Microsoft SQL Server, Oracle și Sybase) cât și oper-source (MySQL și PostgreSQL).
Dezvoltare rapidă. Dezvoltatorii pot face modificări la o pagină PHP și pot vedea rezultatele imediat în browserele lor.
PHP are o baza mare de utilizatori și dezvoltatori. Este ușor de a găsi suport in aproapre orice limba deoarece multe resurse online sunt dedicate PHP (site-uri Web, liste de discuții, și așa mai departe), care oferă informații și sprijin valoros.
Dezavantaje:
Nu este potrivit pentru aplicații mari deoarece este dificil de menținut însă are capacități complete de OOP și proiectul poate fi împărțit în mai multe fișiere și directoare.
Doarece rulează pe calculatorul utilizatorului, limbajului i-au fost impuse o serie de limitări din motive de securitate cum ar fi: JavaScript nu permite citirea sau scrierea de fișiere pe calculatorul utilizatorului sau pe server, nu poate închide o fereastră de browser dacă nu a fost deschisă de el și nu poate citi informații dintr-un browser care conține o pagină Web de pe un alt server.
Conform [5] dintre sistemele de gestiune a bazelor de date relaționale pentru care PHP are interfețe de acces direct amintim: dBase, Informix, InterBase, Ingres, Microsoft SQL Server, MySQL, PostgreSQL, Oracle. De asemenea, PHP poate accesa bazele de date amintite, precum și alte baze de date prin intermediul interfeței ODBC. Dintre sistemele de gestiune a bazelor de date menționate, cel mai des utilizat este MySQL. Deoarece PHP nu are o interfață comună pentru accesarea directă a tuturor bazelor de date și pentru că standardul ODBC nu este, deocamdată, foarte utilizat în Linux, de multe ori se preferă accesarea bazelor de date MySQL direct prin API-ul PHP dedicat. Cu toate aceste, limbajul PHP permite accesarea bazelor de date prin intermediul ODBC, dispunând, în acest scop, de funcții specifice, numite funcții ODBC, atât în versiunea pentru Windows, cât și în cea pentru UNIX/Linux.
MySQL
MySQL este un sistem de gestiune a bazelor de date, relațional, cu arhitectură client-server. Bazele de date sunt colecții structurate de date, adeseori vazute ca niște tabele, asemănătoare celor din Excel. Gestionarea datelor din tabele, care presupune adăugare, modificare, selectarea, citirea și ștergerea lor, precum și modul de păstrare a fișierelor pe medii de stocare ale sistemului necesită un set de programe specializate care constituie Sistemul de Gestiune a Bazelor de Date. Limbajul standard care permite utilizatorilor sau interfețelor de programare a aplicațiilor să interacționeze cu datele este SQL.
Spre deosebire de numeroase alte SGBD-uri, MySQL dispune de mai multe mecanisme de stocare, native sau dezvoltate de terți. Dintre acestea cele mai comune sunt MyISAM care este cunoscut prin viteza foarte mare de acces la date și InnoDB, acesta din urmă suportând tranzacțiile și constrângerile de integritate referențială. De asemenea MySQL lucrează pe o multitudine de platforme, Microsoft Windows, Linux, Unix, FreeBSD, Solaris, OS2 etc. Această caracteristică, alături de faptul că este distribuit și sub licență GNU, ca poate lucra cu majoritatea limbajelor de programare importante care conțin bibliotecile specifice sau utilizează conectori și că, nu în ultimul rând, este ușor de învățat și folosit, a dăcut din MySQL cel mai popular SGBD pentru aplicațiile din mediul online.
Conform [2] Bazele de date MySQL pot fi create, selectate și șterse folosind unul dintre clienții MySQL, cu condiția existenței unor privilegii corespunzătoare. Aceleași operații pot fi efectuate – cu aceiași condiție – utilizând funcții dedicate din interfața pentru MySQL.
SQL (Structured Query Language – Limbaj Structurat de Interogare) este un limbaj de programare specific pentru manipularea datelor în sistemele de manipulare a bazelor de date relaționale, iar la origine este un limbaj bazat pe algebra relațională. Acesta are ca scop inserarea datelor, interogații, actualizare și ștergere, modificarea și crearea schemelor, precum și controlul accesului la date.
MySQL, la fel ca și limbajele prezentate mai sus, are avantaje și dezavantaje. Printre avantajele acestui limbaj de programare se numără:
Interogările MySQL pot fi folosite pentru a prelua o cantitate mare de înregistrări dintr-o bază de date într-un mod rapid și eficient.
MySQL este o baza de date rapidă, de încredere și ușor de utilizat.
Funcționează pe platforme variate
Este eferit gratis pentru descărcare și instalare.
Pentru SQL există standarde bine definite adoptate de către ANSI și ISO.
Folosind MySQL, este mai ușor de a gestiona baza de date fără a fi nevoie de cod substanțial.
Vizualizarea datelor fără a fi stocate într-un obiect.
Dezavantajele limbajului MySQL:
MySQL nu acceptă o dimensiune foarte mare a bazei de date.
Tranzacțiile nu sunt tratate foarte eficient.
Activitatea de administrare a sistemului MySQL cuprinde mai multe componente, din care cele mai importante sunt:
Pornirea și oprirea serverului
Administrarea conturilor de utilizator
Întreținerea fișierelor-jurnal
Realizarea copiilor de siguranță a bazelor de date.
Administratorul MySQL are dreptul și obligația de a configura conturile utilizatorilor sistemului MySQL. Configurarea unui cont de utilizator presupune: specificarea utilizatorului, a locațiilor de unde acesta se poate conecta la serverul MySQL și a parolei folosite, indicarea bazelor de date, a tabelelor la care are acces și a privilegiilor sale.
Sistemul MySQL utilizează mai multe tipuri de date, prezentate în continuare.
Tipul numeric – pot fi întregi sau în virgulă mobilă, de asemenea poate fi folosită notația științifică
Tipul șir de caractere – o secvență de caractere încadrată în ghilimele simple sau duble
Tipul dată și oră – datele sunt specificate în ordinea an-lună-zi iar orele sunt specificate în ordinea hh:mm:ss.
Valoarea NULL – este o valoare fără tip cu semnificația: ,,fără valoare,,
MySQL folosește următoarele tipuri de operatori:
Aritmetici – adunare, scădere, înmulțire și împărțire.
De comparație – egalitate, inegalitate, mai mic sau egal, mai mic, mai mare sau egal și mai mare.
Logici – NOT (!), OR(||) și AND (&&).
La nivel de bit
Conform [5] Funcțiile utilizate de MySQL sunt împărțite în următoarele patru categorii: funcții care au ca argumente șiruri de caractere, funcții numerice, funcții de tip dată și oră și funcții diverse.
Conform [1] MySQL fiind o bază de date relațională stochează datele în tabele, care amintesc de foile de calcul tabelar, iar fiecare tabel stochează informații despre un anumit tip de entitate. Capacitatea de partajare a datelor este avatajul definitoriu al unui SGBD relațional. Acest fapt este important mai ales pentru aplicațiile bazate pe Web deoarece mulți utilizatori pot să obțină acces la aceleași date aproape simultan. Sistemele de gestiune a bazelor de date relaționaleinclud elemente de protecție, proiectate pentru a preveni pierderea actualizărilor și deteriorarea datelor, care se pot produce în caz contrar în asemenea circumstanțe. Mai mult, sistemele de gestiune a bazelor de date au o arhitectură client-server care pune la dispoziția utilizatorilor aflați la distanță, prin intermediul unei rețele, date stocate într-o locație centrală. Astfel, bazele de date relaționale furnizează partajarea datelor atât în timp cât și în spațiu. Independența datelor este un avantaj care este depășit, ca importanță, numai de partajarea datelor. Când un propgram obține accesul la un fișier, datele sunt transferate programului în aceiași manieră în care sunt stocate. Pot fi solicitate doar anumite coloane necesare unui aplicații.
Facilitatea administrării datelor este asigurată de modul de stocare a acestora într-un singur fișier sau catalog. Copiile de siguranță respectiv restaurarea sunt executate mai simplu decât dacă datele ar fi stocate în mai multe fișiere sau cataloage. Bazele de date relaționale oferă protecție a datelor împotriva accesului neautorizat.
Sistem informatic de admitere online la facultate
Prin realizarea acestui sistem informatic am urmărint simplificarea procesului de admitere. Etapele pentru admire sunt: completarea formuarului de admitere – plata taxei de inscriere – validarea datelor – plata taxei de înmatriculare – înmatriculare.
Simplificarea apare înca de la etapa de înscriere care poate fi realizată de orice viitor student prin accesarea și completarea formularului online. Acest formular este validat cu ajutorul limbajului JavaScript înainte de a fi trimis către baza de date și cu ajutorul PHP la contactul cu aceasta. După această etapă, viitorul student este așteptat pentru plata taxei de înscriere și verificarea corectitudinii datelor trimise prin formularul completat inițial. Până la data la care se finalizează înscrierile, pe site sunt disponibile liste în funție de specializări care se update-ază automat cu situația viitorilor studenți înscriși care au plătit taxa de înscriere și ale căror date au fost validate. De asemenea în această perioadă, studentul are posibilitatea să modifice datele introduse inițial cu ajutorul CNP-ului printr-un formular online.
În etapa de înmatriculare, studentul achită taxa de inmatriculare pentru una sau două specializări, după care este înmatriculat. Situația înmatriculărilor este prezentată cu ajutorul unor liste disponibile pe site în funcție de specializări.
Structura bazei de date
Nevoia organizării datelor într-un sistem special este urmarea volumului mare de date și nevoia permanentă de actualizare și accesare a acestora. Sistemul de gestiune a bazelor de date (SGBD) reprezintă interfața de lucru dintre baza de date și utilizator. Un SGBD este alcătuit din programe care interacționează cu baza de date și aplicațiile utilizatorului. Utilizarea unui SGBD este necesară pentru gestionarea bazei de date, descrierea datelor, interogarea bazei de date, actualizarea bazei de date, controlul integrității și securitatea datelor.
Sistemul de gestiune a bazei de date utilizat în acest program informatic este MySQL. Baza de date conține nouă tabele dintre care cinci conțin liste ale județelor, religiilor, localităților, a liceelor din țară și a specializărilor disponibile acestea fiind necesare în afișarea listelor de selecție ale formularului de înscriere.
Conexiune la baza de date
Pentru realizarea conexiunii la baza de date, etapele parcurse sunt următoarele: conectarea scriptului la server, selectarea bazei de date, transmiterea interogării și preluarea rezultatului interogării. Baza de date utilizitată este MySQL.
Pentru prima etapă, cea de conectare cu serverul MySQL, este necesară specificarea a trei parametri: host-ul (numele host-ului care găzduiește serverul sau adresa IP a acestuia), utilizatorul și parola acestuia. Dacă conectarea eșuează va fi întoarsă o eroare după care execuția scriptului se oprește. Selectarea bazei de date este de obicei realizată imediat după conectare după cum este prezentat în Figure 2.
Figure 2 -Conexiune și selectare baza de date
Structura bazei de date
După proiectarea logică a bazei de date unde au fost stabilite tabelele și câmpurile necesare s-a realizat proiectarea fizică a acesteia. Un număr de nouă tabele au fost create după cum este prezentat în Figure 3.
Figure 3 – Listă tabele bază de date
Primul tabel date_student este cel în care sunt introduse pentru prima dată datele din formularul de înscriere. În tabela procente sunt inserate ponderile mediilor necesare înscrierilor acestea putând fi modificate de către administrator printr-un fomular special în funcție de necesități. Tabela useri conține conturie caseriei si a personalului specializat în admitere cu ajutorul cărora se pot face validări și înmatriculări. În tabela validat sunt transferați studenții după ce au fost verificate datele din tabela date_studenți introduse anterior. Tot în această tabelă sunt introduse ulterior taxele achitate precum și specializările la care au fost înmatriculați studenții, procesul ete realizat prin update-uri repetate. Cele 5 tabele rămase conțin liste cu județele, liceele, localitățile, programele de studii existente și religiile care sunt apelate în listele de selecție din formularul de admitere.
Descrierea procesului de admitere online la facultate
Înscriere
Înscrierea este prima etapă în cazul în care o persoană dorește să devină student la una din specializările puse la dispoziție. Pentru această etapă există o perioadă stabilită după care accesul la formularul de înscriere va fi restricționat. Înscrierile se pot realiza de orice persoană, din orice colț al lumii în doar cateva minute, prin completarea unui formular online. Dacă persoanele nu doresc să completeze acest formular online, se pot prezenta la sediul universității unde își vor putea alege opțiunile. În cadrul formularului există șase capitole: Date studenți, Date părinți, Domiciliu actual, Liceul absolvit, Medie, Opțiuni și Studii universitare anterioare. Datele obligatorii pentru completarea celor șase capitole sunt marcate cu ,,*’’. Până în momentul validării datelor, studentul are posibilitatea de a modifica datele introduse cu ajutorul CNP-ului. În listele cu studenți înscriși diponibile pe site-ul universității, studenții vor fi adăugați după validarea datelor și plata taxei aferente.
JavaScript este limbajul cu ajutorul căruia formularul este validat. Validarea câmpurilor are în vedere identificarea câmpurilor obligatorii care nu au fost completate, identificarea introducerii de informații nevalide și completarea automată a unor câmpuri. Prin completarea câmpului pentru CNP, câmpurile rezervate pentru data nașterii, sex și județul nașterii vor fi completate automat. În cazul în care unul din câmpuri nu este completat corect, datele introduse nu vor fi trimise către baza de date, utlizatorul fiind atenționat printr-o alertă după cum este exemplat în Figure 4.
Figure 4 – Aleră formular completat incorect
Primul capitol al formularului cere introducerea datelor pesonale ale studentului. CNP-ul este validat cu ajutorul unui script JavaScript. Din CNP sunt extrase sexul, data și județul nașterii acestea fiind introduse automat în câmpurile specifice. Capitolul unu al formularului este prezentat în Figure 5.
Figure 5 – Capitol I formulat înscriere
Următorul capitol conține date despre părinți cum ar fi numele, prenumele, ocupația și adresa stabilă a acestora după cum este prezentat în Figure 6. Capitolul II este unul opțional , formularul poate fi trimis către baza de date fără aceste date însă validarea datelor etse realizată dacă acestea sunt introduse.
Figure 6 – Capitolul II formular înscriere
Capitolul III este destinat din nou datelor legate de studenți. În acest capitol, majoritatea câmpurilor sunt obligatorii deoarece conține adresa completă a studentului și date de contact după cum este prezentat în Figure 7.
Figure 7 – Capitolul III formulat înscriere
Capitolul IV conține informații cu privire la liceu absolvit de către viitorul student după cum este prezentat în Figure 8. În acest capitol, asemenea capitolului anterior, datele nu sunt în totalitate obligatorii.
Figure 8 – Capitolul IV formular înscriere
În cadrul capitolului V, mediile studentului sunt introduse manual pentru cei 4 ani de liceu și media obținută în urma examenului de bacalaureat după cum este prezentat în Figure 9.
Figure 9 – Capitolul V formular înscriere
Ponderile în media de admitere a mediei anilor de liceu și cea a bacalaureatului, se introduce de către administrator și poate fi modificata oricând după cum este prezentat în Figure 10. În formularul de introducere a procentelor există o casetă unde se calculează suma celor două medii, acestea neputând fi introduse în baza de date dacă suma rezultată este diferită de 100.
Figure 10-Formular introducere procente pentru medie admitere
Cu ajutorul JQuery, media anilor de liceu și cea de admitere este calculată automat conform Figure 11.
Figure 11-Funcții JQuery calcul medie
Capitolul șase presupune selectarea opțiunilor dorite de către student conform Figure 12.
Figure 12 – Capitolul VI formular înscriere
Formularul nu este trimis dacă nu a fost aleasă cel puțin o opțiune. Opțiunile sunt afișate într-o listă de selecție iar cu ajutorul JavaScript, acestea sunt trecute pe rând într-o nouă listă de selecție prin apăsarea unui buton conform Figure 13. Opțiunile sunt introduse în ordinea preferințelor existând opțiunea de resetare.
Figure 13- Funcție JScript pentru adăugarea opțiunilor
Ultima parte a formularului, capitolul VII, este afișată doar în situația în care studentul a urmat o altă facultate sau urmează în momentul actual o altă facultate după cum este prezentat în Figure 14. Afișarea acestei părți a formularului respectiv ascunderea acesteia, este realizată de asemenea cu ajutorul JavaScript.
Figure 14 – Capitolul VII formular înscriere
Validare
Validarea presupune verificarea concordanței dintre datele introduse în baza de date și realitate. Acest proces este realizat în cadrul universității după plata taxei de înscriere. Validarea se realizează cu ajutorul unui formular similar celui de înscriere unde sunt verificate datele și mai apoi confirmate prin apăsarea unui buton. În acest moment, viitorul student este oficial înscris la opțiunile dorite și apare pe listele studenților înscriși. Datele studenților sunt trimise într-un alt tablel, aceștia nemaiavând posibilitatea de a modifica datele introduse.
Atât în cazul listelor cu studenți înscriși, cât și în cazul listelor cu studenți înmatriculați este folosit același algoritm de calculare a locului de buget sau taxă la care este încadrat. Listele sunt afișate în funcție de specializarea dorită conform Figure 15.
Figure 15-Selectare specializare pentru afișare listă înscriși
Principiul de încadrare a studentului la buget sau taxă ia în calcul dacă studentul a mai urmat sau urmează o facultate, numărul de locuri totale și media studentului.
Înmatriculare
După trecerea perioadei de înscriere, studenții trebuie să achite o taxă după care este efectuată înscrierea. Pentru efectuarea înmatriculării, există liste pentru fiecare specializare pe care studenții au avut posibilitatea de a o alege. Cu ajutorul butoanelor radio administratorul alege studentul pe care dorește să îl înmatriculeze. În aceste liste sunt afișați doar studenții care au plătit taxa de înmatriculare și nu au fost înmatriculați la două specializări. După înmatriculare, studenții sunt afișați în listele finale după cum este prezenat în Figure 16, aceștia având posibilitatea de a se înmatricula la două specializări.
Figure 16-Lista specializări pentru înmatriculare
Listele finale și listele cu studenții înscriși oferă posibilitatea de a fi exportate în Excel cu ajutorul unui script Jquery conform Figure 17.
Figure 17-Script Jquery export Excel
Plata taxelor
Plata taxelor este realizată de două ori. Prima taxă care trebuie achitată de către studenți este cea de înscriere, aceasta fiind o taxă unică. Taxa de înscriere este realizată după ce datele au fost validate în universitate. Cea de-a doua taxă este cea de înmatriculare, taxă achitată înainte de realizarea propriu-zisă a înmatricuării. Achitarea ambelor taxe este realizată la caseria universității. Pentru plata acestora, caseria are o pagină separată unde este necesară logarea. După selectarea tipului de taxă care urmează să fie achitată: înscriere sau înmatriculare, în funcție de opțiunea aleasă caseria este redirecționată.
Pentru plata taxei de înscriere, după logarea conform Figure 18 se alegere din meniu a opțiunea de plată a taxei de înscriere.
Figure 18 – Logare caserie
Următoarea etapă este introducerea CNP-ului și a sumei care urmează a fi achitată după cum este exemplificat în Figure 19.
Figure 19 – Formular achitare taxă înscriere
După apăsarea butonului Achită, este afișat un mesaj de confirmare a plății dacă studentul a fost validat iar în caz contrar este afișat un mesaj de eroare.
Dacă taxa care urmează să fie achitată este pentru înmatriculare, este accesată cea de-a doua opțiune din meniu iar caseria este redirecționată către un formular similar celui de achitare a taxei de înscriere. Diferența dintre cele două formulare este evidențiată după introducerea CNP-ului și a sumei care urmează a fi depusă. În cazul în care studentul nu a fost validat sau nu a achitat taxa de înscriere apare un mesaj de avertizare. Dacă studentul a parcurs toate etapele necesare, sunt afișate opțiunile la care acesta s-a înscris și suma care urmează a fi depusă. Există posibilitatea ca studentul să fie deja înmatriculat la o altă specializare caz în care caseria este atenționată printr-un mesaj și sunt afișate din nou opțiunile la care s-a înscris respectivul student după cum este prezentat în Figure 20.
Figure 20 – Formular înmatriculare
Autentificare utilizatori cu sesiuni
Serverul trebuie să cunoască în permanență cu cine face schimb de informații pentru a putea restricționa accesul la anumite informții și drepturi. Autentificarea în cazul sistemului informatic realizat este efectuată prin accesarea unui formulat HTML. Utilizatorul introduce acreditivele după care aceste date sunt trimise către server. Utilizatorul este autentificat în momentul în care acreditivele sunt corecte.
Pentru această variantă există două mecanisme de autentificare: cu cookies și cu variabile de sesiune. Mecanismul de autentificare pe baza căruia funcționează sistemul realizat este cel cu variabile de sesiune. În momentul autentificării, serverul generează un autentificator de sesiune care este trimis către client și memorat de navigator. Pe durata unei sesiuni, există posibilitatea memorării pe server a unor variabile numite variabile de sesiune însă acestea sunt distruse în momentul în care utilizatorul părăsește pagina.
Contul student
Orice persoană dorește să se înscrie la facultate are acces la formularul online și listele cu situația înscrierilor respectiv înmatriculărilor fără a deține un cont. Acestea pot fi accesate din pagina principală alegând opțiunea din meniul pus la dispoziție conform Figure 21.
Figure 21-Meniu studenți
Contul administrator
Contul de administrator oferă drepturi aspura introducerii procentelor de admitere, validarea studenților înscriși și inmatricularea acestora. Aceste drepturi sunt câștigate în momentul în care utilizatorul și parola corespund acestui cont conform Figure 22.
Figure 22-Meniu administrator
Contul caserie
Acestui cont îi corespund drepturile de achitare a taxelor de înscriere respectiv înmatriculare după cum este prezentat în Figure 23. La fel ca și în cazul contului de administrator, drepturile menționate mai sus sunt câștigate după logarea corespunzătoare.
Figure 23-Meniu caserie
Securitate date
Validarea datelor de obicei este realizată pe server, după ce utilizatorul a introdus toate datele necesare și a apăsat butonul de Submit. Dacă unele date nu au fost introduse în formular sau au fost introduse greșit, serverul trebuie să trimită toate datele înapoi către client și să ceară ca formularul să fie retrimis cu informațiile corecte. Această cale este una foarte lentă. JavaScript, oferă o cale de validare a datelor la nivel de client înainte de a fi trimise către serverul Web. Validarea formularelor în general îndeplinește două funcții:
Validarea de bază – în primul rând, formualarul trebuie să fie verificat din punctul de vedere al introducerii datelor în fiecare câmp unde este cerut.
Validarea tipului de date – în al doilea rând, este necesară verificare tipului de date introdus numeric sau alfanumeric.
Interogările SQL nu sunt foarte sigure deoarece interpretările pot fi manipulate foarte ușor. Interpretările SQL pot ocoli controalele de acces, în consecință să treacă peste metodele de autentificare și verificările de autorizație, iar câteodată pot chiar să facliteze accesul la comenzile de sistem.
Injectarea directă a comenzii SQ este o tehnică în care atacatorul creează sau modifică comenzile SQL pentru a scoate la iveală datele sensibile, sau pentru a suprascrie o anumită valoare, sau chiar pentru a executa comenzi periculoase la nivel de sistem. Acest lucru este înfăptuit de către aplicația care preia inputul utilizatorului, îl combină cu parametrii statici pentru a forma o interpretare SQL. O reală posibilitate de a afla parole este de a manipula rezultatele din paginile de căutare. Singurul lucru de care are nevoie atacatorul este să vadă dacă există variabile în declarațiile SQL care nu sunt protejate corespunzător. Se pot manipula variabilele din formularele care utilizează WHERE, ORDER BY, LIMIT sau condițiile OFFSET din declarațiile SELECT. Dacă baza de date suportă construcții UNION, atacatorul poate încerca să lipească o interpretare întreagă la cea originală pentru a lista parolele dintr-un tabel arbitral. Folosirea parolelor criptate este încurajată pe deplin.
În majoritatea cazurilor, atacatorii trebuie să dețină informații referitoare la baza de date și schema acesteia însă se poate întâmpla să fie descoperite în mod direct sau în mod indirect. Atacatorii pot afla aceste date foarte ușor prin copierea codului dacă este utilizat un soft open source sau un soft disponibil foarte ușor. Un risc este reprezentat și de designul necorespunzător la bazei de date. Atacurile pot să vină din orice input fie că este o listă de selecție sau un câmp acuns.
Pentru a evita dezastre care se pot abate asupra bazelor de date există câteva indicații de urmat cum ar fi:
Userii folosiți trebuie să fie cu privilegii limitate, nu este indicată conectarea la baza de date ca superuser sau ca un utilizator cu privilegii depline.
Verificarea conținutului unui input este foarte indicată. PHP oferă o varietate de funții disponibile pentru validare cum ar fi: funcțiile asupra variabilelor, ale tipurilor de caractere sau expresii regulate.
În cazul câmpurilor numerice este indicat a fi folosită funcția is numeric() sau reprezentația numerică prin sprintf().
În cazul valorilor non-numerice se poate aplica funcția string escape specifică fiecărei baze de date cum ar fi: mysql real escape string() sau sqlite escape string(). Pe lângă aceasta se mai pot utiliza: addslashes() sau str replace().
Nu este indicată afișarea informațiilor specifice bazei de date, în special referitor la schema acesteia.
Funcții utilizate pentru evitarea atacurilor asupra bazelor de date:
Funcții asupra variabilelor cum ar fi: http://www.php.net/manual/ro/ref.var.php
Boolval- preia valoarea boleană dintr-o variabilă.
Doubleval – pseudonim penru floatval.
Empty – determină dacă o valoare este vidă.
Gettype – obține tipul unei variabile.
Is array – determină dacă o variabilă este matrice.
Is callable – Verifică dacă conținutul unei variabile poate fi apelat în calitate de funcție.
Is object – determină dacă o variabilă este obiect.
Isset – determină dacă o variablă este stabilită și nu este NULL.
Print_r – afișează infomații despre o variabilă.
Settype – stabilește tipul unei variabile.
Unset – elimină o variabilă dată.
Var export – Afișează sau întoarce o reprezentare string ce poate fi prelucrată.
Funcții utilizate asupra caracterelor: http://www.php.net/manual/ro/ref.ctype.php
Ctype alnum – verifică caracterele alfanumeice.
Ctype alpha – verifică caracterele alfabetului.
Ctype cntrl – verifică caracterele de control
Ctype digit – verifică caracterele numerice.
Ctype graph – verifică orice caracter afișat exceptând spațiul.
Ctype lower – verifică caracterle scrise cu litere mici.
Ctype print – verifică caracterele care pot fi afișate.
Ctype punct – verifica orice caracter care poate fi afișat mai puțin spațiu și caractere alfanumerice.
Ctype space – verifică spațiile albe.
Ctype upper – verifică caracterele scrise cu majuscule.
Ctype xdigit – verifică caracterele care reprezintă o cifră hexazecimală.
Expeșii regulate: http://www.php.net/manual/ro/ref.pcre.php
Preg filter – efectuează o căutare regulată de expresie și se înlocuiește.
Preg grep – redă intrările de matrici care s epotrivesc cu modelul.
Preg last error – redă codul erorii ultimei execuții.
Preg metch all – efectează o potrivire a unei expresii regulare globale.
Preg match – efectează o potrivire a unei expresii regulare.
Preg quote – citează caracterele expresiilor regulate.
Preg replace callback – efectuează o căutare a unei expresii regulate și o înlocuiește printr-un apel invers.
Preg replace – efectuează o căutare a unei expresii regulate și o înlocuiește.
Preg split – divizează un sir a unei expresii regulate.
Validare JavaScript
Formularul de înscriere a studenților conține casete text, controale radio și liste de selecție care sunt supuse validării JavaScript. Pentru ca datele din formular să fie trimise către baza de date corecte conform câmpurilor în care au fost introduse se realizează o verificare minimă.
Pentru casetele text am verificat completarea acesteia conform Figure 24. În acest fel este posibil ca un utilizator, din greșeală sau intenționat, să introducă caractere greșite, această introducere greșită a datelor poate fi evitată prin verificarea cu ajutorul unor expresii regulate. Prin aceste expresii se poate verifica conținutul casetelor pentru caractere numerice sau alfanumerice. Un exemplu de expresie regulată este: /^[a-zA-Z]/ care verifică existența caracterelor alfanumerice. Funcțiile sunt verificate în momentul în care obiectul nu mai este focalizat, prin handler-ul onblur.
Figure 24- Funcție JS de validare casetă text
Pentru atenționarea utilizatorului de eroarea efectuată, este adăugat pentru fiecare casetă câte un rând special unde este afișat mesajul de eroare în funcție de situație.
În cazul în care câmpul este lăsat gol este afișat messajul conform Figure 25.
Figure 25 – Afișare JScript pentru atenționare câmp gol
În cazul introducerii de date eronate, mesajul este afișat în funcție de greșeala existentă după cum este evidențiat în Figure 26.
Figure 26 – Afișare JScript pentru atenționare introducere date nevalide
În cazul butoanelor radio, cu ajutorul JavaScript am verificat existența unei opțiuni selectate prin parcurgerea tuturor butoanelor din grup și detectarea celui care a fost selectat, folosind proprietatea checked a obiectului conform Figure 27. La fel ca și în cazul casetelor text, există un rând special unde este afișat mesajul de eroare dacă este cazul.
Figure 27- Funcție JS pentru validare butoane radio
Validarea listelor de selecție presupune verificarea alegerii unei opțiuni. Deoarece prima opțiune a fiecărei liste de selecție este nulă, verificarea existenței unui opțiuni alese este mai simplă după cum este prezentat în Figure 28.
Figure 28- Funcție JS pentru validare listă de selecție
Formularul este trimis doar dacă toate funțiile de validare returnează true. Toate funcțiile sunt verificate cu ajutorul handelr-ului onsubmit. La trimiterea formularului este apelată o funcție separată după cum este prezentat în Figure 29.
Figure 29-Funcție JS hander onsubmit
Validare PHP
Crearea unei interogări SQL nu este sufiecientă pentru a fi sigur de securitatea datelor. Securitatea acestor comenzi este de multe ori lăsată la oparte și nu îi este dată o importanță aparte cu toate că printr-o interogare SQL se poate ocoli intenționat controalele de acces și chiar se poate face accesul la comenzi ale sitemului de operare.
Injecțiile SQL directereprezintă o tehnică în care atacatorul creează sau modifică comenzile SQL deja existente pentru a expune date ascunse, pentru a forța introducerea unor date nevalide sau pentru a executa comenzi periculoase penrtu sistemul gazdă a bazei de date. Acest lucru este realizat prin preluarea unor date și combinarea acestora cu parametri statici pentru a construi o interogare SQL. Prin lipsa validării a datelor de intrare și conectare la baza de date pentru superuseri sau pentru cei care au dreptul de a creea noi utilizatori, atacatorul poate crea un superuser în baza de date.
Deoarece validitatea caracterelor a fost realizată cu ajutorul JavaScript înainte ca datele să fie trimise către baza de date, am utilizat funcții pentru evitarea atacurilor referitoare la variabile. Dintre funcțiile diponibile din această categorie cea mai frecvent utilizată a fost funcția isset. Acestă funcție am utilizat-o pentru verificarea stabilirii unor variabile după cum arată Figure 30 și a verificării trimiterii formularelor după cum este prezentat în Figure 31.
Figure 30 – Exemplu 1 utilizare funcție isset
Figure 31 – Exemplu 2 utilizare funcție isset
O altă funcție utilizată pentru evitarea injecțiilor asupra bazei de date este mysql_real_escape_string(). Această funcție este utilizată pentru a crea un șir SQL legal care se poate folosi într-o instrucțiune SQL. Înainte de a trimite datele introduse în formular către baza de date acestea sunt verificate după cum este prezentat în Figure 32.
Figure 32 – Utilizare functie mysql_real_escape_string()
Manual de utilizare a sistemului de admitere online
Pentru realizarea acestui manual, voi înscrie, înmatricula și achita taxele aferente pentru un student virtual. Primul pas este introducerea datelor corecte în formularul de înscriere, fapt confirmat de o alertă JavaScript conform Figure 33.
Figure 33 – Alertă înscriere realizată
După această etapă urmează validarea datelor, validare realizată în cadrul universiății. Validarea poate fi realizată doar după logare și este efectuată după introducerea CNP-ului studentului, neavând posibilitatea modificării acestuia, într-un formular similar celui de înscriere. Un exemplu îl reprezintă Figure 34.
Figure 34 – Exemplu validare date
În cazul în care acest student a mai fost înscris este afișat un mesaj de alertă după cum este prezentat în Figure 35.
Figure 35 – Alertă student deja înscris
În cazul în care studentul nu a fost înscris, ca și în cazul anterior este afișată o alertă conform Figure 36.
Figure 36 – Alertă student neînscris
Plata taxei aferente înscrierii este realizată de către caserie prin același procedeu și anume introducerea CNP-ului. Achitarea acestei taxe de către caserie este realizată după logare și după achitare este afișat ca de obicei un mesaj după cum este prezentat în Figure 37.
Figure 37 – Achitat taxă înscriere
În acest moment studentul Calance Gabriela este oficial înscris și apare în listele dinamice care pot fi accesate din meniu fără logare. Pentru exemplificare în Figure 38 este afișată lista cu studenții înscriși la specializarea Informatică Economică. Ordinea afișării este realizată în ordinea crescătoare a medilor iar locul la BUGET este asigurat de medie și de faptul că studentul nu a mai urmat o facultate anterior. Există posibilitatea salvării acestor liste în format Excel prin apăsarea butonul Salvați din finalul acestei listei cu studenți înscriși pentru fiecare specializare.
Figure 38 – Listă înscriși Infomatică Economică
După finalizarea perioadei de înscriere, studentul este așteptat la universitate pentru a achita taxa de înmatriculare. Aceasta, asemenea taxei de înscriere, este achitată la caserie cu ajutorul CNP-ului după cum este prezentat în Figure 39. Studentul are posibilitatea de a se înmatricula la două specializări plătind căte o taxă separată.
Figure 39 – Achitare taxă înmatriculare prima specializare
După introducerea CNP-ului este afișată lista cu opțiunile la care studentul a fost înscris în ordinea preferințelor și suma care urmează a fi achitată. Prin apăsarea butonului Achită, acesta este oficial înmatriculat la specializarea pentru care a achitat taxa după cum este prezentat în Figure 40.
Figure 40 – Listă opțiuni pentru înmatriculare
Ca de obicei după plată, este afișat un mesaj de confirmare după cum este prezentat în Figure 41.
Figure 41 – Confirmare achitare taxă înmatriculare
După ce studentul a fost oficial înmatriculat la specializarea Informatică Economică, acesta este afișat în lista disponibilă cu studenții înmatriculați din meniu. După accesarea din meniu a listelor cu studenți înmatriculați, dintr-o listă de selecție se selectează specializarea pentru care se dorește a fi afiștă lista conform Figure 42.
Figure 42 – Specializări pentru liste înmatriculați
După cum se poate observa în Figure 43, studentul pe care l-am înmatriculat Calance Gabriela este afișat primul în listă deoarece are media cea mai mare. Tot în Figure 37 se poate observa că următorul student înmatriculat are mai mare media decât ultimul însă este încadrat la un loc cu taxă deoarece specializarea Informatică Economică este a doua la care este înmatriculat.
Figure 43 – Listă înscriși Infomatică Economică
Studentul are dreptul de a se înmatricula la două specializări, după cum am mai precizat, prin același procedeu. După introduecrea CNP-ului, este afișat un mesaj cu specilizarea la care studetul a fost deja înmatriculat după cum este prezentat în Figure 44.
Figure 44 – Înmatriculare a doua specializare
După cum se poate observa în Figure 45, studentul înmatriculat pentru testare cu toate că este singurul înmatriculat la specializarea Asistență managerială și secretariat, are un loc la taxă deoarece aceasta este ce-a de-a doua specializare la care etse înmatriculat.
Figure 45 – Listă înmatriculat la a doua specializare
Concluzii
Bibliografie
[3] Elizabeth Castro, HTML pentru World Wide Web, Editura Corint, 2003
[7] Traian Anghel, Dezvoltarea aplicațiilor WEB folosind XHTML, PHP și MySQL, Editura Polirom, 2005.
[6] Tom Negrino, Dori Smith, JavaScript pentru Word Wide Web, Editura Corint, București, 2004
[2] Doru Tiliuțe, Proiectarea aplicațiilor pe Web, Editura InfoData, Cluj, 2013
[1] Bill McCarty, PHP4, Editura Teora, București, 2002.
[5] Jim Keogh, JavaScript fără mistere, Editura Rosetti Educational, 2006.
[4] Harry He, Programming Languages http://link.springer.com/chapter/10.1007/978-1-4302-4762-3_2, accesat 10.06.2014
Limbaje de programare de viitor http://www.hipo.ro/locuri-de-munca/vizualizareArticol/731/503 15,06,2014
http://en.wikipedia.org/wiki/Cascading_Style_Sheets,
http://www.php.net/manual/ro/ref.var.php
http://www.php.net/manual/ro/security.database.sql-injection.php
http://www.php.net/manual/ro/ref.pcre.php
http://www.php.net/manual/ro/ref.ctype.php
Bibliografie
[3] Elizabeth Castro, HTML pentru World Wide Web, Editura Corint, 2003
[7] Traian Anghel, Dezvoltarea aplicațiilor WEB folosind XHTML, PHP și MySQL, Editura Polirom, 2005.
[6] Tom Negrino, Dori Smith, JavaScript pentru Word Wide Web, Editura Corint, București, 2004
[2] Doru Tiliuțe, Proiectarea aplicațiilor pe Web, Editura InfoData, Cluj, 2013
[1] Bill McCarty, PHP4, Editura Teora, București, 2002.
[5] Jim Keogh, JavaScript fără mistere, Editura Rosetti Educational, 2006.
[4] Harry He, Programming Languages http://link.springer.com/chapter/10.1007/978-1-4302-4762-3_2, accesat 10.06.2014
Limbaje de programare de viitor http://www.hipo.ro/locuri-de-munca/vizualizareArticol/731/503 15,06,2014
http://en.wikipedia.org/wiki/Cascading_Style_Sheets,
http://www.php.net/manual/ro/ref.var.php
http://www.php.net/manual/ro/security.database.sql-injection.php
http://www.php.net/manual/ro/ref.pcre.php
http://www.php.net/manual/ro/ref.ctype.php
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: Sistem Informatic de Admitere Online la Facultate (ID: 150487)
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.
