+ All Categories
Home > Documents > LUCRARE DE LICENTA 2012 Aroiu Paul Samson

LUCRARE DE LICENTA 2012 Aroiu Paul Samson

Date post: 24-Jul-2015
Category:
Upload: aroiu-paul
View: 140 times
Download: 13 times
Share this document with a friend
127
UNIVERSITATEA HYPERION Facultatea de Matematică – Informatică Specializarea Informatică APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE LUCRARE DE LICENŢĂ Absolvent: AROIU PAUL-SAMSON Coordonator:
Transcript
Page 1: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

UNIVERSITATEA HYPERION

Facultatea de Matematică – Informatică

Specializarea Informatică

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

LUCRARE DE LICENŢĂ

Absolvent:

AROIU PAUL-SAMSON

Coordonator:

Lector univ.

ŞERBĂNESCU LIVIU

Bucureşti2012

Page 2: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

2

Page 3: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Cuprins

Introducere........................................................................................................................4

Capitolul 1 STUDIUL ACTUAL....................................................................................5

1.1. Specialitate a ideii............................................................................................5

1.2. Încarcarea aplicaţiei.........................................................................................5

Capitolul 2 ARHITECTURA APLICAŢIEI...................................................................6

2.1. Structura interfeţei................................................................................................6

2.1.1. Afişarea datelor (Cadrul 1)............................................................................7

2.1.2. Meniu (Cadrul 2)............................................................................................8

2.1.3. Submeniul (Cadrul 3).....................................................................................9

2.1.4. Bara de meniu (Cadrul 4).............................................................................10

2.2. Structura bazei de date........................................................................................11

2.2.1. Noţiuni teoretice...........................................................................................11

2.2.2. Modelul relaţional........................................................................................11

2.2.3. Constrângeri de integritate...........................................................................11

2.2.4. Tabelele aplicaţiei dezvoltate.......................................................................12

2.2.5. Gruparea tabelelor........................................................................................13

2.3. Fluxul informaţional...........................................................................................13

2.3.1. Fluxul informaţional al aplicatiei dezvoltate...............................................14

Cpitolul 3 DEZVOLTAREA APLICAŢIEI..................................................................16

3.1. Modul de conectare.............................................................................................16

3.2. Setarea sesiunii de autentificare..........................................................................16

3.3. Modul de interogare SQL...................................................................................17

3.4. Funcţii JavaScript şi stiluri CSS.........................................................................17

3.5. Modul de iniţializare a erorilor...........................................................................22

3.6. Descrierea formularelor de bază.........................................................................22

3.6.1. Noţiuni teoretice...........................................................................................22

3.6.2. Formularul de înregistrare............................................................................25

3.6.3. Formularul de autentificare..........................................................................30

3.6.4. Formularul de adăugare a poliţelor în gestiune............................................34

3.6.5. Formularul de emitere a poliţelor RCA.......................................................39

3.6.6. Formularul de adăugare al agentilor............................................................47

3

Page 4: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

3.6.7. Formularul de ataşare a documentelor.........................................................52

3.7. Descrierea rapoartelor de bază............................................................................54

3.7.1. Raportare - lista clienti.................................................................................54

3.7.2. Raportare - polite emise pe o perioada de timp...........................................57

3.7.3. Raportare - poliţe care expiră pe o perioadă de timp...................................63

3.7.4. Raportare - polite anulate pe o perioada de timp.........................................69

Cpitolul 4 VALIDAREA DATELOR...........................................................................73

4.1. Modul validare a formularelor............................................................................73

4.1.1. Validarea formularului de autentificare........................................................73

4.1.2. Validarea formularului de înregistrare..........................................................74

4.1.3. Validarea formularului - adaugare agent nou...............................................75

4.1.3. Validarea formularului - adaugare client nou...............................................77

Anexa 1 - Harta aplicaţiei...............................................................................................80

Anexa 2 - Materialul suport ............................................................................................81

Concluzii.........................................................................................................................82

Bibliografie.....................................................................................................................83

4

Page 5: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Introducere

Datorită experienţei dobândite în domeniul asigurărilor, mi-am propus dezvoltarea unei

aplicaţii web de gestionare a poliţelor de asigurare.

Această aplicaţie are ca scop gestionarea propriului portofoliu de clienţi şi permite

efectuarea procesului de supervizare a poliţelor în raport cu timpul. Deasemenea ea poate fi

utilizată şi cu scopul supervizării unei mici subreţele de agenţi, capabilă să efectueze

numeroase rapoarte de gestionare a poliţelor de asigurare în functie de agenţii existenţi.

Întrucât domeniul asigurărilor din ziua de astăzi este extrem de vast, în ceea ce privesc

produsele de asigurare existente la fiecare companie în parte, m-am limitat la un singur tip de

asigurare şi anume poliţa obligatorie de răspundere civilă auto RCA.

Pentru crearea aplicaţiei am utilizat numeroase limbaje de programare precum HTML

(HyperText Markup Language), PHP (Hypertext Preprocessor), JavaScript (limbaj de

programare orientat pe obiect) şi MSSQL. Ea este alcătuită din două părţi generale: bază de

date ce are rolul de stocare a tuturor datelor în tabele diferite şi interfaţa web ce are rolul de

comunicare prtmanentă cu aceasta, ce permite manipularea datelor de gestionat.

Modul în care datele sunt preluate, procesate şi stocate în baza de date se face printr-o

conexiune din PHP către Serverul SQL.

Lucrarea de faţă conţine prezentarea în detaliu pentru fiecare modul component al

aplicaţiei raportat la studiul actual, astfel încât să poată servi cu uşurinţă drept material de

studiu şi/sau de lucru pentru toţi cei care pot fi interesaţi de acest domeniu (studenţi ai

facultăţilor de profil, asigurători şi/sau alţi operatori din domeniul serviciilor financiare).

5

Page 6: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Capitolul 1

STUDIUL ACTUAL

1.1. Specialitate a ideii

Pentru buna desfaşurare a activitaţii unui agent de asigurare, atât modul de lucru cât şi cel de organizare joacă un rol deosebit de important în domeniul asigurarilor, accentul fiind pus pe supervizarea unui portofoliu propriu de clienţi.

Aplicaţia dezvoltată are ca scop gestionarea acestui portofoliu într-o bază de date foarte bine structurată care permite stocarea tuturor datelor specifice acestui tip de activitate.

Aplicaţia poate fi deasemenea utilizată şi în cazuri mai complexe precum o mică reţea de agenţi din diferite locatii. Principalele elemente de acces la acceastă platformă fiind un calculator şi o conexiune de internet.

1.2. Încarcărea aplicaţiei

Această aplicaţie este creată cu scopul de a fi încarcată pe un site având un acces destul de eficient. Ea poate fi accesată în orice moment de către orice agent alăturat grupului de utilizatori.

Deasemenea aplicaţia poate rula şi pe un server local configurat corespunzător cerinţelor de utilizare fără a fi nevoie de o conexiune internet. Pentru ca acest lucru să fie posibil utilizatorul trebuie să-şi instaleze următoarele programe: PHP 5, Apache 2.2, MSSQL şi un browser recent precum Internet Explorer 8, Google Chrome, etc.

Modul de implementare al acestei aplicaţii este unul destul de simplu, iar la baza funcţionării acestuia stă HTML-ul extins cu ajutorul altor limbaje de programare precum: PHP, JavaScript şi CSS.

Pentru a putea instala şi pune în folosinţa această aplicaţie trebuiesc instalate şi configurate următoarele programe după cum urmează:

Instalare MSSQL; Instalare PHP 5; Instalare Apache 2.2; Configurare utilizator si modul de conectare MSSQL; Configurarea directoarelor din PHP 5; Configurarea directoarelor din Apache 2.2

Pentru această configurare de sistem consultaţi Anexa 2 aferentă acestei lucrări.

6

Page 7: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Capitolul 2

ARHITECTURA APLICAŢIEI

2.1. Structura interfeţeiStructura arhitecturală a aplicaţiei dezvoltate este concepută la nivel de cadru sau

frame. Cadrele sau frame-urile, sunt folosite pentru împărţirea ferestrei browswe-ului astfel încât să fie afişate mai multe pagini în aceeaşi fereastră de browser. Un frame (cadru) este o parte din suprafaţa ferestrei browserului ce prezintă în interior un document propriu (în general un document HTML).

În cazul aplicaţiei mele interfaţa acesteia am împărţit-o în patru mari cadre după cum urmează:

1. afişare_date.php;2. meniu.php;3. submeniu.php;4. bara_meniu.php.

Configurarea cadrelor (descrierea codului):<frameset cols="22%,78%" border="2" bordercolor="#333333"><frameset rows="300, 450" border="5" bordercolor="#0000FF"><frame src="/submeniu.php" name="submeniu" frameborder="1"

bordercolor="#000000" scrolling="yes" noresize="noresize" /><frame src="/meniu.php" name="meniu" scrolling="yes" noresize="noresize"></frameset><frameset rows="8%, 92%" border="5" bordercolor="#6633CC"><frame src="/bara_meniu.php" scrolling="no" noresize="noresize"/><frame src="/afisare_date.php" name="afisare_date" scrolling="auto"

noresize="noresize"></frameset></frameset>

7

Page 8: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

2.1.1. Afişarea datelor (Cadrul 1)

Acest modul joacă rolul unui spaţiu de lucru, deoarece aici sunt afişate marea majoritate a formularelor de inserare şi interogare a bazei de date.

După cum se poate vedea în imaginea alaturată în partea superioară stângă a acesteia am implementat afişarea unui tabel de stare a aplicaţiei care afişază numele de utilizator, id-ul şi versiunea bazei de date curente.

Pentru a ne fi mai uşor de inspectat acest modul vă rog să găsiti codul acestui tabel în cele ce urmează.

<?php // CODUL PHP//INTEROGARE MSSQL DE EXTRAGERE A VERSIUNI CURENTE A BAZEI DE DATE

$selectie_versiune_db = "select versiune from setari";$info_versiune = mssql_query($selectie_versiune_db);// SELECTARE DATE DE AUTENTIFICARE $selectie_utilizator ="select nume, prenume, idutilizator from

autentificare where idutilizator='".$_SESSION["autentificare"]."'";$info_utilizator=mssql_query($selectie_utilizator);

// PRELUARE VERSIUNE DIN BAZA DE DATEwhile($afisare_versiune = mssql_fetch_assoc($info_versiune))

{ $versiune_db = $afisare_versiune['versiune'];}

// PRELUARE DATE DE AUTENTIFICARE DIN BAZA DE DATEwhile($selectie_utilizator = mssql_fetch_assoc($info_utilizator)) { $nume_db = $selectie_utilizator['nume']; $prenume_db = $selectie_utilizator['prenume']; $id_utilizator_db = $selectie_utilizator['idutilizator']; }?>

Codul HTML de creare a tabelului nebordurat din partea stânga.<!-- TABEL DE AFISARE A DATELOR --><table width="310" > <tr> <td width="20"></td> <td width="100"><span style=" color: #FFF; font-family:'Times New

Roman', Times, serif;"><b>Utilizator:</b></span></td> <td width="200"><span style=" color:#FFF; font-family:'Times New

Roman', Times, serif;"><?php echo $nume_db." ".$prenume_db ;?></span></td> </tr> <tr> <td width="20"></td> <td width="100"><span style=" color: #FFF; font-family:'Times New

Roman', Times, serif;"><b>ID utilizator:</b></span></td> <td width="200"><span style=" color:#FFF; font-family:'Times New

Roman', Times, serif;"><?php echo $id_utilizator_db ;?></span>

8

Page 9: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

</td> </tr> <tr> <td width="20"></td> <td width="100"><span style=" color:#FFF; font-family:'Times New

Roman', Times, serif;"><b>Versiune BD:</b></span></td> <td width="200"><span style=" color:#FFF; font-family:'Times New

Roman', Times, serif;"><?php echo $versiune_db; ?></span></td> </tr></table>

2.1.2. Meniu (Cadrul 2)

După cum se poate observa în imaginea alaturată meniul acestei aplicaţii este alcătuit din 12 module, fiecare fiind împărţit la rândul său în alte submodule. Toate acestea, însă, au o importanţă deosebită, deoarece pentru a emite o poliţă în sistem, trebuie mai întâi ca seria acesteia să existe în baza de date.

Introducerea acestor serii se poate realiza din secţiunea procese verbale > adaugă poliţe în gestiune.

Prin implementarea primului modul (Emitere electronică) al acestui meniu se doreşte ca pe viitor poliţele ce se vor emite electronic direct de pe marile platforme ale firmelor de asigurare să poată fi salvate direct în acceastă bază de date prin intermediul acestei interfeţe.

Codul folosit pentru crearea acestui cadru este:<!-- TABEL DE AFISARE A BUTOANELOR DE MENIU --><table width="100%" align="center" >

<tr><td colspan="2" ><img src="/butoane/butoane meniu/emitere_electronica.png" width="100%"

height="30" onclick="redirectare1('/pagini_meniu/emitere_electronica.php');"/>

</td></tr><tr><td>

<img src="/butoane/butoane meniu/agenti.png" width="100%" height="25" onclick="redirectare2('/pagini_meniu/agenti.php'); " />

</td></tr> <tr><td >

<img src="/butoane/butoane meniu/asigurari.png" alt="" width="100%" height="25" onclick="redirectare2('/pagini_meniu/asigurari.php');"/>

</td></tr> <tr><td>

<img src="/butoane/butoane meniu/borderouri.png" width="100%" height="25" onclick="redirectare2('/pagini_meniu/borderouri.php');" />

</td></tr><tr><td>

<img src="/butoane/butoane meniu/clienti.png" width="100%" height="25" onclick="redirectare2('/pagini_meniu/clienti.php');" />

</td></tr><tr><td >

<img src="/butoane/butoane meniu/comisioane.png" width="100%" height="25" onclick="redirectare2('/pagini_meniu/comisioane.php');"/>

9

Page 10: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

</td></tr><tr><td >

<img src="/butoane/butoane meniu/companii.png" width="100%" height="25" onclick="redirectare2('pagini_meniu/compani.php')"/>

</td></tr><tr><td>

<img src="/butoane/butoane meniu/curs_valutar.png" width="100%" height="25" onclick="redirectare2('pagini_meniu/curs_valutar.php')"/>

</td></tr><tr><td >

<img src="/butoane/butoane meniu/op_doc.png" width="100%" height="25" onclick="redirectare2('pagini_meniu/operatii_cu_doc.php')"/>

</td></tr><tr><td>

<img src="/butoane/butoane meniu/polite.png" width="100%" height="25" onclick="redirectare2('pagini_meniu/polite.php')"/>

</td></tr><tr><td>

<img src="/butoane/butoane meniu/pv.png" width="100%" height="25" onclick="redirectare2('pagini_meniu/pv.php')"/>

</td></tr><tr><td colspan="2">

<img src="/butoane/butoane meniu/rapoarte.png" width="100%" height="30" onclick="redirectare1('pagini_meniu/rapoarte.php')" />

</td></tr></table>

2.1.3. Submeniul (Cadrul 3)

În acest cadru sunt afişate ancorele de legătură ale submeniului în raport cu opţiunea din meniu selectată:

Obs: Privind imaginea alaturată observăm faptul că odată cu selectarea butonului agenti din meniu (Cadrul 2), în submeniu (Cadrul 3) ne sunt afişate noile opţiuni ce pot fi accesate.

Principalele avantaje ale acestui submeniu este de a simplifica, ordona şi sorta optiunile meniului pentru un aspect modern si o accesare simplificată.

În momentul în care ne autentificăm sau este inaccesat, submeniul are o valoare prestabilită formată din două parţi (A şi B) precum se poate observa în imaginea din partea dreaptă.

A. În această zonă va apărea sigla sau poza unui agent în funcţie de setarile aferente.

B. În această zonă va apărea numele filialei sau a persoanei coordonatoare a aplicaţiei.

10

Page 11: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

2.1.4. Bara de meniu (Cadrul 4)

Bara de meniu a aplicaţiei este extrem de simplă alcatuită din:- O funcţie de afişare a orei şi datei locale;- Butonul “Hartă” – conţine harta aplicatiei;- Butonul “Setări” – conţine un set de setări ale aplicaţiei;- Butonul “Deconectare” – permite deconectarea utilizatorului.

Codul sursă:<!-- TABEL DE AFISARE A BAREI DE MENIU --><table width="100%" height="100%"><tr><td><form name="form" method="post" action="bara_meniu.php"><div align="center"><table width="100%" height="100%"

background="/imagini/fundal_bara_meniu.jpg"><tr><td width="25%" align="center">

<!- AFISARE DATA SI ORA --> <div style="width:100%; text-align:center" id="dataora" ></div>

</td><td><!- AFISARE NUME APLICATIE --><div align="center"><span style="font-size:24px; font-family:'Comic Sans

MS', cursive; color:#60F" ><b>Licenta 2012</b></span></div></td><td width="100">

<input type="hidden" name="hidden" value="1"/></td><td width="5%">

<div align="center"><input type="image" src="/butoane/harta_aplicatie.png" height="45" width="45" name="Setari aplicatie" title="Harta aplicatie" class="image"/>

</div></td><td width="5%">

<div align="center"><input type="image" src="/butoane/setari.jpg" height="45" width="45" name="Setari aplicatie" title="Setari aplicatie" class="image"/>

</div></td><td width="5%">

<div align="center"><input type="image" src="/butoane/deconectare.png" height="45" width="60" name="deconectare" value="10" onclick="if (!confirm('Doriti sa va deconectati ?')) return false; deconectare('/autentificare.php');" title="Deconectati-va" class="image"/>

</div></td></tr>

</table></div></form></td></tr></table>

11

Page 12: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

2.2. Structura bazei de date

2.2.1. Noţiuni teoretice

O bază de date (database) este o colecţie de date creată şi menţinută computerizat, care permite operaţii de inserare, actualizare, ştergere şi interogare a datelor. Utilizatorii unei baze de date pot accesa datele memorate prin intermediul unui program numit Sistem de Gestiune a Bazei de Date - SGBD - (Database Management System - DBMS), care recepţionează cererile utilizatorilor (pentru operaţii de introducere, ştergere, modificare sau interogare), le interpretează, executa operaţiile corespunzătoare şi returnează rezultatul către utilizatori. Fiecare sistem de gestiune administrează datele conform unui anumit model de date.

Exista mai multe modele de date utilizate în sistemele SGBD: modelul ierarhic, modelul reţea, modelul relaţional, modelul obiect-orientat, modelul obiectrelational. Dintre acestea, în momentul de faţă, modelul relaţional este cel mai larg răspândit, în special în aplicaţiile comerciale şi acesta va fi studiat în continuare în această lucrare.

2.2.2. Modelul relaţional

În modelul relaţional o bază de date este compusă dintr-o mulţime finită de relaţii, fiecare relaţie reprezentând un tip de entitate sau o asociere dintre două sau mai multe tipuri (mulţimi) de entităţi. Din această definiţie rezultă că într-o bază de date fiecare relaţie este unică (nu există două sau mai multe relaţii de acelaşi fel), dat fiind că o bază de date este o mulţime de relaţii.

2.2.3. Constrângeri de integritate

Relaţiile unei baze de date reflectă realitatea modelată şi de aceea valorile pe care le conţin trebuie să respecte anumite reguli, care să corespundă celor din realitate.

Constrângerile de integritate (integrity constraints) sunt reguli care se definesc la proiectarea unei bazei de date şi care trebuie să fie respectate de orice stare a acesteia.

Din punct de vedere al locului unde sunt definite, constrângerile pot fi constrângeri intra-relaţie şi constrângeri inter-relaţii. Constrângerile intra-relaţie sunt reguli care se impun în cadrul unei singure relaţii şi asigură integritatea datelor acesteia. Ele sunt, la rândul lor, de trei categorii: constrângeri de domeniu, constrângeri de tuplu şi constrângeri impuse prin dependente de date (dependente funcţionale, multivalorice sau de joncţiune).

Constrângerile inter-relaţii sunt reguli care se impun între două sau mai multe relaţii. Cele mai importante constrângeri inter-relaţii sunt constrângerile de integritarea referenţiala, care se realizează prin intermediul cheilor străine şi asigură asocierea corectă a relaţiilor.

Din punct de vedere al modului de definire, constrângerile unei baze de date pot fi inerente, implicite şi explicite.

Constrângerile inerente sunt cele ale modelului de date însuşi, care nu trebuie să fie specificate la definirea relaţiilor, dar sunt respectate prin modul în care se construiesc relaţiile.

Constrângerile implicite sunt cele reprezentate în mod implicit în schemele relaţiilor prin intermediul instrucţiunilor de definire a datelor. Pentru fiecare model de date exista un set de constrângeri implicite care se definesc odată cu definirea schemelor de date ale acestuia. Pentru modelul relaţional, constrângerile de domeniu, constrângerile de tuplu şi constrângerile de integritate referenţială sunt exemple de constrângeri implicite. Constrângerile implicite sunt memorate în baza de date şi sistemul de gestiune impune automat respectarea acestora.

Constrângerile explicite sunt constrângeri suplimentare pe care trebuie să le respecte relaţiile unei baze de date şi care nu sunt impuse automat de sistemul SGBD, ci prin proceduri speciale. Ca exemple de constrângeri explicite sunt unele dependentele de date .

Constrângerile de domeniu sunt condiţii impuse valorilor atributelor, astfel încât acestea să corespundă semnificaţiei pe care o au în realitatea modelată. Dat fiind că, în

12

Page 13: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

reprezentarea relaţiei printr-un tabel, valorile atributelor sunt reprezentate pe coloane, constrângerile de domeniu se mai numesc şi constrângeri de coloană. Dintre constrângerile de domeniu, constrângerea NOT NULL şi constrângerea de valoare implicită (DEFAULT) sunt constrângeri cu caracter mai general, care se pot aplica oricărui atribut; constrângerea de verificare (CHECK) se poate aplica unor anumite atribute, în funcţie de semnificaţia acestora.

Constrângerile de tuplu: cheia primară şi chei secundare. O relaţie este definită ca o mulţime de tupluri, deci tuplurile unei relaţii trebuie să fie distincte. Aceasta înseamnă că într-o relaţie nu pot exista două (sau mai multe) tupluri care să conţină aceeaşi combinaţie de valori ale tuturor atributelor. De obicei, într-o schemă de relaţie exista o submulţime de atribute SK cu proprietatea că, în orice stare s-ar afla relaţia, nu există două tupluri distincte ale relaţiei care să aibă aceeaşi combinaţie de valori ale atributelor submulţimii respective.

2.2.4. Tabelele aplicaţiei dezvoltate

Baza de date a aplicaţiei este creata în MSSQL Server 2005 şi este alcătuită din 19 tabele precum se poate observa în imaginea din partea stângă. Aferent studiului actual accestea nu sunt folosite în totalitate.

Întrucat se doreşte o funcţionalite completa a acestei aplicaţii am creat toate aceste tabele necesare, iar tabelele folosite în momentul de fată sunt:

Agent Asigurari Autentificare Clienti CursuriValutare FirmaAsigurare Monede PFizica PJuridica Polita PolitaAuto PVIPolite Setari Sucursala

13

Page 14: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

2.2.5. Gruparea tabelelor

După cum puteţi observa în imaginea de mai jos, ce reprezintă organigrama aplicaţiei dezvoltate, relaţionarea tabelelor este destul de vizibilă. De fapt această imagine este o captură de ecran generată cu ajutorul programului MSSQL.

2.3. Fluxul informaţional

Fluxul informaţional reprezintă cantitatea de informaţii care este vehiculată între emiţătorul şi beneficiarul pe circuitul informaţional, caracterizat prin anumite caracteristici:

lungime; viteză de deplasare; fiabilitate; cost, etc.

Indiferent de tip, este necesar ca circuitele informaţionale să fie cât mai directe, în sensul evitării la maximum a punctelor intermediare de trecere, ceea ce determină atât creşterea vitezei de vehiculare a informaţiilor, cât şi diminuarea apariţiei deficienţelor informaţionale.

14

Page 15: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

2.3.1. Fluxul informaţional al aplicatiei dezvoltate

15

Utilizator

Creare cont

Autentificare

ok

Opţiune

AGENT

DECONECTARE

ASIGURARI

POLIŢĂ

CLIENŢI

COMPANI

CURS VALUTAR

OPERATI DOC

PV

OK EROARE

adauga

sterge

modifica

adauga modifica

sterge

sterge

adaugamodifica

adaugamodifica

sterge

Sterge doc

adauga curs

convertor

Anulare doc

detaliimodifica

emite

Adauga poliţe în gestiune

Sterge PVadauga PV

Page 16: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Observaţie:Din punct de vedere al fluxului informaţional creat, putem spune că este unul fiabil,

destul de simplu, care permite o manipulare rapidă a informaţiilor.Pentru ca acest flux să existe este nevoie de un utilizator care să efectueze anumite

operaţii pe care sistemul creat este capabil să le execute.

Exemplu: Autentificarea şi introducerea unui agent nou.*Pentru autentificare este nevoie de un nume de utilizator şi parolă.*Pentru introducerea agentului este nevoie de datele personale ale acestuia.

Pasul 1- se crează noul utilizator completând formularul specific;- se acceptă mesajul de confirmare a contului;- se trece la pasul urmator.

Pasul 2- utilizatorul se autentifică cu datele opţinute;- dacă dă eroare verifică pasul 1;- altfel se trece la pasul următor.

Pasul 3- se alege opţiunea AGENŢI din secţiunea MENIU;- se selectează opţiunea ADAUGĂ AGENT NOU din secţiunea

SUBMENIU;- se introduc datele agentului;- se acţionează butonul ADAUGA;- se acceptă mesajul de confirmare;- se trece la pasul următor.

Pasul 4- se acţionează butonul DECONECTARE din bara de meniu a aplicaţiei;- se acceptă mesajul de deconectare a utilizatorului şi se revine automat la pasul 1.

16

Page 17: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Cpitolul 3

DEZVOLTAREA APLICAŢIEI

3.1. Modul de conectare

Conexiunea interfeţei la baza de date MSSQL se realizează cu ajutorul limbajului de programare web PHP, folosind funcţia mssql_connect.

Întrucât această funcţie este folosită în mod frecvent, am salvat conţinutul acesteia într-un fişier ce poartă numele de “conexiune.php”, urmând a fi inclus în toate formularele care necesită o conexiune cu baza de date.

Codul sursă al acestui fişier este următorul:

<?php// FUNCTIA DE CONEXIUNEfunction conexiune_mssql(){$server_sql = "PAUL-75ED8D6653\SQLEXPRESS";$baza_de_date = "Licenta2012";$user_baza_de_date = "paul";$parola_user_baza_de_date = "paul";$conexiune_php_mssql = mssql_connect($server_sql, $user_baza_de_date,

$parola_user_baza_de_date);mssql_select_db($baza_de_date, $conexiune_php_mssql);}conexiune_mssql();?>

Codul PHP de includere a fişierului conexiune.php:

<?php// INCLUDE CONEXIUNEA LA MSSQLinclude ("functi_php/conexiune.php");?>

3.2. Setarea sesiunii de autentificareCe este o sesiune?

O sesiune reprezintă una din căile de a păstra datele de lucru ale unei aplicaţii atunci când se face transferul de la o pagină la alta.

PHP foloseşte în mod nativ sesiuni, aşa cum fac şi limbajele ASP şi ColdFusion. Lucrul cu sesiuni nu este complicat.

Fiecare sesiune trebuie declarată la începutul paginii, cu ajutorul funcţiei:Start_session ();Această funcţie face că PHP să înregistreze un identificator unic al sesiunii (ID), iar

acel identificator este trimis utilizatorului printr-un cookie. Totodată, pe server se crează un fişier care va reţine valorile variabilelor folosite în această sesiune. Fişierul are numele la fel cu identificatorul ID al sesiunii.

17

Page 18: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

La fel ca şi conexiunea, sesiunea acestei aplicaţii (codul sursă) am salvat-o într-un fişier ce poartă numele de “sesiune.php”, şi este setată după cum urmează:

session_start();if(!isset($_SESSION["autentificare"]))$_SESSION["autentificare"]= $id_utilizator_db;

Conţinutul fişierului sesiune.php este următorul:<?php session_start();if ($_SESSION["autentificare"] == ""){header("Location:autentificare.php");}?>

Observaţie importantă:

Variabilele definite în sesiuni pot fi folosite într-o pagină doar după ce a fost executată comada session_start ();

Această comandă îi spune PHP-ului să verifice dacă există o sesiune şi atunci să folosească variabilele acelei sesiuni că variabile globale.

Funcţiile session_start (), ca şi setcookie () trebuie folosite întotdeauna chiar la începutul fişierului. Dacă se trimite altceva către browser înainte de folosirea lor atunci vor exista erori la folosirea sesiunii sau a cookie-urilor.

Fişierul sesiune.php este inclus in paginile aplicaţiei cu ajutorul următorului fragment de cod:

<?phpinclude ("sesiune.php");?>

3.3. Modul de interogare SQLInterogarea bazei de date se face cu ajutorul funcţiei mssql_query apelată direct din

corpul fiecarui formular creat. Aşadar pentru fiecare formular capabil să execute o anumită operaţie de transformare a bazei de date (inserare, ştergere, actualizare, etc.), există una sau mai multe interogari încorporate în corpul acestuia.

3.4. Funcţii JavaScript şi stiluri CSSPentru dezvoltarea dinamismului şi aspectului aplicaţiei am folosit:

Funcţii JavaScript precum:

Redirectare paginăAceastă funcţie este o funcţie

JavaScript ce realizează redirectarea utilizatorului către alte pagini dorite.

La nivel de formular această funcţie se apelează cu ajutorul atruibutului onclick.

18

function redirectare(pagina){location.href = pagina

}

Page 19: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Redirectare – submeniu.php (Cadrul 3)Această funcţie este o funcţie

JavaScript ce realizează deschiderea unei pagini în cadrul numărul 3 sau în frame-ul submeniu.php.

La nivel de formular această funcţie se apelează cu ajutorul atruibutului onclick.

Redirectare – afisare_date.php (Cadrul 1)Această funcţie este o funcţie

JavaScript ce realizează deschiderea unei pagini în cadrul numărul 1 sau în frame-ul afisare_date.php.

La nivel de formular această funcţie se apelează cu ajutorul atruibutului onclick.

Aspecte CSS

Ce este CSS?CSS este acronimul pentru Cascading Style Sheets. Cu alte cuvinte CSS este un limbaj

(style language) care defineşte "layout-ul" pentru documentele HTML. CSS acoperă culori, font-uri, margini (borders), linii, înălţime, lăţime, imagini de fundal, poziţii avansate şi multe alte opţiuni.

HTML este de multe ori folosit necorespunzător pentru a crea layoutul site-urilor de internet. CSS oferă mai multe opţiuni, este mai exact şi sofisticat. În plus, este suportat de toate browserele actuale.

Care este diferenţa dintre CSS şi HTML?HTML este folosit pentru a structura conţinutul în timp ce CSS este folosit pentru a

formata conţinutul.În perioada de început a web-ului, HTML era folosit numai pentru structura textului.

Textul se putea marca cu taguri precum <hl> şi <p> pentru a marca titlul său un paragraf. Odată cu creşterea popularităţii web-ului designeri au început să caute diferite posibilităţi de a adăuga layout documentelor online. Pentru a răspunde acestor cerinţe, producătorii de browsere (în acea vreme Microsoft şi Netscape) au inventat noi taguri HTML precum <font> care diferă faţă de tagurile originale HTML prin faptul că definesc layoutul şi nu structură.

Acest lucru a dus şi la o situaţie unde tagurile originale de structură ca <table> să fie folosite necorespunzător pe pagini de layout (to layout pages). Multe taguri noi de layout precum <blink> erau recunoscute numai de unele browsere. O formulă comună ce apărea pe siteuri era "Aveţi nevoie de browserul X pentru a vedea această pagină". CSS a fost inventat pentru a remedia această situaţie, furnizându-le designerilor facilităţi sofisticate pentru editarea layoutului, suportate de toate browserele.

În acelaşi timp, separarea site-urilor de prezentare pentru documente de conţinutul documentelor uşurează foarte mult întreţinerea lor.

19

function redirectare2(pagina){

top.frames['submeniu'].location.href = pagina

}

function redirectare1(pagina){

top.frames['afisare_date'].location.href = pagina

}

Page 20: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Ce avantaje aduce CSS?CSS a reprezentat un element revoluţionar în lumea web-designului.Beneficiile concrete includ:

Controlarea layoutului documentelor dintr-o singură pagină de stiluri; Control mai exact al layoutului; Aplicare de layouturi diferite pentru tipuri media diferite (ecran, printare, etc); Tehnici numeroase şi sofisticate.

În cadrul aplicaţiei dezvoltate am folosit următoarele stiluri CSS:

Excluderea marginilor Cadrul 4 (bara_meniu.php)

Cu ajutorul acestui script am exclus marginile cadrului 4, setând astfel fiecare margine cu valoarea 0.

Acest script este inclus în corpul formularelor cu ajutorul tag-uluib <link>.

Codul de includere este după cum urmeză:<link rel="stylesheet" type="text/css"

href="../fisiere_css/excludere_margini.css" media="screen"/>

Setarea fundalului a câmpurilor de tip text şi a opacităţii imaginilorCu ajutorul acestui script am

realizat setarea fundalului câmpurilor de tip text după cum se poate observa în imaginea de mai jos. Acest fundal apare odata cu selectarea câmpului respectiv.

Tot cu ajutorul acestui script am realizat efectul de opacitate al imaginilor.

Acest efect se poate observa atunci când una din imaginile formularelor este selectată sau traversată de cursorul mouse-ului. Iniţial valoarea opacitaţii unei

20

body { background-image:

url(imagini/fundal_frame_bara_meniu.jpg); margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;

}

input:focus{ background-color: #99F;}img{ opacity:1.0;

filter:alpha(opacity=100); }img:hover{ opacity:0.5;

filter:alpha(opacity=50); }input.image { opacity:1.0;

filter:alpha(opacity=100); }input.image:hover{ opacity:0.5;

filter:alpha(opacity=50); }

Page 21: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

imagini este de 100% iar în momentul în care aceasta este selectată sau traversată de cursorul mouse-ului aceasta se rezumă la 50%.

Această diferenţă a opacităţii se poate observa în imaginile de mai jos:

Înainte de selectare După selectare

Acest script este inclus în corpul formularelor cu ajutorul tag-uluib <link>.Codul de includere este după cum urmeză:

<link rel="stylesheet" type="text/css" href="../fisiere_css/focus.css" media="screen"/>

Aspect calendarPentru aspectul calendarului din partea stânga cu

ajutorul limbajului CSS am setat: Modul de afişare a datei curente .today având

culoarea albastră; font Sans-serif; mărimea font-ului de 12pt bolduit;

Modul de afişare a zilei curente .days având culoarea roşie; font Sans-serif; mărimea font-ului de 10pt bolduit; aliniat la centru;

Modul de afişare al datei în caseta text .datesavând culoarea neagră; font Sans-serif; mărimea font-ului de 10pt bolduit; aliniat la centru;

Codul CSS al acestui aspect este după cum urmează:

.today {COLOR: blue; FONT-FAMILY: sans-serif; FONT-SIZE: 12pt; FONT-WEIGHT: bold}

.days {COLOR: read; FONT-FAMILY: sans-serif; FONT-SIZE: 10pt; FONT-WEIGHT: bold; TEXT-ALIGN: center}

.dates {COLOR: black; FONT-FAMILY: sans-serif; FONT-SIZE: 10pt; font-weight:bold; text-align:center}

Acest script este inclus în corpul formularelor cu ajutorul tag-uluib <link>.Codul de includere este după cum urmeză:

<link rel="stylesheet" type="text/css" href="../fisiere_css/calendar.css" media="screen"/>

21

Page 22: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Fundalul formularelorExemple:Formular: Adaugă firmă de asigurare Formular: Adaugă sucursală

Fundalul gri al acestor formulare precum şi a celorlalte sunt setate cu ajutorul următorului script CSS:

Acest script este salvat într-un fisier de tip css cu numele de „fundal_formulare.css”.

Includerea acestui fişier în corpul tuturor formularelor se face cu ajutorul tag-ului <link> şi arată în felul următor:

<link rel="stylesheet" type="text/css" href="../fisiere_css/calendar.css" media="screen"/>

Crearea unui astfel de fişier css reprezintă un avantaj deosebit, deoarece dacă dorim să modificăm culoarea de fundal sau să inseram o imagine de fundal tuturor formularelor, este deajuns să modificăm doar acest fişier.

Fundalul opţiunilor din submeniu

După cum se poate vedea în imaginea din partea stângă pentru a fi posibilă schimbarea fundalului opţiunii în momentul selecţiei sale am folosit următorul script CSS.

td:hover { background-color: #0F9; }body { background-color: #CCC;}

22

body { background-color: #CCC;

}

Page 23: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

3.5. Modul de iniţializare a erorilor

<?phpini_set('display_errors','On'); error_reporting(-1);

?>

Pentru a nu exista erori am folosit acest script PHP care după acţionarea butonului submit îmi returnează erorile posibile la nivel de formular. După depistarea acestora ele sunt tratate corespunzător una câte una.

Pentru a mă face înteles mai jos am inserat o captură de ecran cu o situaţie similară.

3.6. Descrierea formularelor de bază

3.6.1. Noţiuni teoretice

FORMULARULUn formular este un ansamblu de zone active alcătuit din butoane, casete de selecţie,

câmpuri de editare etc.Formularele ne asigură construirea unor pagini Web care permit utilizatorilor să

introducă efectiv informaţii şi să le transmită serverului. Formularele pot varia de la o simplă casetă text, pentru introducerea unui şir de caractere pe post de cheie de căutare - element caracteristic tuturor motoarelor de căutare din Web - până la o structură complexă, cu multiple secţiuni, care oferă facilităţi puternice de transmisie a datelor. O sesiune cu o pagină web ce conţine un formular cuprinde următoarele etape:

1. Utilizatorul completează formularul şi îl expediază unui server.2. O aplicaţie dedicată de pe server analizează formularul completat şi (dacă este

necesar) stochează datele într-o bază de date.3. Dacă este necesar serverul expediază un răspuns utilizatorului.Un formular este definit într-un bloc delimitat de etichetele corespondente <form> şi

</form>.ELEMENTELE UNUI FORMULARMajoritatea elementelor unui formular sunt definite cu ajutorul etichetei <input>.

Pentru a preciza tipul elementului se foloseşte atributul type al etichetei <input>. 23

Page 24: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Câmpul de editare textPentru un câmp de editare, acest atribut primeşte valoarea "text". Alte atribute pentru un

element <input> sunt:- Atributul name, permite ataşarea unui nume fiecărui element al formularului.- Atributul value, care permite atribuirea unei valori iniţiale unui element al

formularului.Pentru elementul <input> de tipul câmp de editare (type = "text"), alte două atribute pot

fi utile:- Atributul size specifică lăţimea câmpului de editare depăşeşte aceasta lăţime, atunci

se execută automat o derulare acestui câmp;- Atributul maxlength specifică numărul maxim de caractere pe care le poate primi un

câmp de editare; caracterele tastate peste numărul maxim sunt ignorate.Observaţii:- Dacă atributul type lipseşte într-un element <input>, atunci câmpul respectiv este

considerat în mod prestabilit ca fiind de tip "text".- Formularele cu un singur câmp (de tip text) nu au nevoie de un buton de expediere,

datele sunt expediate automat după completarea şi apăsarea tastei ENTER.

Butonul submitUn buton de expediere al unui formular se introduce cu ajutorul etichetei <input>, în

care atributul type este configurat la valoarea "submit". Acest element poate primi un nume prin atributul name. Pe buton apare scris "Submit Query" sau valoarea atributului value, dacă această valoare a fost stabilită.

Butonul Rese t Dacă un element de tip <input> are atributul type configurat la valoarea "reset", atunci

în formular se introduce un buton pe care scrie "Reset". La apăsarea acestui buton, toate elementele din formular primesc valorile prestabilite (definită odată cu formularul), chiar dacă aceste valori au fost modificate de utilizator.

Un buton Reset poate primi un nume cu ajutorul atributului name şi o valoare printr-un atribut value.

Un asemenea buton afişează textul "Reset" dacă atributul value lipseşte.

Câmp de editare de tip "password"Dacă se utilizează eticheta <input> având atributul type configurat la valoarea

"password", atunci în formular se introduce un element asemănător cu un câmp de editare obişnuit (introdus prin type="text").

Toate atributele unui câmp de editare rămân valabile.Singura deosebire constă în faptul că acest câmp de editare nu afişează caracterele în

clar, ci numai caractere *, care ascund de privirile altui utilizator aflat în apropiere valoarea introdusă într-un asemenea câmp.

La expedierea formularului însă, valoarea tastată într-un câmp de tip "password" se transmite în clar.

24

Page 25: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Butoanele radioButoanele radio permit alegerea, la un moment dat, a unei singure variante din mai

multe posibile. Butoanele radio se introduc prin eticheta <input> cu atributul type având valoarea "radio".

La expedierea formularului se va transmite una dintre perechile "sex=b" sau "sex=f", în funcţie de alegerea făcută de utilizator.

Casete de validareO casetă de validare (checkbox) permite selectarea sau deselectarea unei opţiuni.Pentru inserarea unei casete de validare se utilizează eticheta <input> cu atributul type

configurat la valoarea "checkbox".Observaţii:- Fiecare casetă poate avea un nume definit prin atributul name.- Fiecare casetă poate avea valoarea prestabilită "selectat" definită prin atributul

checked.

Casete de fişiereÎntr-o pereche "name = value" a unui formular se poate folosi întregul conţinut al unui

fişier pe post de valoare.Pentru aceasta se înserează un element <input> într-un formular, cu atributul type

având valoarea "file" (fişier).Atributele pentru un element de tip caseta de fişiere:- Atributul name permite ataşarea unui nume- Atributul value primeşte ca valoare adresa URL a fişierului care va fi expediat o

dată cu formularul. Această valoare poate fi atribuită direct atributului value, se poate fi tastata într-un câmp de editare ce apare o dată cu formularul sau poate fi selectată prin intermediul unei casete de tip File Upload sau Choose File care apare la apăsarea butonului Browse... din formular;

- Atributul enctype precizează metoda utilizată la criptarea fişierului de expediat. Valoarea acestui atribut este "multipart/form-data".

Liste de selecţieO listă de selecţie permite utilizatorului să aleagă unul sau mai multe elemente dintr-o

listă finită. Lista de selecţie este inclusă în formular cu ajutorul etichetelor corespondente <select>şi </select>.

O listă de selecţie poate avea următoarele atribute:- Atributul name, care ataşează listei un nume (utilizat în perechile "name=value"

expediat serverului);- Atributul size, care precizează (printr-un număr întreg pozitiv, valoarea prestabilită

fiind 1) câte elemente din listă sunt vizibile la un moment dat pe ecran (celelalte devenind vizibile prin acţionarea barei de derulare ataşate automat listei).

Elementele unei liste de selecţie sunt incluse în lista cu ajutorul etichetei <option>.

Două atribute ale etichetei option se dovedesc utile:- Atributul value primeşte ca valore un text care va fi expediat server-ului în perechea

"name=value"; dacă acest atribut lipseşte, atunci către server va fi expediat textul ce urmează după <option>;

- Atributul selected (fără alte valori) permite selectarea prestabilită a unui element al listei.

25

Page 26: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Lista de selecţie cu selecţii multipleO listă de selecţie ce permite selecţii multiple se creează întocmai ca o listă de selecţie

obişnuită. În plus, eticheta <select> are un atribut multiple (fără alte valori). Când formularul este expediat către server pentru fiecare element selectat al listei care este se înserează câte o pereche "name=value" unde name este numele listei.

Câmpuri de editare multilinieÎntr-un formular câmpuri de editare multilinie pot fi incluse cu ajutorul etichetei

<textarea>. Eticheta are următoarele atribute:- Atributul cols, care specifică numărul de caractere afişate într-o linie;- Atributul rows, care specifică numărul de linii afişate simultan;- Atributul name, care permite ataşarea unui nume câmpului de editare multilinie;- Atributul wrap, (de la "word wrap"=trecerea cuvintelor pe rândul urmator0, care

determină determina comportamentul câmpului de editare faţă de sfârşitul de linie.Acest atribut poate primi următoarele valori: A) " off "; în acest caz:Întreruperea cuvintelor la marginea dreaptă a editorului se produce numai când doreşte

utilizatorul;Caracterul de sfârşit de linie este inclus în textul transmis serverului o dată cu

formularul; B) " hard "; în acest caz:Se produce întreruperea cuvintelor la marginea dreaptă a editorului;Caracterul de sfârşit de linie este inclus în textul transmis serverului o dată cu

formularul; C) " soft "; în acest caz:Se produce întreruperea cuvintelor la marginea dreaptă a editorului;Nu se include caracterul de sfârşit de linie în textul transmis serverului o dată cu

formularul;În ceea ce urmează vă voi prezenta formularele HTML, create, ale acestei aplicaţii,

deoarece au o importanţă deosebită şi anume; de cele mai multe ori formularele HTML sunt create pentru a fi folosite împreuna cu alte programe şi scripturi web, cum sunt PHP, JavaScript şi altele permiţând o dezvoltare complexă a celor propuse.

3.6.2. Formularul de înregistrare

Formularul din partea stângă este destul de simplu, creat cu scopul de a permite crarea noilor utilizatorilori.

Acesta este alcatuit din:

7 câmpuri de tip text; 1 câmp de tip select; 2 câmpuri de tip

password; 1 buton submit; 1 buton de închidere a

ferestrei;26

Page 27: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

1 câmp hidden având valoarea 1.

27

Page 28: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Codul sursă al acestui formular este dupa cum urmează:<?php// INITIALIZAREA ERORILOR

ini_set('display_errors','On'); error_reporting(-1);

// INCLUDEREA FUNCTIEI DE CONEXIUNE PHPinclude ("../functi_php/conexiune.php")?><head><!--TITLUL PAGINII--><title>Inregistrare</title><!--INSERARE IMAGINE DE FUNDAL CU AJUTORUL CSS--><style type="text/css">body {

background-image: url(../imagini/FUNDAL.jpg); } </style><!--INCLUDEREA FISIERELOR UZUALE --><!--INCLUDE FUNCTIE DE VALIDARE JAVASCRIPT A FORMULARULUI --><script type="text/javascript" src="/functi_js/validare_inregistrare.js">

</script> <!—INCLUDE FUNCTIE JAVASCRIPT DE REDIRECTARE A PAGINII --> <script type="text/javascript"

src="/functi_js/redirectare_pagina.js"></script><!—INCLUDE FUNCTIA JAVASCRIPT DE PROCESARE A CALENDARULUI--><script type="text/javascript" src="/functi_js/calendar.js"></script><!--INCLUDEREA FISIERULUI CSS PENTRU ASPECTUL CALENDARULUI --><link rel="stylesheet" href="/fisiere_css/calendar.css" media="screen"/><!--INCLUDE FISIERUL CSS DE EFECTE A IMAGINILOR SI CAMPURILOR DE TIP TEXT

--><link rel="stylesheet" href="../fisiere_css/focus.css" media="screen"/></head><body><?php // PRELUARE DATE DIN FORMULAR CU PHP$nume = $_POST['nume'];$prenume = $_POST['prenume'];$data_nasteri = $_POST['data'];$gen = $_POST['gen'];$tara = $_POST['tara'];$localitate = $_POST['localitate'];$email = $_POST['email'];$nume_utilizator = $_POST['nume_utilizator'];$parola_utilizator = $_POST['parola_utilizator'];$confirmare_parola = $_POST['confirmare_parola'];$camp_hidden = $_POST['camp_hidden'];

// INTEROGAREA BBAZEI DE DATE MSSQL$interogare_sql = "insert into autentificare(nume, prenume,

data_nasteri, gen, tara, localitate, email, nume_utilizator, parola_utilizator, permisiuni) values('$nume', '$prenume', '$data_nasteri', '$gen', '$tara', '$localitate', '$email', '$nume_utilizator', '".md5($parola_utilizator)."', '')";

//CONDITIE DE ACTIUNEif($camp_hidden == 1) {

$query = mssql_query($interogare_sql); } // CONDITIE DE CONFIRMARE

if($query){header ('Location:/mesaje/mesaj_1.html');

28

Page 29: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

}?><!—CREAREA FORMULARULUI CU AJUTORUL LIMBAJULUI HTML<form name="inregistrare" action="inregistrare.php" method="post"><table align="center" width="600" bgcolor="#0033CC"> <tr> <td colspan="4" align="center"> <table> <tr> <td><span style="font-size: 40px; color: #FFF"><b>Inregistrare

utilizator nou</b></span> </td> <td width="50"></td> <td width="60" align="right"><img src="/butoane/close.jpg"

title="Inchide" name="Innapoi" height="30" width="30" onClick="redirectare('/autentificare.php');"/></td>

</tr> </table> </td> </tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Nume:</span></td> <td width="270" height="40"><div align="center"><input type="text"

size="35" maxlength="20" name="nume" id="nume" style="font-weight:bold;" value="<?php echo $nume; //afisezi in value valoare preluata din formular; ?>"/></div></td>

<td width="30"><div align="center"><img src="../imagini/bordura.jpg" width="15" height="45"/></div></td>

</tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Prenume:</span></td> <td width="270" height="40"><div align="center"><input type="text"

style="font-weight:bold;" size="35" maxlength="20" name="prenume" id="prenume" value="<?php echo $prenume; ?>"/></div></td>

<td width="30"><div align="center"><img src="../imagini/bordura.jpg" width="15" height="45"/></div></td>

</tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Data nasterii:</span></td> <td width="270" height="40"> <div align="center"><INPUT type="text" id="data" name="data"

size="30" style="font-weight:bold;" readonly="readonly"/> <img src="/butoane/calendar.png" width="25" height="25"

onClick="toggleCalendar('data');"/></div> </td><td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> </tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Gen:</span></td>

29

Page 30: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

30

Page 31: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td width="270" height="40"> <div align="center"> <select name="gen" style="font-weight:bold;"> <option>-Selecteaza-</option> <option>Masculin</option> <option>Feminin</option> </select> </div> </td> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> </tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Tara/Localitate:</span></td> <td width="270" height="40"> <div align="center"> <input type="text" style="font-weight:bold;" size="14" maxlength="20"

name="tara" id="tara" value="<?php echo $tara; ?>"/>/ <input type="text" style="font-weight:bold;" size="14" maxlength="20"

name="localitate" id="localitate" value="<?php echo $localitate; ?>"/> </div></td> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> </tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">E-mail:</span></td> <td width="270" height="40"><div align="center"><input type="text"

style="font-weight:bold;" size="35" maxlength="50" name="email" id="email" value="<?php echo $email; ?>"/></div></td>

<td width="30"><div align="center"><img src="../imagini/bordura.jpg" width="15" height="45"/></div></td>

</tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Utilizator:</span></td> <td width="270" height="40"><div align="center"><input type="text"

style="font-weight:bold;" size="35" maxlength="20" name="nume_utilizator" id="nume_utilizator" value="<?php echo $nume_utilizator; ?>"/></div></td>

<td width="30"><div align="center"><img src="../imagini/bordura.jpg" width="15" height="45"/></div></td>

</tr> <tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Parola:</span></td> <td width="270" height="40"><div align="center"><input

type="password" class="fundalinput" size="35" name="parola_utilizator" id="parola_utilizator" value="<?php echo $parola_utilizator; ?>"/></div></td>

<td width="30"><div align="center"><img src="../imagini/bordura.jpg" width="15" height="45"/></div></td>

</tr>

31

Page 32: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<tr> <td width="30"><div align="center"><img src="../imagini/bordura.jpg"

width="15" height="45"/></div></td> <td width="270" height="40"><span style="font-size:30px;

color:#000">Confirmare parola:</span></td> <td width="270" height="40"><div align="center"><input

type="password" class="fundalinput" size="35" name="confirmare_parola" id="confirmare_parola" value="<?php echo $confirmare_parola; ?>"/></div></td>

<td width="30"><div align="center"><img src="../imagini/bordura.jpg" width="15" height="45"/></div></td>

</tr> <tr> <td colspan="4" align="center" height="70"><input type="image"

src="/butoane/validare.jpg" id="unid" height="50" width="150" title="Inregistrare" onClick="return validare_inregistrare(this.form)" class="image"/> </td>

</tr> <input type="hidden" name="camp_hidden" id="camp_hidden" value="1" /></form></body></html>

După cum se poate observa în interogarea SQL de mai jos putem observa modul de inserare a datelor în tabelul de autentificare.

// INTEROGAREA BAZEI DE DATE MSSQL$interogare_sql = "insert into autentificare(nume, prenume,

data_nasteri, gen, tara, localitate, email, nume_utilizator, parola_utilizator, permisiuni) values('$nume', '$prenume', '$data_nasteri', '$gen', '$tara', '$localitate', '$email', '$nume_utilizator', '".md5($parola_utilizator)."', '')";

De remarcat este faptul că în coloana parola_utilizator datele sunt inserate in mod criptat de tip MD5.

Algoritmul MD5 calculează pentru un şir oarecare o sumă de control corespunzătoare, un şir va întoarce întotdeauna aceeaşi sumă de control, însă orice modificare a şirului, chiar o modificare infimă, duce la modificări majore a sumei de control MD5.

MD5 este numit adesea un algoritm de criptare, lucru nu tocmai potrivit deoarece algoritmul MD5 nu permite decriptarea datelor.

Suma de control MD5 (MD5 hash) este un număr cu lungimea de 128 biţi. Uzual acest număr este reprezentat ca un şir de 32 de caractere, reprezentarea hexazecimală a numărului respectiv.

Indiferent de lungimea şirului algoritmul asigura obţinerea unei sume MD5 cu lumgimea de 128 de biţi (32 caractere în reprezentarea hexazecimală); chiar şi pentru un şir vid, acesta returnând "d41d8cd98f00b204e9800998ecf8427e".

O caracteristică importantă este faptul că nu se poate determina şirul care a generat o anumită sumă de control MD5, acest lucru recomandând MD5 pentru stocarea parolelor şi alte verificări de integritate a datelor. Vezi mai multe despre spargerea unui cod MD5.

Pentru crearea acestui formular, modul de scriere al codului sursă este unul logic şi anume:

Initializarea erorilor posibile, pentru corectarea acestora şi simplificarea sarcinii de lucru;

Includerea funcţiei de conexiune;În secţiunea head am inclus:

Titlul pagini; Scriptul CSS de setare a fundalului prin inserarea unei imagini de fundal;

32

Page 33: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Scriptul CSS pentrul aspectul calendarului; Scriptul CSS pentru efectul tag-urilor <img> şi <input>; Funcţia JavaScript de redirectare a pagini; Funcţia JavaScript de procesare a calendarului; Funcţia JavaScript de validare a formularului;

În secţiunea body am conceput următoarele scripturi: Un fişier PHP care preia datele din formularul HTML cu ajutorul metodei POST

în care am inclus interogarea MSSQL de inserare a datelor preluate; Scriptul de creare a formularului HTML propriuzis.

3.6.3. Formularul de autentificare

Acest formular este creat cu scopul de a permite accesul utilizatorilor la interfaţa aplicaţiei.

El este format din:

- 1 câmp de tip text;- 1 câmp de tip password;- 1 buton submit;- 2 butoane de redirectare;- 1 câmp hidden având valoarea 1.

Procesul de conectare

Pentru realizarea procesului de autentificare în baza de date trebuie să existe un nume de utilizator şi o parolă asociată acestuia, deoarece după completarea acestui formular de autentificare şi acţionare a butonului de conectare are loc o interogare de selecţie SQL întorcându-mi un id sau valoarea NULL în caz că nu există. Daca după interogarea SQL id-ul rezultat este diferit de valoarea NULL acsta este setat ca valoare a sesiunii de autentificare permiţând navigarea în paginile aplicaţiei.

Codul sursă al acestui formular este următorul:

<?php// INITIALIZAREA ERORILORini_set('display_errors','On'); error_reporting(-1);// SETARE SESIUNE DE AUTENTIFICAREsession_start();if(!isset($_SESSION["autentificare"]))// INCLUDE CONEXIUNEA LA MSSQLinclude ("functi_php/conexiune.php");?><head><title>Autentificare</title> <!—TITLUL PAGINI<!—SETAREA IMAGINI DE FUNDAL SI A DIMENSIUNILOR ACESTEIA<style type="text/css">

33

Page 34: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

body { background-image: url(imagini/FUNDAL.jpg);

34

Page 35: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

background-size:1100px 750px; background-position:center;

} </style>

<!—INCLUDE FISIER CSS DE EFECT AL IMAGINILOR SI IMPUT<link rel="stylesheet" type="text/css" href="../fisiere_css/focus.css"

media="screen"/> <!—FUNCTIE JAVASCRIPT DE REDIRECTARE A PAGINI --><script type="text/javascript"

src="/functi_js/redirectare_pagina.js"></script><!—FUNCTIE JAVASCRIPT DE VERIFICARE A DATELOR INTRODUSE<script type="text/javascript"

src="/functi_js/verificare_date_autentificare.js"></script></head><body><?php // PRELUARE DATE DIN FORMULAR$nume_utilizator = $_POST['nume_utilizator'];$parola_utilizator = $_POST['parola_utilizator'];$camp_hidden = $_POST['camp_hidden'];// INTEROGARE MSSQL DE EXTRAGERE A DATELOR DE AUTENTIFICARE

$interogare_sql = "select idutilizator from autentificare where nume_utilizator='$nume_utilizator' and parola_utilizator =

'".md5($parola_utilizator)."' ";// INTEROGARE MSSQL DE EXTRAGERE A VERSIUNI ACTUALE A BAZEI DE DATE

$selectie_versiune_db = "select versiune from setari";$info_versiune = mssql_query($selectie_versiune_db);$query = mssql_query($interogare_sql);

// PRELUARE VERSIUNE DIN BAZA DE DATE CU AJUTORUL LUI WHILEwhile($afisare_versiune = mssql_fetch_assoc($info_versiune))

{ $versiune_db = $afisare_versiune['versiune']; }

// PRELUARE DATE DATE DE AUTENTIFICARE CU AJUTORUL LUI WHILEwhile($selectie = mssql_fetch_assoc($query)) { $nume_utilizator_db = $selectie['nume_utilizator']; $parola_utilizator_db = $selectie['parola_utilizator']; $id_utilizator_db = $selectie['idutilizator']; }// CONDITIE DE AUTENTIFICARE if($camp_hidden == 1) {

if ($id_utilizator_db != ""){ // REDIRECTARE PE PAGINA utilizator.phpheader ('Location:utilizator.php');// SETARE SESIUNE CU VALOAREA ID_UTILIZATOR$_SESSION["autentificare"]= $id_utilizator_db;

}else{echo ' <script type="text/javascript"><!-- window.alert("Utilizator sau parola gresita!");</script>';

} }?>

35

Page 36: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<?php// AFISARE VERSIUNE CURENTA CU PHPecho "<table width=\"100%\"> <tr> <td align=\"left\"><b>Versiune:</b>$versiune_db</td> </tr></table>";?><!--FORMULAR DE AUTENTIFICARE--><form name="autentificare" id="autentificare" method="post"

action="autentificare.php" ></br></br></br></br></br></br></br><table width="358" align="center"

background="imagini/fundal_autentificare.jpg" id="id1"><tr height="40"><td height="30" width="327" colspan="2"><table width="300" height="150"

background="imagini/fundal_autentificare.jpg" align="center"><tr><td colspan="3"><div align="center"><table width="300" height="30" ><tr height="30"><td height="10" width="250" colspan="3"><div align="center" span

style="color:#FFF; font-style:italic; font-size:20px;font-family:Verdana, Geneva, sans-serif"><b>Autentificare</b></div></td>

<td align="right"><img src="butoane/close.jpg" height="20" width="20" onClick="redirectare('/index.html');" title="Inapoi la site" class="image"/></td>

</tr></table></div></td></tr><tr height="40"><td width="50" height="30"><div align="left"><span style="color:#9F0;

font-family:'Comic Sans MS', cursive; font-size:18px;"><b>Utilizator:</b></span></div></td>

<td height="30" width="200" colspan="2"><div align="right"><img src="/iconite/utilizator.png" width="35" height="35" align="left"/><input type="text" class="fundalinput" id="nume_utilizator" name="nume_utilizator" width="150" /></div></td>

</tr><tr height="40"><td width="50" height="30"><div align="left"><span style="color:#9F0;

font-family:'Comic Sans MS', cursive; font-size:18px;"><b>Parola:</b></span></div></td>

<td height="30" width="200" colspan="2"><div align="right"><img src="/iconite/parola.png" width="35" height="35" align="left"/><input type="password" class="fundalinput" id="parola_utilizator" name="parola_utilizator" width="150" onKeyPress="" /></div></td>

</tr> <tr height="40"> <td colspan="3" > <table width="300" height="30"> <tr> <td> <div align="left"><img src="butoane/inregistrare.jpg" height="40"

width="150" name="Cont nou" onClick="redirectare('/formulare/inregistrare.php');" title="Creaza-ti un cont." class="image"/></div></td>

<td><div align="right"><input type="image" width="150" height="40" src="/butoane/buton_conectare.png" name="submit" onClick="return verifica(this.form);" title="Conectare" class="image"/></div>

36

Page 37: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

</td> </tr> </table> </td> </tr> </table></td></tr> </table> <input type="hidden" name="camp_hidden" id="camp_hidden" value="1" /></form></body></html>

Pentru crearea acestui formular am utilizat următorul fir logic: Iniţializarea erorilor posibile; Setarea sesiunii de autentificare; Includerea conexiuni la baza de date MSSQL;

În secţiunea head am inclus urmatoarele: Titlul pagini; Scriptul CSS de setare a imagini de fundal şi a dimensiuni acesteia; Scriptul CSS de efect al opacitaţi imaginilor şi fundal a tag-urilor input; Funcţia JavaScript de redirectare a pagini; Funcţia JavaScript de verificare a datelor introduse;

În secţiunea body am inclus urmatoarele: Script PHP de preluare a datelor din formular; Script PHP de preluare a datelor din baza de date MSSQL; Script PHP de extragere a versiuni curente din baza de date MSSQL; Script HTML de structurare a formularului HTML.

37

Page 38: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

3.6.4. Formularul de adăugare a poliţelor în gestiune

Pentru ca o poliţă să poată fi emisă în cadrul acestei aplicaţi, mai întâi seria şi numărul acesteia trebuie să existe inserate în tabelul poliţe aparţinând bazei de date MSSQL. Pentru a face posibil acest lucru am creat următorul formular.

Acest formular este capabil să insereze în tabelul poliţe atât seria poliţei cât şi un set de numere aferente acestora.

Exemplu:*Introducerea în gestiune a 20 de poliţe RCA aparţinând companiei Astra Asigurari

S.A. având seria SP. Numerele acestor poliţe reprezintă intervalul de numere consecutive de la 1234567 până la 1234588.

Pentru efectuarea acestei operaţi se procedează astfel: Se selectează sucursala Astra Asigurări S.A. ; Se lelectează procesul verbal de intrare ; Se selectează tipul de asigurare RCA ; Se selectează agentul dorit ; Se introduce seria poliţelor SP ; Se introduce numărul de început al poliţelor, adică 1234567; Se introduce numărul de sfârşit al poliţelor, adică 1234588 ; Se apasă butonul submit.

38

Page 39: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Codul sursă al acestui formular este după cum urmează:<?php // INCLUDEREA SESIUNII SI A CONEXIUNIIinclude ("../sesiune.php");include ("../functi_php/conexiune.php")?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><!-- INCLUDEREA FUNCTIEI DE VALIDARE A DATELOR INTRODUSE--><script type="text/javascript"

src="../functi_js/validare_polita.js"></script><!-- INCLUDEREA FUNCTIEI DE REDIRECTARE A PAGINI--><script type="text/javascript"

src="/functi_js/redirectare_pagina.js"></script><!-- INCLUDEREA FISIERULUI CSS PENTRU EFECTUL DE FUNDAL INPUT--><link rel="stylesheet" type="text/css" href="../fisiere_css/focus.css"

media="screen"/><!-- INCLUDEREA FISIERULUI CSS DE SETARE A FUNDALULUI PAGINILOR--><link rel="stylesheet" type="text/css"

href="/fisiere_css/aspecte_paginare.css"/><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Adauga polite in gestiune</title> <!-- TITLU PAGINA --></head><body><!-- TABELUL CE CONTINE NUMELE FORMULARULUI SI BUTONUL DE INCHIDERE--><table width="100%" background="/imagini/fundal_antet_formulare.png" > <tr><td width="50" height="80"><img src="/iconite/db1.png" width="70"

height="80" align="left"/></td> <td><div align="center"><span style="color:#000 font-family:'Times New

Roman', Times, serif; font-size:36px;"><b>Adauga polite in gestiune</b> </span></div></td>

<td><div align="center"><img src="/butoane/close.jpg" width="30" height="30" onclick="redirectare('/afisare_date.php');" title="Inchide"/> </div></td>

</tr></table><br/><!-- SPATIU INTRE TABELE (UN RAND)--><fieldset style="color: #009"> <!--CREARE FILEDSET--><legend><span style="color:#000; font-size:20px;">Introduceti

datele</span></legend> <!-- LEGENDA FILEDSET-ULUI --><div align="center"> <!-- POZITIONAREA LA CENTRU A FORMULARULUI --><!-- CREAREA FORMULARULUI HTML SUB FORMA DE TABEL --><form name="form" action="adauga_polite.php" method="post"><table width="90%"><tr><td width="50%"><span style="color:#000; font-family:'Times New Roman',

Times, serif; font-size:20px;">Sucursala:</span></td><td><select name="Sucursala" id="Sucursala"> <option value="0">-----------------Selectati-----------------</option> <?php//INTEROGARE MSSQL

$interogare_suc = "select idSucursala, Denumire from Sucursala order by Denumire";

$selectare_suc = mssql_query($interogare_suc); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_suc = mssql_fetch_assoc($selectare_suc))

{ $var_1a = $afisare_suc['idSucursala']; $var_2a = $afisare_suc['Denumire'];

echo ' <option value="'.$var_1a.'">'.$var_2a.' </option>';

39

Page 40: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

}$Sucursala = $_POST['Sucursala'];

?> </select> <input type="image" src="../iconite/ok.png" width="40" height="40"

class="image" /></td></tr> </table></form> <form name="form" action="adauga_polite.php" method="post"> <table width="90%"><tr><td><span style="color:#000; font-family:'Times New Roman', Times, serif;

font-size:20px;">Proces verbal de intrare:</span></td><td>

<select name="PVI" id="PVI"> <option value="0">-----------------Selectati-----------------</option> <?php//INTEROGARE MSSQL

$interogare_pvi = "select idPviPolite, idSucursala, NrPviPolite, DataPviPolite from PVIPolite where idSucursala='$Sucursala'";

$selectare_pvi = mssql_query($interogare_pvi); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_pvi = mssql_fetch_assoc($selectare_pvi))

{ $var_1 = $afisare_pvi['idPviPolite']; $var_2 = $afisare_pvi['NrPviPolite'];

$var_3 = $afisare_pvi['DataPviPolite'];echo ' <option value="'.$var_1.'"> '.$var_2.' / '.$var_3.'

</option>';}$pvi = $_POST['pvi'];

//INTEROGARE MSSQL$interogare_pv = "select idPviPolite, NrPviPolite, DataPviPolite from

PVIPolite where idPviPolite='$pvi'";$selectare_pv = mssql_query($interogare_pv); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_pv = mssql_fetch_assoc($selectare_pv))

{ $var_a = $afisare_pv['idPviPolite'];$var_b = $afisare_pv['NrPviPolite'];$var_c = $afisare_pv['DataPviPolite'];

}?></select></td></tr><tr><td><span style="color:#000; font-family:'Times New Roman', Times, serif;

font-size:20px;">Tip asigurare:</span></td><td><select name="Asigurare" id="Asigurare"> <option name="optiune" value="1">-----------------

Selectati-----------------</option> <?php//INTEROGARE MSSQL

$interogare_asig = "select idAsig, TipAsigurare from Asigurari order by TipAsigurare";

$selectare_asig = mssql_query($interogare_asig); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_asig = mssql_fetch_assoc($selectare_asig))

{ $var_1 = $afisare_asig['idAsig']; $var_2 = $afisare_asig['TipAsigurare'];

40

Page 41: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

echo ' <option name="optiune" value="'.$var_1.'">'.$var_2.' </option>';

}?> </select></td></tr><tr><td><span style="color:#000; font-family:'Times New Roman', Times, serif;

font-size:20px;">Agent:</span></td><td><select name="Agent" id="Agent"> <option name="optiune" value="1">-----------------

Selectati-----------------</option>

<?php

//INTEROGARE MSSQL$interogare_agenti = "select idAgent, NumeAg, PrenumeAg from agent

order by NumeAg";$selectare_agenti = mssql_query($interogare_agenti); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_agenti = mssql_fetch_assoc($selectare_agenti))

{ $var_1 = $afisare_agenti['idAgent']; $var_2 = $afisare_agenti['NumeAg']; $var_3 = $afisare_agenti['PrenumeAg'];

echo ' <option name="optiune" value="'.$var_1.'">'.$var_2.' '.$var_3.' id = '.$var_1.' </option>';

}?> </select></td></tr> <tr> <td height="10" width="50%"><span style="color:#000; font-

family:'Times New Roman', Times, serif; font-size:20px;">Serie polita:</span></td>

<td align="left"><input type="text" name="SeriePolita" size="30"/></td>

</tr> <tr> <td height="10" width="50%"><span style="color:#000; font-

family:'Times New Roman', Times, serif; font-size:20px;">Inceput numar polita:</span></td>

<td align="left"><input type="text" name="inceput_polita" size="30"/></td>

</tr> <tr> <td height="10" width="50%"><span style="color:#000; font-

family:'Times New Roman', Times, serif; font-size:20px;">Sfarsit numar polita:</span></td>

<td align="left"><input type="text" name="sfarsit_polita" size="30"/></td>

</tr> <tr> <td colspan="2"><div align="center"><input type="image"

src="../iconite/ok.png" name="submit" class="image" title="Adauga polite" onClick="return verifica(this.form)" /></div>

<input type="hidden" value="1" name="hidden"/> </td> </tr></table>

41

Page 42: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

</form></div></fieldset><?php // PRELUAREA DATELOR DIN FORMULAR$hidden = $_POST['hidden'];$Sucursala = $_POST['Sucursala'];$PVI = $_POST['PVI'];$Asigurare = $_POST['Asigurare'];$SeriePolita = $_POST['SeriePolita'];$inceput_polita = $_POST['inceput_polita'];$sfarsit_polita = $_POST['sfarsit_polita'];$Agent = $_POST['Agent'];$a = ($sfarsit_polita - $inceput_polita);//INSERARE DATE$strSQL = "select NrPolita from Polita where

(NrPolita='$inceput_polita')";$objQuery = mssql_query($strSQL);$objResult = mssql_fetch_array($objQuery);if ($hidden ==1){if($objResult)

{ echo '<script type="text/javascript">alert("Polita '.$SeriePolita.' '.$inceput_polita.'

exista in baza de date !")</script>';

}else

{ $strSQL = "declare @a intset @a = $inceput_politawhile @a <= $sfarsit_politabegininsert into Polita(idPviPolite,idAsig,SeriePolita,NrPolita,idAgent)values('$PVI','$Asigurare','$SeriePolita', @a ,'$Agent')select @a = @a + 1end";

$objQuery = mssql_query($strSQL);if($objQuery){echo '<script type="text/javascript">

alert("Efectuau! Ai inserat '.$a.' polite.")</script>';

}else

{echo' <script type="text/javascript">

alert("Eroare MSSQL: Operatie nereusita. ")</script>';

}}

}?></body></html>

42

Page 43: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

3.6.5. Formularul de emitere a poliţelor RCA

Acest formular permite emiterea unei poliţe RCA în baza de date. El este alcătuit din 7 butoane slelect, 18 câmpuri text, 6 imagini (5 dintre acestea folosite drept butoane cu ajutorul funcţiilor JavaScript) şi un buton submit de validare şi trimitere a datelor completate către server.

Codul sursă al acestui formular este după cum urmează:

<?php // INCLUDEREA SESIUNII DE AUTENTIFICAREinclude ("../sesiune.php");?><?php // INCLUDEREA CONEXIUNII CATRE MSSQLinclude ("../functi_php/conexiune.php")?> <head> <!-- INCEPUT DE ANTET --> <!-- INCLUDEREA FUNCTIILOR JAVASCRIPT DE REDIRECTARE --><script type="text/javascript" src="/functi_js/redirectare_pagina.js">

</script><!-- INCLUDEREA FUNCTIEI JAVASCRIPT DE PROCESARE A CALENDARULUI --><script type="text/javascript" src="../functi_js/calendar.js"></script><!-- INCLUDEREA STILURILOR CSS PENTRU CALENDARE --><link rel="stylesheet" type="text/css" href="../functi_js/calendar.js"

media="screen"/><!-- INCLUDEREA STILURILOR CSS PENTRU FOCUSUL CASETELOR TEXT -->

43

Page 44: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<link rel="stylesheet" type="text/css" href="../fisiere_css/focus.css" media="screen"/>

44

Page 45: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<!-- SETAREA TITLULUI --><title>Emite RCA</title></head> <!-- SFARSIT DE ANTET --><body> <!-- INCEPUTUL CORPULUI DE PAGINA --><!-- BARA DE SUS A FORMULARULUI SETATA ACU AJUTORUL TABELULUI URMATOR --><table width="100%" background="/imagini/fundal_antet_formulare.png" > <tr> <td width="50" height="80"><img src="/iconite/db1.png" width="64"

height="64" align="left"/> </td> <td><div align="center"><span style="color:#000 font-family:'Times New

Roman', Times, serif; font-size:36px;"><b>Emite polita RCA</b></span></div></td>

<td><div align="center"><img src="/butoane/close.jpg" width="30" height="30" onclick="if (!confirm('Doriti sa abandonati emiterea politei ?'))return false; redirectare('/afisare_date.php');" title="Inchide"/></div></td>

</tr></table><!-- CREAREA FORMULARULUI HTML --><fieldset style="background-color:#999;"><br/><form action="emite_RCA.php" method="post"> <table width="85%" border="0" align="center" bgcolor="#CCCCCC"> <tr> <td width="15%" height="35"><b>Polita</b> </td> <td colspan="2" width="30%"> <select name="Polita" style="font-weight:bold;"> <option name="optiune" value="">---------Selectati---------</option> <?php //INTEROGARE MSSQL

$interogare_polita = "select idPolita, idAgent, idAsig, NrPolita, SeriePolita from Polita where idClient is null order by NrPolita";

$selectare_polita = mssql_query($interogare_polita); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_polita = mssql_fetch_assoc($selectare_polita))

{ $var_polita1 = $afisare_polita['idPolita'];

$var_polita2 = $afisare_polita['NrPolita'];$var_polita3 = $afisare_polita['SeriePolita'];echo ' <option name="optiune" value="'.$var_polita1.'"> '.

$var_polita3.' '.$var_polita2.' </option>';}

?> </select></td><td width="20%"><b>Sucursala</b></td> <td colspan="2"> <select name="Sucursala" style="font-weight:bold;"> <option

value="0">-------------------Selectati-------------------</option> <?php//INTEROGARE MSSQL

$interogare_suc = "select idSucursala, Denumire from Sucursala order by Denumire ";

$selectare_suc = mssql_query($interogare_suc); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_suc = mssql_fetch_assoc($selectare_suc))

{ $var_suc1 = $afisare_suc['idSucursala']; $var_suc2 = $afisare_suc['Denumire'];

echo ' <option value="'.$var_suc1.'">'.$var_suc2.' </option>';

}?>

45

Page 46: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

</select></td></tr><tr><td><b>Asigurare</b></td><td colspan="2"><select name="TipAsigurare" style="font-weight:bold;"> <option name="optiune" value="0">---------Selectati---------</option> <?php//INTEROGARE MSSQL

$interogare_asig = "select idAsig, TipAsigurare from Asigurari order by TipAsigurare";

$selectare_asig = mssql_query($interogare_asig); // PRELUAREA VALORILOR DIN BAZA DE DATEwhile($afisare_asig = mssql_fetch_assoc($selectare_asig))

{ $var_asig1 = $afisare_asig['idAsig']; $var_asig2 = $afisare_asig['TipAsigurare']; echo ' <option name="optiune" value="'.$var_asig1.'">'.

$var_asig2.' </option>';}

?> </select></td><td><b>Client _<img src="../iconite/adauga_client.png" width="25"

height="25" title="Adauga client nou" onclick="redirectare('/formulare/client_nou.php');"/>_</b></td>

<td colspan="2"><select name="Client" style="font-weight:bold;"> <option name="optiune" value="0">-------------------

Selectati-------------------</option> <?php//INTEROGARE MS SQL

$interogare_cl = "select IdClient as id, DenumirePj as nume , CUI as prenume from PJuridica

unionselect IdClient as id, Nume as nume, Prenume as prenume from

Pfizica";$selectare_cl = mssql_query($interogare_cl); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_cl= mssql_fetch_assoc($selectare_cl))

{ $var_cl1 = $afisare_cl['id']; $var_cl2 = $afisare_cl['nume'];

$var_cl3 = $afisare_cl['prenume'];$var_cl4 = $afisare_cl['DenumirePj'];echo ' <option name="optiune" value="'.$var_cl1.'">'.$var_cl2.'

'.$var_cl3.' </option>';}

?> </select> </td> </tr> <tr> <td colspan="6"><b>Data emiterii</b><input name="datapolita" size="5" style="font-weight:bold;"/> <img src="/butoane/calendar.png" width="25" height="25"

onclick="togglecalendar('datapolita'); redirectare('javascript:')"/><b>data de inceput</b><input name="datainceput" size="6" style="font-weight:bold;"/> <img src="/butoane/calendar.png" width="25" height="25"

onclick="togglecalendar('datainceput'); redirectare('javascript:')"/><b>data expirarii</b><input name="datasfarsit" size="6" style="font-weight:bold;"/>

46

Page 47: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<img src="/butoane/calendar.png" width="25" height="25" onclick="togglecalendar('datasfarsit'); redirectare('javascript:')"/>

<table bgcolor=#ffffff border=1 cellpadding=0 cellspacing=3 id=calendar style="display: none; position: absolute; z-index: 4" >

<tbody> <tr> <td colspan=7 valign=center>

<!-- month combo box --><select id=month onchange=newcalendar()>

<script language=javascript>// output months into the document.// select current month.for (var intloop = 0; intloop < months.length; intloop++)

document.write("<option " + (today.month == intloop ? "selected" : "") + ">" + months[intloop]);

</script></select> <!-- year combo box --><select id=year onchange=newcalendar()>

<script language=javascript>// output years into the document.// select current year.for (var intloop = 1900; intloop < 2101; intloop++)

document.write("<option " + (today.year == intloop ? "selected" : "") + ">" + intloop);

</script></select> </td>

</tr> <tr class=days>

<!-- generate column for each day. --> <script language=javascript>

// output days.for (var intloop = 0; intloop < days.length; intloop++)

document.write("<td>" + days[intloop] + "</td>");</script>

</tr> <tbody class=dates id=daylist onclick="getdate('')" valign=center> <!-- generate grid for individual days. --> <script language=javascript>

for (var intweeks = 0; intweeks < 6; intweeks++){ document.write("<tr>");

for (var intdays = 0; intdays < days.length; intdays++)document.write("<td></td>");document.write("</tr>");

} </script> <!-- generate today day. --></tbody> <tbody> <tr> <td class=today colspan=5 id=todayday onclick=gettodayday()></td> <td align=right colspan=2><a href="javascript:hidecalendar();"><span

style="color: black; font-size: 15px"><b>hide</b></span></a></td> </tr> </tbody></table> </td> </tr> <tr> <td><strong>Sasiu</strong></td> <td colspan="2"><input type="text" name="SerieSasiu" style="font-

weight:bold;" maxlength="17"/></td>

47

Page 48: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td colspan="3" rowspan="8" > <table width="100%" border="0"> <tr> <td width="50%"><strong>Culoare</strong></td> <td><select name="Culoare" style="font-weight:bold;"> <option value="">---------Selectati---------</option> <option value="Alb">Alb</option> <option value="Albastru">Albastru</option> <option value="Galben">Galben</option> <option value="Grena">Grena</option> <option value="Gri">Gri</option> <option value="Negru">Negru</option> <option value="Portocaliu">Portocaliu</option> <option value="Rosu">Rosu</option> <option value="Verde">Verde</option> <option value="Visiniu">Visiniu</option> </select></td> </tr> <tr> <td><strong>Vigneta</strong></td> <td><input type="text" name="Vigneta" style="font-weight:bold;"/></td> </tr> <tr> <td><strong>Suma asigurata</strong></td> <td><input type="text" name="SumaAsigurata" style="font-

weight:bold;"/></td> </tr></table><fieldset><legend><strong>Detalii plata</strong></legend><table width="100%" border="0" bgcolor="#CCCCC0"> <tr> <td width="50%"><strong>Valoare prima</strong></td> <td><input type="text" name="ValoarePolita" style="font-

weight:bold;"/></td> </tr> <tr> <td><strong>Moneda</strong></td> <td> <select name="Moneda" style="font-weight:bold;"> <option name="optiune" value="0">---------Selectati---------</option> <?php//INTEROGARE MS SQL

$interogare_moneda = "select Moneda from Monede order by Moneda";$selectare_moneda = mssql_query($interogare_moneda); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_moneda= mssql_fetch_assoc($selectare_moneda))

{ $var_moneda1 = $afisare_moneda['Moneda']; echo '<option name="optiune" value="'.$var_moneda1.'"> '.

$var_moneda1.' </option>';}

?> </select> </td> </tr> <tr> <td><strong>Data platii</strong></td> <td><INPUT name="DataPlata" size="14" style="font-weight:bold;"/> <img src="/butoane/calendar.png" width="25" height="25"

onClick="toggleCalendar('DataPlata'); redirectare('JavaScript:')"/></td> </tr>

48

Page 49: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<tr> <td><strong>Document de plata</strong></td> <td><input type="text" name="DocumentPlata" style="font-

weight:bold;"/></td> </tr></table></fieldset> </td> </tr> <tr> <td><strong>Nr. auto</strong></td> <td colspan="2"><input type="text" name="NrInmatriculare" style="font-

weight:bold;"/></td> </tr> <tr> <td><strong>Cilindri</strong></td> <td colspan="2"><input type="text" name="CapacitateCilindrica"

style="font-weight:bold;"/></td> </tr> <tr> <td><strong>Putere</strong></td> <td colspan="2"><input type="text" name="PutereMotor" style="font-weight:bold;"/></td> </tr> <tr> <td><strong>Nr. locuri</strong></td> <td colspan="2"><input type="text" name="NrLocuri" style="font-

weight:bold;"/></td> </tr> <tr> <td><strong>Masa</strong></td> <td colspan="2"><input type="text" name="Tonaj" style="font-

weight:bold;"/></td> </tr> <tr> <td><strong>An fabricatie</strong></td> <td colspan="2"><input type="text" name="AnFabricatie" style="font-

weight:bold;"/></td> </tr> <tr> <td><strong>Serie CIV</strong></td> <td colspan="2"><input type="text" name="CIV" style="font-

weight:bold;"/></td> </tr> <tr> <td><strong>Categorie</strong></td> <td colspan="2"><select name="Categorie" style="font-weight:bold;"> <option value="">---------Selectati---------</option> <option value="Autoturism">Autoturism</option> <option value="Autoutilitara">Autoutilitara</option> <option value="Moped">Moped</option> <option value="Motoreta">Motoreta</option> <option value="Tranvai">Tranvai</option> </select> </td> <td colspan="3" rowspan="2" align="center"> <table width="100%" align="center"> <tr> <td width="40%" align="center"><strong>Agent</strong><br/><select

name="Agent"> <option name="optiune" value="1">---------Selectati---------</option>

49

Page 50: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

50

Page 51: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<?php//INTEROGARE MSSQL

$interogare_agenti = "select idAgent, NumeAg, PrenumeAg from agent order by NumeAg";

$selectare_agenti = mssql_query($interogare_agenti); // PRELUARE VALORI DIN BAZA DE DATEwhile($afisare_agenti = mssql_fetch_assoc($selectare_agenti))

{ $var_1 = $afisare_agenti['idAgent']; $var_2 = $afisare_agenti['NumeAg']; $var_3 = $afisare_agenti['PrenumeAg'];

echo '<option name="optiune" value="'.$var_1.'">'.$var_2.' '.$var_3.' </option>';

}?> </select></td> <td align="center"><input type="submit" value=" Emite polita "

class="image"/></td> </tr></table> </td> <td rowspan="2"></td> </tr> <tr> <td><strong>Marca</strong></td> <td colspan="2"><input type="text" name="Marca" style="font-

weight:bold;"/></td> </tr> <tr> <td><strong>Mentiuni</strong></td> <td colspan="5"> <input type="text" maxlength="1000" name="Mentiuni" size="50" /> </td></tr></table><br/><input type="hidden" name="hidden" value="1" /></form></fieldset><?php // PRELUAREA DATELOR DIN FORMULAR CU PHP$Mentiuni = $_POST['Mentiuni'];$Sucursala = $_POST['Sucursala'];$TipAsigurare = $_POST['TipAsigurare'];$Client = $_POST['Client'];$NrPolita = $_POST['NrPolita'];$DataPolita = $_POST['DataPolita'];$DataInceput = $_POST['DataInceput'];$DataSfarsit = $_POST['DataSfarsit'];$SerieSasiu = $_POST['SerieSasiu'];$NrInmatriculare = $_POST['NrInmatriculare'];$CapacitateCilindrica = $_POST['CapacitateCilindrica'];$PutereMotor = $_POST['PutereMotor'];$NrLocuri = $_POST['NrLocuri'];$Tonaj = $_POST['Tonaj'];$AnFabricatie = $_POST['AnFabricatie'];$CIV = $_POST['CIV'];$Categorie = $_POST['Categorie'];$Marca = $_POST['Marca'];$Culoare = $_POST['Culoare'];$Vigneta = $_POST['Vigneta'];$SumaAsigurata = $_POST['SumaAsigurata'];$ValoarePolita = $_POST['ValoarePolita'];

51

Page 52: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

$Moneda = $_POST['Moneda'];$DataPlata = $_POST['DataPlata'];$DocumentPlata = $_POST['DocumentPlata'];$Agent = $_POST['Agent'];$Polita = $_POST['Polita'];$hidden = $_POST['hidden'];if ($hidden == 1){ $strSQL ="update Polita set idAgent='$Agent', idAsig='$TipAsigurare',

idClient='$Client', ValoarePolita='$ValoarePolita', DocumentPlata='$DocumentPlata', DataPolita='$DataPolita', DataPlata='$DataPlata', DataInceput='$DataInceput', DataSfarsit='$DataSfarsit', Moneda='$Moneda' where idPolita='$Polita';

insert into PolitaAuto (idPolita, SerieSasiu, NrInmatriculare, CapacitateCilindrica, PutereMotor, NrLocuri, Tonaj, AnFabricatie, CIV, Categorie, Marca, Culoare, SumaAsigurata, Vigneta, MentiuniSpecAuto)

values ('$Polita', '$SerieSasiu', '$NrInmatriculare', '$CapacitateCilindrica',

'$PutereMotor', '$NrLocuri', '$Tonaj', '$AnFabricatie', '$CIV', '$Categorie', '$Marca', '$Culoare', '$SumaAsigurata', '$Vigneta', '$Mentiuni')";

$objQuery = mssql_query($strSQL);if($objQuery){ echo '<script type="text/javascript">

alert("Polita a fost emisa cu succes!")</script>';

}else

{ echo' <script type="text/javascript">alert("Eroare MSSQL: Operatie nereusita!")</script>';

}}?></body></html>

52

Page 53: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

3.6.6. Formularul de adaugare al agentilor

Acest formular HTML a fost creat cu scopul inserări datelor solicitate aferent unui agent în tabelul Autentificare ce aparţine bazei de date.

Ca şi arhitectură el este alcătuit din 18 casete de tip text, o imagine simplă afişată în partea stângă sus, 2 imagini de tip button şi un submit te tip image situat în partea de subsol a formularului.

Codul sursă al acestui formular HTML este după cum urmează:

<?php // INCLUDERE SESIUNE DE AUTENTIFICAREinclude ("../sesiune.php");?><?php // INCLUDERE CONEXIUNE MSSQLinclude ("../functi_php/conexiune.php")?><head><!-- SETARE TITLU PAGINA --><title>Adaugare agent nou</title><!-- STILURI - ASPECTE DE PAGINA --><link rel="stylesheet" type="text/css"

href="/fisiere_css/aspecte_paginare.css"/><!-- STILURI DE FOCUSARE A CAMPURILOR TEXT --><link rel="stylesheet" type="text/css" href="../fisiere_css/focus.css"

media="screen"/><!-- FUNCTI JAVASCRIPT DE REDIRECTARE --><script type="text/javascript"

src="/functi_js/redirectare_pagina.js"></script><!-- FUNCTIE JAVASCRIPT DE FU --><script type="text/javascript"

src="/functi_js/validare_adaugaAg.js"></script><script type="text/javascript" src="/functi_js/calendar.js"></script><link rel="stylesheet" href="/fisiere_css/calendar.css" media="screen"/></head><body><?php

53

Page 54: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

// PRELUARE DATE DIN FORMULAR

$NumeAg = $_POST['NumeAg'];$PrenumeAg = $_POST['PrenumeAg'];$SerieBuletinAg = $_POST['SerieBuletinAg'];$NumarBuletinAg = $_POST['NumarBuletinAg'];$TelefonAg1 = $_POST['TelefonAg1'];$TelefonAg2 = $_POST['TelefonAg2'];$CNPAg = $_POST['CNPAg'];$StradaAg = $_POST['StradaAg'];$OrasAg = $_POST['OrasAg'];$SectorAg = $_POST['SectorAg'];$BlocAg = $_POST['BlocAg'];$EtajAg = $_POST['EtajAg'];$ApartamentAg = $_POST['ApartamentAg'];$EmailAg = $_POST['EmailAg'];$ContractAg = $_POST['ContractAg'];$DataContractAg = $_POST['DataContractAg'];$CodCSA = $_POST['CodCSA'];$IBANAg = $_POST['IBANAg'];

$hidden = $_POST['hidden'];

//INSERARE DATE

$strSQL = "select NumeAg, PrenumeAg from Agent where (NumeAg='$NumeAg' and PrenumeAg='$PrenumeAg')";

$objQuery = mssql_query($strSQL);$objResult = mssql_fetch_array($objQuery);if ($hidden ==1){if($objResult)

{echo '

<script type="text/javascript">alert("Agentul '.$NumeAg.' '.$PrenumeAg.' exista in

baza de date.")</script>';

}else

{ $strSQL = "";$strSQL = "insert into agent";$strSQL .="(NumeAg, PrenumeAg, SerieBuletinAg,

NumarBuletinAg, TelefonAg1, TelefonAg2, CNPAg, StradaAg, OrasAg, SectorAg,BlocAg, EtajAg, ApartamentAg, EmailAg, ContractAg, DataContractAg, CodCSA, IBANAg)";

$strSQL .="VALUES ";$strSQL .="('$NumeAg', '$PrenumeAg', '$SerieBuletinAg',

'$NumarBuletinAg', '$TelefonAg1', '$TelefonAg2', '$CNPAg', '$StradaAg', '$OrasAg', '$SectorAg', '$BlocAg', '$EtajAg', '$ApartamentAg', '$EmailAg', '$ContractAg', '$DataContractAg', '$CodCSA', '$IBANAg')";

$objQuery = mssql_query($strSQL);if($objQuery){echo '

<script type="text/javascript">alert("Agentul '.$NumeAg.' '.$PrenumeAg.' a fost

adaugat cu succes!")

54

Page 55: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

</script>';}

else{echo'

<script type="text/javascript">alert("Eroare MSSQL: Agentul '.$NumeAg.' '.

$PrenumeAg.' nu a putut fi salvat!")</script>';

}}

}?>

<table width="100%" background="/imagini/fundal_antet_formulare.png" > <tr> <td ><div align="center"><span style="color:#FFF; font-family:'Times

New Roman', Times, serif; font-size:36px;"><img src="/iconite/utilizator.png" width="50" height="50" align="left"/><b>Adauga agent nou</b></span></div></td>

<td><div align="center"><img src="/butoane/close.jpg" width="30" height="30" onclick="redirectare('/afisare_date.php');" title="Inchide"/></div></td>

</tr></table><br /><div style="border:solid; color: #93C"><form name="adauga_agent" action="adauga_agent.php" method="post" ><table width="100%" > <tr> <td width="20%">Nume</td> <td width="30%"><input type="text" name="NumeAg" maxlength="30"

size="30" /></td> <td width="20%">Prenume</td> <td width="30%"><input type="text" name="PrenumeAg" maxlength="30"

size="30" /></td> </tr> <tr> <td>Serie buletin</td> <td><input type="text" name="SerieBuletinAg" maxlength="2"

size="30" /></td> <td>Numar buletin</td> <td><input type="text" name="NumarBuletinAg" maxlength="6"

size="30" /></td> </tr> <tr> <td>Telefon mobil</td> <td><input type="text" name="TelefonAg1" maxlength="30" size="30"

/></td> <td>Telefon fix</td> <td><input type="text" name="TelefonAg2" maxlength="30" size="30"

/></td> </tr> <tr> <td>CNP</td> <td><input type="text" name="CNPAg" maxlength="13" size="30" /></td> <td>Strada / nr</td> <td><input type="text" name="StradaAg" maxlength="30" size="30"

/></td> </tr> <tr> <td>Oras</td>

55

Page 56: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td><input type="text" name="OrasAg" maxlength="30" size="30" /></td> <td>Sector</td> <td><input type="text" name="SectorAg" maxlength="30" size="30"

/></td> </tr> <tr> <td>Bloc</td> <td><input type="text" name="BlocAg" maxlength="30" size="30" /></td> <td>Etaj</td> <td><input type="text" name="EtajAg" maxlength="30" size="30" /></td> </tr> <tr> <td>Apartament</td> <td><input type="text" name="ApartamentAg" maxlength="30" size="30"

/></td> <td>Email</td> <td><input type="text" name="EmailAg" maxlength="50" size="30" /></td> </tr> <tr> <td>Numar contract</td> <td><input type="text" name="ContractAg" maxlength="30" size="30"

/></td> <td>Data contract</td> <td><INPUT type="text" id="data" name="DataContractAg" size="25"

readonly="readonly" /> <img src="/butoane/calendar.png" width="25" height="25" title="Calendar"

onClick="toggleCalendar('data');"/>

<table bgcolor=#ffffff border=1 cellpadding=0 cellspacing=3 id=calendar style="display: none; position: absolute; z-index: 10">

<tbody> <tr> <td colspan=7 valign=center>

<!-- month combo box --><select id=month onchange=newcalendar()>

<script language=javascript>// output months into the document.// select current month.for (var intloop = 0; intloop < months.length; intloop++)

document.write("<option " + (today.month == intloop ? "selected" : "") + ">" + months[intloop]);

</script></select> <!-- year combo box --><select id=year onchange=newcalendar()>

<script language=javascript>// output years into the document.// select current year.for (var intloop = 1900; intloop < 2101; intloop++)

document.write("<option " + (today.year == intloop ? "selected" : "") + ">" + intloop);

</script></select>

</td> </tr> <tr class=days>

<!-- generate column for each day. --> <script language=javascript>

// output days.for (var intloop = 0; intloop < days.length; intloop++)

56

Page 57: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

document.write("<td>" + days[intloop] + "</td>");</script>

</tr>

<tbody class=dates id=daylist onclick="getdate('')" valign=center> <!-- generate grid for individual days. --> <script language=javascript>

for (var intweeks = 0; intweeks < 6; intweeks++){

document.write("<tr>");for (var intdays = 0; intdays < days.length; intdays++)

document.write("<td></td>");document.write("</tr>");

} </script>

<!-- generate today day. --></tbody> <tbody> <tr> <td class=today colspan=5 id=todayday onclick=gettodayday()></td> <td align=right colspan=2><a href="javascript:hidecalendar();"><span

style="color: black; font-size: 15px"><b>hide</b></span></a></td> </tr> </tbody>

</table></td> </tr> <tr> <td>Cod CSA</td> <td><input type="text" name="CodCSA" maxlength="30" size="30" /></td> <td>IBAN</td> <td><input type="text" name="IBANAg" maxlength="24" size="30" /></td> </tr> <tr> <td colspan="4"><div align="center" style="border:inset "><input type="image" src="/butoane/buton_conectare.png" width="100"

height="60" name="submit" value="Adauga agent" title="Adauga agent" onClick="return verifica(this.form)" class="image"/></div></td>

</tr></table><input type="hidden" name="hidden" value="1"/></form></div>

</body></html>

57

Page 58: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

3.6.7. Formularul de ataşare a documentelor

Acest formular permite ataşarea documentelor suplimentare unei poliţe prin arhivarea acestora într-un folder purtând numele ID-ului de client.

Acestă operaţie este executată cu ajutorul următorului cod sursă:<head><title>Arhivare electronica</title> <!-- SETAREA TITLULUI DE PAGINA --><!-- INCLUDEREA STILURILOR CSS DE TRANSPARENTA A BUTOANELO--><link rel="stylesheet" type="text/css" href="../fisiere_css/focus.css"

media="screen"/></head><body><?phpsession_start();$a=$_SESSION["arhiva"];<!-- LOCATIA UNDE SE VOR SALVA DOCUMENTELE--> $updir = 'ArhivaElectronica/Clienti/';<!-- MARIMEA MAXIMA A UNU DOCUMENT IN MB --> $max_size = 500; <!-- TIPURILE DE EXTENSI PERMISE --> $allowtype = array('doc', 'docx', 'xls', 'xlsx', 'bmp', 'flv', 'gif',

'jpg', 'jpeg', 'mp3', 'pdf', 'png', 'rar', 'zip');$rezultat = array(); if (!is_dir($updir.$a)) mkdir($updir.$a, 0777);if (isset($_FILES['file_up'])) { for($f=0; $f<count($_FILES['file_up']['name']); $f++) { $nume_f = $_FILES['file_up']['name'][$f]; if (strlen($nume_f)>3) { $type = end(explode('.', strtolower($nume_f))); if (in_array($type, $allowtype)) {

58

Page 59: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

if ($_FILES['file_up']['size'][$f]<=$max_size*1000) {

59

Page 60: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

if ($_FILES['file_up']['error'][$f]==0) { $thefile = $updir.$a . '/'. $nume_f; if (!move_uploaded_file ($_FILES['file_up']

['tmp_name'][$f], $thefile)) { $rezultat[$f] = ' Fisierul '. $nume_f. ' nu a

putut fi copiat, incercati din nou'; } else { $rezultat[$f] = '<b>'.$nume_f.'</b>'; } } } else { $rezultat[$f] = 'Fisierul <b>'. $nume_f. '</b>

depaseste marimea permisa de maxim <i>'. $max_size. 'KB</i>'; } } else { $rezultat[$f] = 'Fisierul <b>'. $nume_f. '</b> nu are

tipul de extensie permis'; } } } $_SESSION['rezultat'] = implode('<br />', $rezultat); header('Location: '. basename($_SERVER['PHP_SELF']). '?re=up');}?><!-- CREAREA FORMULARULUI HTML --> <div align="center"><fieldset id="incarca_documente" style="background: #FCF"><legend><span style="color:#03F; font-size:18px; font:'Times New Roman',

Times, serif;"><b>Incarca documente:</b></span></legend><!-- Formularul cu mai multe campuri pt. upload --><form id="uploadform" action="<?php echo basename($_SERVER['PHP_SELF']); ?

>" method="post" enctype="multipart/form-data"><table> <tr> <td> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /><br /> <input type="file" class="file_up" name="file_up[]" /> </td> </tr> <tr> <td height="50"> <table width="100%"> <tr> <td align="center"><input type="submit" value=" Incarca "

id="submit" class="image"/></td> <td align="center"><input type="button" value=" Inchide "

onclick="self.close();" class="image"/></td> </tr></table> </td> </tr> <tr> <td>

60

Page 61: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<?php if (isset($_GET['re']) && isset($_SESSION['rezultat'])) {

echo '<h4>Fisiere incarcate:</h4>'. $_SESSION['rezultat']; unset($_SESSION['rezultat']);

}?>

</td> </tr></table> </form></fieldset></div></body></html>

3.7. Descrierea rapoartelor de bază

Deoarece principalul rol al acestei aplicaţii este acela de evidenţiere al tuturor datelor ce sunt introduse în acest sistem, în continuare vă voi prezenta câteva dintre cele mai importante rapoarte pe care acest sistem este capabil să le genereze.

3.7.1. Raportare - listă clienţi

Acest raport este generat cu ajutorul funcţiei while şi printat (afişat) cu ajutorul limbajului PHP sub formă de tabel.

61

Page 62: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Codul sursă al acestui raport este după cum urmează:

<?php // INITIALIZAREA ERORILOR DIN PAGINAini_set('display_errors','On'); error_reporting(-1);

?><?php // INCLUDEREA SESIUNII DE AUTENTIFICAREinclude ("../../sesiune.php");// INCLUDEREA CONEXIUNII CU BAZA DE DATEinclude ("../../functi_php/conexiune.php");?> <!-- INCLUDEREA JUNCTIEI JAVASCRIPT DE REDIRECTARE --> <script type="text/javascript"

src="../../functi_js/redirectare_pagina.js"></script><!-- INCLUDERE STILURI CSS PENTRU FOCUS A IMAGINILOR --> <link rel="stylesheet" type="text/css" href="../../fisiere_css/focus.css"

media="screen"/><!-- INCLUDERE STILURI CSS DE AFISARE A PAGINII --> <link rel="stylesheet" type="text/css"

href="../../fisiere_css/aspecte_paginare.css"/><head><title>Lista clienti</title> <!-- SETARE TITLU PAGINA --> </head><body> <!-- ANTETUL PAGINI TIP TABEL HTML --> <table width="100%" background="/imagini/fundal_antet_formulare.png" > <tr> <td width="50" height="50"><img src="/iconite/raport1.png" width="50"

height="50" align="left"/> </td> <td><div align="center"><span style="color:#000 font-family:'Times New

Roman', Times, serif; font-size:36px;"><b>Lista clienti</b></span></div></td>

<td><div align="center"><img src="/butoane/close.jpg" width="30" height="30" onclick="redirectare('/utilizator.php');" title="Inchide"/></div></td>

</tr></table><br/>

<?php$a=1; // INITIALIZAREA NUMARULUI CURENT

//INTEROGARE MS SQL$interogare="select cl.idclient as [id],pf.Nume +' '+pf.Prenume as [pf], pj.DenumirePj as [pj],pj.CUI as [cui],pf.CNP as [cnp],pf.sex as [sex],CONVERT(char(11), pf.DataNasterii, 106) as [na],pf.LocMunca as [munca],pf.Functie as [functie],pj.CodCAEN as [caen],pj.RegCom as [reg],pj.PersoanaContactPj as [pc],cl.Judet as [jud],cl.Localitate as [loc],cl.Sector as [sect],cl.Numar as [nr],cl.Etaj as [et],

62

Page 63: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

63

Page 64: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

cl.Apartament as [ap],cl.Telefon1 as [t1],cl.Telefon2 as [t2],cl.Mail as [m],cl.Fax as [f],pj.BancaPJ as [b],pj.IBAN as [i]

FROM

dbo.Clienti AS cl full JOINdbo.PJuridica AS pj ON cl.idclient = pj.idclient full JOINdbo.PFizica AS pf ON cl.idclient = pf.idclient order by Telefon2";$rezultat = mssql_query($interogare);while ($row = mssql_fetch_assoc($rezultat))

{ $var_1 = $row['id'];$var_2 = $row['pf'];$var_3 = $row['pj'];$var_4 = $row['cui'];$var_5 = $row['cnp'];$var_6 = $row['sex'];$var_7 = $row['na'];$var_8 = $row['munca'];$var_9 = $row['functie'];$var_10 = $row['caen'];$var_11 = $row['reg'];$var_12 = $row['pc'];$var_13 = $row['jud'];$var_14 = $row['loc'];$var_15 = $row['sect'];$var_16 = $row['nr'];$var_17 = $row['et'];$var_18 = $row['ap'];$var_19 = $row['t1'];$var_20 = $row['t2'];$var_21 = $row['m'];$var_22 = $row['f'];$var_23 = $row['b'];$var_24 = $row['i'];

echo '<div style="border:solid; border-color:#000;"><fieldset><legend> |||||Nr.ctr: <strong>'.$a++.'</strong>|||||

Client: <strong>'.$var_3.' '.$var_2.' ||||| CNP/CUI: '.$var_4.' '.$var_5.' ||||| ID client: '.$var_1.' |||||</strong></legend>

<table width="100%" border="0"> <tr> <td rowspan="2" colspan="2" width="25%"><fieldset><legend>Date de

contact</legend>Telefon1: '.$var_19.' <br/> Telefon2: '.$var_20.' <br/> Mail: '.$var_21.' <br/> Fax: '.$var_22.'<br/>Persoana: '.$var_12.'<br/></fieldset></td>

<td>Data nasterii/RegCom: '.$var_7.' '.$var_11.' <br/>CAEN:'.$var_10.'

<br/>Cont banca: '.$var_23.'</td> <td colspan="5">Loc de munca: '.$var_8.' <BR/>Functie: '.$var_9.'

<BR/>IBAN: '.$var_24.'</td> </tr> <tr>

64

Page 65: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td colspan="7"><fieldset><legend>Adresa:</legend>Judet: '.$var_13.', Localitate: '.$var_14.', Sector: '.$var_15.', Numar: '.$var_16.', Etaj: '.$var_17.', Apartament: '.$var_18.'</fieldset></td>

</tr></table>

</fildset></div>

';}

?></fildset></body></html>

3.7.2. Raportare - polite emise pe o perioada de timp

Acest raport permite extragerea din baza de date a poliţelor ce au data de început (data emiterii) cuprinsă în intervalul de timp setat cu ajutorul celor două câmpuri text aferente calendarului JavaScript.

De exemplu în cazul imagini de mai sus am selectat perioada 1 Mai 2012 - 31 Mai 2012, iar la acţionarea butonului submit (Afişază) mi-au fost returnate cu ajutorul lui select cele două poliţe emise conform selecţiei ordonate după data emiteri.

Codul sursă al acestui formular este după cum urmează:<?php // INITIALIZAREA ERORILOR DIN PAGINA

ini_set('display_errors','On'); error_reporting(-1);

?>

65

Page 66: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<?php // INCLUDEREA SESIUNII DE AUTENTIFICAREinclude ("../../sesiune.php");// INCLUDEREA CONEXIUNII CU BAZA DE DATEinclude ("../../functi_php/conexiune.php");?> <!-- INCLUDEREA JUNCTIEI JAVASCRIPT DE REDIRECTARE --> <script type="text/javascript"

src="../../functi_js/redirectare_pagina.js"></script><!-- INCLUDERE STILURI CSS PENTRU FOCUS A IMAGINILOR --> <link rel="stylesheet" type="text/css" href="../../fisiere_css/focus.css"

media="screen"/><script type="text/javascript" src="../../functi_js/calendar.js"></script>

<!-- INCLUDERE STILURI CSS PENTRU AFISAREAA CALENDARULUI --> <link rel="stylesheet" type="text/css" href="../../functi_js/calendar.js"

media="screen"/><!-- INCLUDERE STILURI CSS PENTRU ASPECTUL DE PAGINARE --> <link rel="stylesheet" type="text/css"

href="../../fisiere_css/aspecte_paginare.css"/><head><title>Polite emise</title><!-- SETAREA TITLULUI DE PAGINA --></head><body><!-- SETAREA ANTETULUI DE PAGINA SUB FORMA DE TABEL HTML --> <table width="100%" background="/imagini/fundal_antet_formulare.png" > <tr> <td width="50" height="50"><img src="/iconite/raport1.png" width="50"

height="50" align="left"/> </td> <td><div align="center"><span style="color:#000 font-family:'Times New

Roman', Times, serif; font-size:36px;"><b>Polite emise</b></span></div></td> <td><div align="center"><img src="/butoane/close.jpg" width="30"

height="30" onclick="redirectare('/utilizator.php');" title="Inchide"/></div></td>

</tr></table><br/><fieldset><legend><b> Selectati perioada de raportare dorita </b> </legend><form action="polite_emise.php" method="post"><!-- CREAREA FORMULARULUI HTML --> <table width="100%" border="0"> <tr> <td><b>Data de inceput</b> <INPUT name="DataInceput" size="15" style="font-weight:bold;" /> <img src="/butoane/calendar.png" width="25" height="25"

onClick="toggleCalendar('DataInceput'); redirectare('JavaScript:')"/></td> <td><b>Data de sfarsit</b> <INPUT name="DataSfarsit" size="15" style="font-weight:bold;"/> <img src="/butoane/calendar.png" width="25" height="25"

onClick="toggleCalendar('DataSfarsit'); redirectare('JavaScript:')"/><table bgcolor=#ffffff border=1 cellpadding=0 cellspacing=3 id=calendar

style="display: none; position: absolute; z-index: 4" > <tbody> <tr> <td colspan=7 valign=center>

<!-- month combo box --><select id=month onchange=newcalendar()>

<script language=javascript>// output months into the document.// select current month.for (var intloop = 0; intloop < months.length; intloop++)

66

Page 67: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

document.write("<option " + (today.month == intloop ? "selected" : "") + ">" + months[intloop]);

</script></select> <!-- year combo box --><select id=year onchange=newcalendar()>

<script language=javascript>// output years into the document.// select current year.for (var intloop = 1900; intloop < 2101; intloop++)

document.write("<option " + (today.year == intloop ? "selected" : "") + ">" + intloop);

</script></select>

</td> </tr> <tr class=days>

<!-- generate column for each day. --> <script language=javascript>

// output days.for (var intloop = 0; intloop < days.length; intloop++)

document.write("<td>" + days[intloop] + "</td>");</script>

</tr> <tbody class=dates id=daylist onclick="getdate('')" valign=center> <!-- generate grid for individual days. --> <script language=javascript>

for (var intweeks = 0; intweeks < 6; intweeks++){

document.write("<tr>");for (var intdays = 0; intdays < days.length; intdays++)

document.write("<td></td>");document.write("</tr>");

} </script>

<!-- generate today day. --></tbody> <tbody> <tr> <td class=today colspan=5 id=todayday onclick=gettodayday()></td> <td align=right colspan=2><a href="javascript:hidecalendar();"><span

style="color: black; font-size: 15px"><b>hide</b></span></a></td> </tr> </tbody></table></td> <td><input type="submit" value=" Afiseaza "/></td> </tr></table></form><?php //PRELUAREA CELOR DOUA CAMPURI

$DataInceput = $_POST['DataInceput'];$DataSfarsit = $_POST['DataSfarsit'];$a=1; // INITIALIZAREA NUMARULUI CURENT CU VALOAREA 1// PRINTAREA CAPULUI DE TABEL

echo '<table width="100%" bgcolor="#333399"> <tr>

<td align="center" width="43" style="font-size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Nr. <br/> ctr.</td>

67

Page 68: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td align="center" width="103" style="font-size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Polita <br/> Serie/Nr.</td>

<td align="center" width="123" style="font-size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Companie</td>

<td width="143" align="center" style="font-size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Asigurat</td>

<td width="93" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Telefon</td>

<td width="68" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Data emiteri</td>

<td width="68" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Data de inceput</td>

<td width="68" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Data expirari</td>

<td width="53" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Prima incasata</td>

<td width="53" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Moneda</td>

<td width="" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Agent</td>

</tr></table>';

//INTEROGARE MS SQL$interogare="

select polita.idPolita AS [ID polita],polita.SeriePolita AS [Serie polita],polita.NrPolita AS [Numar polita], asigurare.TipAsigurare AS [Tip asigurare],dbo.Sucursala.Denumire AS [Firma emitenta], clientpf.Nume +' '+ clientpf.Prenume AS [Client PF],clientpj.DenumirePj AS [Client PJ],CONVERT(char(11), polita.DataPolita, 103) AS [Data Polita], CONVERT(char(11), polita.DataInceput, 103) AS [Data inceput],CONVERT(char(11), polita.DataSfarsit, 103) AS [Data Sfarsit],polita.ValoarePolita AS [Prima incasata],polita.Moneda AS [Moneda], agent.NumeAg +' '+ agent.PrenumeAg AS Agent,client.Telefon1 AS Telefon1, client.Telefon2 AS Telefon2,detali.NrInmatriculare AS [Nr auto], detali.SerieSasiu AS [Sasiu],detali.CapacitateCilindrica AS [Cilindri],detali.PutereMotor AS [Putere], detali.NRLocuri AS [Locuri],detali.Tonaj AS [Masa],detali.AnFabricatie AS [An fabricatie], detali.CIV AS [Serie CIV], detali.Categorie AS [Categorie], detali.Marca AS [Marca si model], detali.Culoare AS [Culoare], detali.Vigneta AS [Vigneta],

68

Page 69: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

detali.MentiuniSpecAuto AS [Mentiuni]

FROMdbo.Agent AS agent INNER JOINdbo.Polita AS polita ON agent.IdAgent = polita.idAgent FULL JOINdbo.PolitaAuto AS detali ON polita.idPolita = detali.idPolita FULL JOINdbo.Asigurari AS asigurare ON asigurare.idAsig = polita.idAsig FULL JOINdbo.PVIPolite AS pv ON polita.idPviPolite = pv.idPVIPolite FULL JOIN

dbo.Sucursala ON pv.idSucursala = dbo.Sucursala.idSucursala FULL JOINdbo.FirmaAsigurare ON dbo.Sucursala.idFAsig = dbo.FirmaAsigurare.idFAsig

FULL JOINdbo.Clienti AS client ON polita.idClient = client.idClient FULL JOINdbo.PJuridica AS clientpj ON polita.idClient = clientpj.idClient FULL JOINdbo.PFizica AS clientpf ON polita.idClient = clientpf.idClient

where polita.DataPolita between '".$DataInceput."' and '".$DataSfarsit."'and polita.DataAnulare is null ORDER BY DataPolita";

$rezultat = mssql_query($interogare);while ($row = mssql_fetch_assoc($rezultat))

{ $var_2 = $row['Serie polita'].'<br>';$var_3 = $row['Numar polita'].'<br>';$var_4 = $row['Tip asigurare'].'<br>';$var_5 = $row['Firma emitenta'];$var_6 = $row['Client PF'];$var_7 = $row['Client PJ'];$var_8 = $row['Data Polita'];$var_9 = $row['Data inceput'];$var_10 = $row['Data Sfarsit'];$var_11 = $row['Prima incasata'];$var_12 = $row['Moneda'];$var_13 = $row['Agent'];$var_14 = $row['Telefon1'];$var_15 = $row['Telefon2'];$var_16 = $row['Nr auto'];$var_17 = $row['Sasiu'];$var_1 = $row['Cilindri'];$var_18 = $row['Putere'];$var_19 = $row['Locuri'];$var_20 = $row['Masa'];$var_21 = $row['An fabricatie'];$var_22 = $row['Serie CIV'];$var_23 = $row['Categorie'];$var_24 = $row['Marca si model'];$var_25 = $row['Culoare'];$var_26 = $row['Vigneta'];$var_27 = $row['Mentiuni'];

// PRINTARE VALORI SUB FORMA DE TABEL PHPecho '<div style="border:solid; border-color:#000;">

<table width="100%" border="1" bgcolor="#9999CC"> <tr >

<td width="40" align="center" style="font-size:14px; font-weight:bold;">'.$a++.'</td>

<td width="100" align="center" style="font-

size:12px; font-weight:bold;">'.$var_2.' '.$var_3.'</td>

69

Page 70: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td width="120" style="font-size:12px; font-weight:bold;"><div align="left">'.$var_4.' '.$var_5.'</div></td>

<td width="140" style="font-size:12px; font-

weight:bold;"><div align="left">'.$var_6.' '.$var_7.'</div></td>

<td width="90" align="center" style="font-

size:12px; font-weight:bold;">'.$var_14.' '.$var_15.'</td>

<td width="65" align="center" style="font-size:12px;

font-weight:bold;">'.$var_8.'</td>

<td width="65" align="center" style="font-size:12px; font-weight:bold;">'.$var_9.'</td>

<td width="65" align="center" style="font-size:12px;

font-weight:bold;">'.$var_10.'</td>

<td width="50" align="right" style="font-size:12px; font-weight:bold;">'.$var_11.'</td>

<td width="50" align="center" style="font-size:12px;

font-weight:bold;">'.$var_12.'</td><td width="" align="center" style="font-size:12px;

font-weight:bold;">'.$var_13.'</td> </tr> <tr> <td colspan="11" > <fieldset> <legend><strong>Detalii auto</strong></legend> <table width="100%" bgcolor="#9999CC" >

<tr> <td style="font-size:12px; font-weight:bold;">Nr auto: <input

type="text" style="font-size:12px; font-weight:bold;" size="7" value="'.$var_16.'"/></td>

<td style="font-size:12px; font-weight:bold;">Sasiu: <input type="text" style="font-size:12px; font-weight:bold;" size="20" value="'.$var_17.'"/></td>

<td style="font-size:12px; font-weight:bold;">Cilindri: <input type="text" style="font-size:12px; font-weight:bold;" size="25" value="'.$var_1.'"/></td>

<td style="font-size:12px; font-weight:bold;">Putere: <input type="text" style="font-size:12px; font-weight:bold;" size="10" value="'.$var_18.'"/></td>

<td style="font-size:12px; font-weight:bold;">Nr locuri: <input type="text" style="font-size:12px; font-weight:bold;" size="8" value="'.$var_19.'"/></td>

<td style="font-size:12px; font-weight:bold;">Masa: <input type="text" style="font-size:12px; font-weight:bold;" size="12" value="'.$var_20.'"/></td>

<td style="font-size:12px; font-weight:bold;">An fab: <input type="text" style="font-size:12px; font-weight:bold;" size="12" value="'.$var_21.'"/></td>

</tr> <tr>

70

Page 71: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td style="font-size:12px; font-weight:bold;">Serie CIV: <input type="text" style="font-size:12px; font-weight:bold;" size="7" value="'.$var_22.'"/></td>

<td style="font-size:12px; font-weight:bold;">Categorie: <input type="text" style="font-size:12px; font-weight:bold;" size="20" value="'.$var_23.'"/></td>

<td style="font-size:12px; font-weight:bold;">Marca si model: <input type="text" style="font-size:12px; font-weight:bold;" size="25" value="'.$var_24.'"/></td>

<td style="font-size:12px; font-weight:bold;">Culoare: <input type="text" style="font-size:12px; font-weight:bold;" size="10" value="'.$var_25.'"/></td>

<td style="font-size:12px; font-weight:bold;">Vigneta: <input type="text" style="font-size:12px; font-weight:bold;" size="8" value="'.$var_26.'"/></td>

<td style="font-size:12px; font-weight:bold;" colspan="3">Mentiuni:<input type="text" style="font-size:12px; font-weight:bold;" size="31" value="'.$var_27.'"/></td>

</tr></table></fieldset></td> </tr></table></div>';

}?>

</fildset>

</body></html>

3.7.3. Raportare - poliţe care expiră pe o perioadă de timp

71

Page 72: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Acest raport este capabil să extragă din baza de date poliţele care expiră într-o perioadă de timp. De exemplu în imaginea de mai sus pentru perioada 1 Mai 2013 - 31 Mai 2013 la acţionarea butonului submit (Afişază) cu ajutorul lui select afişază poliţele a căror dată de sfârşit (data expirării) este cuprinsă în intervalul menţionat.

Acest lucru este posibil cu ajutorul codului sursă după cum urmează:

<?php // SETAREA SESIUNII DE AUTENTIFICAREinclude ("../../sesiune.php");?>// SETAREA CONEXIUNII LA BAZA DE DATE SQL<?phpinclude ("../../functi_php/conexiune.php");?> <script type="text/javascript"

src="../../functi_js/redirectare_pagina.js"></script><script type="text/javascript" src="../../functi_js/calendar.js"></script><link rel="stylesheet" type="text/css" href="../../functi_js/calendar.js"

media="screen"/><link rel="stylesheet" type="text/css" href="../../fisiere_css/focus.css"

media="screen"/><link rel="stylesheet" type="text/css"

href="../../fisiere_css/aspecte_paginare.css"/><head><title>Expirari</title></head><body><table width="100%" background="/imagini/fundal_antet_formulare.png" > <tr> <td width="50" height="50"><img src="/iconite/raport1.png" width="50"

height="50" align="left"/> </td> <td><div align="center"><span style="color:#000 font-family:'Times New

Roman', Times, serif; font-size:36px;"><b>Expirari</b></span></div></td> <td><div align="center"><img src="/butoane/close.jpg" width="30"

height="30" onclick="redirectare('/utilizator.php');" title="Inchide"/></div></td>

</tr></table><br/><fieldset><legend><b> Selectati perioada de raportare dorita </b> </legend><form action="expirari.php" method="post"><table width="100%" border="0"> <tr> <td><b>Data de inceput</b> <input name="datainceput" size="15" style="font-weight:bold;" /> <img src="/butoane/calendar.png" width="25" height="25"

onclick="togglecalendar('datainceput'); redirectare('javascript:')"/></td> <td><b>data de sfarsit</b> <input name="datasfarsit" size="15" style="font-weight:bold;"/> <img src="/butoane/calendar.png" width="25" height="25"

onclick="togglecalendar('datasfarsit'); redirectare('javascript:')"/><table bgcolor=#ffffff border=1 cellpadding=0 cellspacing=3 id=calendar

style="display: none; position: absolute; z-index: 4" > <tbody> <tr> <td colspan=7 valign=center>

<!-- month combo box --><select id=month onchange=newcalendar()>

72

Page 73: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<script language=javascript>// output months into the document.// select current month.for (var intloop = 0; intloop < months.length; intloop++)document.write("<option " + (today.month == intloop ?

"selected" : "") + ">" + months[intloop]);</script>

</select> <!-- year combo box --><select id=year onchange=newcalendar()>

<script language=javascript>// output years into the document.// select current year.for (var intloop = 1900; intloop < 2101; intloop++)

document.write("<option " + (today.year == intloop ? "selected" : "") + ">" + intloop);

</script></select> </td>

</tr> <tr class=days>

<!-- generate column for each day. --> <script language=javascript>

// output days.for (var intloop = 0; intloop < days.length; intloop++)

document.write("<td>" + days[intloop] + "</td>");</script>

</tr> <tbody class=dates id=daylist onclick="getdate('')" valign=center> <!-- generate grid for individual days. --> <script language=javascript>

for (var intweeks = 0; intweeks < 6; intweeks++){

document.write("<tr>");for (var intdays = 0; intdays < days.length; intdays++)document.write("<td></td>");document.write("</tr>");

} </script> <!-- generate today day. --></tbody> <tbody> <tr> <td class=today colspan=5 id=todayday onclick=gettodayday()></td> <td align=right colspan=2><a href="javascript:hidecalendar();"><span

style="color: black; font-size: 15px"><b>hide</b></span></a></td> </tr> </tbody></table></td> <td><input type="submit" value=" Afiseaza "/></td> </tr></table></form><?php$DataInceput = $_POST['DataInceput'];$DataSfarsit = $_POST['DataSfarsit'];$a=1;

echo '<table width="100%" bgcolor="#333399"> <tr><td align="center" width="43" style="font-

size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Nr. <br/> ctr.</td>

73

Page 74: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td align="center" width="103" style="font-size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Polita <br/> Serie/Nr.</td>

<td align="center" width="123" style="font-size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Companie</td>

<td width="143" align="center" style="font-size:14px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Asigurat</td>

<td width="93" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Telefon</td>

<td width="68" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Data emiteri</td>

<td width="68" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Data de inceput</td>

<td width="68" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Data expirari</td>

<td width="53" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Prima incasata</td>

<td width="53" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Moneda</td>

<td width="" align="center" style="font-size:13px; font-weight:bold; font:Verdana, Geneva, sans-serif; color:#FFF">Agent</td>

</tr></table>';//INTEROGARE MS SQL$interogare="

select polita.idPolita AS [ID polita],polita.SeriePolita AS [Serie polita],polita.NrPolita AS [Numar polita], asigurare.TipAsigurare AS [Tip asigurare], dbo.Sucursala.Denumire AS [Firma emitenta], clientpf.Nume +' '+ clientpf.Prenume AS [Client PF],clientpj.DenumirePj AS [Client PJ],CONVERT(char(11), polita.DataPolita, 103) AS [Data Polita], CONVERT(char(11), polita.DataInceput, 103) AS [Data inceput],CONVERT(char(11), polita.DataSfarsit, 103) AS [Data Sfarsit],polita.ValoarePolita AS [Prima incasata],polita.Moneda AS [Moneda], agent.NumeAg +' '+ agent.PrenumeAg AS Agent,client.Telefon1 AS Telefon1, client.Telefon2 AS Telefon2,detali.NrInmatriculare AS [Nr auto], detali.SerieSasiu AS [Sasiu],detali.CapacitateCilindrica AS [Cilindri],detali.PutereMotor AS [Putere], detali.NRLocuri AS [Locuri],detali.Tonaj AS [Masa],detali.AnFabricatie AS [An fabricatie], detali.CIV AS [Serie CIV], detali.Categorie AS [Categorie], detali.Marca AS [Marca si model], detali.Culoare AS [Culoare], detali.Vigneta AS [Vigneta], detali.MentiuniSpecAuto AS [Mentiuni] FROM

74

Page 75: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

dbo.Agent AS agent INNER JOINdbo.Polita AS polita ON agent.IdAgent = polita.idAgent full JOINdbo.PolitaAuto AS detali ON polita.idPolita = detali.idPolita full JOINdbo.Asigurari AS asigurare ON asigurare.idAsig = polita.idAsig full JOINdbo.PVIPolite AS pv ON polita.idPviPolite = pv.idPVIPolite full JOINdbo.Sucursala ON pv.idSucursala = dbo.Sucursala.idSucursala full JOINdbo.FirmaAsigurare ON dbo.Sucursala.idFAsig = dbo.FirmaAsigurare.idFAsig

full JOINdbo.Clienti AS client ON polita.idClient = client.idClient full JOINdbo.PJuridica AS clientpj ON polita.idClient = clientpj.idClient full JOINdbo.PFizica AS clientpf ON polita.idClient = clientpf.idClient

where polita.DataSfarsit between '".$DataInceput."' and '".$DataSfarsit."'and polita.DataAnulare is null ORDER BY DataSfarsit";$rezultat = mssql_query($interogare);while ($row = mssql_fetch_assoc($rezultat))

{ $var_2 = $row['Serie polita'].'<br>';$var_3 = $row['Numar polita'].'<br>';$var_4 = $row['Tip asigurare'].'<br>';$var_5 = $row['Firma emitenta'];$var_6 = $row['Client PF'];$var_7 = $row['Client PJ'];$var_8 = $row['Data Polita'];$var_9 = $row['Data inceput'];$var_10 = $row['Data Sfarsit'];$var_11 = $row['Prima incasata'];$var_12 = $row['Moneda'];$var_13 = $row['Agent'];$var_14 = $row['Telefon1'];$var_15 = $row['Telefon2'];$var_16 = $row['Nr auto'];$var_17 = $row['Sasiu'];$var_1 = $row['Cilindri'];$var_18 = $row['Putere'];$var_19 = $row['Locuri'];$var_20 = $row['Masa'];$var_21 = $row['An fabricatie'];$var_22 = $row['Serie CIV'];$var_23 = $row['Categorie'];$var_24 = $row['Marca si model'];$var_25 = $row['Culoare'];$var_26 = $row['Vigneta'];$var_27 = $row['Mentiuni'];echo '<div style="border:solid; border-color:#000;">

<table width="100%" border="1" bgcolor="#9999CC"> <tr >

<td width="40" align="center" style="font-size:14px; font-weight:bold;">'.$a++.'</td>

<td width="100" align="center" style="font-size:12px; font-weight:bold;">'.$var_2.' '.$var_3.'</td>

<td width="120" style="font-size:12px; font-weight:bold;"><div align="left">'.$var_4.' '.$var_5.'</div></td>

<td width="140" style="font-size:12px; font-weight:bold;"><div align="left">'.$var_6.' '.$var_7.'</div></td>

<td width="90" align="center" style="font-size:12px; font-weight:bold;">'.$var_14.' '.$var_15.'</td>

<td width="65" align="center" style="font-size:12px; font-weight:bold;">'.$var_8.'</td>

<td width="65" align="center" style="font-size:12px; font-weight:bold;">'.$var_9.'</td>

75

Page 76: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td width="65" align="center" style="font-size:12px; font-weight:bold;">'.$var_10.'</td>

<td width="50" align="right" style="font-size:12px; font-weight:bold;">'.$var_11.'</td>

<td width="50" align="center" style="font-size:12px; font-weight:bold;">'.$var_12.'</td>

<td width="" align="center" style="font-size:12px; font-weight:bold;">'.$var_13.'</td>

</tr> <tr> <td colspan="11" > <fieldset> <legend><strong>Detalii auto</strong></legend> <table width="100%" bgcolor="#9999CC" >

<tr> <td style="font-size:12px; font-weight:bold;">Nr auto: <input

type="text" style="font-size:12px; font-weight:bold;" size="7" value="'.$var_16.'"/></td>

<td style="font-size:12px; font-weight:bold;">Sasiu: <input type="text" style="font-size:12px; font-weight:bold;" size="20" value="'.$var_17.'"/></td>

<td style="font-size:12px; font-weight:bold;">Cilindri: <input type="text" style="font-size:12px; font-weight:bold;" size="25" value="'.$var_1.'"/></td>

<td style="font-size:12px; font-weight:bold;">Putere: <input type="text" style="font-size:12px; font-weight:bold;" size="10" value="'.$var_18.'"/></td>

<td style="font-size:12px; font-weight:bold;">Nr locuri: <input type="text" style="font-size:12px; font-weight:bold;" size="8" value="'.$var_19.'"/></td>

<td style="font-size:12px; font-weight:bold;">Masa: <input type="text" style="font-size:12px; font-weight:bold;" size="12" value="'.$var_20.'"/></td>

<td style="font-size:12px; font-weight:bold;">An fab: <input type="text" style="font-size:12px; font-weight:bold;" size="12" value="'.$var_21.'"/></td>

</tr> <tr> <td style="font-size:12px; font-weight:bold;">Serie CIV: <input

type="text" style="font-size:12px; font-weight:bold;" size="7" value="'.$var_22.'"/></td>

<td style="font-size:12px; font-weight:bold;">Categorie: <input type="text" style="font-size:12px; font-weight:bold;" size="20" value="'.$var_23.'"/></td>

<td style="font-size:12px; font-weight:bold;">Marca si model: <input type="text" style="font-size:12px; font-weight:bold;" size="25" value="'.$var_24.'"/></td>

<td style="font-size:12px; font-weight:bold;">Culoare: <input type="text" style="font-size:12px; font-weight:bold;" size="10" value="'.$var_25.'"/></td>

<td style="font-size:12px; font-weight:bold;">Vigneta: <input type="text" style="font-size:12px; font-weight:bold;" size="8" value="'.$var_26.'"/></td>

<td style="font-size:12px; font-weight:bold;" colspan="3">Mentiuni:<input type="text" style="font-size:12px; font-weight:bold;" size="31" value="'.$var_27.'"/></td>

</tr></table></fieldset></td> </tr>

76

Page 77: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

</table></div>';

}?>

</fildset></body></html>

77

Page 78: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

3.7.4. Raportare - polite anulate pe o perioada de timp

Acest raport este capabil să-mi întoarcă poliţele anulate, aflate în baza de date.Acest lucru este posibil cu ajutorul următorului cod sursa:

<?php // INCLUDERE SESIUNE DE AUTENTIFICAREinclude ("../../sesiune.php");?><?php // INCLUDERE CONEXIULE LA MSSQLinclude ("../../functi_php/conexiune.php");?>

<script type="text/javascript" src="../../functi_js/redirectare_pagina.js"></script>

<script type="text/javascript" src="../../functi_js/calendar.js"></script><link rel="stylesheet" type="text/css" href="../../functi_js/calendar.js"

media="screen"/><link rel="stylesheet" type="text/css" href="../../fisiere_css/focus.css"

media="screen"/><link rel="stylesheet" type="text/css"

href="../../fisiere_css/aspecte_paginare.css"/><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Polite anulate</title></head><body><table width="100%" background="/imagini/fundal_antet_formulare.png" > <tr> <td width="50" height="50"><img src="/iconite/raport1.png" width="50"

height="50" align="left"/> </td>

78

Page 79: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

<td><div align="center"><span style="color:#000 font-family:'Times New Roman', Times, serif; font-size:36px;"><b>Polite anulate</b></span></div></td>

<td><div align="center"><img src="/butoane/close.jpg" width="30" height="30" onclick="redirectare('/afisare_date.php');" title="Inchide"/></div></td>

</tr></table><br/><fieldset><legend><b> Selectati perioada de raportare dorita </b> </legend><form action="polite_anulate.php" method="post"><table width="100%" border="0"> <tr> <td><b>Data de inceput</b> <input name="datainceput" size="15" style="font-weight:bold;" /> <img src="/butoane/calendar.png" width="25" height="25"

onclick="togglecalendar('datainceput'); redirectare('javascript:')"/></td> <td><b>data de sfarsit</b> <input name="datasfarsit" size="15" style="font-weight:bold;"/> <img src="/butoane/calendar.png" width="25" height="25"

onclick="togglecalendar('datasfarsit'); redirectare('javascript:')"/><table bgcolor=#ffffff border=1 cellpadding=0 cellspacing=3 id=calendar

style="display: none; position: absolute; z-index: 4" > <tbody> <tr> <td colspan=7 valign=center>

<!-- month combo box --><select id=month onchange=newcalendar()>

<script language=javascript>// output months into the document.// select current month.for (var intloop = 0; intloop < months.length; intloop++)

document.write("<option " + (today.month == intloop ? "selected" : "") + ">" + months[intloop]);

</script></select> <!-- year combo box --><select id=year onchange=newcalendar()>

<script language=javascript>// output years into the document.// select current year.for (var intloop = 1900; intloop < 2101; intloop++)

document.write("<option " + (today.year == intloop ? "selected" : "") + ">" + intloop);

</script></select> </td>

</tr> <tr class=days>

<!-- generate column for each day. --> <script language=javascript>

// output days.for (var intloop = 0; intloop < days.length; intloop++)

document.write("<td>" + days[intloop] + "</td>");</script>

</tr> <tbody class=dates id=daylist onclick="getdate('')" valign=center> <!-- generate grid for individual days. --> <script language=javascript>

for (var intweeks = 0; intweeks < 6; intweeks++)

79

Page 80: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

{document.write("<tr>");for (var intdays = 0; intdays < days.length; intdays++)document.write("<td></td>");document.write("</tr>");

} </script> <!-- generate today day. --></tbody> <tbody> <tr> <td class=today colspan=5 id=todayday onclick=gettodayday()></td> <td align=right colspan=2><a href="javascript:hidecalendar();"><span

style="color: black; font-size: 15px"><b>hide</b></span></a></td> </tr> </tbody></table></td> <td ><input type="submit" value=" Afiseaza "/></td> </tr></table></form><?php$DataInceput = $_POST['DataInceput'];$DataSfarsit = $_POST['DataSfarsit'];

echo '<table width="100%" border="0" bgcolor="#333399"> <tr>

<td align="center" width="40" style="font-size:14px; font-weight:bold;">Serie polita</td>

<td align="center" width="80" style="font-size:14px; font-weight:bold;">Numar Polita</td>

<td align="center" width="150" style="font-size:14px; font-weight:bold;">Companie</td>

<td width="150" align="center" style="font-size:14px; font-weight:bold;">Asigurat</td>

<td width="60" align="center" style="font-size:13px; font-weight:bold;">Data emiteri</td>

<td width="60" align="center" style="font-size:13px; font-weight:bold;">Data de inceput</td>

<td width="60" align="center" style="font-size:13px; font-weight:bold;">Data expirari</td>

<td width="50" align="center" style="font-size:13px; font-weight:bold;">Prima incasata</td>

<td width="40" align="center" style="font-size:13px; font-weight:bold;">Moneda</td>

</tr></table>';

//INTEROGARE MS SQL$interogare="

select polita.idPolita AS [ID polita],polita.SeriePolita AS [Serie polita],polita.NrPolita AS [Numar polita], asigurare.TipAsigurare AS [Tip asigurare], dbo.Sucursala.Denumire AS [Firma emitenta], clientpf.Nume +' '+ clientpf.Nume AS [Client PF],clientpj.DenumirePj AS [Client PJ],CONVERT(char(11), polita.DataPolita, 106) AS [Data Polita], CONVERT(char(11),polita.DataInceput, 106) AS [Data inceput],CONVERT(char(11), polita.DataSfarsit, 106) AS [Data Sfarsit],polita.ValoarePolita AS [Prima incasata],polita.Moneda AS [Moneda]FROM

80

Page 81: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

dbo.Agent AS agent JOINdbo.Polita AS polita ON agent.IdAgent = polita.idAgent JOINdbo.Asigurari AS asigurare ON asigurare.idAsig = polita.idAsig JOINdbo.PVIPolite AS pv ON polita.idPviPolite = pv.idPVIPolite JOINdbo.Sucursala ON pv.idSucursala = dbo.Sucursala.idSucursala JOINdbo.FirmaAsigurare ON dbo.Sucursala.idFAsig = dbo.FirmaAsigurare.idFAsig

FULL JOINdbo.PJuridica AS clientpj ON polita.idClient = clientpj.idClient FULL

JOINdbo.PFizica AS clientpf ON polita.idClient = clientpf.idClient

where polita.DataAnulare between '".$DataInceput."' and '".$DataSfarsit."'and polita.DataAnulare is not null";$rezultat = mssql_query($interogare);while ($row = mssql_fetch_assoc($rezultat))

{ $var_2 = $row['Serie polita'];$var_3 = $row['Numar polita'];$var_4 = $row['Tip asigurare'];$var_5 = $row['Firma emitenta'];$var_6 = $row['Client PF'];$var_7 = $row['Client PJ'];$var_8 = $row['Data Polita'];$var_9 = $row['Data inceput'];$var_10 = $row['Data Sfarsit'];$var_11 = $row['Prima incasata';$var_12 = $row['Moneda'];

echo '<table width="100%" border="0"> <tr bgcolor="#9999CC" >

<td width="40" align="center" style="font-size:12px; font-weight:bold;">'.$var_2.'</td>

<td width="80" align="center" style="font-size:12px; font-weight:bold;">'.$var_3.'</td>

<td width="150" height="" style="font-size:12px; font-weight:bold;"><div align="left">'.$var_4.' '.$var_5.'</div></td>

<td width="150" height="" style="font-size:12px; font-weight:bold;"><div align="left">'.$var_6.' '.$var_7.'</div></td>

<td width="60" align="center" style="font-size:12px;

font-weight:bold;">'.$var_8.'</td><td width="60" align="center" style="font-size:12px;

font-weight:bold;">'.$var_9.'</td> <td width="60" align="center" style="font-size:12px;

font-weight:bold;">'.$var_10.'</td> <td width="50" align="right" style="font-size:12px;

font-weight:bold;">'.$var_11.'</td> <td width="40" align="center" style="font-size:12px;

font-weight:bold;">'.$var_12.'</td> </tr></table>';

}?>

</fildset></body></html>

81

Page 82: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Cpitolul 4

VALIDAREA DATELOR

4.1. Modul validare a formularelor

Validarea formularelor HTML folosite se face cu ajutorul limbajului JavaScript. De cele mai multe ori sunt folosite formularele pentru că datele introduse în acestea să fie trimise înapoi la server pentru procesare sau prin poşta electronică catre un cont de mail. Cu ajutorul limbajului JavaScript datele introduse într-un formular pot fi cu uşurinţă verificate înainte de a fi transmise, astfel putem uşura traficul şi în plus ne putem asigura că s-au trimis datele corect. De exemplu: să nu se trimită input-uri fără date în ele, sau ca o adresă de email să conţină caracterul @.

Pentru a înţelege mai bine în cele ce urmează vă voi prezenta câteva dintre validările esenţiale la nivel de formular.

4.1.1. Validarea formularului de autentificare

Pentru validarea acestui formular HTML se foloseşte următorul cod:

<!-- FUNCTIA DE VALIDARE JAVASCRIPT -->function verifica(form) {

<!-- CONDITIE DE COMPLETARE A CAMPURILOR-->if (form.nume_utilizator.value == "" & form.parola_utilizator.value ==

"") { alert("Campuri necompletate."); return false; } else if (form.nume_utilizator.value == "") { alert("Va rog introduceti numele dvs. de utilizator"); return false; } else if (form.parola_utilizator.value == "") { alert("Va rog introduceti parola dvs."); return false; } return true;}

Pentru apelarea acestei funcţii la butonul submit al formularului de autentificare se adaugă atributul onClick (onClick="return verifica(this.form);"), ce-mi returnează funcţia folosită.

Codul sursă al butonului submit:

<div align="right"><input type="image" width="150" height="40" src="/butoane/buton_conectare.png" name="submit" onClick="return verifica(this.form);" title="Conectare" class="image"/></div>

82

Page 83: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

83

Page 84: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

4.1.2. Validarea formularului de înregistrare

Pentru validarea acestui formular HTML se foloseşte următorul cod:<!-- FUNCTIA DE VALIDARE JAVASCRIPT -->function validare_inregistrare(form) {<!-- CARACTERE PERMISE -->var regx_lit = /^([a-zA-Z_ -]+)$/; <!-- LITERE SI SPATII -->var regx_num = /^([0-9]+)$/; <!-- CIFRE SI SPATII --><!-- VERIFICARE ADRESA DE EMAIL -->var regx_mail = /^([a-zA-Z0-9]+[a-zA-Z0-9._%-]*@([a-zA-Z0-9-]+\.)+[a-zA-Z]

{2,4})$/; <!-- CONDITII DE VALIDARE -->

if (form.nume.value == "" && form.prenume.value == "" && form.data.value == "" && form.gen.value == "" && form.tara.value == "" && form.localitate.value == "" && form.email.value == "" && form.nume_utilizator.value == "" && form.parola_utilizator.value == "" && form.confirmare_parola.value == "") {

alert("Campuri necompletate!"); return false; } else if (form.nume.value == "") { alert("Introduceti numele dumneavoastra!"); return false; } else if(form.nume.value.search(regx_lit)==-1) {

alert("Pentru introducerea numelui folositi doar litere."); return false;}

else if (form.prenume.value == "") { alert("Introduceti prenumele dumneavoastra!"); return false; } else if(form.prenume.value.search(regx_lit)==-1) {

alert("Pentru introducerea prenumelui folositi doar litere."); return false;}

else if (form.data.value == "") { alert("Selectati data dumneavoastra de nastere."); return false; } else if (form.tara.value == "") { alert("Introduceti tara dumneavoastar de origine!"); return false; } else if(form.tara.value.search(regx_lit)==-1) {

alert("Pentru introducerea tari folositi doar litere."); return false;}

else if (form.localitate.value == "") { alert("Introduceti localitatea dumneavoastar de origine!"); return false; } else if(form.localitate.value.search(regx_lit)==-1) {

alert("Pentru introducerea localitati folositi doar litere."); return false;}

else if (form.email.value == "") {

84

Page 85: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

alert("Introduceti emailul dumneavoastra!"); return false; } else if(form.email.value.search(regx_mail)==-1) {

alert("Introduceti o adresa de e-mail valida."); return false;

} else if (form.nume_utilizator.value == "") { alert("Creaza-ti numele de utilizator"); return false; } else if (form.parola_utilizator.value == "") { alert("Parola neintrodusa!"); return false; } else if (form.confirmare_parola.value == "") { alert("Parola neconfirmara!"); return false; }

return true;}

Pentru apelarea acestei funcţii din formularul HTML de înregistrare am folosit următorul cod sursă, adăugând butonului submit din cadrul acestui formular HTML atributul onClick după cum urmează:

<input type="image" src="/butoane/validare.jpg" id="unid" height="50" width="150" title="Inregistrare" onClick="return validare_inregistrare(this.form)" class="image"/>

4.1.3. Validarea formularului - adăugare agent nou

Pentru validarea acestui formular HTML se foloseşte următorul cod:<!-- FUNCTIA DE VALIDARE JAVASCRIPT -->function verifica(form) {<!-- REGEXP CARE SA PERMITE DOAR LITERE, SPATII, NUMERE SI LINIUTE "-",

"_"-->var regx_chr = /^([0-9_-]+)$/;var regx_mail = /^([a-zA-Z0-9]+[a-zA-Z0-9._%-]*@([a-zA-Z0-9-]+\.)+[a-zA-Z]

{2,4})$/; <!-- PUNEREA CONDITIILOR -->

if (form.NumeAg.value == "" && form.PrenumeAg.value == "" &&

form.SerieBuletinAg.value == "" && form.NumarBuletinAg.value == "" && form.CNPAg.value == "" && form.StradaAg.value == "" && form.OrasAg.value == "" && form.SectorAg.value == "" && form.ContractAg.value == "" ) {

alert("Campuri necompletate!"); return false; } else if (form.NumeAg.value == "") { alert("Introduceti numele agentului!");

85

Page 86: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

return false; }

86

Page 87: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

else if (form.PrenumeAg.value == "") { alert("Introduceti prenumele agentului!"); return false; } else if (form.SerieBuletinAg.value == "") { alert("Introduceti seria de buletin a agentului!"); return false; } else if (form.NumarBuletinAg.value == "") { alert("Introduceti numarul de buletin al agentului!."); return false; } else if (form.CNPAg.value == "") { alert("Introduceti CNP-ul agentului!"); return false; } else if (form.StradaAg.value == "") { alert("Strada neintrodusa!!"); return false; } else if (form.OrasAg.value == "") { alert("Oras neintrodus!"); return false; } else if (form.SectorAg.value == "") { alert("Sector neintrodus!"); return false; } else if (form.ContractAg.value == "") { alert("Numar contract agent neintrodus!"); return false; } else if (form.DataContractAg.value == "") { alert("Selectati data contractului!"); return false; } else if (form.CodCSA.value == "") { alert("Cod CSA neintrodus!"); return false; } else if(form.NumeAg.value.length<3 || form.NumeAg.value.length>18 ||

form.NumeAg.value.search(regx_chr)==-1) {

alert("wefwefe"); }

return true;}

Pentru apelarea acestei funcţii din formularul HTML de adăugare a agentilor am folosit următorul cod sursă, adăugând butonului submit din cadrul acestui formular HTML atributul onClick după cum urmează:

<input type="image" src="/butoane/buton_conectare.png" width="100" height="60" name="submit" value="Adauga agent" title="Adauga agent" onClick="return verifica(this.form)" class="image"/>

87

Page 88: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

4.1.3. Validarea formularului - adaugare client nou

Pentru validarea acestui formular HTML se foloseşte următorul cod:<!-- FUNCTIE DE VALIDARE A PERSOANELOR FIZICE -->function verifica_pf(form) {var regx_lit = /^([a-zA-Z_ -]+)$/;var regx_num = /^([0-9]+)$/;var regx_mail = /^([a-zA-Z0-9]+[a-zA-Z0-9._%-]*@([a-zA-Z0-9-]+\.)+[a-zA-Z]

{2,4})$/; var confirmare = false;

if (form.Nume.value == "" && form.Prenume.value == "" &&

form.CNP.value == "" &&form.data.value == "" &&form.Functie.value == "" &&form.LocMunca.value == "" &&form.Localitate.value == "" &&form.Sector.value == "" &&form.Strada.value == "" &&form.Numar.value == "" &&form.Bloc.value == "" &&form.Etaj.value == "" &&form.Apartament.value == "" &&form.Telefon1.value == "" &&form.Telefon2.value == "" &&form.Fax.value == "" &&form.Mail.value == ""

) { alert("Campuri necompletate!"); return false; } else if (form.Nume.value == "") { alert("Introduceti numele clientului!"); return false; } else if(form.Nume.value.search(regx_lit)==-1) {

alert("Pentru introducerea numelui folositi doar litere."); return false;}

else if (form.Prenume.value == "") { alert("Introduceti prenumele clientului!"); return false; } else if(form.Prenume.value.search(regx_lit)==-1) {

alert("Pentru introducerea prenumelui folositi doar litere."); return false;}else if (form.CNP.value == "") {

alert("Introduceti CNP-ul clientului!"); return false; } else if(form.CNP.value.search(regx_num)==-1 || form.CNP.value.length<13) {

alert("Pentru introducerea CNP-ului folositi 13 cifre."); return false;}else if (form.data.value == "") {

alert("Selectati data de nastare!"); return false;

88

Page 89: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

} else if (form.Localitate.value == "") { alert("Introduceti localitatea."); return false; } else if (form.Sector.value == "") { alert("Sector neintrodus!"); return false; } else if (form.Strada.value == "") { alert("Strada neintrodusa!"); return false; } else if(form.Mail.value.search(regx_mail)==-1) {

alert("Introduceti o adresa de e-mail valida."); return false;

} else confirmare = true; return confirmare;}

<!-- FUNCTIE DE VALIDARE A PERSOANELOR JURIDICE -->function verifica_pj(form) {var regx_lit = /^([a-zA-Z_ -]+)$/;var regx_num = /^([0-9]+)$/;var regx_mail = /^([a-zA-Z0-9]+[a-zA-Z0-9._%-]*@([a-zA-Z0-9-]+\.)+[a-zA-Z]

{2,4})$/; var confirmare = false;

if (form.DenumirePj.value == "" && form.CUI.value == "" &&

form.CodCAEN.value == "" &&form.RegCom.value == "" &&form.Banca.value == "" &&form.IBAN.value == ""&&form.Localitatepj.value == "" &&form.Sectorpj.value == "" &&form.Stradapj.value == "" &&form.Numarpj.value == "" &&form.Blocpj.value == "" &&form.Etajpj.value == "" &&form.Apartamentpj.value == "" &&form.Telefon1pj.value == "" &&form.Telefon2pj.value == "" &&form.Faxpj.value == ""&&form.Mailpj.value == "" /**/

) { alert("Campuri necompletate!"); return false; } else if (form.DenumirePj.value == "") { alert("Introduceti denumirea clientului!"); return false; } else if(form.DenumirePj.value.search(regx_lit)==-1) {

alert("Pentru introducerea numelui folositi doar litere."); return false;}else if (form.CUI.value == "") {

89

Page 90: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

90

Page 91: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

alert("Introduceti CUI-ul clientului!"); return false; } else if(form.CUI.value.search(regx_num)==-1) {

alert("Pentru introducerea CUI-ului doar cifre."); return false;

} else if (form.Localitatepj.value == "") {

alert("Introduceti localitatea."); return false; } else if (form.Sectorpj.value == "") { alert("Sector neintrodus!"); return false; } else if (form.Stradapj.value == "") { alert("Strada neintrodusa!"); return false; } else if(form.Mailpj.value.search(regx_mail)==-1) {

alert("Introduceti o adresa de e-mail valida."); return false;

}

else confirmare = true; return confirmare;}

Pentru apelarea acestor două funcţii din formularul HTML de adăugare a noilor clienţi, am folosit următorul cod sursă, adăugând butonului submit din cadrul acestui formular HTML atributul onClick după cum urmează:

Pentru persoane fizice:<input type="submit" name="adauga_pf" value=" Adauga PF "

onClick="return verifica_pf(this.form)" class="image"/>

Pentru persoane juridice:<input type="submit" name="adauga_pj" value=" Adauga PJ "

onClick="return verifica_pj(this.form)" class="image"/>

91

Page 92: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Anexa 1

92

Page 93: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

Anexa 2

93

Page 94: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

După cum se poate observa în conţinutul acestei lucrări, aplicaţia dezvoltată este

funcţională şi menită să efectueze operaţiile de baza atât ale unui agent de asigurare cât şi ale

unui coordonator de echipă situat ca profesie în acest domeniu.

Deoarece domeniul asigurărilor cuprinde un număr de produse extrem de vast ce diferă

de la o companie de asigurări la alta, scopul acestei lucrari a fost unul limitat permiţând

atingerea totală a obiectivelor vizate.

În concluzie, odată instalat pe un computer aceast sistem informaţional (interfaţă web

asociată bazei de date create în acest sens), se pot gestiona date precum: date personale ale

agenţilor, clienţilor, obiectelor asigurate precum şi documente cu diferite extensi. În urma

acestor operaţii informatice se pot genera rapoartele necesare unui agent de asigurare ce joacă

un rol deosebit de important în activitatea de zi cu zi al acestuia.

Pe lângă toate aceste lucruri, acestei aplicaţii îi putem aduce o gamă de îmbunătăţiri

posibile facând-o mai accesibilă, aşadar, simplificând modul de lucru al unui agent şi

economisind timpul alocat sarcinii sale de lucru.

Conform afirmaţiei făcute ţin să menţionez câteva dintre îmbunătăţirile ce se pot aduce:

Implementarea unor noi formulare ce vor permite emiterea poliţelor facultative;

Generarea unor noi rapoarte privind primele încasate şi înregistrarea procentelor privind

rata de profit şi cea de pierdere;

Implementarea unui formular de stornare a comisioanelor plătite către agenţi;

Generarea borderourilor de predare a poliţelor de asigurare către terţi;

Generarea bonurilor de consum ce vor ţine sub control gestiunea predată;

Exportarea tuturor rapoartelor şi a borderourilor cu extensi precum .pdf sau .xls .

94

Page 95: LUCRARE DE LICENTA 2012  Aroiu Paul Samson

APLICAŢIE WEB DE GESTIONARE A POLIŢELOR DE ASIGURARE

[1.] Tom Negrino şi Dori Smith "JavScript pentru world wide web", Editura Corint,

Bucureşti, 2004;

[2.] Jim Keogh, "JavaScript fara mistere", Editura Editura Rosetti Educational, 2005;

[3.] Ben Forta, "SQL pentru începători", Editura Teora, Bucureşti, 2002;

[4.] Peterson J. "Baze de date pentru începători", Ed. All, 2003;

[5.] S. Buraga, "Aplicatii Web la cheie", Editura Polirom, Iasi, 2003;

[6.] L. Ullman, "PHP pentru World Wide Web", Editura Teora, Bucuresti, 2004;

[7.] Site-ul oficial al Apache: http://www.apache.org;

[8.] Site-ul oficial al PHP: http://www.php.net;

[9.] Site-ul oficial al JavaScript: http://www.javascriptsource.com/;

[10.] Site-ul oficial al MySQL: http://www.mysql.com;

[11.] Tutoriale online HTML, PHP, SQL, JavaScript, CSS, etc.: http://www.marplo.net/;

[12.] Tutoriale online HTML, PHP, SQL, JavaScript, CSS, etc.: http://w3schools.com/;

[13.] Tutoriale online HTML, PHP, SQL, JavaScript, CSS, etc.: http://www.etutoriale.ro/;

[14.] Iconiţe: http://www.iconfinder.com/;

95


Recommended