Sunteți pe pagina 1din 60

UNIVERSITATEA BABE-BOLYAI CLUJNAPOCA

FACULTATEA DE MATEMATIC I
INFORMATIC
SPECIALIZAREA MATEMATICINFORMATIC

LUCRARE DE LICEN
Management n timp real al cererilor
i ofertelor de munc

Coordonator tiinific:
Lect. dr. Anca Andreica

Absolvent:
Alman Valentina
2013

CUPRINS
Cap.1 Introducere...............................................................................................................................................4
Cap.2 Pagini WEB.............................................................................................................................................5
2.1 Scurt istoric..............................................................................................................................................5
2.2 Ce este o aplicaie Web?...........................................................................................................................6
2.3 Cele mai folosite aplicaii Web.................................................................................................................7
2.4 Ce este HTML ?.......................................................................................................................................8
2.5 Caracteristici ale limbajului HTML..........................................................................................................9
Cap 3 PHP........................................................................................................................................................11
3.1 Scurt istoric.............................................................................................................................................11
3.2 Ce este PHP?..........................................................................................................................................11
3.3 Tipuri de date n PHP.............................................................................................................................12
3.4 Blocuri decizionale n PHP.....................................................................................................................13
3.5 FUNCII n PHP....................................................................................................................................14
3.6 Trimiterea variabilelor............................................................................................................................14
3.7 Lucrul cu clientul....................................................................................................................................16
3.8 Persistena...............................................................................................................................................17
Cap 4 MYSQL.................................................................................................................................................20
4.1 Administrarea bazelor de date cu MySql................................................................................................20
Ce este MySQL?..........................................................................................................................................20
4.2 Tablele....................................................................................................................................................21
Cap 5 Aplicaie.................................................................................................................................................23
5.1 Orientri generale pentru stabilirea soluiei de informatizare.................................................................23
5.2 Punctele slabe ale sistemului..................................................................................................................24
5.3 Perfecionarea sistemului........................................................................................................................24
5.4 Platforma Hardware................................................................................................................................25
5.5 Estimarea eficienei a noului sistem de gestionarea cererilor i ofertelor de munc...............................25
5.6 Proiectarea de ansamblu.........................................................................................................................26
2 | Page

5.7 Structura sistemului................................................................................................................................28


5.8 Schema conceptual a bazei de date.......................................................................................................30
5.9 Prezentarea produsului...........................................................................................................................31
5.10 Descrierea funciilor utilizate n aplicaie.............................................................................................36
Cap 6 Concluzii................................................................................................................................................38
Bibliografie

39

Anexe

40

Cod surs

41

3 | Page

Cap.1 Introducere
Internetul este de fapt o reea de reele, prin care utilizatorii unui calculator sau ai unei reele
pot accesa diverse sisteme aparinnd altor reele. Serviciile tradiionale ale internetului se rezumau
n anii 80 la pot electronic (e-mail), accesul la grupuri de tiri (usenet), conectare la distan
(telnet) i transfer de fiiere (FTP).
Din punct de vedere tehnic, spaiul Web pune la dispoziie un sistem global i standardizat de
comunicare multimedia, informaiile fiind organizate asociativ i fiind distribuite n funcie de
cererile utilizatorilor, funcionnd conform modelului client-server. Web-ul, cu toat dezvoltarea lui
spectaculoas, nu trebuie confundat cu Internetul, ci poate fi vzut drept cea mai dinamic
component software a acestuia, neputnd exista far infrastructur hardware a reelelor mondiale
interconectate.PHP este una dintre cele mai interesante tehnologii existente n prezent. Deoarece
mbin caracteristici dintre cele mai complexe cu simplitatea n utilizare, PHP a devenit rapid un
instrument de frunte pentru dezvoltarea aplicaiilor n Web. Totui, spre deosebire de alte instrumente
Lucrarea de fa este structurat pe mai multe capitole, astfel n capitolele 2, 3 respectiv 4
am vorbit despre aspectele teoretice a limbajului pe care l-am folosit pentru dezvoltarea apliciei, iar
n capitolul 5 am dorit s descriu ct mai bine utilitatea i funcionalitatea aplicaiei.
PHP v permite s furnizai un coninut Web dinamic, adic un coninut Web care se modific
automat de la o zi la alta sau chiar de la un minut la altul.
Coninutul Web este un element important n susinerea traficului unui sit Web; de regul,
vizitatorii nu vor mai reveni la o pagin Web care conine aceleai informaii ca i cele prezentate la
ultima vizit.
Pe de alt parte, siturile Web frecvent actualizate pot atrage cantiti enorme de trafic. Mai
mult, spre deosebire de limbajele de scripting, precum Java script, PHP ruleaz pe serverul Web, nu
n browserul Web. n consecin, PHP poate obine accesul la fiiere, baze de date i alte resurse
inaccesibile programului JavaScript. Acestea constituie bogate surse de coninut dinamic, care atrag
vizitatorii.

4 | Page

Cap.2 Pagini WEB


2.1 Scurt istoric
O pagin web este o resurs aflat n spaiul web (WWW) din Internet, de obicei n
format HTML sau XHTML (extensia numelui fiierului fiind de cele mai multe ori.html sau.htm) i
avnd hiperlinkuri (hiperlegturi) pentru navigarea simpl (cu un singur clic de mouse) de la o
pagin sau seciune de pagin la alta. Pagin web se numete astfel deoarece ea se poate afi a pe
un monitor sau ecran de calculator i se aseamn ntr-o oarecare msur cu o pagin de ziar.
Limea paginii web este de obicei astfel fcut ca ea s ncap n ntregime pe l imea ecranului
disponibil. n schimb nlimea ei poate depi cu mult pe cea a ecranului. n aceste cazuri
browserul i mouse-ul permit de obicei vizionarea simpl i rapid a ntregii pagini, i anume prin
"tragerea" ei n sus i n jos, dup dorin.
Indiscutabil c Web-ul s-a impus, ctignd teren n competiia cu Gopher (serviciu Internet
lansat tot n 1991 i opernd cu meniuri), prin simplitatea i universalitatea accesului (ideea
identificrii documentelor prin URL-uri), prin avantajul oferit de sistemul de legturi oferit de
hypertext i, implicit, de limbajul HTML, pe care se bazeaz. Pentru prima dat documentele
'manevrate' prin Internet pierd monotonia textului cu acelai tip de liter, includ grafice sau tabele,
ulterior figuri i chiar secvene animate i sunet. Un merit deosebit a avut i navigatorul MOSAIC,
precursor al lui Netscape Navigator, Internet Explorer i al celorlalte navigatoare actuale. Dar a fost
important i modul n care principiile proiectului i rnd pe rnd toate progrmele componente, au
fost fcute publice, cu sursele difuzate pe listele e-mail i disponibile prin FTP. Mai mult, la 30
aprilie 1993, apare declaraia CERN asupra caracterului public al tehnologiei World Wide Web.
Lansat ca un instrument care s sprijine cooperarea cercettorilor fizicieni, World Wide Webul devine n doar civa ani aproape sinonim cu Internetul. Cu toate c nici navigatoarele i nici
editoarele de pagini Web nu au ajuns nc la performanele visate de Tim Berners-Lee, World Wide
Web-ul a ajuns cea mai mare bibliotec a lumii, cu peste 3 miliarde de documente, n prezent.
Aceast dezvoltare a dus la apariia de meserii noi, i la reorganizarea multor activiti innd seama
de condiiile publicitii pe Web i de posibiliti de cooperare greu de imaginat altdat. Cu ajutorul
mediilor Web de instruire i cu resursele informaionale i educaionale de pe Web, nvarea i
perfecionarea continu devin accesibile aproape oricui. Mai mult, pare realizabil i previziunea
profesorului Patrick Suppes (din 1967) c fiecare i va putea alege profesorul potrivit, beneficiind de

5 | Page

avantajul pe care istoria l-a oferit doar regelui Filip Macedon: ca s-l aib pe Aristotel ca profesor
pentru fiul su, Alexandru.
Primul server Web a fost realizat aproape n 1990, la Centrul European pentru Cercetri
Nucleare (CERN), n Elveia, i s-a numit la nceput nxoc01. Cern.ch, iar mai apoi info. Cern.ch. Iar
prima pagin Web a coninut chiar prezentarea proiectului i a fost accesibil la:
http://nxoc01.cern.ch/hypertext/www/TheProject.html
2.2 Ce este o aplicaie Web?
O aplicaie web:
este un sistem software bazat pe tehnologiile i standardele consoriului World Wide Web
(W3C) care ofer resurse web specifice cum ar fi coninut i servicii prin intermediul unei interfe e
numit browser web;
o colecie de pagini web construite n raport cu o anumit structur predefinit;
site-urile web reprezint la ora actual forma cea mai comun de proiectare i desfurare a
tuturor activitilor desfurate de societate;
din punct de vedere tehnic, paginile web sunt create preponderent cu ajutorul limbajului
HTML (Hypertext Markup Language) reprezentnd n esen un ansamblu de instruciuni folosite
pentru a construi i reprezenta texte, imagini, link-uri sau orice alte componente ale unei pagini web;

structura unei pagini web cuprinde elementele care se regsesc cel mai frecvent n

coninutul unei pagini web. Acestea sunt:


a) titlul paginii: apare n bar de titlu a programului de navigare pe Internet utilizat i
Servete att la identificarea paginii i a coninutului acesteia ct i pentru facilitarea cutrii acesteia
n spaiul virtual;
b) subtitlurile (titlurile interne): servesc la structurarea logic a coninutului paginii n
Seciuni distincte facilitnd parcurgerea acesteia n raport cu interesul celui care o vizualizeaz;
c) coninutul paginii: cuprinde informaiile pe care organizaia intenioneaz s le transmit
Publicului vizat. Pentru prezentarea acestora pot fi utilizate diferite texte, imagini, elemente grafice,
sunete sau alte elemente de coninut, de obicei n combinaie astfel nct efectul asupra publicului s
fie maxim;
d) list: reprezint nu att un element de coninut ct mai ales un mod de prezentare

6 | Page

e) (formatare) care poate fi utilizat pentru structurarea i prezentarea informaiilor incluse n


paginile web. Utilizarea acesteia confer mai mult claritate i concizie n prezentarea i
urmrirea informaiilor incluse n paginile web;
f) hyperlink-urile: ofer posibilitatea urmririi doar a acelor seciuni de care este interest
"navigatorul" (n cadrul aceleiai pagini), alte pagini (avnd un coninut similar sau asociat paginii
vzute iniial) sau chiar alte site-uri avnd legtur direct cu coninutul
g) informaiilor prezentate n pagin accesat (vizualizat) iniial;
h) informaiile de contact: numele, prenumele i elementele de localizare (adres potal,
Numr de telefon sau fax, adres de e-mail, etc.) ale persoanei (persoanelor) care au creat,
administreaz sau dein pagin accesat.
2.3 Cele mai folosite aplicaii Web
n tabelul de mai jos sunt prezentate cele mai folosite aplicaii Web

7 | Page

Nume

Tip de aplicaie Platform Grup int

Model de
business

Aplicaii
asemntoar
e

Persoane

Recomandri de
Cltorii

Web

Patroni de

Advertising

hoteluri,

nregistrare

pensiuni,

de ueri

asemntoare
Tripadvisor

CommonOffi
Timetastic

activitate

Mobil

Accentul se pune
uerilor

turistice

Web

cu Pinterest
pe recomandrile

atracii

Management de

noutate

Interfa

fizice
Wanderfly

Factor de

ntreprinderi Abonament

ce - HR
Vacation
Manager

Aplicaie
accesibil i de
pe mobil

Acoper toate
nevoile pentru
PR Online ntr-

Mynewdesk

Management
PR

un singur pachet

Specialiti n
Web

PR

Abonament

Wordpress

nteprinderi

Doar un site
Wordpress
puternic
customizat ar
oferi servicii
asemntoare

InEx

Managementul

Web

Persoane

Comunitate

Finance

banilor

Mobil

fizice

Gratuit

Calendar pentru
Mint

planificarea
cheltuielilor
Nivel ridicat de

Aplicaie
Huddle

securitate

colaborativ

Web

Management de

Mobil

coninut

nteprinderi Abonament

SharePoint

Garanteaz
adaptarea
8 | Prapid
age
a angajailor la
produs

2.4 Ce este HTML ?

Unul din primele elemente fundamentale ale WWW (World Wide Web) este HTML
(Hypertext Markup Language), care descrie formatul primar n care documentele sunt distribuite i
vzute pe Web. Multe din trsturile lui, cum ar fi independena fa de platforma, structurarea
formatrii i legturile hipertext, fac din el un foarte bun format pentru documentele Internet i Web.
HTML este cel mai popular i folosit cod din WWW. Cu HTML i WWW, poi pune n acelai loc
texte, sunete, poze, i link-uri. Documentele HTML pot fi scrise i editate pe orice tip de calculator,
cu ajutorul unui editor de text ca Notepad, WordPad, Word etc.
HTML se poate genera direct utiliznd tehnologii de codare din partea serverului cum ar
fi PHP, JSP sau ASP. Multe aplicaii casistemele de gestionare a coninutului, wiki-uri i forumuri
web genereaz pagini HTML.
HTML este de asemenea utilizat n e-mail. Majoritatea aplicaiilor de e-mail folosesc un editor
HTML ncorporat pentru compunerea e-mail-urilor i un motor de prezentare a e-mail-urilor de acest
tip. Folosirea e-mail-urilor HTML este un subiect controversat i multe liste de mail le blocheaz
intenionat.
2.5 Caracteristici ale limbajului HTML
Implementrile versiuni de HTML trebuie s aib la baz cteva principii fundamentale,
enunate de ctre World Wide Web Consortium. n continuare urmeaz o prezentare succint a
acestora.

Interoperatibilitate. Dei majoritatea utilizatorilor sunt de acord c documentele HTML

Trebuie s funcioneze fr probleme, indiferent de browser sau platforma, atingerea


interoperatibilitatii presupune costuri mai mari din partea creatorilor de Web, din moment ce ei
trebuie s realizeze versiuni multiple ale fiecrui fiier. Dac acest efort nu are loc, exist riscul ca
Web-ul s devin o lume a formatelor incompatibile.

Globalizare. Prezenta versiune de HTML a fost proiectat cu ajutorul unor experi din

Domeniul globalizrii, astfel nct documentele s poat fi scrise n orice limb i s poat circula cu
uurin n orice col al lumii. Acest deziderat a fost ndeplinit prin ncorporarea RFC2070, care
trateaz globalizarea HTML-ului.

Accesibilitate. Pe msur ce comunitatea Web-ului crete, iar membrii si i diversific

9 | Page

Abilitile i cunotinele, este crucial ca tehnologiile care rezult de aici s corespund i cerinelor
mai speciale. HTML a fost proiectat pentru a face paginile de Web accesibile i persoanelor cu
disfuncionaliti fizice.

Facilitarea oferirii de alternative (textuale) la descrierea imaginilor, pentru nevztori;

Oferirea de etichete active pentru cmpurile din formulare

Posibilitatea crerii de grupri ierarhice pentru cmpurile formularelor.

Tabele. Noul model de tabel n HTML este bazat pe RFC1942. Autorii au acum un

Control mai larg asupra structurii i formatrii tabelelor (de exemplu, grupurile de coloane).
Posibilitatea designerilor de a recomanda limile coloanelor va permite browserelor s afieze datele
din tabele incremental (pe msur ce acestea se ncarc) n loc s atepte ncrcarea ntregului tabel
nainte de afiarea sa.

Style-sheet-uri. Style-sheet-urile simplific scrierea codului HTML i l elibereaz pe

Acesta de responsabilitatea reprezentrii. Ele ofer att autorilor ct i clienilor controlul complet
asupra prezentrii documentelor - informaii despre fonturi, aliniere, culori, etc.

Informaiile stilistice pot fi:

ataate unui anumit element pe care l afecteaz, cum ar fi culoarea sau modul sau de
aliniere;

plasat n header-ul documentului ca o serie de stiluri care alctuiesc style-sheet-ul;

linkate n HTML dintr-un style-sheet extern.

Mecanismul includerii unui style-sheet ntr-un document este independent de limbaju

Utilizat.

Scripting. Cu ajutorul scripturilor, autorii pot crea formulare inteligente, care

Reacioneaz n funcie de aciunile utilizatorului. Scriptingul permite proiectanilor s creeze pagini


de Web dinamice i s foloseasc HTML ca o modalitate de dezvoltare a aplicaiilor de reea.
Mecanismele oferite pentru includerea scripturilor ntr-un document HTML sunt independente de
limbajul de scripting folosit.

Tiprirea. Caracteristicile HTML-ului permit programelor client s tipreasc o colecie

De documente ntr-o manier inteligent, bazat pe descrierea relaiilor dintre documentele care
alctuiesc o lucrare mai ampl.

10 | P a g e

Cap 3 PHP
3.1 Scurt istoric
PHP a fost creat de ctre Rasmus Lerdorf n 1995, iniial doar ca un simplu set de scripturi
Perl pentru a urmri accesele la rezumatul su online. El a denumit acest set de scripturi Personal
Home Page Tools Instrumente pentru paginile personale. Deoarece era necesar mai mult
funcionalitate, Rasmus a scris o implementare mult mai larg n C, care era n stare s comunice cu
baze de date i ddea posibilitate utilizatorilor s dezvolte simple aplicaii Web dinamice. Rasmus a
hotrt s lanseze codurile-surs ale PHP/FI pentru ca oricine s le poat vedea, utiliza, s poat
corecta erorile din ele i s mbunteasc codul-surs.
Apoi a evoluat n PHP/FI 2.0, dar proiectul open-source a nceput s ia amploare dup
ce Zeev Suraski i Andi Gutmans, de laTechnion au lansat o nou versiune a interpretorului PHP n
vara anului 1998, aceast versiune primind numele de PHP 3.0. Tot ei au schimbat i numele n
acronimul recursiv de acum, pn atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi
Suraski i Gutmans au rescris baza limbajului, producnd astfel i Zend Engine n 1999. n
mai 2000 a fost lansat PHP 4.0, avnd la baz Zend Engine 1.0.
3.2 Ce este PHP?
PHP este limbajul ideal pentru construirea de pagini web dinamice. Este uor de nvat,
open-source, poate fi rulat pe mai multe platforme i se poate conecta la mai multe tipuri de baze de
date. Cel mai important aspect al limbajului este ns posibilitatea de a fi imbricat cu cod HTML.
Putem astfel crea pagini HTML statice i din loc n loc, acolo unde este nevoie, s introducem
dinamism cu ajutorul PHP.
Fiind open-source, PHP beneficiaz de suport activ din partea comunitii online, acesta fiind
i motivul creterii explozive a numrului site-urilor bazate pe PHP.
Interpretorul PHP este cel mai cunoscut limbaj de scripting folosit n acest moment pentru
crearea site-urilor Web interactive. Diferen esenial fa de alte limbaje de scripting (gen
JavaScript) este faptul c PHP este un interpretor server-side (operaiile sunt executate de ctre server
i nu pe calculatorul utilizatorului). Pentru a putea testa pagini PHP avei nevoie de un server de web
(Apache) i de pachetul PHP instalat.
PHP permite folosirea unor elemente specifice limbajelor de programare. Ieirea standard a
script-ului PHP devine intrarea standard pentru programul de navigare care vizualizeaz pagina.

11 | P a g e

Aadar, la ieirea standard poate fi scris (de exemplu, prin intermediul comenzii echo) orice tip de
cod HTML, acesta fiind interpretat de ctre borwser.
Pe lng manipularea coninutului paginilor de web, PHP poate trimite headere HTTP pentru
autentificare, seta cookie-uri sau redireciona utilizatorii. Mai mult, cu ajutorul bibliotecilor externe
de funcii poate parsa fiiere XML, crea i manipula imagini, animaii Shokwave Flash, PDF-uri sau
se poate conecta la un server de mail, iar acestea sunt doar cteva din funciile pe care le poate
ndeplini.
Interpretorul PHP parcurge documentul accesat pn n momentul n care ntlnete un
marcaj de deschidere care indic faptul c textul care urmeaz trebuie interpretat ca fiind cod PHP. n
continuare, textul este interpretat ca fiind cod PHP pn n momentul n care este ntlnit marcajul de
nchidere. ntreg textul care nu este interpretat ca fiind cod PHP este furnizat la ieire n forma n
care a fost primit ca intrare de ctre interpretor. Exist mai multe marcaje care indic nceperea unei
secvene de cod PHP, dar doar dou dintre ele sunt folosite de obicei. Dac dorim c documentul s
respecte specificaiile XML, atunci singura posibilitate de inserare a codului PHP este folosirea unei
secvene de tipul.
3.3 Tipuri de date n PHP
Variabil reprezint un identificator la o locaie de memorie i se folosete pentru stocarea,
prelucrarea i tergerea datelor. Variabilele n PHP sunt apelate folosind prefixul $. Astfel, o
variabil are forma $nume. Numele variabilei poate fi orice identificator valid (un text ce conine
doar litere, cifre i underscore, fr spatii sau alte caractere; un identificator nu poate ncepe cu o
cifr).
n multe limbaje de programare exist o limitare a numrului de caractere din numele
variabilei (ntre 255-1000 caractere). n PHP nu exist astfel de limitri. O regul a variabilelor este
ca ele trebuie s nceap cu o liter sau cu un underscore (dup prefixul $). O alt regul este ca n
corpul numelui variabilei sunt acceptate litere, numere i underscore, simboluri precum +, -, * i &
nefiind admise. Variabilele n PHP sunt case-sensitive, adic $student este diferit de
$Student.
PHP cuprinde mai multe tipuri de variabile, dintre care cele mai importante sunt cele ce
conin valori de tip text i numeric.
o strng (text)
o integer (numeric)
o double (numeric)
12 | P a g e

o array
o object
Tipurile de date nu sunt stabilite de programator; PHP decide asupra lor atunci cnd
interpreteaz codul.
n PHP exist 2 tipuri de date numerice: integer i double. Integersunt numere fari virgul, n
timp ce double reprezint numere cu zecimale.
3.4 Blocuri decizionale n PHP
Ca i n C/C++, se pot folosi urmtoarele blocuri instruciuni:

IF

Sintaxa: if (<condiie>) {<instruciuni>}


Exemplu:
$numr=15;
If ($numr==15) echo Numrul ales este . $numr;

SWITCH

n cazul n care avem o suit de instruciuni de forma:


$a=15;
$b=10;
$op= suma;
If ($op== suma) echo $a+$b;
Else if ($op== diferenta) echo $a-$b;
Else if ($op== produs) echo $a*$b;
Else echo $a/$b;
Se pot nlocui, mai eficient prin:
$a=15;
$b=10;
$op= suma;
Switch ($op) {
Case suma:
Echo $a+$b;
Break;
Case diferenta:
13 | P a g e

Echo $a-$b;
Break;
Case produs:
Echo $a*$b;
Break;
Default:
Echo $a/$b;
}
3.5 FUNCII n PHP
Funciile pot fi chemate de mai multe ori pe parcursul execuiei unui program. Ele primesc
argumente (valori de intrare) cu ajutorul crora execut cteva operaii dup care Returneaz o
valoare. Funciile transfer orice valoare primit ca argument n variabile Temporare numite
parametrii ce pot fi folosii numai pe parcursul execuiei funciei.
Definire:
Function <nume_funcie> (<parametrii>){
//cod
//cod
}
Pentru returnarea unei valori am folosit cuvntul cheie return.
Funcia poate fi apelat i fr argumente:
Function tva (){
Echo Valoarea tva este de 19%;
}
Dac dorim s transmitem un numr mai mare de parametrii ctre funcie, atunci i putem
Delimita cu virgul.

3.6 Trimiterea variabilelor

Trimiterea variabilelor se face:


- Prin valoare
<?
14 | P a g e

$a=5; $b=10;
Suma ($a, $b);
Function suma ($a, $b){
$a+=$b;
Echo Valoarea lui a n cadrul funciei. $a. <br>;
}
Echo Valoarea lui a dup rularea funciei. $a;?
>
Putem observa ca a ia pe rnd valoarea 5 (n programul principal), ulterior se transmite
Funciei, care copiaz pe o stiv valoarea lui a dup care n incrementeaz cu valoarea lui b (i ea
Copiat ntr-o variabil temporar).
La ieirea din funcie, a i b din interiorul funciei se distrug, nafar ei variabilele a i b
Rmnnd nemodificate.
Prin urmare, pe ecran vor fi afiate urmtoarele:

Valoarea lui a n cadrul funciei 15

Valoarea lui a dup rularea funciei 5

- Prin referin
A doua metod de a trimite variabile unei funcii este prin referin, mod ce permite Funciei
s modifice valoarea unei variabile, inclusiv nafar funciei.
Pentru a indica trimiterea prin referin, se adaug n faa variabilei un ampersand.
<?
$a=5; $b=10;
Suma ($a, $b);
Function suma (&$a, $b){
$a+=$b;
Echo Valoarea lui a n cadrul funciei. $a. <br>;
}
Echo Valoarea lui a dup rularea funciei. $a;?
>
Vor fi afiate urmtoarele:

valoarea lui a n cadrul funciei 15

valoarea lui a dup rularea funciei 15

15 | P a g e

3.7 Lucrul cu clientul


PHP poate prelua interactiv datele de la client prin intermediul formularelor.
Elementele cele mai importante ale unui form sunt:
- ACTION transmite serverului la ce pagin s se duc i s transmit datele completate n
momentul n care utilizatorul a trimis formularul.
- METHOD reprezint modul n care datele sunt trimise serverului. Metoda GET adug
variabilele n cmpul de adres al paginii web.
Metoda POST trimite ascuns variabilele ctre pagina descrisa la ACTION.
Ex:
<form action= test.php method= get >
...
</form>
Sau
<form action= test.php method= post >
...
</form>
n cadrul formularului putem avea cmpuri:
- Text
- Textarea
- List box (select)
- Radio
- Checkbox
- Hidden
- Password
Aceste cmpuri se trimit ctre scriptul PHP printr-un buton de tip submit. Toate cmpurile de
mai sus au un parametru numit name ce trebuie specificat obligatoriu n cazul n care dorim preluarea
i/sau prelucrarea ulterioar a datelor introduse.
Ex:
Fiierul html:
<form action= test.php method= post >
Cum v numii?
<input type= text name= nume >
<input type= submit value= Trimite >
16 | P a g e

</form>
Fiierul test.php:
<?
Echo Salut . $nume;?
>
Valoarea parametrului name din cadrul fiecrui cmp din formular va deveni variabil n
scriptul specificat la parametrul ACTION al formularului. ---la tabl, pentru fiecare tip acceptat de
form--n cazul n care numele ce este scris la parametrul name din cadrul formularului nu devine
variabil n scriptul de la action, verificai n fiierul PHP.INI (ce rezid de obicei acolo unde exist
i fiierul de configurare (HTTPD.CONF) al serverului web Apache dac parametrul
register_globals este pus pe On.
n cazul n care nu avem permisiuni de modificare al acestui fiier sau din
Motive de siguran se prefer un register_globals pus pe Off, variabilele trimise de formular se pot
citi cu:
$HTTP_POST_VRS [numevariabila], respectiv
$HTTP_GET_VRS [numevariabila],
Sau
$_POST [numevariabila], respectiv
$_GET [numevariabila],
Unde numevariabila reprezint valoarea acordat parametrului name din cadrul formularului.

3.8 Persistena

Persistena reprezint modul n care putem transmite variabile n cadrul unei vizite, de la o
pagin la alta. O astfel de variabil ar fi un nume de utilizator i o parol sau produsele omandate la
un moment dat, diverse setri, etc..
Primul tip de persisten se poate realiza cu formulare al cror cmpuri sunt
De tip hidden.
Ex:
Pagina 1 fiierul 1:
<?
$username= gigel;
17 | P a g e

$password= 1234;
Echo <form action=pagina 2.php method=post>;
Echo <input type=hidden name=username value=$username>;
Echo <input type=hidden name=password value=$password>;
Echo <input type=submit value=Next>;
Echo </form>;?
>
Pagina 2 fiierul 2:
<?
Echo $username. - . $password;?
>
Al doilea tip de persisten se poate realiza folosind cookie urile. Cookie urile sunt fiiere
de dimensiuni mici ce rezid pe calculatorul clientului cu ajutorul crora sunt stocate diverse
informaii ce pot fi ulterior regsite de ctre server. Comanda prin care sunt trimise cookie urile pe
maina clientului este: setcookie (nume, valoare, timp n secunde de la 1 Ian 1970 pn cnd
expir);
Ex:
<?
$username= gigel;
$password= 1234;
Setcookie (username, $username, time ()+3600);
Setcookie (password, $password, time ()+3600);?
>
Apelarea se face n modul urmtor:
Echo $HTTP_COOKIE_VRS [username];
Echo $HTTP_COOKIE_VRS [password];
Sau
Echo _COOKIE [username];
Echo _COOKIE [password];
Dac exist diferene de ceas ntre server i client cookie urile pot fi interpretate de browser
ca fiind deja expirate, astfel vor fi terse de pe calculatorul clientului.
Distrugerea cookie urilor se poate face n dou moduri:
Setcookie (nume, valoare, time ()-9999999);
Setcookie (nume);
18 | P a g e

Cap 4 MYSQL
4.1 Administrarea bazelor de date cu MySql
MySQL este un sistem de baze de date mai populare folosite cu PHP.
Ce este MySQL?
o

MySQL este un sistem de baze de date care ruleaz pe un server de

MySQL este un sistem de baze de date utilizat pe web

MySQL este ideal pentru aplicaii mici i mari

MySQL este foarte rapid, fiabil i uor de utilizat

MySQL suport standardul SQL

MySQL compileaz pe un numr de platforme

MySQL este liber pentru a descrca i de a folosi

MySQL este dezvoltat, distribuit, i susinute de Oracle Corporation

MySQL este numit dup fiica co-fondator Monty Widenius lui: My

Datele din MySQL sunt stocate n tabele. Un tabel este o colecie de date relative, i este alctuit din
coloane i rnduri.
MySQL este component integrat a platformelor LAMP sau WAMP (Linux/WindowsApache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicaie web este strns legat de cea a
PHP-ului care este adesea combinat cu MySQL i denumit Duo-ul Dinamic. n multe cri de
specialitate este precizat faptul ca MySQL este mult mai uor de nvat i folosit dect multe din
aplicaiile de gestiune a bazelor de date, ca exemplu comanda de ieire fiind una simpl i evident:
exit sau quit.
Pentru a administra bazele de date MySQL se poate folosi modul linie de comand sau, prin
descrcare de pe internet, o interfa grafic: MySQL Administrator i MySQL Query Browser. Un
alt instrument de management al acestor baze de date este aplica ia gratuit, scris n
PHP, phpMyAdmin.
MySQL poate fi rulat pe multe dintre platformele software existene: AIX, FreeBSD,
GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.

19 | P a g e

4.2 Tablele
Tabelul este un fiier structurat care poate stoca date de un anumit tip: o list de cumprtori,
un catalog de produse, sau orice alt list de informaii. Esenial este faptul ca datele stocate ntr-un
tabele sunt de acelai tip sau de pe aceiai list. Niciodat nu vei stoca n acelai tabel o list de
cumprtori i o list de comenzi. Dac vei proceda astfel, vei ngreuna accesul i regsirea
ulterioar.
Este vorba despre informaii referitoare la datele care pot fi stocate, felul n care aceste sunt
divizate, cum sunt denumite prile individuale de informaii i multe altele. Setul de informaii care
descrie un table este numit schem: schemele sunt utilizate att pentru descrierea unor tabele
specifice dintr-o baza de date, ct i pentru descriereaunor ntregi baze de date.
Fiecare coloan dintr-o baza de date are asociat un tip de date. Tipul de date definete ce fel de date
poat s conin coloana i - Fiecare linie din tabel trebuie s aib o coloan (sau o serie de coloane)
care o identific n mod unic.
Fiecare table conin o cheie primar. Cheia primar este una sau mai multe coloane ale cror
valori identific n mod unic toate liniile unui tabel.
n tabelul de mai jos am descris fiecare comand care poate fi utilizat n gestionarea bazei de
date.

SHOW DATABASES;

# afieaz o list cu numele bazelor de date existente

USE numele_bazei_de_date

# alegerea bazei de date cu care lucrm n continuare

SHOW TABLES;

# afieaz tabelele existente n baza curent

SHOW COLUMNS;

# afieaz informaii despre coloanele unui tabel

CREATE DATABASE numele_bazei;

# creeaz o baza de date cu numele respectiv

CREATE TABLE tabel_unu (cmp_a TEXT);

# creeaz tabelul tabel_unu cu un cmp numit 'camp_a' al crui tip este


TEXT (vezi Tipuri de date)

CREATE TABLE tabel_unu (cmp_a TEXT, cmp_b INT, cmp_c # creeaz tabelul 'tabel_unu' cu un cmp numit 'camp_a' al crui tip este
TINYINT);
TEXT, un cmp numit 'camp_b' n care datele de pe coloana respectiv vor
fi numere ntregi i n cmpul 'camp_c' vor fi introduse doar numere ntre
-128 i 127
DROP TABLE tabel_unu;

# terge tabelul numit 'tabel_unu'

DROP DATABASE numele_bazei;

# terge baza de date cu numele 'numele_bazei'

INSERT INTRO tabel (camp1, camp2, camp3) VALUES (valoarea1, # introduce n tabelul cu numele 'tabel', n 'campul1' 'valoarea1', n 'campul2'
valoarea2, valoarea3);
'valoarea2' i n 'campul3' 'valoarea3'. Iat cum ar arta n format tabelar:

campul1
valoarea1
INSERT INTRO tabel (camp1, camp2) VALUES (valoarea1, valoarea2);

campul2
valoarea2

campul3
valoarea3

# Se poate omite una din coloane, dac avem 5 coloane, dar vrem s
introducem numai n 3, specificm cmpul i valoarea doar pentru cele pe
care le vrem, restul le ignorm.

campul1
valoarea1

campul2
valoarea2

campul3
20 | P a g e

INSERT INTRO tabel VALUES (valoarea1, valoarea2, valoarea3);

# o variant simplificat care se poate aplica doar cnd introducem valori n


toate cmpurile tabelului (nu se poate omite)

INSERT INTRO tabel VALUES (valoarea1, valoarea2, ``);

# identic ca cea dinainte, doar ca n lips unei valori se pun ghilimele.

SELECT * FROM tabel;

# Afieaz tot (*) ce exist n tabelul cu numele 'tabel'

SELECT campul1 FROM tabel;

# afieaz coninutul cmpului 'campul1' din tabelul 'tabel'

SELECT campul1, campul2 FROM tabel

# afieaz coninutul cmpurilor 'campul1' i 'campul2' din tabelul 'tabel'

SELECT * FROM tabel WHERE campul1 = 'valoare1';

# afieaz cmpurile a cror coninut este la fel cu 'valoare1'

SELECT campul1, campul2 FROM tabel WHERE campul2 LIKE # caut i afieaz toate nregistrrile n care 'campul2' este asemntor cu
'valoare2';
'valoare2'
SELECT campul1, campul2 FROM tabel WHERE campul2 LIKE # caut i afieaz toate nregistrrile n care 'campul2' ncepe cu 'valoare2'
'valoare2%';
SELECT campul1, campul2 FROM tabel WHERE campul2 LIKE # caut i afieaz toate nregistrrile n care 'campul2' se termin cu
'%valoare2';
'valoare2'
SELECT campul1, campul2 FROM tabel WHERE campul2 LIKE # caut i afieaz toate nregistrrile n care 'campul2' se aseamn cu
'%valoare2%';
'valoare2' oriunde n cadrul textului.
SELECT * FROM tabel WHERE campul1=valoare1 AND campul2 LIKE # afieaz toate cmpurile care conin 'valoarea1' i se asemanana cu
'%valoare2%';
'valoare2'
SELECT campul1, campul2 FROM tabel WHERE campul1 != valoarea3; # caut i afieaz toate cmpurile care difer de 'valoarea3'
SELECT campul1, campul2 FROM tabel WHERE campul2 NOT LIKE # caut i afieaz toate cmpurile care nu ncep cu 'valoare3'
'valoarea3%';
SELECT campul1 FROM tabel ORDER BY campul1 ASC;

# afieaz coninutul cmpului 'campul1' n ordine cresctoare

SELECT campul1, campul2 FROM tabel ORDER BY campul1 ASC, # afieaz coninutul cmpului 1 n ordine cresctoare i cmpul 2 n ordine
campul2 DESC;
descresctoare.
SELECT count(*) FROM tabel;

# afieaz cte nregistrri sunt n total n tabel

SELECT count (*) FROM tabel WHERE campul1=variabila1;

# cte nregistrri sunt n tabel al cror 'camp1' este 'variabila1'

SELECT camp1 FROM tabel GROUP BY camp1 ORDER BY camp1 ASC;# afieaz coninutul cmpului 1 grupat dup 'camp1' ascendent
SELECT * FROM tabel LIMIT 0,3;

# afieaz din tabel ncepnd de la prima nregistrare nc 3.

SELECT * FROM tabel LIMIT 10,5;

# afieaz ncepnd de la nregistrarea 10 nc 5 nregistrri din tabel

DELETE FROM tabel WHERE condiii;

# terge nregistrarea din tabel. Sintaxa este la fel ca la comanda SELECT.

UPDATE tabel SET coloana1='noua valoare a coloanei 1', coloana2='noua # pentru actualizarea coninutului unei nregistrri din tabel. Sintaxa este la
valoare a coloanei 2' WHERE condiii;
fel ca la comanda SELECT.
ALTER TABLE tabel ADD dat TEXT;

# adugare la tabelul existent a unei coloane numit 'dat' de tip text.

ALTER TABLE tabel CHANGE dat data TEXT;

# redenumete coloana numit 'dat' cu numele 'data'

ALTER TABLE tabel CHANGE data data DATE;

# modific tipul coloanei 'data' din 'TEXT' n coloana de tip 'DATE'

ALTER TABLE tabel ADD nr MEDIUMINT UNSIGNED AFTER# adaug o coloan numit 'nr' dup 'coloana1' n tabelul 'tabel'
coloana1;

21 | P a g e

Cap 5 Aplicaie
5.1 Orientri generale pentru stabilirea soluiei de informatizare

Din analiza sistemului actual a rezultat c societatea este pregtit pentru informatizare, iar
soluia de informatizare aleas v va ajuta agenia n demersul de dezvoltare ulterioar.
Soluia aleas este o soluie de tip client server. Aceasta se remarc ptrintr-o securitate sporit
a datelor, mai ales n condiiile n care baza de date va fi unic, att pentru aplicaiile interne ct i
pentru aplicaiile care vor rula pe site-ul web.
Proiectul va fi realizat respectnd standardele internaionale ISO att n ceea ce privete
partea de software ct i partea de hardware.
Obiectivul principal al proiectului de informatizare const n furnizarea de date exacte i n
timp real al compartimentelor interesate i mai ales reducerea semnificativ a timpului de rspuns al
angajailor la cereri de diferite naturi, mbuntind astfel imaginea firmei de pia.
De asemenea, sistemul va permite un management n timp real al tuturor cererilor i ofertelor
de munc, pe toate domeniile de activitate ale Ageniei Barton.
n vederea pregtirii implementrii noului sistem i pentru asigurarea unui cadru managerial
i organizatoric propice care s permit o funcionare eficient a sistemului se propune clasificarea
documentelor n funcie de coninut i fluxuri informaionale, modificarea i impunerea procedurilor
de lucru existente nc de la nceputul perioadei de proiectarea a sistemului, asigurarea unui grad
sporit de securitate a datelor prin acces restricionat la baza de date a societii i administrarea
acesteia numai de ctre persoane de specialitate.
Aceste elemente vor asigura o implementare rapid i eficient a noului sistem i de
asemenea reducerea rezistenei personalului existent la schimbarea sistemului de lucru prin
colarizarea acestuia.
Arhitectura viitorului sistem informatic al acestei societi este conform cu recomandrile
Organizaiei Internaionale de Standardizare ISO.
n arhitectura sistemului se disting urmtoarele nivele:
v Arhitectura organizaional
v Domenii de activitate
v Memoria central
v Centrul de telecomunicaii
v Arhitectura tehnic
22 | P a g e

v Tehnica de calcul (posturile de lucru, server)


v Sistemul de comunicaii (reeaua de calculatoare)
v Arhitectura aplicaiilor
v Produse program proprii
v Produse program achiziionate
v Produse program existente
v Arhitectura informaional
v Baze de date
v Fluxuri de date
v Proceduri de lucru
5.2 Punctele slabe ale sistemului
Nu exist informaii online despre agenie.
Candidaii care vor s se nscrie n baza de date trebuie s mearg personal la sediul central
sau la reprezentane.
Firmele companiile nu pot s-i nscrie ofertele de munc
Baza de date nu este actualizat suficient de des
Baza de date este nregistrat ntr-un fiier Access, fapt care ngreuneaz legtura dintre
datele angajailor acestei firme.
5.3 Perfecionarea sistemului
Pentru a reui s mbunteasc sistemul informatic din cadrul ageniei ar fi necesar:

angajarea unui administrator de sistem care s preia atribuiile de depnare i ntreinere ale
ntregului sistem informatic

apelarea la o firm specializat n domeniul software i hardware n privina prelurii


procedurilor de implementare ale unui sistem informaional optim

apelarea la un programator de baze de date pentru realizarea unui program PHP i MySQL,
pentru realizarea unei aplicaii web

arhivarea computerizat a datelor candidailor i companiilor care ofer locuri de munc


online, pentru a fi accesat i updata-t de oriunde

23 | P a g e

5.4 Platforma Hardware


Principala caracteristic a noului sistem propus este faptul c nu necesit resurse hardware
deosebite. Fiind proiectat ca un sistem client server singurul computer care necesit dotri deosebite
este serverul.
Computerele client nu au nevoie dect de un browser instalat i o conexiune la server fie prin internet
fie prin reeaua local.
Serverul propus ar fi bine s aib un procesor P4,3 1GB memorie RAM i HDD de 60 -80
GB
Pentru realizarea proiectului am ales urmtoarea platform software
limbajul PHP
un editor de PHP
SGBD MySQL
serverul Web Apache
un browser (Internet Explorer, Chrome Opera sau FireFox Mozilla).

5.5 Estimarea eficienei a noului sistem de gestionarea cererilor i ofertelor de munc


Sistemul prezint o soluie de informatizare care urmrete mbuntirea procesului de
afaceri n ansamblul su i nu doar simpla automatizare a unor activiti specifice.
Implementarea acestui nou sistem va duce la:

creterea eficienei ageniei i a vitezei de lucru

posibilitatea de a gsi n orice moment i de oriunde o situaie clar a solicitanilor i a


ofertelor de munc (avnd nevoie doar de o conexiune la Internet)

controlul deplin asupra afacerii

mbuntirea calitii managementului

creterea productivitii agenilor peste 30%

simplificarea sistemului de lucru

eficientizarea activitii

economii realizate prin eliminarea cheltuielilor generate de erorile umane

creterea veniturilor prin fidelizarea clienilor, ca urmare a creterii standardului de calitate

24 | P a g e

creterea numrului de clieni poteniali ca urmare a globalizrii ofertei ageniei prin


intermediul Internetului

scderea costurilor de publicitate i promovare a serviciilor ageniei

posibilitatea nregistrrilor concomitent a candidailor, a companiilor i a ofertelor lor

ntrirea poziiei i mbogirea imaginii ageniei pe pia

distribuirea n timp real a noilor oferte pn la cei mai ndeprtai clieni


Toate acestea sunt obinute prin complitudinea, corectitudinea i promptitudinea informaiilor

pe care le ofer aceast soluie informatic\


5.6 Proiectarea de ansamblu
Proiectarea de ansamblu a sistemului informatic i succesiunea activitilor din cadrul
proiectelor este urmtoarea:

definirea obiectivelor

locul aplicaiei n sistem

definirea ieirilor

definirea intrrilor

obiectivele sistemului:
Proiectarea sistemului trebuie s rspund de urmtoarele cerine:

flexibilitate

fiabilitate

uurin n folosire

implementarea ct mai rapid

cost redus

eficien maxim

proiectarea sistemului va realiza

proiectarea sistemului integrat al cererilor i ofertelor de munc

proiectarea paginilor web care va avea la baz informaii despre procesul activitilor

reproiectarea unei pri a sistemului existent


Sistemul de nregistrare a cererilor i ofertelor de munc trebuie s realizeze urmtoarele

informaii:

asigur securitatea i confidenialitatea datelor


25 | P a g e

posibilitatea de nscriere a persoanelor fizice i juridice a datelor personale n baza de date

stocarea datelor

transmiterea datelor

posibilitatea de nregistrare a unor comentarii n forum

posibilitate modificrii datelor de nregistrare


Proiectarea bazei de date trebuie s aib urmtoarele cerine tehnice:

s fie n form normal 3

s rspund restriciilor de:

unicitate a cheii

integritate a domeniului

integritate a relaiei

integritate de referin
Aplicaia informatic a sistemului se afl pe un site web. Datele sunt introduse att cu

ajutorul angajailor ageniei ct i cu completarea personal a formularului de nscriere disponibil pe


pagin web a candidailor. La fel i datele despre ofertele de munc: pot fi introduse n baza de date
de ctre agenii sediului central sau de ctre companii sau firme
Aplicaia cuprinde baza de date a solicitanilor i a ofertelor de munc. Consultantul se
folosete de aceast baza de date pentru a introduce datele solicitanilor cu o vitez de lucru mai
mare, date despre oferte i ca urmare vor propune pentru execuie prin rapoarte angajaii, printr-un
mode de activitate optim
Prin ieirile unui subsistem informatic se va nelege totalitatea informaiilor furnizate de
acesta beneficiarilor interni i externi, respectiv rapoarte, note de informare-raportare, etc.
Definirea ieirilor fiecrui subsistem informatic, presupune, n primul rnd, stabilirea la nivel
global, a informaiilor necesare conducerilor de pe diferite trepte ierarhice ale sistemului, specificnd
pentru fiecare n parte aspectele programatice (legate de utilitate) i aspectele semantice (legate de
coninut).
La nivel global, se vor prezenta toate caracteristicile ieirilor sistemului proiectat, cum ar fi
de exemplu periodicitatea, numrul de exemplare, destinaia fiecrui exemplar i tipul de exemplar.
n cadrul acestei aplicaii se prezint rapoartele pentru

evidena candidailor

evidena ofertelor de munc

mesajele utilizatorilor
26 | P a g e

Prin intrrile unui sistem informatic se nelege totalitatea datelor primare necesare obinerii
informaiilor de ieire a sistemului.
Datele primare reflect starea i dinamica fenomenelor i proceselor economice din unitatea
economic. Datele primare sunt necesare pentru crearea i actualizarea bazelor de date, pentru
obinerea de situaii de ieire i pentru realizarea de rapoarte cu ieiri
Aceste date sunt

documente de intrare

cereri Chestionare

oferte de munc

informaii despre

legislaie

candidai

angajai

contracte de colaborare ncheiate cu alte agenii, companii, organizaii din strintate.

5.7 Structura sistemului


Entiti:

Aplicri (id, id_uer, scrisoare_intenie, cv, data_aplicrii);

Cereri (id, id_uer, mesaj, rspuns, data_cererii, data_rspuns);

Companii (uer, pass, nume, cui, nume_banca, cont_banca, tara, jude, localitate, adresa, tel1,
tel2, fax, domenii_activitate, responsabil, tel_resp, email, limba);

Domenii de activitate (id, val)

Forum (id, nume_contact, comentariu, data);

Jude (id, val);

Nivel_carier (id, val);

Nivel pregtire (id, val);

Oferta de munc (id, uer, specialitate, l ocuri, salariu, prime, zile_lucrtoare, concediu,
cheltuieli, asig_cazare, asig_masa, asig_medie, data_ncput, termen, data_oferta);

Oferta de studii (id, uer, sediu, facultate, descriere);

Stare civil (id, val);

Stare profesional (id, val);


27 | P a g e

ar (id, val);

Ueri (uer, pass, nume, prenume, email, dn, sex, stare_civil, adresa, tara, jude, localitate,
cod_postal, tel1, tel2, nivel_pregtire, nivel_cariera, stare_profesional, limba_status);

n tabelul urmtor este sintetizat ntreg sistemul de codificare a cheilor primare a aplicaiei

Nr CRT
1
2
3
4

Tabel
Cheie primar
Aplicri
Id
Cereri
Id
Companii
Domenii_activit

5
6
7
8
9
10
11
12

ate
Forum
Jude
Nivel carier
Nivel pregtire
Oferte munc
Oferte Studii
Stare civil
Stare

13
14

profesional
ar
Useri

Codificare
Int(11)
Int(11)

nivel

28 | P a g e

5.8 Schema conceptual a bazei de date.

29 | P a g e

5.9 Prezentarea produsului


Sistemul este bazat pe cea mai complet arhitectur de baze de date pentru membrii ageniei.
El a fost creat pentru realizarea unei pagini web interactive de care avea nevoie firm. Baza de date a
fost realizat cu ajutorul scriptului php: phpmyadmin
Baza de date cu numele Barton are 14 tabele. Aici a fost creat structura tablelor cu atributele
lor. Au fost setate cmpurile, tipurile de date, lungimea etc. Aici au fost testate comenzile SQL,
folosite n PHP, am modificat sau ters date.
Informaiile de pe prima pagin a site-ului (HOME) sunt afiate ultimele cinci oferte de
munc nregistrate de ctre companiile sau firmele careu au nevoie de for de munc.

Fiecare

ofert de munc au un link ctre informaii detaliate.

Banere-le i imaginile au fost realizate n Corel Draw i Photoshop


Pagina este mprit n header meniu main footer (vedei anex). n header este partea de

sus, butoanele (Home, Despre Noi, Contacte) n menu partea din stnga n care se afl meniul (i sub
meniurile). n Main se afl coninutul paginii. n footer se subsolul paginii.
Toate celelalte informaii sunt deschise n mijlocul paginii, header-ul i footer-ul rmnnd la
fel. n realizarea fiecrei pagini s-a folosit funcia require (header. Php), i require (footer. Php);
care preia informaiile din celelalte dou pri.

30 | P a g e

n realizarea acestui site s-au folosit CSS-uri (Cascade Style Sheets). n header au fost
definite clase care prin urmare sunt folosite de site. Ele se definesc n <head><style> i se apeleaz
pe parcurs cu class.
Dup butonul Home urmeaz Despre Noi n care se gsesc informaii despre firm, cteva
date din istoricul ageniei ct i despre personalul ei: ageni, reprezentani i consultani.
Apsnd pe al treilea buton din meniul de sus, Contacte, utilizatorul gsete adresele,
telefoanele, i faxurile sediului central al ageniei.
Aceeai informaie poate fi accesat dac se va da click pe poza din stnga - jos, care
reprezint sediul central (link pe imagine).
Email-ul de la sfrit este un link. Exist mult lume care se ferete s-i ofere adresa de email (ori s trimit mesaje ctre adrese necunoscute) din cauza SPAM-ului (mesaje de e-mail
comerciale, nesolicitate). Pentru aceast, pe lng adresa de e-mail, vizitatorii au la dispoziie un

31 | P a g e

formular de contact, ntr-o pagin special, care s nu le solicite dect completarea unor rubrici i
apsarea unu buton, fr a le mai deschide programul de e-mail.
n meniul din stnga se afl:

informaii generale

oferte de munc

oferte de studii

creare cont pe care dac se aps se deschide un subdomeniu cu nscriere candidat i nscriere
companie
Un forum de logare n care se alege tipul: Logare Candidat (persoan fizic) sau Companie

(persoan juridic), apoi se introduce Id-ul de utilizator i parola pentru a intra n contul personal, se
apas butonul LOGIn
Mai jos de Login se afl o poz (a sediului central) care este un link pe imagine care deschide
pagina contacte.php
Ultimul este un form de cutare rapid a uneu oferte de munc dup un cuvnt cheie (dup
Localitate, Specialitate sau Companie)
n momentul n care s-a logat un utilizator n loc de Creare cont apare un alt buton Informaii
Cont, n care pot fi schimbate datele personale, poate fi schimbat parola, n funcie de candidat sau
companie se afl i alte informaii (adaug oferta de munc, informaii personale trimise de ctre
Directorul firmei, etc).

32 | P a g e

n informaii generale se gsesc informaii despre agenie, felul n care se procedeaz cu


datele fiecrui utilizator i sunt dou link-uri ctre nscrierea candidatului i ctre nscriere companie.
La oferte de munc se gsesc informaii despre viz de munc pentru ceteni romni, care
sunt disponibile numai la Consulatul Italiei din Romnia
Mai jos sunt afiate ntr-un tabel ofertele de munc care au fost nregistrate de ctre
companiile care au nevoie de brae de munc. Ofertele sunt ordonate descresctor dup data
nregistrrii i sunt afiate numai numele companiei i specialitatea cerut.
Pentru a vedea mai multe informaii i date despre ofert se aps click pe specialitate sau
Companie i se deschide un alt tabel de informaii. Pentru a vedea urmtoarea ofert se apas nainte
pentru a vedea datele despre oferta precedent se apas napoi.
Pentru afiarea datelor din tabelul oferte de munc s-au folosit dou variabile care selecteaz
numele companiei.
Apsnd click pe Creare Cont se deschide un subdomeniu cu nscriere candidat sau nscriere
companie. n urma alegerii unuia dintre ele se deschide un formular care are notate cmpurile cu *,
ceea ce reprezint cmpurile care trebuie completate obligatoriu. Datele sunt nregistrate n baza de
date. n cazul n care nu s-a introdus un cmp (obligatoriu) apare o pagin cu un mesaj care arat ce
cmp nu a fost completat i un buton back care ntoarce la formularul de nscriere i datele care au
fost introduse sunt pstrate datorit tipului de variabil $_SESSION.
Pentru nscrierea datelor n baza de date se apas butonul trimite, iar pentru tergerea datelor
din formular se apas butonul Reset.

33 | P a g e

Pentru ca s fie nregistrate toate datele, cmpurilor obligatorii s-a folosit funcia verific ()
care conine condiii de restricii ca respectivul cmp s nu fie nul, s aib numrul de caractere
cuprinse ntr-un anumit interval, etc.
Similar Formularului de nscriere a candidatului este i formularul de nscriere a candidatului.
La logare userii i aleg tipul de login candidat sau companie i la Informaii cont au
urmtoarele meniuri:

pentru Companie

modificare date companie

adaug oferte de munc

afiare oferte (proprii)

pentru candidai

modificare date personale

adaug cerere

citete rspuns
La completarea formularului de nscriere a unui uer n faa fiecrui cmp care este

obligatoriu este cte o stelu roie. Acelai lucru se gsete i n formularul de modificare al datelor
Dup ce a fost creat un uer nou, acesta are posibilitatea s-i modifice datele (ct i parola)
accesnd din meniul din stnga Informaii cont i apoi selectnd modific date personale. Aceast
posibilitate o au i uerii candidai i companiile.
Candidai - din aceast tabel pot fi adugai candidai noi (Adugare) i editare date din baza
de date (Editeaz) de unde pot fi modificate sau terse.
Companii din aceast tabel pot fi adugate companii noi (Adugare) i editate datele din
baza de date (Editeaz) de unde poi fi modificate sau terse.
Aplicri se pot vedea mai detaliat datele i pot fi numai terse.
Cereri din aceast tabel pot fi vzute cererile depuse de ctre candidai ct i este
disponibil o <textarea> n care se scrie rspunsul.
Oferte de munc - la aceast tabel pot fi modificate sau terse datele, sau este disponibil un
formular de adugarea unei oferte noi (la uerul de companie).
Oferte studii aceast tabel poate fi administrat la fel ca i tabela oferte de munc numai
cp aceste date sunt numai pentru administrator pentru c ele nu apar pe site.
Domenii activitate aceast tabel este modificat numai dac cele 7 nregistrri cu cele mai
importante niveluri de cariere nu sunt ndeajuns n tabel n numr de 33.
34 | P a g e

Nivel carier aceast tabel este modificat numai dac cele 7 nregistrri cu cele mai
importante niveluri de carier nu sunt ndeajuns sau dac unul din nivele nu este necesar poate fi
ters.
Nivel pregtire n aceast tabel sunt nivelurile de pregtire standard. Dac mai este nevoie
de un alt nivel poate fi adugat n aceast tabel (dac nu este nevoie de unul dintre cele nregistrate
deja, poate fi ters).
Stare profesional este acelai lucru ca i tabelul precedent.
La apsarea oricrui buton de tergere, pentru o securitate mai bun a datelor, va aprea un
message box care va ntreba administratorul dac este sigur c vrea s tearg nregistrarea.
La tabela aplicri ct i la cea de cereri despre ueri sau specialitate pot fi vzute prin click pe
nume. Astfel se deschide o fereastr cu toate informaiile. Dac se dorete modificarea datelor la
sfritul listei este un link care modific uer. Aceast fereastr a fost realizat cu ajutorul
urmtorului cod.
5.10 Descrierea funciilor utilizate n aplicaie
Isset () funcie care verific dac a fost setat o valoare a unei variabile
Strlen () funcie ce returneaz lungimea unui ir de caractere
Require () funcie care include n scriptul curent coninutul unui fiier cu verificarea de a fi
introdus o singur dat (spre deosebire de funcia include ()) care permite includerea fiierului de
mai multe ori)
Printf () funcie care afieaz un ir de caractere formatat
Crypt ($pass, BB) funcie care cripteaz un ir de caractere ($pass) dup o cheie de
criptare (BB)
Mail ($to, $subject, $message, $headers) funcie folosit pentru a trimite un email (de la
$to, cu subiectul $subiect, avnd ca mesaj $message cu headerele adiionale $header);
Strcmp () funcie care compar dou iruri de caractere (asemntor funciei standard n
limbajul C)
Trim () funcie care elimin spaiile goale de la nceputul i sfritul unui ir de caractere
specificat ca parametru (asemntor funciei standard n C)
Mysql_query () trimite o comanda MySQL bazei de date active de pe server

35 | P a g e

Mysql_fetch_array () returneaz o linie din rezultatul comenzii


Mysql_error () returneaz mesajul de eroare sub form de ir de caractere generat de baza
de date mysql dac este cazul
Mysql_num_rows () returneaz numrul de linii din rezultatul unei cereri mysql
Mysql_connect ( localhost, $user, $pass) deschide o conexiune ctre un server mysql
Mysql_select_db ($dbname) alege o baz de date mysql dup conectarea la un server mysql
Session_start () iniializeaz o seciune de date bazat pe id-ul de sesiune trimis printr-o
cerere GET sau POST
Session_destroy distruge toate datele asociate cu sesiunea curent
Ob_start () oprete afiarea bufferului pn la terminarea execuiei scriptului

36 | P a g e

Cap 6 Concluzii
Concluziile sunt uor se sesizat. Reuita n afaceri necesit, n prezent utilizarea tuturor
resurselor i mijloacelor informaionale de care dispune ntreprinztorul precum i extinderea
relaiilor de afaceri n afara limitelor convenionale.
Internetul poate fi considerat un mediu, o infrastructur ce ofer agenilor economici, spre
exemplu, abilitatea de a se face cunoscui att clienilor ct i posibililor parteneri de afaceri, de a
accesa informaia uor i rapid.
n aceste condiii lipsa de pe aceast pia n continu cretere s-ar putea dovedi un adevrat
insucces, se poate transforma ntr-o nereuit.
Dup studiul acestei lucrri pot afirma ca ar fi o greeal ca oportunitile oferite de Internet
s nu fie valorificate.

37 | P a g e

Bibliografie:
1. Aplicatii Web la cheie. Studii de caz implementate in PHP de Buraga Sabin, Editura: Polirom
2003;
2.

PHP pentru World Wide Web in imagini de Ullman Larry, Editura: Teora 2004;

3. Invata singur PHP, MySQL si Apache de Julie C. Meloni, Editura: Corint 2005
4. PHP4 de Bill McCarty, Editura: Teora 2004;
5. Dezvoltarea aplicatiilor WEB cu PHP si MySQL Laura Thomson, Editura: Teora 2004;
6. http://www.info-portal.ro
7. http://programare.org
8. http://www.ro.kde.org
9. http://www.programarephp.3x.ro
10. http://jalobean.itim-cj.ro
11. http://www.phpromania.ro
12. http://www.php.net

38 | P a g e

Anexe

Codul surs:
39 | P a g e

-index_main.php
<TR>
<TD COLSPAN=2 background ="images/207_13.gif" WIDTH=53 HEIGHT=335
ALT="">
</TD>
<TD COLSPAN=5 align="center" valign="top" class="smallheader">
<h2>Bine ati venit</h2>
<br />
<h2>Ultimele oferte</h2>
<br />
<table class='mtable' width="200" cellpadding="4" cellspacing="2">
<?php
$query = "SELECT * FROM oferte_munca ORDER by date1 LIMIT 0,5";
$result=mysql_query($query);
while($row=mysql_fetch_array($result))
{
print"<tr >";
print "<td ><a href='oferte_munca.php'><img src='images/menup.gif'
border='0'></a></td>";
print "<td ><a href='oferte_munca.php'>".$row['specialitate']."</a></td>";
print"</tr>";
}
?>
</table>
</TD>
</TR>

-cont_main.php
40 | P a g e

<link href="css/main_stylesnew.css" rel="stylesheet" type="text/css">


<TR>
<TD COLSPAN=2 background ="images/207_13.gif" WIDTH=53 HEIGHT=335
ALT="">
</TD>
<TD COLSPAN=5 align="center" valign="top" class="smallheader">

<h2>Informatii Cont (candidat)</h2>


<hr />

<?php

$sql_candidati="select * from candidati where iuser='".$_POST['user']."' and pass='".


$_POST['parola']."'";
$sql_companii="select * from companii where iuser='".$_POST['user']."' and pass='".
$_POST['parola']."'";
$result_candidati=@mysql_query($sql_candidati);
$result_companii=@mysql_query($sql_companii);
$nr_candidati=@mysql_num_rows($result_candidati);
$nr_companii=@mysql_num_rows($result_companii);
while($row_candidati=@mysql_fetch_array($result_candidati))
{
$_SESSION['id']=$row_candidati['id'];
$_SESSION['iuser']=$row_candidati['iuser'];
$_SESSION['nume']=$row_candidati['nume'];
$_SESSION['tip_candidat']='candidati';
}
41 | P a g e

while($row_companii=@mysql_fetch_array($result_companii))
{
$_SESSION['id']=$row_companii['id'];
$_SESSION['iuser']=$row_companii['iuser'];
$_SESSION['nume']=$row_candidati['nume'];
$_SESSION['tip_candidat']='companii';
}

if(($nr_candidati!='1')&&($nr_companii!='1')&&(empty($_SESSION['id'])))
{
?>
<table width="229" border="0" align="center">
<tr>
<td width="30"><img src="images/alert.png" width="16" height="16" /></td>
<td width="189" class="redbold">Utilizator sau parola gresita</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>

<?php
42 | P a g e

}
elseif($_SESSION['tip_candidat']=='candidati')
{
?>
<h5><?php print "Bine ai venit ".$_SESSION['iuser'];?></h5>
<table width="519" border="0" align="left">
<tr>
<td width="23" bgcolor="#FFFFFF"><img src="images/star.png" alt="" width="16"
height="16"></td>
<td width="486" background="cont.php"><a href="cont.php?pag=modifica"
class="toplevel">Modificare date personale</a></td>
</tr>
<tr>
<td><img src="images/star.png" alt="" width="16" height="16"></td>
<td><a href="cont.php?pag=adauga_cerere" class="toplevel">Adauga cerere</a></td>
</tr>
<tr>
<td><img src="images/star.png" alt="" width="16" height="16"></td>
<td><a href="cont.php?pag=citire" class="toplevel">Citire raspuns</a></td>
</tr>
</table>
<?php
}
elseif($_SESSION['tip_candidat']=='companii')
{
?>
<h5><?php print "Bine ai venit ".$_SESSION['iuser'];?></h5>
43 | P a g e

<table width="519" border="0" align="left">


<tr>
<td width="23" bgcolor="#FFFFFF"><img src="images/star.png" alt="" width="16"
height="16"></td>
<td width="486" background="cont.php"><a href="cont.php?
pag=modificare_date_companie" class="toplevel">Modificare date companie</a></td>
</tr>
<tr>
<td><img src="images/star.png" alt="" width="16" height="16"></td>
<td><a href="cont.php?pag=adauga_oferta_munca" class="toplevel">Adauga oferta de
munca</a></td>
</tr>
<tr>
<td><img src="images/star.png" alt="" width="16" height="16"></td>
<td><a href="cont.php?pag=afisare_oferte" class="toplevel">Afisare Oferte</a></td>
</tr>
</table>
<?php
}
?>

</TD>
</TR>

-modificare_date_companie.php
<?php
$arrErrors = array();
44 | P a g e

$sql_comp="select * from companii where id='".$_SESSION['id']."'";


$result_comp=mysql_query($sql_comp);
while($row=mysql_fetch_array($result_comp))
{
$db_id=$row['id'];
$db_iuser=$row['iuser'];
$db_pass=$row['pass'];
$db_nume=$row['nume'];
$db_cui=$row['cui'];
$db_nume_banca=$row['nume_banca'];
$db_cont_banca=$row['cont_banca'];
$db_tara=$row['tara'];
$db_judet=$row['judet'];
$db_localitate=$row['localitate'];
$db_adresa=$row['adresa'];
$db_tel1=$row['tel1'];
$db_tel2=$row['tel2'];
$db_fax=$row['fax'];
$db_domenii_activitate=$row['domenii_activitate'];
$db_responsabil=$row['responsabil'];
$db_resp_tel=$row['resp_tel'];
$db_resp_email=$row['resp_email'];
$db_limba=$row['limba'];

//Only validate if the Submit button was clicked.


45 | P a g e

if (!empty($_POST)) {

if ($_POST['user']=='')
$arrErrors['user']='Introduceti user';
if ($_POST['pass']=='')
$arrErrors['pass']='Introduceti parola';
if ($_POST['pass']!=$_POST['pass2'])
$arrErrors['pass2']='Parola nu corespunde';
if ($_POST['pass']!=$_POST['pass2'])
$arrErrors['pass']='Parola nu corespunde';
if ($_POST['pass2']=='')
$arrErrors['pass2']='Introduceti verificare parola';
if ($_POST['nume']=='')
$arrErrors['nume']='X';
if ($_POST['cui']=='')
$arrErrors['cui']='X';
if ($_POST['nume_banca']=='')
$arrErrors['nume_banca']='X';

if ($_POST['cont_banca']=='')
$arrErrors['cont_banca']='X';
if ($_POST['tara']=='')
$arrErrors['tara']='X';
if ($_POST['judet']=='')
$arrErrors['judet']='X';
if ($_POST['localitate']=='')
46 | P a g e

$arrErrors['localitate']='X';
if ($_POST['adresa']=='')
$arrErrors['adresa']='X';
if ($_POST['tel']=='')
$arrErrors['tel']='X';
if ($_POST['responsabil']=='')
$arrErrors['responsabil']='X';
if ($_POST['email']=='')
$arrErrors['email']='X';

if (count($arrErrors) == 0) {
$psqlx="update companii set iuser='".$_POST['user']."',pass='".$_POST['pass']."',nume='".
$_POST['nume']."',cui='".$_POST['cui']."',nume_banca='".$_POST['nume_banca']."',cont_banca='".
$_POST['cont_banca']."',tara='".$_POST['tara']."',judet='".$_POST['judet']."',localitate='".
$_POST['localitate']."',adresa='".$_POST['adresa']."',tel1='".$_POST['tel']."',tel2='".$_POST['tel2']."'
,fax='".$_POST['fax']."',domenii_activitate='".$_POST['domenii_activitate']."',responsabil='".
$_POST['responsabil']."',resp_telefon='".$_POST['tel_resp']."',resp_email='".
$_POST['email']."',limba='".$_POST['limba']."' where id='".$db_id."'";
$result=mysql_query($psqlx) or die("Error INSERT x");
header('Location: cont.php');
ob_end_flush();
}
else {
// The error array had something in it. There was an error.
// Start adding error text to an error string.
$strError = '<table class="be-inst" border="0" cellpadding="4" cellspacing="0"
width="100%">
<tbody><tr><td width="4"><img src="images/blank.gif" height="27" width="4"></td>
<td width="25"><img src="images/icon-error_lg.gif" border="0" height="27"
width="25"></td>
47 | P a g e

<td width="4"><img src="images/blank.gif" height="27" width="4"></td>


<td><table class="be-inst" border="0" cellpadding="1" cellspacing="0"><tbody><tr>
<td colspan="2" valign="top"><div class="be-h1">Please fix the following
errors:</div></td>
</tr><tr><td colspan="2"><img src="images/blank.gif" border="0" height="4"
width="1"></td>
</tr><tr><td valign="top">';

foreach ($arrErrors as $error) {


$strError .= "<li>$error</li>";
}
$strError.= '</td></tr></tbody></table></td></tr></tbody></table>';

}
}
ob_end_flush();
$sql_comp="select * from companii where id='".$_SESSION['id']."'";
$result_comp=mysql_query($sql_comp);
while($row=mysql_fetch_array($result_comp))
{
$id=$row['id'];
$iuser=$row['iuser'];
$pass=$row['pass'];
$nume=$row['nume'];
$cui=$row['cui'];
$nume_banca=$row['nume_banca'];
$cont_banca=$row['cont_banca'];
$tara=$row['tara'];
48 | P a g e

$judet=$row['judet'];
$localitate=$row['localitate'];
$adresa=$row['adresa'];
$tel1=$row['tel1'];
$tel2=$row['tel2'];
$fax=$row['fax'];
$domenii_activitate=$row['domenii_activitate'];
$responsabil=$row['responsabil'];
$resp_tel=$row['resp_telefon'];
$resp_email=$row['resp_email'];
$limba=$row['limba'];

?>
<TR>
<TD COLSPAN=2 background ="images/207_13.gif" WIDTH=53 HEIGHT=335
ALT=""></TD>
<TD COLSPAN=5 align="center" valign="top"
class="smallheader"><h2>Modificare cont - companie</h2>
<hr />

* - informatii obligatorii
<form method="post" action="cont.php?pag=modifica">
<table border="0" cellpadding="0" cellspacing="5">
<tr>
<td>*Utilizator:</td>
49 | P a g e

<td><input type="text" size="15" name="user" <?php


if (!empty($_REQUEST['user']))
{
print 'value="'.$_REQUEST['user'].'"';
}
elseif(!empty($iuser))
{
print 'value="'.$iuser.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['user'])) echo '<img src="images/iconerror_sm.gif" alt=""><span class="err">'.' '.$arrErrors['user']."</span>"; ?></td>
</tr>
<tr>
<td>*Parola:</td>
<td><input type="password" size="15" value="" name="pass" />&nbsp;<?php if (!
empty($arrErrors['pass'])) echo '<img src="images/icon-error_sm.gif" alt=""><span class="err">'.' '.
$arrErrors['pass']."</span>"; ?></td>
</tr>
<tr>
<td>*Confirmare parola:</td>
<td><input type="password" size="15" value="" name="pass2" />&nbsp;<?php if (!
empty($arrErrors['pass2'])) echo '<img src="images/icon-error_sm.gif" alt=""><span class="err">'.' '.
$arrErrors['pass2']."</span>"; ?></td>
</tr>
<tr>
<td>*Nume companie:</td>
<td><input type="text" size="30" name="nume" <?php
if (!empty($_REQUEST['nume']))
{
50 | P a g e

print 'value="'.$_REQUEST['nume'].'"';
}
elseif(!empty($nume))
{
print 'value="'.$nume.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['nume'])) echo '<img src="images/iconerror_sm.gif" alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>*CUI (cod unic de identificare):</td>
<td><input type="text" size="10" name="cui" <?php
if (!empty($_REQUEST['cui']))
{
print 'value="'.$_REQUEST['cui'].'"';
}
elseif(!empty($cui))
{
print 'value="'.$cui.'"';
}
?> />
&nbsp;<?php if (!empty($arrErrors['cui'])) echo '<img src="images/icon-error_sm.gif"
alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>*Nume Banca:</td>
<td><input type="text" size="30" name="nume_banca" <?php
if (!empty($_REQUEST['nume_banca']))
51 | P a g e

{
print 'value="'.$_REQUEST['nume_banca'].'"';
}
elseif(!empty($nume_banca))
{
print 'value="'.$nume_banca.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['nume_banca'])) echo '<img
src="images/icon-error_sm.gif" alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>*Cont Banca:</td>
<td><input type="text" size="30" name="cont_banca" <?php
if (!empty($_REQUEST['cont_banca']))
{
print 'value="'.$_REQUEST['cont_banca'].'"';
}
elseif(!empty($cont_banca))
{
print 'value="'.$cont_banca.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['cont_banca'])) echo '<img
src="images/icon-error_sm.gif" alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>*Tara:</td>
<td><?php
$sql="select * from tara";
52 | P a g e

if(isset($tara))
{
$post_t=$tara;
}
else
{
$post_t=$_REQUEST['tara'];
}
$select_name="tara";
$initial_value="";
$selected_value="RO";
$val1="iso";
$val2="printable_name";
select_($sql,$select_name,$selected_value,$initial_value,$val1,$val2,$post_t);
?>

</td>

</tr>
<tr>
<td>Judet: </td>
<td><?php
$sql_j="select * from judete";
if(isset($tara))
{
$post_j=$judet;
}
else
{
$post_j=$_REQUEST['judet'];
53 | P a g e

}
//$post_j=$_REQUEST['judet'];
$select_name_j="judet";
$initial_value_j="--Alege--";
$selected_value_j="";
$val1_j="id";
$val2_j="val";
select_($sql_j,$select_name_j,$selected_value_j,$initial_value_j,$val1_j,$val2_j,$post_j);
?>

</td>

</tr>
<tr>
<td>*Localitate: </td>
<td><input type="text" size="20" name="localitate"<?php
if (!empty($_REQUEST['localitate']))
{
print 'value="'.$_REQUEST['localitate'].'"';
}
elseif(!empty($localitate))
{
print 'value="'.$localitate.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['localitate'])) echo '<img src="images/iconerror_sm.gif" alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>Adresa:</td>
<td><input type="text" size="20" name="adresa" <?php
54 | P a g e

if (!empty($_REQUEST['adresa']))
{
print 'value="'.$_REQUEST['adresa'].'"';
}
elseif(!empty($adresa))
{
print 'value="'.$adresa.'"';
}
?> /></td>
</tr>
<tr>
<td>*Telefon:</td>
<td><input type="text" size="20" name="tel" <?php
if (!empty($_REQUEST['tel']))
{
print 'value="'.$_REQUEST['tel'].'"';
}
elseif(!empty($tel1))
{
print 'value="'.$tel1.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['tel'])) echo '<img src="images/iconerror_sm.gif" alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>Telefon alternativ:</td>
<td><input type="text" size="15" name="tel2" <?php
55 | P a g e

if (!empty($_REQUEST['tel2']))
{
print 'value="'.$_REQUEST['tel2'].'"';
}
elseif(!empty($tel2))
{
print 'value="'.$tel2.'"';
}
?> /></td>
</tr>
<tr>
<td>Fax:</td>
<td><input type="text" size="15" name="fax" <?php
if (!empty($_REQUEST['fax']))
{
print 'value="'.$_REQUEST['fax'].'"';
}
elseif(!empty($fax))
{
print 'value="'.$fax.'"';
}
?> /></td>
</tr>
<tr>
<td>Domenii principale de activitate: </td>
<td><?php
$sql_da="select * from domenii_activitate";
56 | P a g e

if(isset($domenii_activitate))
{
$post_da=$domenii_activitate;
}
else
{
$post_da=$_REQUEST['domenii_activitate'];
}
//$post_da=$_REQUEST['domenii_activitate'];
$select_name_da="domenii_activitate";
$initial_value_da="--Alege--";
$selected_value_da="";
$val1_da="id";
$val2_da="val";
select_($sql_da,$select_name_da,$selected_value_da,$initial_value_da,$val1_da,$val2_da,
$post_da);
?>

</td>

</tr>
<tr>
<td>*Responsabil resurse umane: </td>
<td><input type="text" size="20" name="responsabil" <?php
if (!empty($_REQUEST['responsabil']))
{
print 'value="'.$_REQUEST['responsabil'].'"';
}
elseif(!empty($responsabil))
{
57 | P a g e

print 'value="'.$responsabil.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['responsabil'])) echo '<img
src="images/icon-error_sm.gif" alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>Telefon (responsabil): </td>
<td><input type="text" size="20" name="tel_resp" <?php
if (!empty($_REQUEST['tel_resp']))
{
print 'value="'.$_REQUEST['tel_resp'].'"';
}
elseif(!empty($resp_tel))
{
print 'value="'.$resp_tel.'"';
}
?> /></td>
</tr>
<tr>
<td>*Email: </td>
<td><input type="text" size="20" name="email"<?php
if (!empty($_REQUEST['email']))
{
print 'value="'.$_REQUEST['email'].'"';
}
elseif(!empty($resp_email))
{
58 | P a g e

print 'value="'.$resp_email.'"';
}
?> />&nbsp;<?php if (!empty($arrErrors['email'])) echo '<img src="images/iconerror_sm.gif" alt=""><br /><span class="errortext"></span>'; ?></td>
</tr>
<tr>
<td>Alegeti limba:</td>
<td><?php
$sql_l="select * from limba";
if(isset($limba))
{
$postl=$limba;
}
else
{
$postl=$_REQUEST['limba'];
}
//$post_l=$_REQUEST['limba'];
$select_name_l="limba";
$initial_value_l="";
$selected_value_l="1";
$val1_l="id";
$val2_l="val";
select_($sql_l,$select_name_l,$selected_value_l,$initial_value_l,$val1_l,$val2_l,$post_l);
?>

</td>

</tr>
<tr>
59 | P a g e

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


</td>
</tr>
<tr>
<td align="center"><input type="submit" value="Trimite" name="submit" /></td>
<td align="center"><input type="reset" value="Reset" name="reset" /></td>
</tr>
<tr>
<td colspan="2"><br />
<input type="hidden" name="inscriere" value="companii"/></td>
</tr>
</table>
</form> </TD>
</TR>

60 | P a g e