DomeniulĂdeĂlicenŃăĂINFORMATICĂĂ [607518]
UniversitateaĂdinĂBucureștiĂ
FacultateaĂdeĂMatematicăĂșiĂInformaticăĂ Ă
DomeniulĂdeĂlicenŃăĂINFORMATICĂĂ
Ă
Ă
Ă
Ă
Ă
Ă
LUCRAREÎDEÎLICENłĂÎ
Ă
Web site de gestionare on-line a locurilor de munc ă
AplicaŃie PHP și MySQL
Ă
Ă
Ă
Ă
Ă
Ă
Ă
Ă
Ă
Ă
Ă
Ă
Ă
CoordonatorĂștiinŃific,ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂAbsolvent: [anonimizat]
820088Ă
d
d
d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
2d
dC
C
C
CuprinsÎ
d
d
INTRODUCEREÎÎ
d
1CGENERALITĂłIÎPRIVINDÎTEHNOLOGIILEÎWEB Î
dddd1.1ddProiectareadunuidWebdsited……………. …………………………………………… …………d 5d
dddd1.2ddTehnologiiledWebd2.0d………………… …………………………………………… …………. 11 d
d
2CPHP ȘIÎMYSQLÎÎNÎELABORAREAÎAPLICAłIILEÎWEB C
2.1dDezvoltareadaplicaŃiilordWebd……………………………………… ………..d 13 dd
2.2dAvantajeledfolosiriidunuidsiteddinamicd…………………… …………… …d…d 14 d
2.3dPHPdșidMySQLd–dopendsourced………………………………… ………d.…..d 14C
2.4dConcepereadunuidWebdsited-dpreliminariid………………… ……………… ….d 15C
d
3CLIMBAJULÎDEÎPROGRAMAREÎPHP C
dddd3.1dCaracteristicidPHPd ………………………………… ……………………………………….d 17 d
dddd3.2dTipuriddeddated………………………………… ……………………………………..dd 20C
dddd3.3dOperatorid………………………………… …………………………………………… .d 31 C
dddd3.4dStructuriddedcontrold………………………………… ………………………d 37 C
dddd3.5dFuncŃiid………………………………… C
d
4CBAZEÎDEÎDATEÎMYSQL Î
4.1dGeneraltăŃidprivindddbazeleddeddated……….. …………………………………………… …d 54 d
4.2dLimbajuldSQLd……………………………. …………………………………………… …………d 55 d
4.3dSistemuldSGBDd…………………………… …………………………………………… ……….d 59C
4.4dSistemuldMySQLd………………………….. …………………………………………… ………d 60 d
d
5CAPLICAłIEÎWEB.ÎWEBÎSITEÎDEÎJOBoURI Î
dddd5.1.ObiectiveledelaborăriidaplicaŃieidd ………………………………… ………………….d 64 C
dddd5.2ddTabeledMySQLd …………………………… …………………………………………….d 71 d
dddd5.3dCreareadsite-uluid ………………………………… ………………………………………….d 77 C
dddd5.4d FuncŃiidșidprelucrărid………………………………… ……………………………………….dd 85 d
d
BIBLIOGRAFIE Ă…………………………………………… ………………………………………..d 91 Ă
d
d
d
d
d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
3d
dd
d
d
INTRODUCEREÎ
d
d
d
dUnĂWebÎsiteÎdinamic ĂseĂelaboreazăĂprinĂutlizareaĂtehnologiilorĂ
WebĂ moderneĂ deoareceĂ conŃinutulĂ esteĂ orientatĂ peĂ baze. de. date, Ă
informaŃiileĂ administrateĂ fiindĂ deĂ volumĂ mare.Ă Admi nistrareaĂ
conŃinutuluiĂseĂspijinăĂpeĂfolosireaĂdeĂelementeĂpr edefiniteĂconstruiteĂ
anterior,ĂînĂcareĂconŃinutulĂvaĂfiĂintrodus.Ă DocumenteleÎ WebÎ suntĂ
construite/generateĂ înĂ momentulĂ ( generare. dinamică )Ă înĂ careĂ suntĂ
ceruteĂ deĂ utilizatori.Ă AcestĂ lucruĂ seĂ realizeazăĂ cu Ă ajutorulĂ unorĂ
instrumente.de.interogare ĂpentruĂ baze.de.date ĂcareĂextragĂinformaŃiileĂ
(tehnologiileĂPHPĂsiĂMySQL)ĂșiĂleĂafișeazăĂînĂanumi teĂzoneĂdeĂpeĂ site .Ă
AcesteĂ siteAuriĂ suntĂ deĂ complexitate. mare. și. foarte. mare Ă șiĂĂ
administreazăĂvolumĂmareĂdeĂ informaŃii.(siteAuri.pentru.companii,.firme,.
organizaŃii,. instituŃii,. universităŃi,. etc .);ĂuneleĂ site 8uriĂfolosescĂ servereÎ
deÎtranzacŃii ,ĂiarĂalteleĂ servereÎdeÎbazeÎdeÎdate .Ă
ĂLucrareaĂabordeazăĂmodulĂdeĂproiectare,Ăconcepere,Ă elaborareĂșiĂ
utilizareĂaĂunuiĂWebĂsiteĂdinamicĂdestinatĂgestionă riiĂșiĂprelucrăriiĂ
job8urileĂ înĂ domeniulĂ logisticii.Ă AplicaŃiaĂ aĂ fostĂ elaboratăĂ folosindĂ
tehnologiileĂ PHP ,ĂMySQL Ă șiĂ JavaScript Ă șiĂ esteĂ operationalăĂ
(www.logisticsjobs.ro ),ĂfiindĂ„ primul. site. din. România. specializat. în.
joburi. de. logistică.. Unul. din. obiectivele. noastre. e ste. să. fim. în. egală.
măsură. utili. atât. angajatorilor. cât. și. celor. care. d oresc. să. evolueze. în.
carieră,. căutând. noi. oportunităŃi. în. domeniul. logis tic .”Ă (BlueĂ
EngineeringĂInternational–Ă www.bei.ro ).Ă
Ă StructuraĂlucrăriiĂesteĂconstituităĂdinĂurmătoarel eĂcapitole:Ă
• CapitolulĂ1Ă„ GeneralităŃi. privind. tehnologiile. Web ”ĂceĂprezintăĂ
aspecteleĂesenŃialeĂprivindĂproiectareĂșiĂelaborare aĂuneiĂaplicaŃiiĂ
Web,ĂprecumĂșiĂuneleĂaspecteĂreferitoareĂlaĂnouaĂge neraŃieĂaĂ
tehnologiilorĂWebĂ–ĂWebĂ2.0;Ă
• CapitolulĂ2Ă„ PHP. și. MySQL. în. elaborarea. aplicaŃiilor. Web ”ĂceĂ
prezintăĂ etapeleĂ principaleĂ înĂ dezvoltareaĂ aplicaŃi ilorĂ WebĂ
folosindĂtehnologiaĂPHPĂșiĂsistemulĂMySQL;Ă
• CapitolulĂ3Ă„ Limbajul.de.programare ĂPHP ”ĂceĂprezintăĂpricipaleleĂ
elementeĂ deĂ programareĂ aleĂ limbajuluiĂ PHPĂ (tipuriĂ d eĂ date,Ă
operatori,ĂinstrucŃiuniĂșiĂfuncŃii);Ă
• CapitolulĂ4Ă„ Baze.de.date.MySQL. ”ĂceĂdescrieĂuneleĂgeneralităŃiĂ
privindĂbazeleĂdeĂdate,ĂlimbajulĂSQL,ĂsistemulĂSGBD ĂșiĂsistemulĂ
MySQL;Ă
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
4d
d• CapitolulĂ5Ă„ AplicaŃie.Web..Web.site.de.JobAuri ”ĂceĂdescrieĂtoateĂ
etapele,Ăprocedurile,ĂprelucrărileĂșiĂvalidărileĂco respunzătoareĂ
aplicaŃieiĂWebĂprivindĂgestionareaĂon8lineĂaĂlocuri lorĂdeĂmuncăĂ
dinĂdomeniulĂlogisticii.ĂĂ
UltimulĂcapitolĂceĂseĂreferăĂlaĂmodulĂdeĂconcepere, Ăproiectare,Ă
elaborareĂșiĂutilizareĂaĂaplicaŃieiĂWebĂșiĂrealizea zăĂoĂdescriereĂcompletăĂ
aĂtuturorĂaspectelorĂceĂvizeazăĂbazaĂdeĂdate,Ăinfor maŃiileĂșiĂcategoriileĂ
deĂ date,Ă problemeĂ deĂ funcŃionalitete,Ă aspecteĂ deĂ ve rificareĂ aĂ
informaŃiilor,Ă precumĂ șiĂ toateĂ acŃiunileĂ corespunză toareĂ celorĂ treiĂ
componenteĂaleĂaplicaŃiei:Ă
• ComponentaĂpentruĂutilizatoriĂcandidaŃi;Ă
• ComponentaĂpentruĂutilizatoriĂangajatori;Ă
• ComponentaĂpentruĂadministrareaĂaplicaŃiei.Ă
DescrierileĂprivindĂacesteĂcomponenteĂsuntĂsusŃinut eĂdeĂimagini,Ă
prezentăriĂdeĂcodĂșiĂexplicaŃiiĂreferitoareĂlaĂacŃi unileĂșiĂprelucrărileĂ
corespunzătoare.Ă
Ă
ĂĂĂĂĂĂĂĂĂ
Ă
http://www.logisticsjobs.ro/Ă
Ă
Ă
Ă
Ă
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
64d
dCAPITOLULÎ5Î
Ă
AplicaŃieÎWeb.ÎWebÎsiteÎdeÎJOBouriÎ
d
5.1CObiectiveleCelaborăriiCaplicaŃieiCC
CC
C
AplicaŃiaddescrisădîndcontinuaredreprezintădundWebd siteddedjoburidînd Logistica ,dsited
caredsedadreseazădunuidanumitdsegmentddindpiaŃadloc urilorddedmuncă.dUtilizatoriidacesteid
aplicaŃiid Webd suntd ded douăd categorii:d utilizatorid c ed dorescd săd angajeze d (utilizatord
ANGAJATOR)dșidceidceddorescd sădsedangajeze d(utilizatordCANDIDAT)dînddomeniuld
logistic.dAplicaŃiadestedfinalizatădșidestedfuncŃio nalădladadresad www.logisticsjobs.ro .d
Îndconformitatedcud OrganizaŃiadAmericanădCouncildofdSupplydChaindManag ementd
Professionals d ( CSCMP ),d Logistica d ested definităd cad " procesuld cared planifică,d
implementeazăd șidcontroleazădfluxuldșiddepozitaread eficacedșideficientădadproduselor,d
serviciilordșidinformaŃiilorddedladpunctulddedorigi nedladpunctulddedconsum,dîndscopuld
îndepliniriidcerinŃelordclienŃilor ”.d
d
PaginaCprincipalăCDCwww.logisticsjobs.roC
d
d
d
AplicaŃiadestedformatăddinddouădcomponentedfuncŃion ale:d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
65d
d1.ddparteaCdestinatăCtuturorCutilizatorilor d-dpermitedlogareadcandidaŃilor,dadaugareadded
CV-uri,daplicareadladundanumutdjob,dlogareadfirmelo rdînscrise,dcumpărareaddedpunctedced
permitdpostareaddedjob-uri,dvizualizareadCV-urilord aplicanŃilor;dutilizatoriidvordfiddedtipd
ANGAJATOR,drespectipdCANDIDAT;d
d
2.dparteaCdeCgestiuneCaCaplicaŃiei d-dpermitedvizualizareadtuturorduserilor,dCV-urilor ,djob-
urilordadăugate,dmodificareadpreŃuluidpostăriidunui djob,dvizualizareadcererilorddedpuncted
destinatedpostăriiddedjob-uriddedcătredfirmeledînsc rise.d
C
PentrudodrealizaredmaidușoarădadaplicaŃieidîndtoate dpaginiledsite-uluidestedinclusd
fișieruld functions.php dcedincludedtoatedfuncŃiilednecesaredîndaplicaŃie.d
Functiadded conectareClaCbazaCdeCdate :d
d
CCC functionCconectare()C
CC{CC
C $link=@mysql_connect("localhost",C"user",C"parola" );CC
CC ifC(!$link)Cdie("ConexiuneaClaCserverCnuCpoateCfi C
stabilita.");CC
C
CC $okay=@mysql_select_db("jobs",$link);CCC
C ifC(!$okay)Cdie("ConexiuneaCcuCbazaCdeCdateCnuCpoa teCfiC
stabilita.");C
CC}C
C
FuncŃiedprindcaredsed afișeazăCoCvaloareCdintrDunCtabelC aldbazeiddeddate:d
d
functionCgetOneValue($tabel,$camp1,$valoare,$campRe turnat)C
CC{C
CCCCC$Fq="SELECTC*CFROMC".$tabel."CWHEREC".$camp1." C=C
'".$valoare."'";C
C C $FrowC=Cmysql_fetch_array(mysql_query($Fq));C
C C returnC$Frow[$campReturnat];C
CC} C
C
FuncŃied cared formateazăd conŃinutuld headerelordșidal dtextuluidpentrudadputeadfidmailuld
interpretatdcadHTMLdșidrandatdcadatare:d
functionCsendHTMLemail($text,$from,$to,$subject)C
{C
C $de_trimis=C$text;C
C $headersC=C'From:CLogisticsJobs.roC<'.$from.'>'."\ n";C
C $headersC.=C"ContentFType:Ctext/html;Ccharset=ISOF 8859F2C";C
C $headersC.=C"MIMEFVersion:C1.0C";C C
C $subiectC=C$subject;C
C $destinatarC=C$to;C
C mail($destinatar,C$subiect,C$de_trimis,C$headers); C
}C
C
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
66d
dCOMPONENTAdDESTINATĂdTUTURORdUTILIZATORILORd
d
Paginadprincipaladadsite-uluidtrebuiedsădfiedunadcâ tdmaidsugestivădșidcaredsădofered
utilizatoruluid( angajatordsaudcandidat )dmotiveledpentrudadcontinuadsădsedinformezeddespre d
conŃinutdșdsădfiedimediatdinteresatdsădfoloseascăd serviciiledoferiteddedaplicaŃie .dd
Îndparteadcentralădsuntdsituatedformulareleddedloga redpentrudfirmed(ANGAJATOR),d
respectivdpentrudcandidaŃiid(CANDIDAT)dladjob-uriled postateddedfirme.d
Înd partead ded susd sed aflăd headerWul d cared conŃined logoWul d site-uluid șid meniulC
principal d(formatddinddouădrânduri):d
• “Home ”d–dpaginadprincipalădadaplicaŃieid
• “DespreCLogistica ”d–dinformaŃiidutiledprivinddconceptualddedlogistic ăd
• “ConsultantaC&CRecrutare ”d-ddserviciiddedconsultanŃădșidrecrutared
• “Contact”d–dinformaŃiidutiledprivinddfirmadcedestedpropriet ardaldaplicaŃieidd
• “CautaCjob ”d-dformularddedfiltaredadjob-urilorddindbazaddedda teddupădundcuvântd
cheie:dorașulddedactivitate,ddomeniudșidsubdomeniul ddedactivitate,dperimisdauto,d
tipuldjob-uluid(fulldtime,dpartdtimedetc)d
• “PentruCcandidat ”d-dafișeazădformularulddedlogaredaldcandidatuluidî ndcazuldîndcared
estedînregistratdpedsite;dîndcazuldîndcaredesteduit atădparola,dacestadpoatedtastaduseruld
cudcaredestedînscris,diardaplicaŃiadvadtrimitedunde -maildcudparola;dîndcazulddîndcaredd
vizitatoruldnudaredcontdpedsitedaredposibilitateadd să-șidrealizezedundcont.d
• “PentruCangajator ”d-dafișeazădformularulddedlogaredaldangajatoruluid îndcazuldînd
caredestedînregistratdpedsite;dîndcazuldîndcaredest eduitatădparoladacestadpoatedtastad
useruldcudcaredestedînscris,diardaplicaŃiadvadtrimi tedunde-maildcudparoladpedcared
useruldaduitat-o;dîndcazulddîndcareddvizitatoruldnu daredcontdpedsitedaredposibilitateadsă-
șidrealizezedundcontdșidvadprimidautomatd20ddedpunc tedfolositoareadladpostareadded
joburid
• “TopCjoburi ”d-dsuntdprezentatedceledmaidvizualizated10djob-uri dșidprimeled10djoburid
cudnumărulddedaplicăridceldmaidmare.d
• “ToateCjoburile ”d -d suntd afișated toated joburiled adăugated d ded firmed îndoridinead
tipului:d primeled vord fid joburiled gold,durmated ded celed silver,d iard apoid lad celed
standard.d
d
Subdmeniuldprincipal,dînddreaptadestedafișatd“ TopC5 ”,dceledmaidbunedjoburi.dJob-uriled
ped www.logisticsjobs.ro dsuntdded3dfelurid:d gold ,d silver dșid standard .dAcestedtipuridaudund
anumitdnumărddedpunctedșidundcostdîndlei,dcaredpoat edfidsetatdded administratoruldsiteWuluid
dindpanoulddedadministrare.dAfișareadcelord5djoburi dsedfacedcudajutoruldurmătoruluid query d:dd
d
“SELECTC*CFROMCJOBCWHERECactiv=1CANDCdata_l>='$azi'C ANDCdata_i<='$azi'C
ORDERCBYCclasaCDESC,RAND()CLIMITC0,5” CCC
d
Acestdquerydafișeazadprimeled5djoburidactivedcareda udcaddatăddedexpiratedmaidmareddecâtd
datadcurentădîndordineadtipuluid(clasei),dadicădpri meledafișatedvordfidceled gold ,d silver ,d
respectivedceled standard .d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
67d
dÎndparteaddedjosdadpaginiidprincipaledsuntdafișated 5dbanneredpublicitaredcedpotdfid
editateddindparteaddedadministrare.dÎnddreaptadjosd estedafișatdundcâmpdtextdcedpermited
abonareadlad Newsletter d:d
d
d
d
Inregistreazadaicidadresaddede-maildundeddorestid
sadprimestidinformatiiddesprednoiledjoburidpostated d
dedangajator.d
d
d
d
UTILIZATORddCANDIDATd
d
d Pentrud înregistraread unuid utilizatord
CANDIDATdsedcerdodadresaddede-maildșidod
parolă.d
Pentrud crearead unuid contd ped sited
trebuied completatd und formular d cud dateled
personale dcedvordservidșidladcreareaddedCV.d
Acested câmpurid suntd obligatorii,d eled fiindd
validatedcudajutoruldunuid script ddindlimbajuluid
JavaScript .d
d
dddddd
d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
68d
dDacădtoatedcondiŃiiledsuntdîndeplinitedsedînserează dînd bazaCdeCdateC user-uldcud
dateledaferentedșidsedtrimitedmaildladadresadspecif icatădpentrudactivareadcontului.dDupădcedad
fostdînseratdînd bazaCdeCdate duseruldtrebuiedsădintredpedemaildpentrudactivaread contului.d
Dacădemai-uldșidcoduldtrannsmisdprindURLdcoincid,da tunciduser-uldestedvalidatd(activat),d
altfeldsedtransmitedundmesajddederoare.d
Paginad candidatului ddupădlogareadpedsite:d
d
ddddddddd
d
d
Îndparteaddindstângadsedaflădundmeniudcud10dbutoane dcorespunzătoare:dd
• “Profiluldmeu”d
• “CrearedCV”d
• “ListeazadCV-urile”d
• d“Crearedscrisoareddedintentie”d
• d“Listeazadscrisoriddedintentie”d
• d“Job-uridsalvate”d
• d“Aplicatiiledmele”d
• d“ToatedJob-urile”d
• d“Cautadjob”d
• d“Logout”d
d
Înd centrud suntd prezented 3d bannered publicitared ced po td fid administrated ded cătred
administratorulCsiteDului d( componentaddedgestiunedadaplicaŃiei ).d
d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
69d
dd
UTILIZATORdANGAJATORd
d
Pentrud înregistraread unuid utilizatord
ANGAJATORdsedcerdodadresaddede-maildșid
odparolă.d
Pentrud creared unuid contd ped sited
trebuiedcompletatdund formular dcud dateledded
identificare .d Acested câmpurid suntd
obligatorii,d eled fiindd validated cud ajutoruld
unuid script ddJavaScript .d
d
dddddddddddddddddddddddddd
Paginadutilizatoruluid angajator ddupădlogareadpedsite:d
d
CCCCCCC
C
d
Îndparteaddindstângadsedaflădundmeniudcud9dbutoane: d"Cumparadpuncte",d"Posteazad
job",d "Istoricd puncte",d "Job-uriled mele",d "Aplicant i",d "Facturiled mele",d "Cautad Job,d
"Contuldmeu",d"Logout".d
d
Cadșidladparteaddestinatădcandidatilor,dîndparteadc entralădsedaflăd3dbanneredpublicitared
administratedcatred administratorulCsiteDului d(componentaddedgestiunedadaplicŃtiei ).d
.d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
70d
dd
COMPONENTAdDESTINATĂdGESTIUNIIdAPLICAłIEId
d
d
Partead ded gestiuned ad
aplicaŃiei.d
ÎndaceastădsecŃiunedsed
poated logad doard
administratorul d
aplicaŃiei.dd
d
Aicid suntd reunited atâtd
dateled despred useriid
candidati d ced și-aud
creatdcontdpedsite,dcâtd
șid useriid firme ,d dated
despredfacuriledemise,d
puncteled comandated
etc.dd
d
d
d
d
d
AceastădpartedconŃined5d butoanedprincipale :d
• „Administraredsite”,d
• „Puncte”,d
• „Firme”,d
• „Candidati”,d
• „Alerte”d
d
“AdministrareCsite ”dpermitededitareadmaidmultord
paginiddindsite,dprecumdșidd
• administrareadbannere-lor,d
• trimiteteaddednewslettere,d
• administrareaddepartamentelor,d
• administrareadsubdepartamentelordd
Acesteadsuntdnecesaredpostăriiddedjob-uridșidadăugă riid
deduserd(firma),dpentrudadministrareaddatelordfirme idced
administreazădsite-uldșidcaredsedafișeazadîndfactur iled
emise.d
d
d
d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
71d
d5.2CTabeleCMySQLC
C
ddddddddBazaddeddatedadsite-uluiddedrecrutaredconti ned 24ddedtabele .d
d
CREATECTABLEC`admin`C(C
CC`id_admin`Cint(11)CNOTCNULLCauto_increment,C
CC`username`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`pass`Cvarchar(255)CNOTCNULLCdefaultC'',C
CCPRIMARYCKEYCC(`id_admin`)C
)C
C
1.CTabelulCfolosesteCpentruClogareaCinCparteaCdeCad ministrareaCaCsiteului.C
C
CREATECTABLEC`alerta`C(C
CC`id`Cint(11)CNOTCNULL,C
CC`data`CtextCNOTCNULLC
)C
C
2.CTabelulCfolosesteCpentruCtrimitereaCdeCalerteCca treCabonati.C
C
CREATECTABLEC`aplicari`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
CC`id_uf`Cint(11)CNOTCNULL,C
CC`id_job`Cint(11)CNOTCNULL,C
CC`id_user`Cint(11)CNOTCNULL,C
CC`id_cv`Cint(11)CNOTCNULL,C
CC`id_sc`Cint(11)CNOTCNULL,C
CC`data`Cint(20)CNOTCNULL,C
CC`vizualizat`Cint(11)CNOTCNULLCdefaultC'0',C
CCPRIMARYCKEYCC(`id`)C
)C
3.CTabelulCfolosesteClaCgestionareaCaplicarilorClaC jobDuri.C
C
CREATECTABLEC`banner`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
CC`poza`Cvarchar(255)CNOTCNULL,C
CC`link`Cvarchar(255)CNOTCNULL,C
CC`nume_f`Cvarchar(255)CNOTCNULL,C
CCPRIMARYCKEYCC(`id`)C
)C
4.CTabelulCfolosesteClaCCgestionareaCbannerelorCdeC publicitate.C
C
CREATECTABLEC`cursuri`C(C
CC`id_curs`Cbigint(20)CNOTCNULLCauto_increment,C
CC`id_cv`Cbigint(20)CNOTCNULLCdefaultC'0',C
CC`denumire`CtextCNOTCNULL,C
CC`institutie`CtextCNOTCNULL,C
CC`oras`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`an_admitere`Cint(11)CNOTCNULLCdefaultC'0',C
CC`an_absolvire`Cint(11)CNOTCNULLCdefaultC'0',C
CC`descriere`CtextCNOTCNULL,C
CCPRIMARYCKEYCC(`id_curs`)C
)C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
72d
d5.CTabelulCstocheazaCcursurileCfrecventateCpentruCu nCanumitCCV.C
C
CREATECTABLEC`cv`C(C
CC`id_cv`Cbigint(20)CNOTCNULLCauto_increment,C
CC`id_user`Cbigint(20)CNOTCNULLCdefaultC'0',C
CC`limba`Cchar(3)CNOTCNULL,C
CC`nume_cv`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`sex`Ctinyint(4)CdefaultCNULL,C
CC`stare_civila`Ctinyint(4)CNOTCNULL,C
CC`nationalitate`Cvarchar(255)CNOTCNULLCdefaultC'', C
CC`obiectiv`CtextCNOTCNULL,C
CC`cunostinte_pc`CtextCNOTCNULL,C
CC`alte_cunostinte`CtextCNOTCNULL,C
CC`salariu`Cvarchar(255)CdefaultCNULL,C
CC`tip_post`CtextCNOTCNULL,C
CC`mobilitate`Ctinyint(4)CNOTCNULL,C
CC`disponibilitate`CdateCdefaultCNULL,C
CC`permis`CtextCNOTCNULL,C
CC`hobby`CtextCNOTCNULL,C
CC`exp_domeniu`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`email`Cvarchar(255)CNOTCNULLCdefaultC'',C
CCPRIMARYCKEYCC(`id_cv`)C
)C
6.CTabelulCstocheazaCCVDurileCuserilorCinregistrati .C
C
CREATECTABLEC`date_tcc`C(C
CC`id`Ctinyint(4)CNOTCNULLCauto_increment,C
CC`nume`Cvarchar(255)CNOTCNULL,C
CC`cif`Cvarchar(255)CNOTCNULL,C
CC`reg_com`Cvarchar(255)CNOTCNULL,C
CC`capital`Cvarchar(255)CNOTCNULL,C
CC`adresa`CtextCNOTCNULL,C
CC`fax`Cvarchar(255)CNOTCNULL,C
CC`telefon`Cvarchar(255)CNOTCNULL,C
CC`cont`CtextCNOTCNULL,C
CC`factura`Cint(11)CNOTCNULL,C
CC`email`Cvarchar(255)CNOTCNULL,C
CC`pag_contact`CtextCNOTCNULL,C
CC`indexf`CtextCNOTCNULL,C
CC`indexc`CtextCNOTCNULL,C
CCPRIMARYCKEYCC(`id`)C
)C
7.CCTabelulCstocheazaCdateleCfirmeiCcareCgestioneaz aCsiteul.C
C
CREATECTABLEC`departamente`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
CC`nume`Cvarchar(255)CNOTCNULL,C
CCPRIMARYCKEYCC(`id`),C
CCUNIQUECKEYC`nume`C(`nume`)C
)C
8.CTabelulCstocheazaCdepartamenteleCjobDurilorCintr oduse.C
C
CREATECTABLEC`experienta`C(C
CC`id_experienta`Cbigint(20)CNOTCNULLCauto_incremen t,C
CC`id_cv`Cbigint(20)CNOTCNULLCdefaultC'0',C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
73d
dCC`post`CtextCNOTCNULL,C
CC`firma`CtextCNOTCNULL,C
CC`localitate`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`descriere_firma`CtextCNOTCNULL,C
CC`responsabilitati`CtextCNOTCNULL,C
CC`referinte`CtextCNOTCNULL,C
CC`data_i`CdateCNOTCNULL,C
CC`data_s`CdateCNOTCNULL,C
CCPRIMARYCKEYCC(`id_experienta`)C
)C
C
9.CTabelulCstocheazaCdateleClegateCdeCexperientaCpr ofesionala.C
C
CREATECTABLEC`foto_cv`C(C
CC`id_foto`Cint(11)CNOTCNULLCauto_increment,C
CC`id_cv`Cint(11)CNOTCNULLCdefaultC'0',C
CC`poza`Cvarchar(255)CcollateClatin1_general_ciCNOT CNULLCdefaultC'',C
CCPRIMARYCKEYCC(`id_foto`),C
CCUNIQUECKEYC`id_cv`C(`id_cv`)C
)C
C
10.CTabelulCstocheazaCpozaCpentruCunCanumitCCV.C
C
CREATECTABLEC`istoric_puncte`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
CC`id_uf`Cint(11)CNOTCNULL,C
CC`data`CdateCNOTCNULL,C
CC`tip_anunt`Cint(11)CNOTCNULL,C
CC`puncte`Cint(11)CNOTCNULL,C
CCPRIMARYCKEYCC(`id`)C
)C
11.CTabelulCstocheazaCistoriculCpunctelorCachizitio nateCdeCoCfirmaCpentruCpostareaCdeCjobDuri.C
C
CREATECTABLEC`job`C(C
CC`id_job`Cint(11)CNOTCNULLCauto_increment,C
CC`id_uf`Cint(11)CNOTCNULLCdefaultC'0',C
CC`nume_job`Cvarchar(255)CcollateClatin1_general_ci CNOTCNULLCdefaultC
'',C
CC`tip`Cvarchar(255)CcollateClatin1_general_ciCNOTC NULLCdefaultC'',C
CC`oras`Cvarchar(255)CcollateClatin1_general_ciCNOT CNULLCdefaultC'',C
CC`dep`Cvarchar(255)CcollateClatin1_general_ciCNOTC NULLCdefaultC'',C
CC`permis_a`Cvarchar(255)CcollateClatin1_general_ci CNOTCNULLCdefaultC
'',C
CC`limbi_st`Cvarchar(255)CcollateClatin1_general_ci CNOTCNULLCdefaultC
'',C
CC`nivel_c`Cvarchar(255)CcollateClatin1_general_ciC NOTCNULLCdefaultC'',C
CC`data_i`CdateCNOTCNULL,C
CC`data_l`CdateCNOTCNULL,C
CC`candidat`CtextCcollateClatin1_general_ciCNOTCNUL L,C
CC`beneficii`CtextCcollateClatin1_general_ciCNOTCNU LL,C
CC`descriere_c`CtextCcollateClatin1_general_ciCNOTC NULL,C
CC`nr_candidati`Cint(255)CNOTCNULLCdefaultC'0',C
CC`activ`Cint(11)CNOTCNULLCdefaultC'0',C
CC`suspendat`Cint(11)CNOTCNULL,C
CC`vizite`Cint(11)CNOTCNULL,C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
74d
dCC`clasa`Cint(4)CNOTCNULL,C
CC`data`Cint(255)CNOTCNULL,C
CCPRIMARYCKEYCC(`id_job`)C
)C
12.CTabelulCstocheazaCjoburileCadaugateCdeCfirme.C
C
CREATECTABLEC`job_save`C(C
CC`id`Cint(4)CNOTCNULLCauto_increment,C
CC`id_user`Cint(4)CNOTCNULL,C
CC`id_sv`CtextCNOTCNULL,C
CC`id_ap`CtextCNOTCNULL,C
CCPRIMARYCKEYCC(`id`),C
CCUNIQUECKEYC`id_user`C(`id_user`)C
)C
13.CTabelulCstocheazaCjoburileCpeCcareCunCuser(cand idat)CleDaCsalvatCsauClaCcareCaCaplicat.C
C
CREATECTABLEC`limbi`C(C
CC`id_limba`Cbigint(20)CNOTCNULLCauto_increment,C
CC`id_cv`Cbigint(20)CNOTCNULLCdefaultC'0',C
CC`limba`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`scris`Ctinyint(4)CNOTCNULLCdefaultC'0',C
CC`vorbit`Ctinyint(4)CNOTCNULLCdefaultC'0',C
CC`citit`Ctinyint(4)CNOTCNULLCdefaultC'0',C
CCPRIMARYCKEYCC(`id_limba`)C
)C
C
14.CTabelulCstocheazaCdateleCprivindCcunostinteleCi nCmaterieCdeClimbiCstraineCaCunuiC
user(candidat).C
C
CREATECTABLEC`newsletter`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
CC`email`Cvarchar(255)CNOTCNULL,C
CC`activ`Cint(11)CNOTCNULLCdefaultC'1',C
CCPRIMARYCKEYCC(`id`)C
)C
15.CTabelulCstocheazaCemailDulCpentruCabonareaClaCn ewsletter.C
C
CREATECTABLEC`orase`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
CC`nume`Cvarchar(255)CNOTCNULL,C
CCPRIMARYCKEYCC(`id`)C
)C
16.CTabelulCstocheazaCoraseleCcareCservescClaCinreg istrareaCdeCuseriCsiCadaugareaCdeCjobDuri.C
C
CREATECTABLEC`pag_logistica`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
CC`nr_ordine`Cint(11)CNOTCNULL,C
CC`text`CtextCNOTCNULL,C
CC`titlu`CtextCNOTCNULL,C
CC`poza`Cvarchar(255)CNOTCNULL,C
CC`data`CdateCNOTCNULL,C
CC`afis`Cint(11)CNOTCNULL,C
CCPRIMARYCKEYCC(`id`)C
)C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
75d
d17.CTabelulCstocheazaCcontinutluCpaginiiC„logistica ”CpentruCaCfiCadministrabila.C
C
CREATECTABLEC`puncte`C(C
CC`id_puncte`Cbigint(20)CNOTCNULLCauto_increment,C
CC`id_uf`Cbigint(20)CNOTCNULL,C
CC`puncte`Cint(11)CNOTCNULL,C
CC`solutionat`Ctinyint(4)CNOTCNULL,C
CC`respins`Ctinyint(4)CNOTCNULL,C
CC`numar`Cint(11)CNOTCNULL,C
CC`tip`Cvarchar(5)CNOTCNULL,C
CC`pret`Cint(11)CNOTCNULL,C
CC`data`CdateCNOTCNULL,C
CC`nr_factura`Cvarchar(255)CdefaultCNULL,C
CC`data_factura`Cvarchar(255)CdefaultCNULL,C
CCPRIMARYCKEYCC(`id_puncte`)C
)C
C
18.CTabelulCstocheazaCcererileCdeCacordareCdeCpunte CpentruCpostareaCdeCjoburiCdeCcatreCuserC
(firma).C
C
CREATECTABLEC`puncte_necesare`C(C
CC`id_prod`Cint(11)CNOTCNULLCauto_increment,C
CC`den`Cvarchar(255)CNOTCNULL,C
CC`puncte`Cint(11)CNOTCNULL,C
CCPRIMARYCKEYCC(`id_prod`)C
)C
C
19.CTabelulCstocheazaCnumarulCdeCpuncteCnecesareCpe ntruCanumitCtipCdeCjobC(silverCgold).C
C
CREATECTABLEC`scrisori`C(C
CC`id_sc`Cint(11)CNOTCNULLCauto_increment,C
CC`id_user`Cint(11)CNOTCNULL,C
CC`nume`Cvarchar(255)CNOTCNULL,C
CC`limba`Cvarchar(255)CNOTCNULL,C
CC`text`CtextCNOTCNULL,C
CCPRIMARYCKEYCC(`id_sc`)C
)C
20.CTabelulCstocheazaCscrisorileCdeCintentieCatasat eCfiecaruiCCV.C
C
CREATECTABLEC`studii`C(C
CC`id_studiu`Cbigint(20)CNOTCNULLCauto_increment,C
CC`id_cv`Cbigint(20)CNOTCNULLCdefaultC'0',C
CC`oras`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`institutie`CtextCNOTCNULL,C
CC`an_admitere`Cint(11)CNOTCNULLCdefaultC'0',C
CC`an_absolvire`Cint(11)CNOTCNULLCdefaultC'0',C
CC`profil`CtextCNOTCNULL,C
CC`descriere`CtextCNOTCNULL,C
CCPRIMARYCKEYCC(`id_studiu`)C
)C
21.CTabelulCstocheazaCdateCprivindCstudiileCuserilo r(candidati).C
C
CREATECTABLEC`subdep`C(C
CC`id`Cint(11)CNOTCNULLCauto_increment,C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
76d
dCC`id_dep`Cint(11)CNOTCNULL,C
CC`nume`Cvarchar(255)CNOTCNULL,C
CCPRIMARYCKEYCC(`id`)C
)C
22.CTabelulCstocheazaCsubdepartamenteleCjobDurilorC introduse.C
C
CREATECTABLEC`useri`C(C
CC`id_user`Cbigint(20)CNOTCNULLCauto_increment,C
CC`email`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`pass`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`cod`Cint(11)CNOTCNULLCdefaultC'0',C
CC`nume`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`prenume`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`adresa`CtextCNOTCNULL,C
CC`oras`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`judet`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`tara`Cvarchar(255)CNOTCNULL,C
CC`telefon`Cvarchar(255)CNOTCNULLCdefaultC'',C
CC`data_nasterii`CdateCNOTCNULL,C
CC`activat`Ctinyint(4)CNOTCNULLCdefaultC'0',C
CC`domenii`Ctext,C
CC`news`Cint(2)CNOTCNULL,C
CCPRIMARYCKEYCC(`id_user`)C
)C
23.CTabelulCstocheazaCuseriiC(candidati).C
C
CREATECTABLEC`user_firma`C(C
CC`id_uf`Cint(255)CNOTCNULLCauto_increment,C
CC`puncte`Cint(255)CNOTCNULLCdefaultC'0',C
CC`user`Cvarchar(255)CcollateClatin1_general_ciCNOT CNULLCdefaultC'',C
CC`parola`Cvarchar(255)CcollateClatin1_general_ciCN OTCNULLCdefaultC'',C
CC`nume`Cvarchar(255)CcollateClatin1_general_ciCNOT CNULLCdefaultC'',C
CC`adresa`Cvarchar(255)CcollateClatin1_general_ciCN OTCNULLCdefaultC'',C
CC`oras`Cvarchar(255)CcollateClatin1_general_ciCNOT CNULLCdefaultC'',C
CC`tara`Cvarchar(255)CcollateClatin1_general_ciCNOT CNULLCdefaultC'',C
CC`telefon`Cvarchar(255)CcollateClatin1_general_ciC NOTCNULLCdefaultC'',C
CC`cif`Cvarchar(255)CcollateClatin1_general_ciCNOTC NULLCdefaultC'',C
CC`reg_com`Cvarchar(255)CcollateClatin1_general_ciC NOTCNULL,C
CC`at_fiscal`Cvarchar(255)CcollateClatin1_general_c iCNOTCNULLCdefaultC
'',C
CC`fax`Cvarchar(255)CcollateClatin1_general_ciCNOTC NULLCdefaultC'',C
CC`url`Cvarchar(255)CcollateClatin1_general_ciCNOTC NULLCdefaultC'',C
CC`domeniu_ac`CtextCcollateClatin1_general_ciCNOTCN ULL,C
CC`oras_a`Cvarchar(255)CcollateClatin1_general_ciCN OTCNULLCdefaultC'',C
CC`nivel_bus`Cvarchar(255)CcollateClatin1_general_c iCNOTCNULLCdefaultC
'',C
CC`nr_angajati`Cvarchar(255)CcollateClatin1_general _ciCNOTCNULLCdefaultC
'',C
CC`nume_p`Cvarchar(255)CcollateClatin1_general_ciCN OTCNULLCdefaultC'',C
CC`functie_p`Cvarchar(255)CcollateClatin1_general_c iCNOTCNULLCdefaultC
'',C
CC`telefon_p`Cvarchar(255)CcollateClatin1_general_c iCNOTCNULLCdefaultC
'',C
CC`email_p`Cvarchar(255)CcollateClatin1_general_ciC NOTCNULLCdefaultC'',C
CC`activ`Cint(3)CNOTCNULLCdefaultC'0',C
CC`cod`Cint(11)CNOTCNULL,C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
77d
dCC`data_expirare`CdateCNOTCNULL,C
CC`news`Cint(2)CNOTCNULL,C
CCPRIMARYCKEYCC(`id_uf`),C
CCUNIQUECKEYC`user`C(`user`)C
)C
24.CTabelulCstocheazaCuseriiC(firme).C
C
C
5.3CCreareaCsiteDului d
d
d Elaboraread aplicaŃieid Webd s-ad realizatd folosindd te hnologiiled PHP ,d MySQL d șid
JavaScript .d Conformd obiectivelord aplicaŃiei,d site-uld trebuiad elaboratd avândd înd vedered
componeteledfuncŃionaleddescrisedîndsecŃiunead5.1.d Categoriiled ded informaŃii,d funcŃiiled șid
prelucrăriledsuntddefinitedavânddândvederedurmătoar ele:d
• componentadutilizatorilordCANDIDATdșidANGAJATORd
• componentadutilizatoruldADMINISTRATORd(gestiuneadapl icaŃiei).d
d
COMPONENTAdDESTINATĂdCANDIDATULUI d
d
Meniulddindstângaddestinatd candidatuluiC ared10dcategoriiddcorespunzătoare:dd
• “ProfilulCmeu ”d–dpermitededitareaddatelordadăugatedladcreareadco ntului,dabonaread
saud dezabonaread ded lad newsletter,d schimbaread parole id contuluid d șid ștergeread
contului.d
• “CreareCCV ”-dpermitedadăugareaddedCVdcompletatddupădurmătoare adstructură:d
Numed CV;d
DatedgeneraledpentrudundCV :dadresadtelefon,detcd;d
Obiectiv :dtipdpostdurmărit,dsalariulddorit,dpermisdauto,det c;d
Experienta :dpost,dfirmă,dlocalitate,dperioada,ddescrieredfirm ă,dresponsabilităŃi,d
referinŃe;d
Studii :d
ddddd Studi i:dinstituŃie,dlocalitate,ddatădadmitere,ddatădabso lvire,dprofil/specializare,d
descriere;d
dddddCursuri :ddenumire,dinstituŃie,dlocalitate,ddatădadmitere,d datădabsolvire,d
descriere;d
Aptitudini :dlimbidstrăine,dcunostintedPC,dhobby,daltedcunoști nŃe;d
Fotografie d
• “ListeazaC CVDurile ”d -d permited editaread CV-urilord adăugated șid vizualiz aread
procentuluiddedcompletared(dacădundCVdestedcompleta tdceldpuŃind70%d,dcudeldsed
poatedaplicadladundanumitdjob).d
• “CreareCscrisoareCdeCintentie ”d-dpermitedadăugareddedscrisoriddedintenŃiedcedpot dfid
trimisedfirmelordodatădcudCV-ulddladaplicareadladun danumitdjob.d
• “ListeazaCscrisoriCdeCintentie ”d-dperimitededitareadșidștergeareadscrisorilorddej ad
create.d“Job-uridsalvate”dșid“Aplicatiiledmele”ddpr ezintșdjoburiledpedcareduseruldle-ad
salvatdșidladcaredadaplicat.d
• d“ JobDuriCsalvate ”d
• d“ AplicatiileCmele ”d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
78d
d• d“ ToateCJobDurile ”d
• d“ CautaCjob ”d
• “Logout”d
Useruldînregistratdpoatedaplicadladundjobdselectând dunulddintredCV-uriledadăugated
completatedceldpuŃind70%,dŃidodscrisoareddedintenŃi e.d
C
$aplica="insertCintoCaplicariCsetCid_uf='$id_uf',C
id_job='$id_job',id_user='$id_user',id_cv='$id_cv', Cid_sc='$id_sc',C
data='".mktime(0,0,0,date('m'),date('d'),date('Y')) ."'";C
C
mysql_query($aplica); CC
d
Dupădaplicareadladundanumitdjob,dfirmadcaredadadăug atdjob-uldrespectivdpoated
contactadcandidatuldavândddateledsaleddedcontact.d
d
COMPONENTAdDESTINATĂdANGAJATORULUI d
d
Meniulddindstângaddestinatd angajatorului dared9dcategoriiddcorespunzătoare:dd
• "CumparaCpuncte "d-doferădposibilitateadfirmelordînscriseddedadcump ăradpuncted
necesaredpostăriiddedjob-uri.d
Celedtreid tipuriCdeCjoburi dsunt:dGOLD,dSILVERdsidSTANDARD.dÎndmomentuldînd
caredseddoreștedachiziŃionareadunuidanumitdtip,dsed emitedod facturăCproforma dped
bazadcăreiadfirmadachitădodplatădîntr-undcontdbanca r,diarddupădachitareadsumeid
respective,dpuncteledsolicitatedsedactiveazăddindpa rteaddedadministrare,diardfirmad
poatedpostadjob-uldsaudjob-urileddorite.ddd
ddddddddddd
dd
d
Facturadaferentădcereriiddedpuncte dsedtimitedșidpedadresaddedemail:d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
79d
dd
d
• "PosteazaCjob "d -d permited firmeid înscrised ped sited adăugaread ded jo bd înd limitad
punctelordvalabile,ddedasemeneadjobuldsedpoatedsalv adpentrudodeventualădactivare,d
pentrudacestdlucrudnuddsuntdnecesareddedpuncte.d
d
dddddddddddddddddddd
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
80d
dddddVerificareaddatelordintrodusedsedfacedcudundscr iptdJavaScript. d
d
dddddddddddddddd
d
d
• "IstoricC puncte "d -d permited utilizatoruluid săd vizualizezed istoricul d punctelord
consumatedșidceldaldpunctelordachiziŃionate.d
d
d
• "JobDurileCmele "d-ddafișeazădtoatedjoburiledpostateddedfirmadînreg istrată;djoburiled
active,dinactive,dsuspendatedșidexpirate.dÎndaceast ădsecŃiunedsedpotdedita,dsalvadșid
ștergedjoburiledadăugateddedfirmadrespectivă.d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
81d
d
d
d
d
• "Aplicanti "d-dafișeazădutilizatoriid“CandidaŃi”dcedaudaplicat dladjob-uriledpostatedded
firmad respectivă.d Firmad poated vizualizad CV-uld adăug atd ded userd cud dateled ded
contact.d
d
ddddddddddddddddd
dd
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
82d
d• "FacturileCmele "-d”dafișeazădfacturiledemisedladachiziŃionareddedp uncte.d
d
d
Facturiledsedpotdvizualiza,dsedpotdtrimiteddprindem aildladadresaddoritădsidsedpotd
printa.d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
83d
d• "CautaCJob”CDC dpermitedcăutareaddedjob-uridînscrisedpedsited
• "ContulCmeu” d-dpermitededitareaddatelordcudcaredfirmads-adînreg istratdpedsitedșid
schimbareadparoleiddedlogare,dînsădnudsedpoatedschi mbadCIF-uldcudcaredfirmads-ad
înregistrat.dCadșidîndcazuldadăugăriiddedjobdverifi careaddatelordsedfacedcudajutoruld
unuidscriptdJavaScript.d
d
ddddddddddddd
dd
dd
• "Logout"d–dieșireaddindaplicaŃied
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
84d
dCOMPONENTAdDESTINATĂdADMINISTRATORULUI d
d
AceastăddcomponentădconŃined5d butoanedprincipale :d
• „AdministrareCsite ”d–deditareadmaidmultordpaginid
• „Puncte ”d -d administraread cererilord ded puncte,d șid
vizualizareadpunctelordpedcaredodfirmadledared
• „Firme ”d-deditareddatelordtuturordfirmelordcareds-aud
înscrisdpedsitedd
• „Candidati ”d-deditareadșidvizualizareaddatelordăidCV-
urilordcandidaŃilord
• „Alerte ”d-doferădinformaŃiidadministratoruluiddespred
job-uriledcaredexpirădîndmaidpuŃindded7dzile,dpunct eled
caredexpirădîndmaidpuŃindded7dziledșidjob-uriledpos tated
îndziuadrespectivă.d
“AdministrareCsite ”d permited editaread maid multord
paginiddindsite,dprecumdșidd
• administrareadbannere-lor,d
• trimiteteaddednewslettere,d
• administrareaddepartamentelor,d
• administrareadsubdepartamentelordd
IniŃial,dcânddodfirmădachiziŃioneazădpuncte,dcerere adestedînseratădîndbazaddeddatedcadfiindd
nouă,dapoidaministratorul,dîndfuncŃieddedplatadfact uriidsaluŃioneazădcererea,dadicădacordăd
puncteledfirmei,dsaudrespingedcererea.dd
d
d
Acestead suntd necesared postăriid ded
job-uridșidadăugăriiddeduserd(firma),d
pentrudadministrareaddatelordfirmeid
cedadministreazădsite-uldșidcaredsed
afișeazădîndfacturiledemise.d
d
Exempuddededitaredaduneidpaginid
(paginadcudcaredestedîntâmpinatăd
firmaddupădlogare):d
d
d
ddddddddPaginad„ Alerte ”:d
d
d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
85d
d5.4CFuncŃiiCșiCprelucrari d
d
CREAREAdUNUIdCONTd
d
PedbutonulddedcrearedadcontuluidsedaplicădfuncŃiad validate(). d
C
<inputCtype="button"Cvalue="CreazaCcont"Cclass="but on"C
onClick="validate()">C
C
FuncŃiaCvalidate():C
DacădemailWul d,d numele ,d prenumele ,d adresa ,d orasul ,d judetul ,d tara ,d telefonul dșid datad
nașteriid nudsuntd completate ,dfuncŃiadvadreturnad“ false ”,dnu dvadpermitedînscrieredîndbazadded
datedșidvadafișadod alertădcudodexplicaredaderorii.d
d
functionCvalidate(){C
CCCpass=true;C
CCCvarCcampuriC=C"";C
CCif(document.signin.email.value=="")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCEmail";C
CCC}C
CCif(document.signin.pass.value=="")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCParola";C
CCC}C
Cif(document.signin.pass.value!=document.signin.pas s2.value)C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCParoleleCnuCcor espund";C
CCC}C
CCif(document.signin.nume.value=="")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCNume";C
CCC}C
CCif(document.signin.prenume.value=="")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCPrenume";C
CCC}C
CCif(document.signin.adresa.value=="")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCAdresa";C
CCC}C
CCif(document.signin.oras.value=="0")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCOras";C
CCC}C
CCCCCif(document.signin.judet.value=="")C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
86d
dCCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCJudet";C
CCC}C
CCCCCCCCif(document.signin.tara.value=="")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCTara";C
CCC}C
CCCC
CCCCCif(document.signin.telefon.value=="")C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCTelefon";C
CCC}C
if((document.signin.zi.value=="0")||(document.signi n.luna.value=="0")||(
document.signin.an.value=="0"))C
CCC{C
CCCCCCCCCCCCpass=false;C
CCCCCCCCCCCCcampuri=campuriC+C"\nCFCDataCnasterii"; C
CCC}C
C
C
CodulCPHPCsiCMysSQLCdeCadăugareCdeCuserCCandidat:C
<?C
Aicidsuntdpreluateddateledinserateddeduser.d
$emailC C =CaddS($_POST['email']);C
$passCCC =CaddS($_POST['pass']);C
$pass2C C =CaddS($_POST['pass']);C
$numeCC =CaddS($_POST['nume']);C
$prenumeC CCCCC=CaddS($_POST['prenume']);C
$adresaC C =Cnl2br(addS($_POST['adresa']));C
$orasCC =CaddS($_POST['oras']);C
$judetC C =CaddS($_POST['judet']);C
$taraCC =CaddS($_POST['tara']);C
$telefonC CCCCC=CaddS($_POST['telefon']);C
$ziC C C =CaddS($_POST['zi']);C
$lunaCC =CaddS($_POST['luna']);C
$anC C C =CaddS($_POST['an']);C
$dataCC =C$an."F".$luna."F".$zi;C
$newsCC =C mysql_real_escape_string($_POST['news']);C
if($news=="on")C
C $news=1;C
elseC
C $news=0; C
C
Sedgenereazadundcoddunicdded5dcifrednecesardladacti vareadcontului.d
$cod=0;C
for($i=1;$i<=5;$i++)C
{C
$cif=rand(0,9);C
C $codC=C$cod*10+$cif;C
}C
C
Sedverificaddacadmaidexistadunduserdcudacelasidcont .d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
87d
d$q="SELECTC*CFROMCuseriCWHERECemail='$email'";C
ifC(mysql_num_rows(mysql_query($q))>0)C
C {C
C C javaPage("creareUser.php?u=1");C
C }C
elseCC
{C
DacădtoatedcondiŃiiledsuntdîndeplinitedsedînserează dînd bazaCdeCdate duseruldcuddateled
aferente,dăidsedtrimitedmaildladadresadspecificatăd pentrudactivareadcontului.d
$q="INSERTCINTOCuseriC
(email,pass,cod,nume,prenume,adresa,oras,judet,tara ,telefon,data_nasteri
i,activat,news)CVALUESC
('$email','$pass','$cod','$nume','$prenume','$adres a','$oras','$judet','
$tara','$telefon','$data',0,$news)";C
C
mysql_query($q);C
C
$subiect="ContCnouC";C
$from="office@logisticsjobs.ro";C
$mesaj="C
<tableCwidth='50%'Calign='center'Ccellpadding='3'Cc ellspacing='3'>C
CCCC<tr>C
CCCCCCCC<tdCalign='center'Cstyle='fontFfamily:Verda na,CArial,CHelvetica,C
sansFserif;CfontFsize:11px;'> BunC venitCprintreCmembriiC
LogisticsJobs,C$prenumeC!<br>CContulCtauCdeCautenti ficareCpeCsiteFulC
www.logisticsjobs.roCaCfostCcreatCcuCsucces.<br>C&n bsp; C
PentruCaCbeneficiaCdeCoptiunileCoferiteCdeCsiteFulC nostru,CcontulCtauC
trebuieCmaiCintaiCactivat.CPentruCactivareCtrebuieC saCacceseziClinkulCdeC
maiCjosCsiCveiCfiCautomatCautentificat.<br><br>C<aC
href='http://www.logisticsjobs.ro/activare.php?emai l=$email&cod=$cod'>Ac
tiveaza!</a>C
CCCCCCCC</td>C
CCCC</tr>C
</table>";C
sendHTMLemail($mesaj,$from,$email,$subiect);C
?>C
<pCalign="center"Cclass="text_bold3">BunCvenitCprin treCmembriiC
LogisticsJobs,C<?CechoC$prenume."C!"?><br>C
CContulCtauCdeCautentificareCpeCsiteFulCwww.logisti csjobs.roCaCfostC
creatCcuCsucces.<br>CC
CC CPentruCaCbeneficiaCdeCoptiunil eCoferiteCdeCsiteFulC
nostru,CcontulCtauCtrebuieCmaiCintaiCactivat.<br>C
CC PentruCacestClucru,CtrebuieCsaC intriCpeCadresaCdeCeF
mailCcomunicataClaClogareCsiCsaCurmeziCinstructiuni leCdinCmesajulC
primit.C
CC<br><br>C
<?C
}C
?> C
Dupădcedadfostdînseratdîndbazaddeddate,duser-uld(ut ilizatoruldCANDIDAT)dtrebuied
sădintredpedemaildpentrudactivareadcontului:d
<?C
$emailC =mysql_real_escape_string($_GET['email']);C
$codC =mysql_real_escape_string($_GET['cod']);C
conectare();C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
88d
dDacădemai-uldșidcoduldtrannsmisdprindURLdcoincid,da tunciduser-uldestedvalidatd
(activat),daltfeldsedtransmitedundmesajddederoare.d
d
$q="SELECTC*CFROMCuseriCWHERECemail='$email'CANDCco d='$cod'";C
ifC(mysql_num_rows(mysql_query($q)))C
C {C
C $rez=mysql_fetch_array(mysql_query($q));C
C $q="UPDATECuseriCSETCactivat='1'CWHEREC
id_user='".$rez['id_user']."'";C
C mysql_query($q);C
C $_SESSION['id_user']=$rez['id_user'];C
C javaPage("cv/index_c.php");C
C }C
elseC
C fInfo("CodulCintrodusCnuCcorespundeCcuCcelCdetinut CdeCcontulC
dumneavoastra.CVaCrugamCsaCverificatiCcasutaCdeCeFm ailCsiCsaCincercatiC
saCactivatiCcontulCprinCurmareaClinkuluiCspecificat CinCmesajulCprimit.C
VaCmultumim!",0);C
?> C
d
d
FILTRAREAdJOB-urilordÎNREGISTRATEd
d
Coduld PHP dsid MySQL ddedfiltraredadjoburilor:d
d
Dacădvariabilad “$_GET['cuvant']” dcedreprezintădcuvântuldcheieddupădcared
estedcăutatdundjobdestedvidădsaudestedegalădcudstri ng-uld“ CuvantCcheie ”.datuncidvariabilad
$cuvant dcaredvadajutadladformaread queryWului ,ddestediniŃializatădcudstring-uldvid,daltfeld
aceastăd variabilăd iad valoaread cared ested datăd ded use r,d validatăd ded funcîiad
“mysql_real_escape_string ”dcedevitădatacuriledasupradbazeiddeddate:dd
d
if(@$_GET['cuvant']=='CuvantCcheie'C||C@$_GET['cuva nt']=='')C
CCC$cuvant='';C
elseC
CCC$cuvant=mysql_real_escape_string($_GET['cuvant'] );C
C
dddddDacădorașuldnudestedcompletatdatuncidvariabila d $oras destedinitializatădcudvaloaread
vidă,daltfeldiadvaloareaddataddeduser.d
C
if(@$_GET['oras']=='0'C||C@$_GET['oras']=='')C
{C
C $orasC=C "";C
C }C
elseC
{C
$oras=",".mysql_real_escape_string($_GET['oras'])." ,";C
}C
C
ddddddddAcelașid lucrud pentrud domeniud sid subdomeniuld jobului ,d niveluld cariereid solocitatd
pentrudpentrudjob,dtipulddedpermisdautodsolicitatdd edangajator:d
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
89d
dC
if(@$_GET['subdom']=='')C
CCC{C
CCC$subdomC C=C"";C
CCC$depC=C"";C
CCC}C
elseC
{C C
C $subdom=mysql_real_escape_string($_GET['subdom']); C
C $dep=",".$subdom.",";C
}C
if(@$_GET['cariera']=='0'C||C@$_GET['cariera']=='') C
$cariera='';C
elseC
$cariera=mysql_real_escape_string($_GET['cariera']) ;C
C
if(@$_GET['permis']=='0'C||C@$_GET['permis']=='')C
$permis='';C
elseC
$permis=mysql_real_escape_string($_GET['permis']);C
C
Dacădvariabileled $t1,C$t2,C$t3,C$t4,C$t5,C$t6 dnudsuntdvide,datuncidsedcreeazăd
undstringddedformad“d tipClikeC'%$t3%' d“dcudajutoruldfuncŃieid implode()C caredînd
cazuld ded faŃăd lipeșted d toated string-uriled concatena ted cud d stringuld “or”d
($cauta_tip=implode("dord",$tip)).d
d
$t1C C =C @mysql_real_escape_string($_GET['t1']);C
$t2C C =C @mysql_real_escape_string($_GET['t2']);C
$t3C C =C @mysql_real_escape_string($_GET['t3']);C
$t4C C =C @mysql_real_escape_string($_GET['t4']);C
$t5C C =C @mysql_real_escape_string($_GET['t5']);C
$t6C C =C @mysql_real_escape_string($_GET['t6']);C
$tip=array();C
$i=0;C
if($t1!="")C
C {C $tip[$i]="tipClikeC'%$t1%'";C
C CC $i++;C
C C}C
if($t2!="")C
C {C $tip[$i]="tipClikeC'%$t2%'";C
C CC $i++;C
C }C
C C
if($t3!="")C
C {C $tip[$i]="tipClikeC'%$t3%'";C
C CC $i++;C
C }C C
if($t4!="")C
C {C $tip[$i]="tipClikeC'%$t4%'";C
C CC $i++;C
C }C C
if($t5!="")C
C {C $tip[$i]="tipClikeC'%$t5%'";C
C C $i++;C
C }C C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
90d
dif($t6!="")C
C {C
C C $tip[$i]="tipClikeC'%$t6%'";C
C CC $i++;C
C }C C C
$cauta_tip=implode("CorC",$tip);C
if(count($tip)==1)C
C $cauta_tip=$tip[0];C CC CC C CC CC
if($t1==""CandC$t2==""CandC$t3==""CandC$t4==""CandC $t5==""CandC$t6=="")C
C $cauta_tip="C1=1C";C
C
Îndfinaldvariabilad $query daratădastfel:d
C
$queryC=C mysql_query("selectC*CfromCjobCleftCjoinCu ser_firmaConC
job.id_uf=user_firma.id_ufCwhereC(depCCLIKEC'%$dep% 'CANDCCCjob.orasCLIKEC
'%$oras%'CANDCpermis_aCLIKEC'%$permis%'CANDCnivel_c ClikeC'%$cariera%'C
ANDC($cauta_tip)CandC(nume_jobClikeC'%$cuvant%'CorC descriere_cClikeC
'%$cuvant%'CorCuser_firma.numeClikeC'%$cuvant%'))CA NDCjob.activ=1CANDC
data_l>='$azi'CANDCdata_i<='$azi'")CorCdie(mysql_er ror());C
d
d
AFIȘAREAdPUNCTELORdACHIZIłIONATEdȘIdCONSUMATEdd
d
Query-uldpentrudafișareadpunctelordachiziŃionatedes tedurmătorul:d
d
$select=mysql_query("SELECTC*CFROMCpuncteCWHERECid_ uf='$id_user'CandC
solutionat=1CorderCbyCnumarCdesc");CC
d
Query-uldpentrudafișareadpunctelordconsumatedestedu rmătorul:d
d
$select=mysql_query("SELECTC*CFROMCistoric_puncteCW HERECid_uf='$id_user'CC
orderCbyCdataCdesc");C
d
d
d
AFIȘAREAddAPLICANłILORd
d
Query-uldpentrudafișareadaplicanŃilordestedurmătoru l:d
d
$select=mysql_query("SELECTC*CFROMCaplicariCWHERECi d_uf='$id_user'CorderC
byCdataCasc");C
d
SALVAREAdDATELORdDINdCOMPONENTAdADMINISTRAREd
d
CoduldPHPdșidMySQLdpentrudsalvareaddatelordînserate :d
d
<?CincludeC"../include/functii.php";C
checkRights("");C
GeorgeĂVladaĂ–ĂAplicaŃieĂPHPĂșiĂMySQLĂ
91d
dconectare();C
$text=mysql_real_escape_string($_POST['text']);C
C
$upload="updateCdate_tccCsetCindexf='$text'CwhereCi d='1'";C
C
mysql_query($upload);C
javaPage("edit_indexf.php");C
?>C
C
Textuldînseratdsedpreiaddindvariabilad $_POST['text'] dșidsedînsereazădîndtabeluld
“date_tcc ”,dapoidsedredirecteazădspredpaginaddededitare.d
d
d
d
BIBLIOGRAFIE Ă
d
1.d SabindBuruga,d AplicaŃiiddWebdladcheie.dStudiiddedcazdimplementate dîndPHP ,dEditurad
Polirom,d2003d
2.d Sabind d Burada,d Proiectaread siturilord Web.d Designd șid functionalitate ,d Editurad
Polirom,d2002d
3.d CălindIoandAcu,d OptimizareadpaginilordWeb ,dEdituradPolirom,d2003d
4.d LukedWellingdanddLauradThomson,d PHPdanddMySQLdWebdDevelopment d
5.d JesusdCastagnetto,HarishdRawat,dSaschadSchuman,d ChrisdScollo,dDeepakdVeliath,d
ProfessionaldPHPdProgramming ,dd1999dWroxdPressd
6.d MySQLdReferencedManuald1997-2000dTcBdAB,dDetrond HBdanddMySQLdFinlandd
ABd
7.d JaydGreenspandanddBraddBulger,d MySQL/PHPdDatabasedAplications ,dM&TdBooksd
NYd
8.d Stigd Sætherd Bakken,d Alexanderd Aulbach,d Egond Schm id,d Jimd Winstead,d Larsd
TorbendWilson,dRasmusdLerdorf,danddZeevdSuraski,d PHP Manual d1997,d1998,d
1999,d2000 dbydthedPHPdDocumentationdGroupd
9.d Ștefand Tănasa,d Cristiand Olaru,d Dezvoltaread aplicaŃiilord Webd folosindd Java ,CC
EdituradPolirom,d2005d
10.dJasondCranforddTeague,d DHTMLdsidCSS ,dEdituradTeora,d2002d
11.dMarindVlada,d Birotică.dTehnologiidmultimedia ,dEdituradUniversităŃiiddindBucurești,d
2004d
12.dhttp://www.php.net d,d http://en.wikipedia.org/wiki/PHP d
13.dhttp://www.phpromania.net/ d,d http://www.rophp.net/ dd
14.dhttp://www.oriceon.com/ d,d http://www.etutoriale.ro/ dd
15.dhttp://www.w3schools.com/PHP ,d http://www.hotscripts.com/PHP/ dd
16.dCouncildofdSupplydChaindManagementdProfessionalsd(C SCMP),d http://cscmp.org/ ddd
d
d
d
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: DomeniulĂdeĂlicenŃăĂINFORMATICĂĂ [607518] (ID: 607518)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
