Specializarea: Contabilitate și informatică de gestiune [309553]
UNIVERSITATEA „LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE ȘTIINȚE ECONOMICE
Specializarea: Contabilitate și informatică de gestiune
LUCRARE DE LICENȚĂ
Sibiu
2018
UNIVERSITATEA „LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE ȘTIINȚE ECONOMICE
Specializarea: Contabilitate și informatică de gestiune
Proiectarea și realizarea unei aplicații pentru evidența lucrăriilor de licență/ dizertațiilor de master
Sibiu
2018
INTRODUCERE
În următoarele pagini se va prezenta o lucrare științifică cu tema “Proiectarea și realizarea unei baze de date pe Web pentru evidența lucrărilor de licența/disertațiilor de masterat” cu domeniul: “Sisteme informatice de gestiune”.
Lucrarea s-a realizat având ca scop realizarea unei aplicații pentru evidența lucrărilor de licență / [anonimizat].
Pentru atingerea acestui obiectiv s-a recurs la studiul intens ale materialelor puse la dispoziție. [anonimizat].
În urma acestei activități s-a [anonimizat], o aplicție pe Web pentru evidența lucrărilor de licență / dizertațiilor de master. [anonimizat]: https://licente101.000webhostapp.com/meniu.php.
Lucrarea de față este împărțită pe 4 [anonimizat] w capitole teoretice partea practică dar și un capitol destinat legislației și normelor aflate în vigoare la ora actuală în România.
Capitolul 1 cu titlul “Legislația în vigoare” prezintă legea 206/2004 care are la bază Codul Național de etică și sancțiunile la care se poate recurge în cazul abaterii de la aceste norme.
Capitolul 2 denumit “Tehnologia folosită în realizarea informației” este împărțit în două părți. [anonimizat], s-au explicat amânunțit modul de folosire a [anonimizat].
Capitolul 3 intitulat “Sistemul informational și sistemul informatic” [anonimizat], componentele, caracteristicile și criterile pe care le deține un astfel de system.
Capitolul 4 denumit “Dezvoltarea aplicației” expune modul în care s-au utilizat inforațiile prezentate în capitolele 2 și 3. Acest capitol conține numeroase capturi de ecran pentru a arăta unicitatea lucrării. Aplicația în sine poate fi accesată de 3 [anonimizat].
[anonimizat] o posibilă lucrare viitoare în acest domeniu.
CAPITOLUL 1. LEGEA ÎN VIGOARE
Forma consolidată este valabilă din data de 02.04.208. Această lege se referă la „[anonimizat]”.
Legea 206/2004 [anonimizat]-dezvoltare, publicare, evaluare, [anonimizat], titluri, distincții, premii, sporuri, în cadrul competiților publice sau în scopul dobândirii atestatelor.
[anonimizat]lor dar și încercarea pe cat posibil de-a ocrotii mediul natural în protejarea echilibrului ecologic.
Articolul 2.1 conține abaterile de la normele prevăzute de buna conduită care nu fac obiectul infracțiunii potrivit legii penale. Se vor amintii cele mai importante nereguli exemplificare în Monitorul Oficial:
Însușirea rezultatelor sau informațiilor ale activității de cercetare-dezvoltare obținute prin calcule efectuate de calculator sau efectuarea de calcule raționale sau deductive precum și prezentarea datelor si rezultatelor cu caracter experimental.
Falsificarea rezultatelor sau informațiilor ale activității de cercetare dezvoltare obținute prin calcule efectuate de calculator sau efectuarea de calcule raționale sau deductive precum și prezentarea datelor si rezultatelor cu caracter experimental.
Sabotarea activității de cercetare-dezvoltare a altor persoane precum și îngreunarea acesteia în mod deliberat prin diferite activități cum ar fi distrugerea, avarierea echipamentelor de lucru, documentelor, materialelor, compromiterea datelor sau blocarea activității sunt doar câteva exemple care fac obiectul acestei legi.
Plagiatul – Însușirea operelor literare, științifice, atrisitice și prezentate drept creație proprie.
Includerea sau excluderea unor autori sau coautori care au avut o semnificativă contribuție sau care au avut o contributie nesemnificativă întro publicație
Publicarea unor informații, incluzînd un autor fără acordul acestuia
Includerea unor informații (teorii, ipoteze, rezultate) fără acordul autorului
Introducerea de informații neadevărate cu scopul obținerii unei funcții (ex: abilități, candidatură, posturi universitare)
Frauda – Înșelăciune comisă pentru obținerea unor bunuri materiale sau pentru atingerea drepturilor altuia.
Legea în cauză se bazează pe Codul Național de Etică. Acesta se ocupă cu evaluarea, analizarea abaterilor de la normele de bună conduită sesizate. Comisiile de Etică fac parte din departamentele de cercetare-dezvoltare din sistemul național sau fac parte din programe de cercetare-dezvoltare. Acestea împreună cu consiliile științifice și consiliile de administrație sunt aprobate de conducătorul instituției în cauză. Aceste comisii sunt însărcinate cu analiza și evaluarea activității urmărind respectarea codului de conduită specific instituției.
Pentru abatreile de la codul de conduită se pot aplica una sau mai multe sancțiuni:
Avertisment scris
Retragerea și/sau srescrierea lucrărilor publicate care nu respectă normele de conduită prezentate mai sus
Retragerea titlului obținut în urma publicației făcute
Suspendarea persoanei în cauză pe o perioadă determinată ( 1-10 ani) a drepturilor de înscriere la diferite concursuri precum și ocuparea unei funcții superioare sau de conducere.
CAPITOLUL 2. TEHNOLOGIA FOLOSITĂ ÎN CREAREA APLICAȚIEI
2.1 MySQL
O bază de date (database) este un culegător de informație care o stochează pe un dispozitiv de stocare (suport extren) având capacitatea de regăsire a datelor într-o perioad foarte scurtă de timp. O bază de date este creată într-un fișier sub forma unei liste și poate conține: date legate de produse, comenzi, persoane, etc. Organizarea informațiilor este foarte importantă în prelucrarea datelor (adăugare, ștergere, actualizare, interogare).
Cele mai cunoscute modele de baze de date la momentul actual sunt: modelul de date relațional, modelul de date orientat obiect (rețea) și modelul ierarhic;
Modelul de date relațional stochează datele în relații uncice. Este structurat pe tabele compuse din linii și coloane find bine structurat făcând utilizarea acestora date simplă. Având la bază teoriile matematice si logica de ordinul unul, îl face riguros și precis făcându-l cel mai folosit model de baze de date.
Figure 1 Modelul relațional
Modelul orientat-obiect este aplicat, în general, în proiectarea hardware, în crearea programelor etc. Se caracterizează prin asigurarea comunicației și distribuirii atât între programe cât și între date. Se pot folosi în foarte multe domenii, el deținând un număr mare de diferite tipuri de date.
Figure 2 Modelul orientat-obiect
Datorită smiplitătâții modelului ierarhic, acesta a fost primul model folosit în organizarea datelor în bazele de date. Se realizează cu ajutorul unei scheme sub formă de arbore redat pe mai multe niveluri (noduri părinte, noduri fii, noduri frunză, frunze).
2.1.1 Modul de relaționare a datelor
Se pot utiliza trei metode de relaționare și anume:
1 la 1- aceasta relație se realizează dintre o cheie și o tabelă.
1 la mai mulți – se poate realiza dintre o cheie și mai multe tabele care relaționează și este cea mai intâlnită relație.
Mai mulți la mai mulți – se referă la cazurile în care o valoare cheie este regăsită într-o tabelă cu care relaționează.
Tipuri de date
O bază de date este construită din mai multe tabele. Aceste tabele pot conține diferite tipuri de date. Pentru fiecare câmp de date trebuie create o coloană căreia I se atribuie un tip de date
Integer (INT) – Folosit pentru numerele întregi
Character (CHAR) – Folosit pentru câmpurile cu o lungime de pâna la 255.
Varchar – Folosit pentru șirurile de caractere cu o lungime de peste 65 de mii de caractere
MEDIUMTEXT – Poate suporta peste 16 milioane de caractere
LONGTEXT – Având capacitatea de peste 4 miliarde de caractere
FLOAT – Folosit pentru Numerele reale
DATE – Folosit pentru datele de tip dată calendaristică
DATATIME – Folosit pentru afișarea datelor de tip dată mai completă
TIMESTAMP – Folosit pentru afișarea variabilelor de tip data în formatul dat de calculator
TINYBLOB – Folosit pentru stocarea până la 255 bytes
BLOB – Folosit pentru stocarea până la 64 KB
Avantajele și dezavantajele unei baze de date
Avantaje:
O modalitate ușoara de gestionare a datelor, putând fi responsabilizată o persoană pentru această activitate.
Datele sunt compacte, acestea ocupând mai puțin spatiu de stocare decât documentele scrise.
Se pot realiza modificări ale structurii bazei de date fără a fi necesare alte modificări.
Securizarea datelor în conformitate cu legea.
O viteză mare în căutarea datelor și actualizarea acestora
O bună reprezentare a datelor, putându-se urmări cu ușurință eventualele schimbări.
Dezavantaje:
În funcție de natura SGBD-ului, prețul poate să difere.
Gradul de complexitate poate crește odată cu dimensiunea sistemului.
Defecțiunile care pot apărea pot genera vulnerabilitatea sistemului și insecuritatea datelo
SQL sau Structured Query Language este un limbaj de interogare apărut în 1974 în cadrul companiei IBM creat de Donald D. Chamberlin și Raymond F. Boyce. La sfârșitul anilor 70 Oracle crează o baza de date proprie SQL RDBMS.
2.1.2 Proprietățile MySQL
MySQL este un SGBD (Sistem de Gestiune al Bazei de Date) relațonal, asta însemnând că se ocupă cu gestionarea datelor între tabele relaționale și constrânse.
MySQL este capabil de a susține o varietate largă de programe. Acestea pot fi scrise în diferite limbaje de programare cum ar fi: C++, Pearl, Python, PHP, Java, C, Eiffel, etc. Este conceput pe baza sitemului client-server asta însemnând separarea fizică și logică de programele client.
Find de natura open-source software, orice persoană cu cunoștințe în domeniul informatic sau chiar începătorii, îl pot modifica și utiliza, find un program gratuit si ușor de folosit.
Criptarea parolelor pentru o securitate a datelor este una din mecanismele specifice la care se poate recurge pentru securitatea datelor.
Cu toate că poate susține în jur de 5 miliarde de date care rulează constant și având o varietate largă de funcții puse la dispoziție, acesta reactionează rapid la cerințele cerute.
Termenul de multiplatformă se referă la faptul că se pot folosi mai multe sisteme de operare (Linux, Solaris, Win2000, HP-UX etc).
La ora actuală MySQL este folosit de cele mai mari site-uri din lume (Facebook, Youtube, Twiter etc.).
Operatorii sunt folosiți pentru a executa diferite operații fie ele matematice, comparative etc. Există cinci tipuri de operatori: artitmetici, de conversie, logici, la nivel de bit, de comparție.
2.2 HTML
Hypertext Markup Language (HTML) este un limbaj care stă la baza site-urilor web. Este specific pentru fișierele de tip text care conțin tag-uri. Un fișier de tip HTML trebuie să aibă extensia htm sau html și se poate crea cu ușurință cu ajutorul unui editor de text.
Hypertextul este un text care este afișa pe monitor si poate face trimitere către alte texte, pe care utilizatorul calculatorului le poate accesa rapid, astfel cititorul poate să parcurgă documentul, documentele într-o ordine aleasă de el [5] .
Standardul HTML oficial este Word Wide Web Consoltium (W3C). S-a recurs la multe versiuni ale limbajului HTM, fiecare versiune venind cu îmbunătățiri. La momentul actual s-a ajuns la HTML5, care își propune sa includă XHTML1 și DOM2HTML acestea referidu-se la limbajul de tip JavaScript, cât și versiunea precedentă HTML4.
Termenul World Wide Web sau prescurtat www, este adesea denumit web, termenul provenind din limba engleză care inseamnă pânză de păianjeni, termen caracteristic pentru rețeaua de calculatoare mondială. Odată cu accesarea unei pagini web, automat calculatorul respectiv se va numi client web. În căutarea de informații se utilizează diferite browseruri de exemplu: Opera, Mozila, Chrome, Internet Explorer, etc.
Adesea este folosit Hypertext Protocol (HTTP) pentru că de cele mai multe ori Uniform Resource Locatar (URL) nu deține un protocol așa că li se acordă automat HTTP pentru comunicarea între serverul web și utilizator.
Folosind tag-urile HTML se pot crea de la tabele la liste, se pot introduce imagini, GIF-uri sau se pot introduce link-uri cu trimitere la site-uri, documente; [Anexa 10.] HTML-ul reactionează la culorile de tip RGB (RED Green BLUE). Poate citi 16 nume de culori si folosind notațiile hexazecimale se pot utiliza pana la 16 milioane de nunanțe, cea mai mică valoare find #00 iar cea mai mare find #ff. Exemplu: #ff0000 sau red, vor afisa amandouă aceasi culoare si anume roșu.
2.2.1 Noțiuni elementare:
Orice document de timp html începe cu tag-ul <html> și se termină adăugând aceluiași tag o bară oblică (slash) </html>. Se continuă prin adăugarea tagurilor <head></head> care pot conține tag-uri cum ar fi: <title><title>, <ink>, scripturi etc. Dupa tag-ul <head> urmează tag-ul <body> care și el poate conține diferite tag-uri de liste, div-uri, form-uri, paragrafe etc.
Exemplu :
<html>
<head>
<title>Aplicație pe web</title>
</head>
<body bg color=”gray”>
<p> Paragraf.</p>
</body>
</html>
În cazul colectării datelor s-a recurs la utilizarea formularelor. Cum s-a prezentat anterior, există mai multe tipuri de date. Prin urmare se pot colecta mai multe informații cum ar fi : nume, adresă, email, etc. Deasemenea formularele sunt folosite pentru partea de log in dar si pentru înregistrarea unui utilizator, făcându-se diferența între un vizitoator și un administrator. Se va exemplifica un formular de înregistrare:
<form name="]nregistrare" method="post" action="send_mail.php">
<label for="first_name">Prenume *</label>
<input type="text" name="first_name" maxlength="30">
<label for="last_name">Nume *</label>
<input type="text" name="last_name" maxlength="30">
<label for="email">E-mail *</label>
<input type="text" name="email" maxlength="50”>
<label for="telephone">Număr de telefon *</label>
<input type="text" name="telephone" maxlength="20" >
</form>
Cu HTML se pot crea tabele pentru aranjarea informației, imaginilor, link-urilor, alte tabele, eltc. Un tabel se crează folosind eticheta <tabel> iar împreună cu tag-urile: <td> utilizat pentru crearea celulelor și <tr> pentru crearea rândurilor se poate crea un table. Eticheta <th> este utilizată pentru partea de head (antet) a tabelului.
<table>
<div class="table-responsive">
<tr>
<th>Nr. Crt.</th>
<th> Nume Angajat</th>
<th>Angajat la data </th>
<th>Nivel studii</th>
<th>Departament</th>
<th>Vechime</th>
<th>Salariul</th>
</tr>
</table>
Formulare, metodele GET și POST
În general aplicațiile Web folosesc scripturi pentru adaptarea informației introdusă cu ajutorul uni document HTML. În această situație, script-urile au rolul de-a culege informația, de-a o modifica și mai apoi de-a da un răsăuns. Aceste scripturi sunt folosite pentru interacțiunea dintre client-server și server-client.
Majoritatea script-urilor sunt executate prin intermediul uni document HTML,odată cu apăsarea unui buton (ex: SUBMIT).
Utilizându-se metoda GET datele primate de la utilizator trebuie sa aibă o lungime de aproximativ 255 de caractere, exact cât permite un URL. În cazul acestui mediu, datele utilizabile ca parametrii pot fi culese, dacă este necesar. Folosind metoda GET, informația este încărcată automat în url, în timp ce utilizând metoda POST informația este transmisă prin protocolul HTTP. Altfel spus nu se pot transmite informațiile prin GET către un formular care acceptă mesajele sau încărcate de un fișier.
Metoda POST este folosită în cazul modificărilor de informații (insert-introducere / update-actualizare). Pentru evitarea reâncărcării paginii, este recomandat după ce s-a făcut update sau insert, să fie redirecționate.
Tag-ul INPUT împreună cu atributul type=”text” este unul dintre cele mai utilizate etichete.
Exemplu:
<input name=”….” Type=”text”/>
Alte două atribute compatibile cu această etichete sunt
maxlenght – utilizat pentru limitarea numărului de caractere disponibile
value – pentru adăugarea unei valori
În același timp elementele SUBMIT și RESET sunt strâns legate de formulare (FORM). Odată cu folosirea acestora, casetele se convertesc în butoane executându-se prelucrarea datelor prin metoda selectată.
Exemplu:
<input type=”SUBMIT” class=”btn btn-succes” value=”Continuă”/>
Atributul TYPE acceptă mai multe valori:
PASSWORD – se folosește în cazul parolei pentru ascunderea carcaterelor
BUTTON – Se folosește pentru activarea execuției unui script/secvențe de tip JavaScript
CHECKBOX – Se folosește pentru selectarea a una sau mai multor opțiuni, limitând numărul selecților disponibile
FILE – Se utilizează pentru afișarea unei căsuțe cu ajutorul căreia se poate face upload de fișiere
RADIO – Se folosește pentru selectarea unei opțiuni, limitând numărul selecților disponibile
IMAGE – În această situație se procedează aproximativ asemănător cu variant SUBMIT, făcându-se două modificări. În locul elementului SUBMIT s-a pus IMAGE iar în locul atributului VALUE s-a pus SRC (source)
Exemplu: <input type”IMAGE” SRC=”img.png”/>
HIDEN – Se utilizează pentru ascunderea căsetelor
DATE – Crează o căsuță asemănătoare cu un calendar care conține anul luna ziua
Exemplu: <input type=”date” name=”set_date” value=”2018-07-16”/>
URL – Este folosit pentru a crea câmpuri unde sa se afoșeze o adresă url
NUMBER – Afițează o casetă unde apar numere, iar acestea pot fi resticționate în funcție de preferință (min/max/step)
SEARCH – Se crează un câmp text unde se poate executa o căutare
EMAIL – Se folosește când se dorește adăugarea unui camp specific email-ului
RANGE – Această valoare este folosită pentru indicarea unei valori întro serie. Range necesită adăugarea atributelor min si max pentru setarea numerelor acceptate.
Exemplu: <input type=”range” name=”val” min=”0” max=”100” />
COLOR – Este folosit pentru alegrea culorilor.
2.3 CSS
Cascadin Style Sheet este un limbaj de stilizare prin care se doresc afișate informațiile regăsite in HTML. Stilurile se pot regăsi în foi de stiluri sau pot fi integrate in codul HTML. Așa cum fișierele de tip HTML sunt salvate cu extensiile HTM sau HTML, așa și foile de stiluri sunt salvate cu extensi CSS. Acest limbaj a devenit foarte utilizat odată ce limbajul XHTML nu mai acceptă tag-urile de stil din limbaj HTML cum ar fi <font>.
Stilurile multiple in css sunt reprezentate in cascadă. Asta însemnând că există o ordine care determină prioritatea acestor stiluri. Sunt 4 tipuri de stiluri. Declarările în fișierul HTML este prioritatea numărul 1. Este urmat de foile de stil internă și externă. Cea mai mică prioritate o au setările pentru browser.
Foile de stil externe
Folosire unei foi de stil externă este folositoare în cazurile în care se dorește modificare formatării paginilor. Aceste modificări se pot realiza doar în cazul în care se face legătura (link) între fișierul HTML și foaia de stil. Tag-ul link se regăsește in head-ul fișierului html.
Exemplu:
<html>
<head>
<title></title>
<link rel=”stylesheet” type=”txt/css” href=”numele foii de stil.css”/>
</head>
<body>
</body>
</html>
Foile de stil interne
Pentru utilizarea foilor de stil interne, ele trebuie declarate în partea de head a fișierului HTML ca și cele de tip extern și va fi folosit doar în acest fișier.
Exemplu:
<html>
<head>
<style=”text/css”>
P { color: red;
Size: 14;
}
</stylr>
</head>
<body>
<P> Acest text este rosu de marime 14.</p>
</body>
</html>
Sintaxele CSS se pot împărți în 3 secțiuni (selector, proprietate, valoare element/proprietate). În majoritatea cazurilor tag-ul din HTML pe care se dorește a fi modificat este și selector css. Proprietatea se referă la modificare care se dorește a fi făcută atributului HTML. Dacă se dorește adăugarea mai multor proprietăi, se poate adăuga după fiecare valoare, pentru separarea acestora. Valoare proprietății se acordă atributului HTML și este separat de proprietate prin : “.”
Exemplu:
Selector {proprietate: valoare;
Proprietate: valoare}
Valorile de tip numeric regăsite atât în HTML cât și în CSS sunt măsurate în general în pixeli, singura excepție o poate face atributul size care face referire la mărimea caracterelor.
2.4 Limbajul JavaScript
A fost creat de Nestscape in 1995 cu intenția de-a aduce dinamica în paginile web. Inițial a fost numit JavaLive dar după mai multe modificări și după colaborarea cu firma Sun s-a ajuns la variant de JavaScript. În 1996 a fost adaptat de către Microsoft și folosit pentru browserul Internet Explorer sub denumirea de JScript.
Odată cu trecerea timpului, numeroase companii de top și-au arătat interesul în acest limbaj de programare (Apple, IBM, Oracle, Sybase, HP etc.), susținându-l, urmând mai apoi ca limbajul JavaScript să fie recunoscut de majoritatea browserelor.
Limbajul JavaScript (JS) este un limbaj de scripting client-site care rulează la nivelul browserului. Dezvoltat pentru a răspunde numeroaselor cerinte și pentru întrebuințarea pe o arie cât mai largă și cât mai variată, JavaScript vine cu numeroase funcții si comenzi (manipularea de sunete, link-uri URL, imagini, șiruri, verificări de introducere a datelor, calcule matematice).
HTML-ul este o parte foarte importantă în crearea de scripturi, devenind puntea de lansare pentru limbajul de scripting, acesta find introdus in fișierele de tip HTML și preluând și extensia HTML pentru a putea modifica si crea aplicații de tip web. JavaScript se poate executa pe mai multe dispozitive: desktop (Windows 8); mobil (Android, IOS, WP7, WP8). Rularea codului JavaScript se face cu ajutorului broserelor (FireFox, Safari, Internet Exporer etc.), acesta find dependent de motoarele de navigare.
Importanța limbajului JavaScript
Datorita varietații mari de funcții se pot crea aplicații excepționale.
Codurile JavaScript se pot folosi pe toate browserele moderne, nemaifind nevoie de modificări odata cu schimbarea browserului.
JSON (JavaScript Object Nation) este unul dintre cele mai folosite limbaje pentru transmiterea de date.
Odată cu folosirea framework-urilor s-au putut crea numeroase aplicații web folosindu-se JavaScript.
iQuery este o librărie destinată dezvoltatorilor care permite adăufgarea efectelor în funcție de id-urile acestora care se regăsețte în JavaScript
2.4.1 Utilizarea JavaScript în HTML
Pentru adăugarea codurilor de tip JavaScript este necesară adăugare tagului <script> care necesitp atributul “type” sau “language” (specifică limbajul care urmează a fi folosit). Aceste etichete se pot introduce în după tag-ul html, în interiorul etichetelor head sau în interiorul tag-urilor body.
Exemplu:
<html>
<script type=”text/javascript”>
</script>
</html>
<head>
<script type=”text/javascript”>
</script>
</head>
<body>
<script type=”text/javascript”>
</script>
</body
Variabile și operatori
În cazul acestui limbaj, datele nu sunt fixe, acestea putând fi schimbate tipurile pe parcursul scriptului. O variabilă locală se referă la o variabilă care este recunoscută doar în cadrul unei funcții. Odată cu ieșirea din acea funcție, variabila va fi distrusă. Variabila globală se referă la o variabilă care se află în afara funcției, care pot fi folosite de celelalte funcții. Aceste funcții in general sunt oferite de către site-urile web până la terminarea procesului.
Operatorii se folosesc în scopul modificării și manipulării datelor. JavaScript recunoaște două tipuri de operaori:
Operatori binari – sunt acei operatori care au într-o expresie doi operanzi
Operatori unari – sunt acei operatori care accepta doar un operand într-o exprezie
Operatorii Java sunt foarte asemănători cu cei ai limbajul C și cei amintiți în prima parte a acestui capitol. În cazul acesta se vor amintii doar operatorii care nu se regăsesc în acel tabel.
Typeof este folosit pentru a identifica dacă o variavilă a fost definită, acesta returnând conținutul operandului în acel moment. Făcând o comparașie cu limbajul C, dacă “===” semnifica egalitatea, în cazul în care o variabilă x=1 returna true, limbajul Java returnează false daca o variabila x=’1’.
2.4.2 Obiecte JavaScript
JavaScript este un program care are la bază obiectele (OO-Ole Object). Deși este foarte asemănător cu programele C++ sau Java acestea sunt programe orientate pe obiecte. Obiectele în JavaScript se refer la formulare, tabele, butoane, imagini, etc. Toate componentele unei pagini web sunt văzute de către JavaScrip obiecte. Deasemnea ferestrele unui browser sunt văzute de către program ca obiecte de tipul window care conțin elemente. Cele mai esențiale obiecte sunt:
String (șiruri) – Se utilizează pentru întregistrarea textelor
Array (tablou) – Se utilizează pentru înregistrarea mai multor valori devenind o componentă a tabloului fiind asociată unui idex (cheie)
Date – Se folosește pentru utilizarea datelor calendaristice sau a timpului
Math – Se foloște pentru efectuarea operațiilor matematice
Global – Se folosește pentru gruparea tuturor valorilor la un nivel înalt făra a necesita un părinte
Variabilele Cookie
Cookie-urile sunt niște texte codificare trimise de către un server către o pagină de navigare și trimise înapoi către server pentru a se putea urmării comportamentul unui utilizator. Acestea nu sunt executabile, fiind doar niște texte care culeg informații despre un utilizator salvând preferințele și vizitele acestuia.
Browserele se pot seta, în funcție de preferințele utilizatorului, pentru acceptarea unui număr maxim de cookie-uri care se pot stoca sau în funcție de mărimea acestora. Deasmenea, browserul se poate seta în așa fel încât să nu permită informațiile de către cookie.
JavaScript se poate utiliza pentru citirea scrierea sau editarea cookie-urilor, făcându-se foarte folositor pentru afișarea cookie-urilor active pe o anumită pagină cu următoarea expresie:
javascript:alert("Cookies: "+document.cookie)
2.5 Limbajul PHP
Hypertext Processor (PHP) este un limbaj de programare folosit pentru crearea de pagini web cu caracter dinamic dar și pentru crearea de aplicații. În general codul php este introdus in codul HTML dar odata cu aparitia versiunii 4.3.0 se pot crea aplicații independente.
Apărut în 1995 ca extensie a limbajului Pearl, având variabile asemănătoare cu acesta, și creat de Rasmus Lerdof pentru urmărirea accesele la rezumatele sale online. Inițial a fost denumit Personal Home Page Tools[4]. S-a introdus limbajul C datorită nevoii de funcționalitate făcând dezvoltarea și scrierea codurilor pentru aplicațiile web dinamice mai ușoară. PHP este folosit la ora actuală de milioane de site-uri web. În 1998 s-a creat proiectul open-source dar a început să fie cunoscut abia după ce 2 cercetători de la Technion împreună cu Rasmus au făcut o versiune mai accesibilă a interpretării PHP-ului denumit PHP 3.0 find succesorul oficial al PHP/FI 2.0. Față de versiune precedent PHP 3.0 aduce îmbunătățiri cum ar fi:
Susținerea sintaxei pe obiecte
O îmbunătățire a sintaxei limbajului făcând-o mai consistentă și mai puternică;
O structură mai solidă a bazelor de date fiind un avantaj pentru utilizatori
Utilizarea de protocoale și interferențe API (Application Programming Interface)
Avantajele PHP [2]
Simuplu de utilizat
Capabil să ruleze pe mai multe platforme
Este gratuit și se poate descărca de pe site-ul oficila
Se potrivește cu aproximativ toate serverele care rulează la ora actuală
Este un server open-source (sursă deschisă)
Este o alternatică necostisitoare a programelor Ruby sau ASP
2.5.1 Caracteristici
Limbajul PHP a fost creat pentru internet, având elemente din limbajul C, făcându-l mai accesibil și mai ușor pentru utilizatori. Creat ca să se poată adapta la următoarele modificări pe care le va aduce tehnologia, folosind mecanisamele de alocare a resurselor. Nu este legat de un server web fiind inclus în serverele web existente (Apache, AS, Zeus etc.). În cadrul codurilor PHP, deși sunt open-source, pun la dispoziție măsuri de securitate, asigurand confidențialitatea unor date. Este un limbaj ușor de utilizat, putând fi folosit și de personaele care nu au mai lucrat în domeniu în trecut.
Făcând o comparație cu limbajul JS, PHP rulează pe serverele web putând accesa baze de date, fișiere sau conexiuni web.
Fișierele de tip PHP se salvează cu extensia .php și de regulă ele se află în directoarele în care se află si documentele de tip web. Orice cod PHP începe cu tag-ul <?php și se sfârșește cu tag-ul ?>. Un cod PHP poate fi introdus în orice structură a documentului HTML. Constructorul “echo” al limbajului PHP este folosit pentru afișare, textul aflandu-se între ghilimele, ele marcand începerea și terminarea textului care se vrea afișat.
Exemplu:
<html>
<head>
<title> </title>
</head>
<body>
<?php
Echo “Aplicație web de gestiune!”;
?>
</body>
</html>
Variabilele PHP
Declararea vaiabilelor se face cu ajutorul $ find urmat de _ sau de o literă. Variabilele sunt de tipul case-sensitive, asta insemnand ca majusculele si minusculele nu sunt una si aceasi (exemplu: $VARIABILA ≠ $variabila). Pentru atribuirea valorilor de tip int (numere intregi) sau double (numere cu virgule) se foloseste “=”.
În php există opt tipuri de variabile primitive:
Table 1Tipuri de variabile [1]
Variabilă reale sunt numerele care au virgulă și pot fi și positive și negative.
Variabilă întregi sunt numerele care pot avea și + (plus) și – (minus), putând fi exprimat zecimal, hexazecimal sau octal.
Șirurile (strings) conțin o varietate de valori de numere, simboluri, spații, lietere care se află între două marcaje (ghilimele/apostroafe)
Variabilă boleeană conține doua valori (TRUE/FALSE)
Matrice / tablou (array) folosește pentru identificarea valorilor stocate chei sau indecși. O matrice se crează utilizând funcția array() . Mai sunt si matricele multidimensionale care conțin mai multe matrici.
Variabilele predefinite pun la dispoziție un set de expesii predefinite care au fost valabile odată cu versiunea PHP 4.2.0.
PHP Superglobal
$GLOBALS – se folosește în scop global, având relații cu toate variabile
$_SERVER – se folosește pentru procurarea variabilelor scriptului date de un server web
$_GET – se folosește penttru furnizarea variabilelor scriptului prin HTTP GET (se folosește doar în cazul în care există într-un formular methot=GET)
$_POST – se folosește penttru furnizarea variabilelor scriptului prin HTTP POST (se folosește doar în cazul în care există într-un formular methot=POST)
$_COOKIE – se folosește pentru procurarea variabilelor scriptului prin HTTP cookie
$_ENV – se folosește pentru procurarea variabilelor scriptului de mediu
Variabile global uzuale
$_SERVER['REMOTE_ADDR'] – se poate folosi pentru aflarea IP-ului unui utilizator
$_SERVER['HTTP_USER_AGENT'] – se poate folosi pentru oferirea de informații despre browserul utilizatorului
$_SERVER['HTTP_REFERER'] – se poate folosi pentru oferirea de informații referitoare la pagina accesată anterioar
$_SERVER['SERVER_NAME'] – se poate folosi pentru aflarea numelui serverului
$_SERVER['SCRIPT_NAME'] – se poate folosi pentru aflarea numelui scriptului
Vizibilitatea variabilelor depind de locația în care se află. Cele mai multe variabile se pot vedea doar în blocul curent.
Variabile statice sunt existente doar în blocurile funcției locale, având aceași valoare după execuția funcției.
Variabile de referință se referă la variabilele care conțin o denumire variabilă.
2.5.2 Structuri de control PHP
IF este folosit pentru luarea decizilor. Pentru aplicarea acestei instrucțiuni trebuie să existe o condiție, care este necesară a fi îndeplinită și trebuie să se afle între paranteze rotunde ( ). În cazul în care condiția nu este îndeplinită se execută ce urmează.
if(isset($_POST['login_btn'])){
// verifica daca exista date transmise
ELSE se folosește ca extensie a instucțiunii IF, care se aplică în cazul în care condiția instruțtiunii IF nu se îndeplinește.
<?php
if(mysqli_connect_errno())
{
echo "Failed to connect to MySQL:".mysqli_connect_error();
}
else
mysqli_set_charset($connect,"utf8");
?>
ELSEIF se folosește pentru verificarea fiecărei condiții până găsește și returnează o valoare adevărată.
SWITCH se folosește când se dorește executarea mai multor valori. Făcând o comparative cu instrucțiunea IF, instrucțiunea SWITCH poate lua mai multe numere de valori distincte.
WHILE numită si instrucțiunea buclă spre deosebire de instrucțiunea IF care returnează doar odata, în timp ce WHILE afițsează valori până când instrucțiunea nu mai este adevarată.
FOR se poate utiliza aproximativ în aceași manieră cum ca în C/C++. Este o instrucțiune aflată în cadrul unei bucle dar poate fi executată și fără scrierea unei expresii.
FOREACH se folosește pentru generarea de erori în cazul în care sunt folosite valori având datele diferite
<?php
$resutl= mysql_query ($connect, $query);
foreach ($result as $spec)
?>
INCLUDE/RQUIRE se folosesc pentru adăugarea fișierelor externe, paginilor de tipul php. Diferenta dintre cele doua instructiuni este ca atunci când se folosește INCLUDE și se gasește o greșeală, scriptul genereaza o avertizare. Atunci când se folosește REQUIRE și se depistează o greșeală în cadrul scriptului, se oprește executarea acestuia.
<?php include('header.php'); ?>
<?php require('meniu.php'); ?>
BREAK se folosește pentru încetarea din executare a structurilor de tipul for, foreach, do etc.
CONTINUE se folosește pentru ocolirea expresilor pe care le conține bucla pentru a trece la următoarea structură repetitivă.
RETURN se poate folosi atât global cât și în interiorul funcței. În cazul în care RETURN se regasește în interiorul funcției acesta este folosit pentru oprirea funcției din executare returnând un argument al funcției. În cazul în care este folosit global, se oprește executarea funcției.
2.6 Programe folosite in realizarea aplicatiei
Xampp
Denumirea de Xammp (Cross-platform Apache HTTP Server MySQL PHP Perl) este un acronim pentru pachetul de programe si interpretoarele pentru limbajele de programare pe care le contine. Xampp este un programat care poate rula pe Microsoft Windows, Linux, Solaris si Mac OS X. El este flosit în general pentru proiectarea paginilor web și pentru a reda dinamica acestora.
Xampp a fost creat initial pentru designerii si programatorii web, pentru a-si putea testa activitatea fara a fi nevoiti sa se conecteze la o sursa de internet. Fiind un program atat de complex, multe dintre partile acestuia, cele mai importante, sunt protejate de-o parola pentru a asigura securitatea.
Caracteristici
Manevrarea si crearea bazelor de date folosind MySQL si SQLite.
Se poate utiliza local sau pe unele servere web.
Se pot face numeroase conectări la o adresă localhost prin protocolul FTP (File Transfer Protocol) utilizându-se un propriul editor HTML
Notepad++
Notepad ++ este un program de scriere gratuit care permite lucrul mai multor limbaje de programare (CSS, C, C++, HTML, PHP, JS etc.). Scris in C++ si avand la baza elemental de editare Scintila împreună cu utilizarea de Win32 (interfață destinată programării aplicațiilor) API (Application Programing Interface) si STL (Standard Tamplate Libraby) asigura o executare mai rapidă.
Figure 5 Notepad++
CAPITOLUL 3. Sistemul informational și sitemul informatic
Termenul de sistem reprezintă totalitatea elementelor și componentelor care se află într-o strânsă, consiunuă relație dinamică având un scop bine definit și anume atingerea unui anumit obiectiv. Sistemul informatic este alcătuit din ansamblul de elemente care fac parte din acțiunile de procesare, prelucrare și transmiterea datelor pe cale electronică. În figura de mai jos se vor prezenta componentele sistemuilui informatic.
Componenta logică (software) – este alcătuită din: aplicații, sisteme de operare, utilitare și softuri specializate
Componenta de date este în concordanță cu activitățile de desfacere stocându-se pe disc sau bandă într-un format electronic până la solicitarea calculatorului
Componenta fizică (hardware) – CPU sau unitatea central de control împreuna cu echpamentele de suport dormează această categorie
Componenta umană este partea care influnețează cel mai mult activitatea fie el un procent pozitiv sau negative
Cadrul organizatoric este locul fizic unde sistemul informational este utilizat.
Criterile sistemelor informatice:
După domeniul de utilizare, sunt împărțite pe mai multe sisteme [1]:
Conducerea activității economico-sociale
Conducerea proceselor tehnologice
Cercetarea științifică și proiectarea tehnologică
Activitățile special
În funcție de treapta ierarhică pe care o ocupă în structura organizației [1]:
Pentru conducerea activității la nivelul unității economice
Pentru conducerea activității la nivelul organizațiilor economic-o sociale cu structură de grup
Sisteme informatice teritoriale
Pentru conducerea ramurilor, subramurilor și activităților la nivelul economiei naționale
Sisteme informatice funcționale generale
După aportul la actul de decizie :
Sisteme pentru decizie
Sisteme expert
După modul de organizare a datelor [1]:
Sisteme bazate pe fișiere
Sisteme rețea
Sisteme mixe
Sisteme orientate-obiect
Sisteme ierarhice
Sisteme relaționale
După metoda folosită în analiza și proiectarea sistemelor, sistemele sunt dezvoltate după următoarele metode [1]:
Sistemelor
Clasică cu ciclu de viață
Structurată
Orientate-obiect
Rapidă (RAD)
Echipelor mixte (JAD)
Prototipurilor
După gradul de centralizare, sisteme sunt [1]:
Centralizate
Descentralizate
După gradul de dispersie a resurselor sistemului informatic, sistemele informatice pot fi [1]:
Locale
Distribuite
După gradul de autorizare a activității de analiză și proiectare a sistemelor informatice [1]:
Dezvoltate pe baza analizei și proiectării clasice
Analiza cu instrumente automate și proiectate classic
Bazate ăe instrumente diverse de automatizare a analizei și proiectării
Dezvoltate cu instrumente de tip CASE
În funcție de elememtul supus analizei, sistemele informatice pot fi orientate spre[1]:
Funcții
Proces
Obiecte
Date
Cunoștințe
Prin introducerea unui sistem informatic se dorește transmiterea de informații reale și într-un timp cât mai scurt posibil. Criterile unui sistem informational sunt următoarele:
În funcție de inportanța acestora
Obiective derivate
Obiective principale
În funcție de efectele pe care le pot produce
Obiective care pot afecta activitățile principale ale aociației
Obiectivele care nu au un impact asupra activităților asociației
În funcție de posibilitatea cuantificării efectelor pe care le produce
Cuatificabile
Necuantificabile
La baza sisemului informational, conform denumirii, stă informația. Este compus din totalitatea informațiilor interne și externe precum și procedurile, tehnicile, personalul, transmiterea, stocarea și prelucrarea informației. Sistemul informațional este folosit în mai multe domenii de activitate. În cazul domeniului economic, sistemul informational este punea dintre sistemul decisional și cel operațional.
Clasificarea sistemului informațional după modul de preluare a informației:
Manuale
Mixte
Automatizate
Inecabizate
Informația preluată este prelucrată, rezultatul obținut se trimite mai departe pentru a putea fi prelucrat de alte componente. Acest schimb de informații se face în spațiul virtual, facându-se de către un calculator sau un modem.
3.1 Componentele sistemului informațional
Sistemul informațional este compus din 6 elemente esențiale, fiecare având un rol important în funcționalitatea sistemului informațional. Acestea sunt
1. Datele sunt formate din evenimente și fapte care sunt prezentate într-o formă cât mai agreabilă pentru a ușura comunicarea, prelucrarea sau comunicarea.
Odată cu trecerea printr-un proces bine definit, datele devin informații. Prin urmare, prelucrarea acestor date are ca scop transformarea datelor în informații.În zilele noastre aceste date se pot prelucra cu SPAD (Sistem de Prelucrare Automată a Datelor), fiind un echipament electonic eficient de modificare a datelor.
2. Informațiile sunt împărțite în două categorii: formale (documente oficiale) și informale (care popate circula între departamente sau între persoane). Pot fi reprezentate printr-un raport, formulare, diagrame, statistici etc. Pentru a putea fi înțeleasă trebuie sa fie: relevantă, reală, precisă, oportună, conciză, prezentată potrivit.
Informațiile se pot clasifica pe mai multe criterii:
Pe niveluri de prelucrare
Primare – cele care mai conțin cel puțin un o acține de prelucrare
Intermediare – cele care au suferit deja o acțiune de prelucrare și mai pot suporta alte prelucrări
Finale – cele care au o calitate sintetică superioară
În funcție de proveniența și destinația acestora
Interne – care provin și rămân în cadrul asociației
Externe – care privin din exteriorul organizației dar circulă în interiorul acesteia.
În funcție caracterizarea acestora
Formale – care au un tipar bine definit de circulație , depozitare, modificare și culegere
Informale – care mișcă neîntrerupt și brusc între departamentele organizației sau între personae
În funcție de natura acestora, informațiile pot fi: cantitative, calitative sau comparabile;
Diferențele dintre cele două componente se vor prezenta în rândurile următoare:
Datele reprezintă informația neprelucrată preluată din diferite locuri, nefiind definite sau aranjate într-o formă pentru a se putea lua, mai apoi o decizie pe baza acestora.
Informația este unul dintre cele mai importante componente ale sistemului inforrmațional. Ele sunt create în urma prelucrării datelor, acestea devenind clare, complete, concise și actuale.
3. Circuitele de informații sunt modalitățile de vehiculare a fluxurilor informații. Fiecare circuit informațional necesită un receptor și o sursă pentru a se forma traseul informațional.
4. Fluxuuri de informații sunt totalitatea de informații necesare pentru desfășurarea unei activități.
Clasificarea atât a circuitelor cât și a fluxurilor pe anumite criterii este reprezentată în tabelul următor [21]
Table 2 Caracterizarea flucurilor și circuitelor informaționale
5. Proceduri informaționale sunt alcătuite din elementele care desemnează suporții de informație folosiți dar și formulele și metodele folosite. Acestea se organizează pe următoarele etape [20]:
Stabilirea purtătorilor se referă la materialele care s-au utilizat, la structura dar și la dimensiunea acestor. În cadrul firmelor mari, ssunt folosite sisteme informatice cu mai multe caracteristici, cu o funcționabilitate și prelucrare de informații mult mai adecvate dar și personal specializat în utilizarea și întelegera acestor funcționalități. Se mai menționează următorii suporți magnetici: dischete, CD-uri, benzi magnetice, etc.
Stabilirea succesiunii informațiilot/operațiilor se referă la determinarea ordinii ierarhice de performanță sau a nivelului de succes sau eșec a acestora niveluri de performanță. Datorită unor tehinici de ultimă oră sunt solicitate zilnic noi ierarhii între caracteristicile care stau la bază și procedurile informaționale. Se vor prezenta doar cele care se situează pe cele mai înalte trepte:
Gradul de formalizare a procedurilor se ocupă în cea mai mare parte pe standardizarea, codificarea și tipizarea situațiilor informaționaleș
Caracterul opțional al procedurilor sunt destinate firmelor care sunt într-o continuă competiție, informația fiind tratată în cel mai scurt timp posibil.
Economisirea procedurilor informatice
6. Mijloace de tratare a infoațiilor se referă la totalitatea ansamblului unitar (echipamente /instrumente) folosite pnetru activitatea de prelucrare. Se referă la totalitatea informațiilor pe care le conține:
Suport fizic (hardware)
Suport logic (software)
În funcție de numărul, calitatea si structura metodei se pot obține rezultate în timp real ale tehnicii. Tipurile de mijloace de tratare a informației sunt influențate de munca unui individ și de performanțele pe care tehnicile le pot atinge. Ele se pot împărții pe categorii [20]:
Manuale – introducerea informației se face prin intermediul hârtiei, fiind apoi prelucrată manual iar rezultatul va ieșii în aceași manieră, tot pe hârtie
Mecanizate – culegerea informației se face pe baza echpamentelor, depozitarea și accesul la informative este limitat.
Automate – comparativ cu categoria anterioară, aceasta preia informația cu ajutorul calculatorului accesarea făcându-se online, depozitarea fiind adaptată în funcție de nevoile firmei.
CAPITOLUL 4. DEZVOLTAREA APLICAȚIEI
4.1 Prezentarea bazelor de date
În această parte a lucrării se va prezenta, structurat pe etape, modul prin care s-a realizat aplicația.
Prima etapă a constat în crearea bazelor de date. S-a început prin pornirea programului xampp si accesarea url-ului: http://localhost/phpmyadmin/ .
După acest procedeu s-a putut crea baza de date utilizând tabloul de comandă din partea stângă a ecranului. Se poate observa un buton denumit NEW, apăsând pe acesta se deschide o fereastră de unde se poate crea o bază de date.
Odată ales numele bazei de date și numărul de coloane dorit, se poate apăsa butonul CREATE. În cazul în care se dorețte adăugare mai multor coloane se pot insera ulterior. După cum se poate observa, au fost create 2 baze de date, una pentru partea de log in și una pentru gestionarea lucrărilor de licență/dizertațiilor de master. Odată cu apăsarea butonului Create, numele bazei de date va apărea automat în tablocul de comandă menționat mai anterior.
Crearea tabelelor se face aproximativ în aceași manieră cum s-au făcut și bazele de date. Se accesează baza de date din tabloul de comandă și automat va apărea un câmp denumit NEW care va deschide o fereastră de unde se pot introduce câmpurile necesare pentru crearea tabelului.
Se alege denumirea tabelului și numărul de coloane necesare apoi se pot adăuga denumirile coloanelor. Ce trebuie amintit în această parte este că fiecărui câmp trebuie să i se menționeze tipul (INT(integer), VARCHAR(șir de carcatere), NUMBER (numere), DATE (data calendaristică), etc.).
Deasemenea trebuie precizat si numărul de caractere pe care îl poate permite câmpul respectiv și nu în ultimul rând se pot adăuga chei primare și chei unice dar acest aspect nu este obligatoriu ca celelelalte prezentate anterior. După terminarea acestor procedee se poate apăsa SAVE, iar acest tabel va apărea in tabloul de comandă odata acesată baza de date. Pentru a se vedea structura tabelului trebuie deschis tabelul iar în partea de sus a acestuia este un buton denumit STRUCTURE.
Figure 12 Tabelul INFO
După cum se poate observa din print screenul afișat mai sus, acesta este structura tabelului denumit INFO din baza de data DATABASE. Se poate observa că se pot face modificări ale acestuia apăsând pe butonul CHANGE, se poate adauga cheie primară sau se poate șterge o coloană.
Am să adăug un print cu baza de date intitulată “log in” pentru a se putea vedea cum arată o baza de date cu chiei primară.
Figure 13 Baza de date log in
Afișarea datelor din table se face apăsând butonul BROWSER din partea de sus a ferestrei, după acesarea tabelului dorit.
Figure 14 Afișarea datelor în tabel
4.2 Prezentarea aplicației în urma utilizării limbajelor de scriere
Primul pas făcut în această etapa a fost scrierea codurilor necesare în Notepad++. O parte importantă în această activitate a fost partea de log-in a site-ului. Pentru realizarea acesteia a fost nevoie de conectarea cu baza de date asa că s-a creat fișierul intitulat connect.php. În acesta se regăsesc coduri de tip php care fac relaționarea bazei de date cu server.
Pentru întregistrarea de către un posibil utilizator, s-a creat o pagină specială pentru a se putea face diferența dintre un administrator si un utilizator. Prin urmare s-a creat o pagină clasică destinată utilizatorului cu câmpurile specifice de „Utilizator” și „Parolă” cu ajuotrul tag-urilor <lable></lable> si <input type…. name…..class required/> .
Pentru partea de styling s-a recurs la o pagină externă css prin care s-a dorit aranjarea în pagină a blocului de log in dar si stilizarea acestuia pentru un aspect mai plăcut. Deasemenea s-a adăugat in partea de <body> a documentului html o imagine în partea de background, având același scop, de-a scoate în evidență un stil diferit.
După partea de LOGIN s-a realizat un meniu pentru o navigare mai ușoară. Acestei pagini i s-a adăugat un meniu construit din liste neordonate și limbajul css pentru aranjarea și funcționarea acestuia.
Se mai menționează adăugarea siglei ULBS, folosindu-se tagul <img sr=”….”>
Figure 16 Meniu
Odată cu trecerea cursorului pe deasupra unui buton acesta își schimbă culoarea din negru în roșu. Acest aspect a fost creat cu opțiunea “hover” urmat de instrucțiunea “back-ground-color” și variabile “red”.
Butonul intitulat “Home” are atașat un hyperlink care face trimitere la pagina “Home” sau se poate folosi pentru a da refresh (reâmprospătarea) paginii.
Pe lângă faptul că butoanele își schimbă culoarea, unele din ele au adăugată opțiunea dropbox. Asta însemnând că de fiecare dată camd mouseul trece pe deasupra unui buton, acesta se extinde în mai multe opțiuni de selectare.
Butonul denumit conține și acesta un hyperlink care face legătura cu site-ul facultății unde se regăsesc profesorii pe departamente.
În funcție de opțiunea aleasă, fiecare buton face trimitere la o secțiune a profesorilor din pagina ULBS.
S-a mai adăugat un tablou cu următoarele butoane și întrebuințările acestora.
A fost creată opțiunea LOG OUT oferind posibilitatea utilizatorului deja autentificat pe site, sa se delogheze.
S-a adăugat un buton intitulat “Schimbă parola” pentru a-i da utilizatorului posibilitatea de-a schimba parola în cazul în care își dorește o nouă parolă. Butonul “Raport plagiat” face trimitere la un site (http://plagiarisma.net/) care conține această funcție de-a determina procentul de plagiat pe care o lucrare îl conține.
Figure 23 Legătură cu site-ul pentru raportul de plagiat
Butonul Site ULBS are un hyperlink atașat care face trimitere la site-ul facultății.
Butonul “Adaugă lucrări” face trimitere la un formular secționat în 5 pagini web.
Figure 25 Prima parte a formularului de adăugare
Prima pagină a formularului, intitulată 1.php, prezintă selectarea obțiunilor pentru Universitate si Facultate având tag-ul <option></option> impreună cu un cod PHP pentru a se realiza obtiunea de scroll.
Figure 26 A doua parte a formularului de adăugare
Odată selectate obtiunile se poate da “Continuă” pentru a ajunge la a 2-a pagină a formularului. Aceasta prezinta obțiunile referitoare la lucrarea in sine, și anume: Nivelul de studii (Licență/Mater), Specializarea (CIG, MM,FB,ECTS,MK) și sesiune (Iulie 2018/Februarie 2019). Pentru a trece mai departe, toate câmpurile trebuie completate, în caz contrar se va apărea o atenționare, utilizatorul neputând să treacă mai la pagina cu numărul 3.
Figure 27 A treia parte a formularului de adăugare
Pagina a 3-a conține mai multe elemente. În prima parte se cere alegerea coordonatorului dar o lucrare de licență / dizertație de master poate conține 2 coordonator. Din această cauză s-a adăugat un buton care sa permită această modificare.
Figure 28 Profesor coordonator 2
În cazul în care nu există numele coordonatorului în listă, acesta se poate adăuga prin apăsarea butonului “+” , aflat în partea din dreapta ecranului, care va deschide o extensie a formularului.
Figure 29 Adăugare profesor
Această extensie vine si ea cu un buton + atașat, care deschide si el o fereastră pentru a se introduce Numele si Orașul profesorului coordonator.
Figure 30 Adăugarea datelor despre profesor
Odată cu terminarea scrierii datelor, se poate apăsa butonul Submit și se pot închide extensiil apăsând pe butonul -, aflate tot in partea dreaptă. Extensile deschise vor dispărea lăsând doar blocul principal, afișat la prima accesare a paginii 3.
Pagina 4 afișează un formular referitor la susținerea lucrării, având secțiunea de „Susținerea lucrării in limba care conține o listă de 135 de limi străine pentru a se putea alege obțiunea favorabilă.
Figure 31 Partea a patra a formularului
Și în cazul acestei pagini, nu se poate trece mai departe făra completarea tuturor câmpurilor existente. De data aceasta apare altă atenționare “Please fill the fields”
Figure 32 Atenționarea
Ultima pagină a formularului conține atât partea de cuprins si conținut cât si partea unde se prezintă rezultatul lucrării. În josul formularului apare un buton numite choose file, acea parte este utilizată pentru încărcarea lucrarii, pentru a fi mai apoi scanată de catre un program specializat creat pentru detectarea lucrarilor plagiate.
Figure 33 Partea a cincea a formularului
Odată cu parcurgerea tuturor paginilor, rezultatul apare sub forma unui tabel neîngrădit, având aproximativ toate câmpurile existente (s-au selectatat cele mai importante și cele mai fiabile câmpuri)
Figure 34 Afișarea înregistrărilor
În cazul în care se sare peste vreun câmp, aplicația nu va afișa nici un câmp completat, interpretând acțiunea ca nefiind executată. Butonul intitulat “Legislație” are incorporat un hyperlink care face legătura cu un site unde se află legea și normele stabilite de aceasta
Pentru înregistrare unui nou utilizator s-a recurs la o pagină tip formular pentru introducerea datelor. Odata cu completarea acestora, butonul “Trimite mail”, va da un mail administratorului serverului care va crea acest cont de utilizator în baza de date.
Figure 35 Formularul de înregistrare
După efectuarea tuturor operațiunilor s-a recurs la o platformă pentru ase putea trece aplicația în mediul online. Această platformă pune la dispoziție gazduirea gratuită a site-ului timp de 1 an făcându-se în fiecare zi mentenanță (întreținerea și reparațiile unui sistem tehnic) la o anumită oră.
Odată cu încarcarea fișierelor s-au putut face ulterior modificări acestora pe baza documentelor deja încărcate. Singurele dezavantaje sesiabile care se poat observa în situația de față sunt teremenul de accesare a acestuia. Dupa o perioadă de un an site-ul încărcat nu se va mai putea utiliza. Al doilea aspect nefavorabil ar fi domeniul (.ro, .com, .org etc.) clasic care în general necesită o plată lunară pentru a-l deține.
CONCLUZII
Această lucrare a fost creată pentru a arăta și demostrat unele metode și tendințe privind tema propusă. În urma scrierii acestei lucrări se poate afirma cu ușurință faptul că mediul virtual, Web-ul, nu mai este doar un „capriciu”, acesta devenind o necesitate în viața de zi cu zi a omului modern. Încă de când a apărut, Internetul și beneficiile aduse de aceasta, au fost într-o continuă dezvoltare. De aici se pote întelege faptul că acesta va continua să se dezvolte și să ofere utilizatorului cât mai multe variante pentru a simplifica viața individului de mâine.
Obiectivul propus a fost de-a aduce la cunoștință amalgamul de posibilități pe care le pune la dispoziție Internetul, pentru ca cititorul acesteia să fie informat de posibibilitățile aduse de către site-rile web.
În urma cunoțtiințelor dobândite, am realizat o aplicație funcțională care rulează în mediul online folosind limbajele învățate (HTML, PHP, MySQL, CSS și JavaScript) în cadrul a trei ani universitari. Tema „Proiectarea și realizarea unei baze de date pe Web pentru evidența lucrărilor de licența/disertațiilor de masterat” mi-a arătat o altă modalitate de gestionare a datelor, funcționalitatea dar și piedicile pe care le poate întâmpina un novice în utilizarea acestor informații.
Ca orice altă aplicație care a început doar cu o idee și o temă, urmând apoi să fie dezvoltată, facilitând în mai multe moduri individului decât ideea inițială, și această aplicație, pot spune că desși este funcșională este încă în stadiul de prototip.
Așa cum HTML-ul a fost creat inițial pentru transmiterea informației de la un calculator la altul iar apoi a devenit un limbaj care stă la baza site-urilor web, așa și această aplicație poate să fie modificată pentru diferite întreprinderi sau pentru nevoia unui individ.
Această aplicație poate fi modificată în așa fel încât să poată sa fie utilizată de școli pentru prezențe, penteru afișarea notelor, pentru stabilirea tezelor/testelor sau poate fi folosită și în medicină pentru evidențierea schimbului de ture, disponibilitatea doctorilor sau trierea pacienților.
Prin urmare, sunt de părere că o asemenea aplicație poate să fie utilizată în toate domenile de activitate pentru gestionarea datelor.
BIBLIOGRAFIE
M.P. Cristescu, “Sisteme informatice de gestiune”, Suport de curs în format electronic, Sibiu, 2018;
T. Converse, J. Park, C. Morgan, “PHP5 and MySQL® Bible”, Ed. Wiley Publishing, 2004, p. 7-13;
Legea numarul 206/2004 privind „Buna conduită în cercetarea științifică, dezvoltare tehnologica și inovare
J. Lengstorf, “PHP for Absolute Beginners, Apress”, New York, 2009;
R. Nixon, “Learning PHP, MySQL, JavaScript, and CSS Second Edition”, Ed. O’Reilly Media, 2009, p. 2;
JavaScript – https://ro.wikipedia.org/wiki/JavaScript accesat 06.06.2018
HTML- https://ro.wikipedia.org/wiki/HyperText_Markup_Language accesat la data 24.05 2018
PHP – https://ro.wikipedia.org/wiki/PHP accesat la data de 01.06.2018
CSS – https://ro.wikipedia.org/wiki/Cascading_Style_Sheets accesat la data de 28.05.2018
http://www.zota.ase.ro/simp/Sistem%20informational.pdf accesat la data 05.07 2018
http://www.seap.usv.ro/~sorinv/Proiectarea%20Sistemelor%20Informatice%20Curs%201-3.pdf accesat la data de 06.07.2018
http://php.net/manual/ro/index.php
https://www.w3schools.com/
http://php.net/ accesat la data de 21.05.2018
https://www.w3.org/Style/CSS/
https://www.mysql.com
https://www.oracle.com/ro/index.html
http://www.rasfoiesc.com/business/afaceri/birotica/CIRCUITE-SI-FLUXURI-INFORMATIO43.php accesat în data 06.07.2018
www.ctptc-airinei.ro/Modelarea%20sistemelor%20informatice.doc, accesat în 27.06.2018
http://www.seap.usv.ro/~valeriul/lupu/cap1.pdf, accesat în 06.07.2018;
ANEXE
Anexa 1.
Codul sursă scris în PHP care permite conexiunea la baza de date.
<?php
$host="localhost";
$user="root";
$pass="";
$db="database";
$connect= mysqli_connect($host,$user,$pass,$db);
if(mysqli_connect_errno())
{
echo "Failed to connect to MySQL:".mysqli_connect_error();
}
else
mysqli_set_charset($connect,"utf8");
?>
Anexa 2.
Codul sursă ce permite verificarea fiecarei categorii de utilizator
<?php
$error='';
session_start()
require_once 'connect.php';
if(isset($_POST['login_btn'])){
// verifica daca exista date transmise
if ($_POST['login_username'] !="" && $_POST['login_password'] !="") {
$user = trim($_POST['login_username']);
$pass = md5(trim($_POST['login_password'])); // password sent from form
$query = "SELECT * FROM users WHERE username = '".$user."' AND password = '".$pass."'";
if($result = mysqli_query($connect,$query))
$rows = mysqli_fetch_array($result);
// verifica daca interogarea MySQL a gasit date valide
if( mysqli_num_rows($result) < 1)
// daca nu, afiseaza un mesaj de eroare
echo "<center><div>Datele introduse sunt incorecte<br>
Click <a href='logare1.php'>aici</a> pentru a reveni la pagina de start</div></center>";
else {
// salveaza usernameul si parola in sesiune
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
// afiseaza un mesaj de succes
if(isset($_SESSION['username'])){
// To protect MySQL injection
//Query
//$sql="SELECT * FROM users where user = '".$_SESSION['user']."' AND pass = '".$_SESSION['password']."'";;
//$res=mysqli_multi_query($connect, $sql);
// Mysql_num_row is counting table row
//$rows = mysqli_fetch_row($result);
//Direct pages with different user levels
//echo "<h1>".$rows['acces']."</h1>";
//sleep(5);
if ($rows['acces'] == 'admin') {
header("Location: meniu_admin.php"); }
else
if ($rows['acces'] == 'profesor') {
header('location:meniu.php'); //User2
}
else
if ($rows['acces'] == 'tutore') {
header('location:welcome2.php'); //user 3
}
else
if ($rows['acces'] == 'decan') {
header('location:meniu_decan.php'); // user4
}
else
{
//Mesaj de eroare
echo "error ".mysqli_error($connect);
}
}}
// Error login
//echo "<script>alert('Access Denied!');
//window.location='index.php';
//</script>";
}
}
?>
Anexa 3.
Codul sursă scris in HTML pentru realizarea formularului de autentificare
<html >
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<title>Login Page</title>
<style type = "text/css">
body {
font-family:Arial, Helvetica, sans-serif;
font-size:30px;
}
label {
font-weight:bold;
width:100px;
font-size:14px;
}
.box {
border:#666666 solid 2px;
}
</style>
</head>
<body background="https://zellox.com/wp-content/uploads/2016/02/background-image-for-website.jpg">
<div align = "center">
<div class="form-group" style = "width:600px; border: solid 2px #333333; " align = "center"> <div style = "background-color:LightGray; padding:3px;"><b>Login</b></div>
<div style = "margin:30px"> <form action = "" class="form-inline" method = "post">
<label>Utilizator :</label><input type = "text" name = "login_username" class = "box" required/><br /><br />
<label>Parola :</label><input type = "password" name = "login_password" class = "box" required /><br/><br />
<div align = "center"> <input type = "submit" class="btn" value = " Submit " name="login_btn"/>
<button class="btn"onclick="location.href='form_mail.php'">Înregistrare</button></div>
</form>
<div style = "font-size:11px; margin-top:10px"><?php echo $error;?></div>
</div>
</div>
</div>
</div>
</body>
</html>
Anexa 4.
Codul sursă utilizat în realizarea meniul de administrator
<html>
<head>
<meta charset="utf-8">
<title>Home</title>
</head>
<link href="meniu.css" rel="stylesheet" type="text/css" />
<?php
session_start();
$_SESSION["id"] = "2";
?>
<body background="https://zellox.com/wp-content/uploads/2016/02/background-image-for-website.jpg">
<div id="container">
<img src="https://png.pngtree.com/thumb_back/fw800/back_pic/04/03/81/285808c1cbf41a8.jpg" style="width:1340px;height:100px;">
<ul>
<li><a href="Meniu.php">Home</a></li>
<li><a href="afiseaza.php">Lucrări</a></li>
<li><a>Profesori</a>
<ul>
<li><a href="http://economice.ulbsibiu.ro/index.php/ro/profesori/corpul-profesoral.html">Departament1</a></li>
<li><a href="http://economice.ulbsibiu.ro/index.php/ro/profesori/corpul-profesoral.html?dep=2">Departament2</a></li>
</ul>
</li>
<li><a href="https://www.ulbsibiu.ro/ro/universitate/publ_interne/documente/regulamente_didactice/regulament-activitate-profesionala-studenti.pdf">Legislație</a></li>
</ul>
</div>
<br><br>
<h1> Bună ziua, profesor!</h1>
<div id="nav">
<ul>
<li><a href="1_page.php">Adaugă Lucrări</a></li>
<li><a href="http://plagiarisma.net/ro/">Raport plagiat</a></li>
<li><a href="https://www.ulbsibiu.ro/ro/">Site ULBS</a></li>
<li><a href="change_password.php">Schimbă parola</a></li>
<li><a href="logout.php">LOG OUT</a></li>
</ul>
</div>
</body>
Anexa 5.
Formular de înregistrare utilizatori
<body background="https://zellox.com/wp-content/uploads/2016/02/background-image-for-website.jpg">
<form name="contactform" method="post" action="send_mail.php">
<table width="450px" align="center">
<tr>
<td valign="top">
<label for="first_name">Prenume *</label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Nume *</label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="email">Email *</label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="telephone">Număr de telefon *</label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="comments">Poziția dvs. în cadrul facultății *</label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="25" rows="6"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<input type="submit" value="Trimite email">
</td>
</tr>
</table>
</form>
Anexa 6.
Codul sursă pentru schimbarea parolei
<?php
session_start();
$_SESSION["id"] = "1";
$conn = mysqli_connect("localhost", "root", "", "database") or die("Connection Error: " . mysqli_error($conn));
if (count($_POST) > 0) {
$result = mysqli_query($conn, "SELECT *from users WHERE id='" . $_SESSION["id"] . "'");
$row = mysqli_fetch_array($result);
if ($_POST["currentPassword"] == $row["password"]) {
mysqli_query($conn, "UPDATE users set password='" . $_POST["newPassword"] . "' WHERE id='" . $_SESSION["id"] . "'");
$message = "Parolă schimbată!";
} else
$message = "Parola curentă nu este corectă!";
}
?>
<html>
<head>
<title>Schimbă parola</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script>
function validatePassword() {
var currentPassword,newPassword,confirmPassword,output = true;
currentPassword = document.frmChange.currentPassword;
newPassword = document.frmChange.newPassword;
confirmPassword = document.frmChange.confirmPassword;
if(!currentPassword.value) {
currentPassword.focus();
document.getElementById("currentPassword").innerHTML = "required";
output = false;
}
else if(!newPassword.value) {
newPassword.focus();
document.getElementById("newPassword").innerHTML = "required";
output = false;
}
else if(!confirmPassword.value) {
confirmPassword.focus();
document.getElementById("confirmPassword").innerHTML = "required";
output = false;
}
if(newPassword.value != confirmPassword.value) {
newPassword.value="";
confirmPassword.value="";
newPassword.focus();
document.getElementById("confirmPassword").innerHTML = "not same";
output = false;
}
return output;
}
</script>
</head>
<body><center>
<form name="frmChange" method="post" action="login.php"
onSubmit="return validatePassword()">
<div style="width: 500px;">
<div class="message"><?php if(isset($message)) { echo $message; } ?></div>
<table border="0" cellpadding="10" cellspacing="0"
width="500" align="center" class="tblSaveForm">
<tr class="tableheader">
<td colspan="2">Schimbă parola</td>
</tr>
<tr>
<td width="40%"><label>Parola curentă</label></td>
<td width="60%"><input type="password"
name="currentPassword" class="txtField" /><span
id="currentPassword" class="required"></span></td>
</tr>
<tr>
<td><label>Parola nouă</label></td>
<td><input type="password" name="newPassword"
class="txtField" /><span id="newPassword"
class="required"></span></td>
</tr>
<td><label>Confirmă parola</label></td>
<td><input type="password" name="confirmPassword"
class="txtField" /><span id="confirmPassword"
class="required"></span></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit"
value="Submit" class="btnSubmit"></td>
</tr>
</table>
</div>
</form>
</body>
</html>
Anexa 7.
Codul sursă pentru trimiterea mail-ului.
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "you@yourdomain.com";
$email_subject = "Your email subject line";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die(); }
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.'); }
$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';}
if(strlen($error_message) > 0) {
died($error_message);}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);}
$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
Vă mulțumim. O să primiți un email cu datele de autenitificare.
<html>
<head></head>
<body background="https://zellox.com/wp-content/uploads/2016/02/background-image-for-website.jpg">
<a href="login.php">Continuă</a>
<?php}
?>
Anexa 8.
Codul CSS pentru meniul administratorului
body{
font-family:'Alice' Verdana sans-serif;
color:#bbb4b4;
}
#container ul{
margin:0px;
padding: 0px;
list-style:none;
}
#container ul li{
float:left;
width: 335px;
height:50px;
background-color: black;
opacity: .8;
line-height: 50px;
text-align:center;
font-size: 25px;
position:relative;
}
#container ul li a{
text-decoration: none;
color: white;
display: block;
}
#container ul li a:hover{
background-color: red;
}
#container ul ul{
display: none;
}
#container ul li:hover > ul{
display: block;
}
#container ul ul ul{
margin-left:335px;
top: 0px;
position:absolute;
}
#nav ul{
margin:0px;
padding:0px;
list-style:none;
}
#nav ul li{
width: 200px;
height:50px;
background-color: black;
opacity: .8;
line-height: 50px;
text-align: center;
font-size: 25px;
position:relative;
}
#nav ul li a{
text-decoration: none;
color: white;
display: block;
}
#nav ul li a:hover{
background-color: red;
}
Anexa 9.
Codul sursă pentru prima pagină a formularului de adăugare a lucrărilor.
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<link href="1.css" rel="stylesheet" type="text/css" />
<body background="http://www.toleyis.org.tr/images/slider/1.jpg">
<?php
include "connect.php";
?>
<?php
$universitate="Universitatea Lucian Blaga din Sibiu";
if(isset($_POST['universitate'])){ $universitate=$_POST['universitate'];}
$facultate="Facultatea De Științe Economice";
if(isset($_POST['facultate'])){ $facultate=$_POST['facultate'];}
?>
<form method="post" name="myform_first" action="1.php">
<div class="container">
<div class="form-group"><br>
<label for="nivel">Universitatea: </label><br>
<select class="form-control" id="universitate" name="universitate" >
<option <?php if ($universitate=="Universitatea Lucian Blaga din Sibiu") { echo "selected";}?> >Universitatea "Lucian Blaga" din Sibiu</option>Universitatea "Lucian Blaga" din Sibiue
</select>
</div>
<div class="form-group">
<label for="nivel">Facultatea: </label><br>
<select class="form-control" id="facultate" name="facultate" >
<option <?php if ($facultate=="Facultatea De Științe Economice") { echo "selected";}?> >Facultatea De Științe Economice</option>Facultatea De Științe Economice
</select>
</div>
</form>
<form method="post" name="myform1" action="2.php"onsubmit="return validform()" >
<input type="hidden" name="universitate" value="<?php echo $universitate;?>">
<input type="hidden" name="facultate" value="<?php echo $facultate;?>"><br>
<input type="button" class="btn" value="Înapoi" onclick="window.history.back()" />
<input type="submit" class="btn" value="Continuă" ><br><br>
</body>
</html>
Anexa 10.
Tabel cu cele mai folosite etichete + atribute în HTML
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: Specializarea: Contabilitate și informatică de gestiune [309553] (ID: 309553)
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.
