0% found this document useful (0 votes)
41 views46 pages

Web Technology

Web Technology hand made notes

Uploaded by

Nanna Arun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
41 views46 pages

Web Technology

Web Technology hand made notes

Uploaded by

Nanna Arun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 46
EE —lUlUrrOC—~— h | Trdvedae Bon do PUPS | The PHP Hypertert PreProcesex (HP) 16 programme Language the alles web {evelopers tw crde byron content had- Jolerecds wh dadobow. Pup iy bostcely coo be delet eb baad obo apliathr side sehig language taf ty embedded Wn HIME. Th fe used 7D werage dyparde wt , diaberes 1 sen tracking + whan putld entire e-commene sides. P Js a Serer pw Cornmot usea_of PHP: 4 PHP porbtims system Pinehions , ee, From Hus on oO system it Con Creafe, Pe, ready, wide & dse flom, > pp cn Mevdle fos ny gather dda Fm Hes. | > Yor Com ey Wldbe , roodihy elenasts ithin | dadabore thaeyh SP gour 5 Acces oki — vantables 2 sof coves 3 Using PHP yn can viet Some rages ot por uses Pde 7 Ft ton enkrypt othe. agers 40 aceags ee Adayordooes oe PHR: 4) Php yerd 90 yoo Os platters (ior nous) aca} pre is compabitle — widh almast al sevveny, - Yoctou (Apache, ns eft) ~) PIP Suppwds ca wih — range ob dda bases ~~ pH fs bee 4 PAP SS exe tr kaon & it was officott, on the seven Sick Syraiox 3 <2 PHe 2? DiadvanF a9 ' arp wh sitll by ae opliotns beemte ib praindernce 75 | 4 Cr henalliog of php 300. Charade} d33 | priiniene tiie | 4 Opur Somy ce objet nected. Simpliddy CF bi cuey Seeunity Pye Slexablidy a nT EEE — | Gime wok Fs ob ° Dedinig Yerotlt to PPE Goby Bee Ued- ove wd fr _) Venable ane the fle values. Shing sheri y ne a dyrarically tyes Cong uage « pur | ro 4 no tyre declaration hes >» Th value on be Assigned + yore ba 4a Following manny, dont Syarta ble_name + = Values 5 th ene tg nok aMtigned 10° the My deFanlt the value 46 goonake ten syns £ hs unascigned vorables oe called unbund vars ables ant h null value +4 Gnverted to the polue O- Ga 3) Voriebles mat 7 stat with no. ¥) Vovabla mgt contain only Agha ements, viluot, S) Thre shed nb be Spice fy He mame of He jorrabe & 2 bys 2 php® = 2php Sheps: fae by> la} “echo gurdy j ve epody > <{htal > ole: 1s ee oe sep of yantcablast Yprra bles ave of three typed Lo 03 yorabls Vor cbles declaves isside 4 function 2) doeba) voriuhis! Vasinbles declared obs de a ye wd ott glabel Gd bv’ a oe av we “gio kepoord Fun seo § x10} t ‘ $205 a dun Swe) b= 205 ft 4 Cabs) $.0.>%5 x gystesio $ rlomally leon cc Fandfons tomglsted/ as yastebles — ade | executes. all of dupected- Poveve. sone Yenth LC wort & bad Nedudle OT bo the z sed To do ths we Ue athe Megurord Lifetime _ of venta ventale * time oP Coca) vornchie. 7 php Fanebion vanble is Fisk uted & ads when the dunebor erceSon Lernrnber he. atten terminahin ot fyncd!on exetab'on te vee wf loca verted is bik. 9 The We begin when | I I . > Th Wh tne oP a shafic ocd variable laa | Pinehian — begin when He voriable fs Hird t wed Wn tndiow = & ends hn the Sedpt Crcwtin dorm nts. “The Stuble. loca vancller 1s spud vig * adc" kegs pup deta types ¢ Vertablee Con etre type, L differnt dda tyre things. 3 types of didn Types- Boalean, Double Strieg dda dibbrok b & scales ——s Trtgr, Compourd type > Arvogs j objects. Specid type Ropource =, Wh. Tategee Hyer’ It % used Sue displaghs Lategen velluen. Tp is simian tb bony ddubype Fa ‘ce’, Its slye © 32-bit a An fateyea must have at kas? on digit, od 22 must be non deme f FL b efttun positive ow negehve . af) Gal nT | a) Doutle tyre * TW is used tov display Red values Gs Aw 1OSe TT aaduded no, with decid) pow. | Tt 3s not compu sony +o have, digits before, after desea points. 3) Bodea type There ae 2% *ypes of values thi can be defined oy Boole type they oe tee Fodse. Tue ts veprecettel byt Lbee Is sepresent ob Oo. Get gue bus; bux fakes doublk type hm fulse 1s xepeented ab 9.0. | Ih Boolean values are used © 7A cadet af | and true is _vepreeaded 4 tA. » _shieg | type? Thee tg no chevacker data type mn PHF. TP character hos be vepeanted then, ob veprembed — ubieg Shing dota type. 4 String 4g Collection of characters, In php Shing ts dePimedd by Single double Quotes. | oles LT tke php. Funcdaoas of Shing hasttling 2 D Shen Ghing\ 2 find Heyl of hig Stramp Chg, string) 4 Tes function — Compras bong lh £ sting 2 2 Shr lava Cshhy 4) eelett Eden in Seng) In Sheng to lowtr Lose. 5 Str toupee hong) Comets charavkss Iq hing! to D bin Cshig> : a2 At clomintes tle uble freee Fam both ends 0k sting, Nut NuL is cpeod dada type Gn PAP whih can have ony me value ¢ NUL. A vestoble af deta tye NULL 1S Van?obk Hed fas ro vadtce OB pred 40 34. rf a vaniabe ", created — wtthaut 2 value. Th ts automaticaly —ossigeed a value of MYM NestebiA tn also 4e empted by sebtag Ye value 4D pe. 4 “ 22 php om bee * sa 5 fa oul y 0 ved te vor dum \ } he tye von ple), demp dump aldrera ton about varied le D9 oes oll Resource Aa PHP* The speard resovrce tyre ast an Achuad dda tye. skits Shoring fu xefennce + Runchions & eesourees extend) to PHP. o bs) ect dyet t Phe is object or'edted pogrom ming Language we con evede ~ objects An php objects re, ne Red votld — Grhity. 2 UIs object. is Compnd ada _ type. , dass “ea template for object ond object 1s an ‘instance elss In php no. - classes In a clo and we con 0. objects “m4 : ' . “properties ond fete, ge: fala rT worite Claws _° we need name Stavting with Capital hte, <2 php fobj = new otdclars 5 ; $ od} ? hseiiad ® * Deepak ¥ dobp 2 Be 25 we Con 4 nclude- 2455 1, aed o Feboehag is nl to tasn roovks 4 obj > punt 27 L bobs >> i Progen © spel 4 olp cael Clas object ( (namé, > Deepak (ageS = 21 frantay © 76 d Arrays t In PHP Arrays an php is @ dye of dda dnuduve / Hat allows Us store mibbple demas oF | Similan data dye undev & Single vane, prow by savig] ws the offot £ creaing a dffewrt vasa bles fo oe OVO . | | Prag 1s a election of Sinilon tyee & nclude eherads elomets & in php we sine) tyr etn Hn Sing oy au. bo Way to cyede Arrays Thane jn PY. | Using Goshuot Array Assiging volue red Sonulist = an 20,80, mylists armgtinwsoninh, —— oglstro ate; ~| An ompts muy Cn aft be creded ust He array conshuct. 4 G@: Geng li t= array )5 wie doin td ® u crake Bt _ i |.) No Ooo OEE ee lll ll lll Oe DLlLlUlUrLhUhLhlhrhlhlhL Ul oO We can have mixed — type oBclemedls Inthe Avra Ce Houlist > array Tes Archana”, S14 (93.23) 5 3 tyes oF Orragt an PHO cath a. emeaber numens ind eX There are Dmene Ar Arrays a ° A with named — keyd- \ Assodative Avray: voy 7 bonduning ore, mans 3) muds dimension Array : Arvoys Areas: rn Length oF avray 3 eb portye hem! ? < hb)? < body 2 <2 php g bikes > arrey C*kTH “ / Pallet“ | Duke* Ss edo Count (Abiko 5 V7 < |bodg 7 | < [him |? ales, Gromg e 2: NN obring (5) Volo”. he array (3 (fu = “pier shing bd Lie > shring (2 28m “Tighe? J asl Jo PHP? A cnstant is 00. “dendifier (rome) Fur a Simple | whe. Tt crete & costo we wi dette © Sunction 3n pH. Sydow: define Crame, value, cant - naive) 3 < baby? elhtnl > OP? my Ried PRP rest Hello wold |, Tn the exomd , volte tht ve did rot haw to ell PHP RA dala dye, the variable tos PHO aubmcticaly anvots the variable to the in dda type, dapenting on Fte values we Long woes eae & Tua, He grEram tr rust re the tame od type & te verb bere sgt. PHP fq Laasely Goes Langue ¢ Coaking o debe yer in PHP: PRP is alensely typed — larquage declare og evable b ds tyee imply by using ib. Gobymad ca {ly Grvtols alas foun Bein, He to anettin type taken vequred . Ths Is ‘called “enp lia conbey: aot sotme, Himes whn we need exten Setar ty on the wattabh 02 cath Het For cramp, F wwe ane? baking Smt “doen Wye tm ter tan ae SME tape cab Te cabled * Eypliae conbige / Wee castiog 4 PHP vowkg Sane progroment Desive debe type = pawns kebre te varihle — we oa CG width paractbasis need fo Corb Shing Cort muni i Shete levers « Gustig a ching 40 all lover Case sde do upeny t Cenvendieg a String to oll ter, cox Uchata Capito He Awe letter dt shiy- Lewy OF Co eda ning the Fak fybler A eat weds fw Stine S0Quencd, rollection of chayacls, Ao shine 98 the 7 Melle wlerld™ A String Can be ary Singh i dawble quale text —Fnpide quoter, We can use String Funct og - & <2phe gx 2 Hello walldh*5 bye ‘Helle Warld "5 echo $%5 echo ga“ ole Ilr ow olleH oh) Shpos3 This dunchion ceanthes fe a spede det ta 9 sbring, TE a odch 5 ound, He -veduvry the character position of He Arsh moth . TP na mhsh fe Fond» 7 will schan FALSE 1 et phe ° cha strpps C Helle wbeld 5 *, “word Ss 97 ole 5 & 4 atrreplac 2+ This fardion veplaces some chareders Se aa sone often characlors 0 shag. Che (tar ca <2 php coho Sty-replace (“Weld *, “Dolly § uyella Welds 97 ole* Helo folly fors in PHO: al ey a _ perhen pperabions om ft rd vsed tn 5 lees. sbheebe opertDe 1) Assianmet Opercturs., ) Ari i mtson opehS——) Tescremurt | Decent 5 operate s) equa operotab 6) Shing oper 2) Arras operafos 1) Ardamebe operdfas + These are sed ith mmberic values 10 forms Lomenotv eithnedicd opercfions « chm, pulliplcabion ’ deh _ Suh on addition, Subst : —— yas \ Nome, | Guemale | Oper _ + | pain Su tdy | 5 Subst tu-d i | 3% | alten) tx 2 By \ ? | duiews | br4by é | moduld | $n I$Y \ ee » Assignen ont operas They on used with nuementc values ty write a ylue to 4 variables ok haste assignees operator in | a | | Assigned Some ob pace din Te ett opvrand gets seéto te olen PHE is “= Mey may : € ; te ight wy fey, [ee wow. oes Subshrachion eles xe nay Paudhitc Hin Divisiog ay yey we ULY wg. D Loree hisO Operechrs ) kaso spenabeas : They one operas nlame, f Example’ =: aud beet Thenbicd \ $x 22> by \: not equih \ gxbo aby a? nod caval bury jaz wot desde | dacteety ? Gayeader thon ny < | Joxs than $x< 2 Ys tho os < > be bite Surely a wed dp Compare. two velues Cuber ‘Shring), 22 [ate ow gxeey - cud te 1) Tacronetl [Decreredd _eptodor: The PHP. jntrenent opordins Gncveut a vosiable value. are used fo The PUP decrement opercts ase. use to Better t « vasiohe velug. Opn [ Slane +tbx ++ Pre - | joremendt | Sree Prs- | | + otrennent \ ae] te | Pegg j fun Post ~deoremenk a Se ©) Logica opercters yh poe were cond Losicd opend os con wand L combine mand! md ohabemads 1 Oper ede= row | eroryh | wed ak bed ey os Oy | dno dy Xot Yor oe rot by 4k Ard ee) \ wae nf \ ; Not [(grga Lt 6) Shig ets pup ba tw opens thal a ~operr | None Gams > [Cntens Stet. tata | concetencdin| $Eadis= dete, _ | ais reeck _ Thee oom. red 72 Compone Arrey/s. Opendy| vont Crorple = dat sy | .. wi fesagy | | SF | Thatits| das eo ty | po rF (Fett $x(- / | 4 / j [ay | Tarepeady) $x xrdy Lo dee ipod iy du geedy | ‘onto! — Sduucduves 2 aby) rurfney whe han FP feaditiveeh tabeereats | Cxfha\ stad uts Castel loop —stalomeds | loop dofemds Conditions Stat emerdst aditind stants om aed 12 pote dens gn differed eatin. aches bated Jn PHO we have the Allawing = Y Stoawnolse stadtrnest ‘) oF staderut a 44 I sett. elie stafemat DU shed t Th HF obdboot exeads Sore condi an js hue “4 (onds¥ion) te W cade 4 a < 2phe 4p edd CH) Slate “a0 2 5 echo “Have a geod clays 5 27 y it. che siatenots : T's Sbuhermenk exes Some a ee true S ; eeu che will be exerted. | Jgntow: he kgondidion t Shee de + eke y Yeode Ont Ox 22 ph hs dedea CH) Hh (hb 2% 0d #2 echo “Wave 4 Good dau 5 Jebe I ecko “Have 6 geod night 15 o7 » if... alse a, else stated : Ths clafeoot exeades, diffeed coda ty eo tha 2 Condidins . or 9b Cood tion) ¢ Visco ‘dw if 2 Yoocle. dele ¢ 4 Neode eg Godel Loop So _PHes sie He sane cle blck Loop ipa fo exe a 9210 > usd! ag conan dod sion ie of code ges wah yees* wy While loop % do- »y ee y Fujeach loo? wk & loof i) wWisle bo loop! Te whe fofonen® — wsit Loe thawah a ind wil He corsitin in true. a blk Tee hile, Sheatit evabese Suter: hile Condition gy: “bos aoa 43 while (44273) wowed 17 Tle for loop 7s hao Bray Hen He Syote> $py (iets odibion, Tncrenad/decroned) | L iteade | 3 a atphe for (42 uices 514 fae vary len gee knoe Cees sonet shaded me { ) we wu ett athe’ “THE Me 423? 5 27 The sods ojp? i ee cer ye é Biagio ke | = 7 hw each lang t : tig tov each loop? uxb do loop theagh Cv ey Sydne foe ach (Bary ay gvahe.) t Node 2 tg? Expression 0 Oreweat 4 postin, a4 optntors incremant value. a ft oO Pera y MY 4. where * Operatins decrirert volute 4 FuecHons? A function bs a Hoe of Stabemeds tf Can be und veprtatedly Yn a Program. Tt oll pot crew Ommedidhly sn % Page boads, Te will je exeated - by User dofiaad —Fincing = * a. Jute —fn Puchon:, bebidas PHO has $0 in tet we can make nae aor eoction os por Ha read A user - defied tyooben stadits Function’. Frnetisn Fnename Ut a Neode a a all the funtion, with the utd | Function with argued {getiecdliatva seco a Trdormadion. Can be passed He PaneHons toh onqured ts Sad file a verabe asiqumon’s. An Anquneds 9e speched after te function name , inside the potran tas Qe. < [fiom | < [kody <2 pho» $lle-name = 4-FrLes Lifilor'S Ciname Jy Shk_ dye = $_ Fries Cbs IL tye 7; $file path» Serves CRG Cony rexel 5 SHlo_ sige sp FrLeés Cefileyy C'shy2'3 5 Shee » $-F Les CHIT Liew 35 SHletke = & “upload J" S$ Fil names I> Noré: ‘ mov ~ pleaded - fe . | This is He fiction wwhheh uchads tiie | fiom cliew fo. Server, My SQLs . MySAL fs a i le Served. | MysaL fs very fash, veliade & eaty to wie: May SQL — tom te an dsb ond MySQe Conpiles on a no F plt forms MySOL 4s devoloped , disdributed and Suppaited hy ovade Ent po rahi : Pavard ese ° Scala bili Open Cauca Ligh pertin ra ne Reliability & warty Lone of Use Comnaunity & support Cans — Plat Fors tom patibility. ~ It dow w> Suppat SOL chek Constants. 4 mysar is inefficient ar 3 rt dow noe Supp ROE, COMMET. A My SQL has week stored procedums. PD Some bvras O70 mislealing > The dewefipment 3S pate Comvnuentlly deiven, Connecting + » Database 2 With PHP, yu can lonneit doa maniplate dea bord. My SOL jg te mash paper Adaboxe systeen —obed with PMR Plep__connuting fo Mgsaet my sli beets P00 C0HE Octa objets. Eatblishtg a __tonnerhon : Object - ovetes/? <" php $ conn =nera enysqlt (° local hart *, “userid “ (Patt 44 (4 conn cannert-orre) Bre, C* Conneztion failed! : % boone 3 tonne Cree); eke 3 : ero “conneaHn 5S establishes” 5 y > Decades exeded: < php ot being epea ramele es local has , + used * persooh TF (bconn') pa t de tomers filed *; as conve erat) bb Ss ne u bs etho- 3 Yy- 2> Glosing He connection: ord objet - vinted 7 $toon > Close 35 Procedure — orieabed + mysa ll — “hsel4 won) Exeustion of Query’ ahjeut- ovieded: <1ehf Boyle OO i¢ (mysal2aeeS (cb @on tesho. €* erste" eal) Se: site voce gal em ideansds 97 ued +0 condo A table in ySQL. 8 Creafe tebe Sheen Cid JatLv0),oname, vor chorive) -- 2 33 Tosert beda foto My Salt Afden « dshboss fa tebe have ‘been, crab | we tan shot adding dada jn them, | * Vere are same syntav plex 42 dow | quoted ia PHP © The SQL qutry mish be Sting values aslo the SQL Numeric values msl rod be quiled + The werd pute mus nate be quoded- Te “Inger Gato% Stedenadt ts axed do add nw weordg to a MySQh table. Gt Gast jrdo Shit nhies (valet, rales.) | query ust be quoted Coudion B* Ahate; Synstow § Create data be date harename 5 L cade dbow ches | te *select* stalemnt fs used 4 swleck dae Pom ont OF mare fables + Select Dada Fem Mmysdl Pedubare 3 [select Calumn—naneg) fron Sable nan “ye te * charedlr, fo lect ALL table - or we con we Columod The “nelede* Stet rant 7s arsed + delete secrds tum a table: Delete From fdabeiname whine Same. Colitern = Some vokto at odie Tolle _name seb calumn re volte 5 Column 22 value r where Some- Column = Some value). Handling Res was Fe 2 php b seyver name 2 tle cafhosk “3 $username" username" 5 Bpoasword > © pagsuurd "5 Sdbrame 2% my 005 [creed Connechon Seonn snus mysgliC.b Servenname , Husorame, “$ parser , Sdbraret Ss Mode connect SE C4 conn 3 sonneck-evnt) t die C* onection Hid 2+. bon 4 omedd eves | 3 $5q] 2“ SeLECT Jd, firstname , lostmame Feo MyGruests*5 | $velh= $onn 3 query Cb Sql), | SF ChresJ# 3 nein yous >) | 2 ator Sch of cath mu chile Chrno * bres 4 Febb—owsocts) 1, ; ete SS gyatuldey .« = Names fy Ciisbnone}, . “ gooC"lastrane*}. “ebro is be t echo “o yen «; $ oan closers Ie =~ 97...) ee seasiod S & Cockies: Hand ling Session $ season 1S sel fo btwe b pars *drsmahrn Pym me “pase go andthe AGE fempurari'y inducrnaFion Lookie® Cookie \s a imohh piece of whth is sued clint booser. Te jy used oo “reeegalse tle der $- ookTE : 3A coolde 3s Her weed + jdentihy a user 43 Gokies are efred at . dink side, DB Copkies dukes les space +0 she dda. 43 tk conaists oF name a textiad value. itp commen Latin bbo baosen Server , a headen 15 includledt- ‘eovmafion alod- Ths mersage 4 A heater stoves Cer fdts Cresde, ‘Cookies with Props A eokie 1S gested with th *sebtakiely furefon. Sandor! Sedcookie: Crame , valae , excire , pot , Foman, Stewre 7 pdtpoedy 3 a te row parameter ‘3 yeruved, SK ee feraon eters ane optnh + PP cud |Rptrite “olen = Th Phpoing — Oxamph trodes 0 Conkle. Oaned with Me ygheee —* Toho nidr 20 Jays cuuee* The. cookfe, ul exer “Chuo un They! manny taf the woke 35 available 1 whire website. We Hon rekbeve the velue % He whe une? Curing the Glob vaiahe b eke) We bio ue eset incdin do Pind wk Foe poke 33 seh, &

Dr $_ sesstow ¢ pb sessim 3, a way do hws Fadironation Cin yanieblea ) tb & » used across eudiple pats Uvike 4 cookie, the 4 mm pruer gtored On Ho users com?’ Glam PHP wengine Dd sdase OY Se ces is Staded hth He senion- bunchom “chemo _ session. Ihe” <2 phe : session SbuxA-U 27 < I php t-sesszonl C* fav calor Y= “blue 5 $-Sésszonl C* Rvantonad "J > “dogs echo “Sesion variables am et *5 Qo 3) Read Ble = Preade + ae Te pup Freadty function Cortext of fe fle. TS actepts duo arguments 5 resourcey & Fle dy Sydart String fread (resource $handle 5 10d $legth) G Pree Chhadle , LL sie (¢4ilnand)); Coke beoctents; Pehose Gbhandte)s : $s ued 0 reed t 2 2. ap Hale phe de. 4 Wide de tents 2 Tie Pip fovitey turdiin ts iad $0 unde Coatert oe the ghtirg we file, SynFie: 4ok toi Cresoerce Shantle, , String. bohing | | sit lenges J)5 &. <2dhp . dp = hopen (*debhch”, tw)5 the C4fp, “pello'); ” ture Bie, phot felose Ch Photile 5 Cho “File toriten Seccersally 4) Q> 2 | alb: Be wy ten succenAully, diy Hille: : aa Pundivn ys wae & wre The PHO fovik A | § agperd abn it fle ‘ . | We apps dott ed Ath by ing at | as mek iN fopen's fundo égt ec tphp + fopen Ctdafasdeb!,'a! 5 ae iso, Las 4s abdihioal teats fucile Lafby ‘appaaleg bee's Felose C442)5 echo Fila appended cutewsAlly 97 Op date steed wie ee Fhe cwxile dis 5s 34 dext appnding de. : additions 6) Dele He Bet se poe -wbake) fuckin 3s ad 0 ade a le. The © unlikl) Broekion accepts Ome er only Bk nme Bi Changy He Current dicey chat) Changes The vor died ly Close a directory —hardle closed dire | Reshiyns an Instance oF He dived, lets. Gehoda vem dhe Garr working: dtvedery onde Gr a. diiretmy hecncles pe veums on ey fry a diredtiny handle, read dire) [ pie ids 4 Jeondtiry [OO an array HE rly G@ dreawrieg Aa | speutbeed aeoy, \ Ta: PW?E: sade" Pauncdhion 4s ad & List Fila & Sredees nice the speed pot SPF array seandirlString $ diveckay. Lh . Sorting den + SCANDIR Sok T_Ascéwday U, vests} either] Ths 4inebin yoda aero 5 of Seles g dect Airecduies. fom, the diveotry ‘jen Suctess Fase on able, TP divecty «38 nob & dive chery > then boolen FMSE Fs retuned & on erre & lel E_wannitnd i geneeated, an | | és Iehe bdie s “Pep ' 5 $ Silent = scandic Cir) bfileg ae Seendir C$dirt)5 prid_y( dles 135 Peitv Chhles 2); de ole? Array . [oy =>. M5: pee f27-- 2 bod phy- [832 Poo dx Cy a Somedh'r is Cole > Sdmedit US= afoot Cay 7 ban php “T3202 ¢ ' Tydes

You might also like