DOUG LLOYD: So in ons video op PHP sintaksis, Ons het baie gepraat oor hoe PHP gebruik kan word by die command line om programme op 'n wyse wat hardloop ons is redelik vertroud met van C. Maar soos ek het ook genoem in daardie video, PHP is aanvanklik ontwikkel om implementeer web programmering, webwerwe. En so in hierdie video ons gaan om te praat oor hoe ons gebruik PHP in die web-ontwikkeling konteks. Ons weet reeds uit ons video op HTML, wat webwerwe word gebou uit 'n stel van HTML tags wat semanties definieer die struktuur van 'n webblad. Maar webwerwe wat gebou met suiwer HTML ly aan 'n baie, baie ernstige beperking. En om hierdie beperking te illustreer, laat ons kyk na die volgende. So nou wil ek 'n webblad te bou dat wanneer die gebruiker besoek het, dit gee my die huidige keer in Cambridge, Mass., vertoon dit na die nuutste minuut. As ek was besig om hierdie reg nou, Ek kan iets soos hierdie te sê. Huidige tyd in Cambridge-- so ek het HTML tags, hoof tags, titel tags, liggaam tags-- die huidige keer in Cambridge is 14:08, uit te druk militêre tyd. Wat gebeur as dit is nou 02:09, 14:09? Wel so ver, met HTML, ek het om in te gaan en verander dit na 14:09. En dan 'n minuut later, Ek het dit weer verander. En dan 'n minuut later, Ek het dit weer verander. En as jy kan dink, dit is waarskynlik die ergste werk ooit. Jy is die webmeester vir 'n web bladsy, en elke minuut, 24 uur per dag, wat jy nodig het om die huidige tyd te werk deur hand opening time.html en veranderende net dat brokkie kode om die sê huidige tyd in ure en minute. Dit is waarskynlik nie 'n baie goeie gebruik van ons hulpbronne, beide menslike en computational. Webwerwe wat al HTML is heeltemal staties. Die enigste manier waarop jy kan werk inhoud, soos ons nou net gesien het, is om diegene bron hand oop lêers, wysig, en red hulle. En dan wanneer die gebruiker verfris die bladsy, of besoek die blad vir die eerste tyd, sal hulle die nuutste inhoud te kry. Maar net omdat ons het hand geredigeer nie. As ons begin om 'n paar PHP meng daar ons kode kan kry 'n baie meer buigsaam. En ons kan 'n manier vir ons bladsye dinamiese wees, of hulself te werk, sonder dat ons arme webmeester in die vorige voorbeeld met die hand te wees opdatering dinge. Hulle kan dit outomaties te doen. Ons hoef nie te gryp. Ons kan slaap te kry. Wat waarskynlik 'n goeie ding as jy doen 'n baie web ontwikkeling. So in CS50 IDE, het ons 'n web server genoem Apache. Dit is 'n baie algemeen gebruik word, open source web bediener stelsel. Hierdie stelsel het die kapasiteit te interpreteer PHP, wat gaan nuttig as om te wees jy wil om enige PHP programmering te doen. En in CS50 IDE, ons het 'n opdrag om hierdie baie maklik om te doen, apache50 begin. En dan dat slash pad, streep om, streep rig, dit is net 'n baie algemene manier dui wat jy hier het gespesifiseer is 'n pad na 'n spesifieke gids wat jy wil die wortel webwerf, of die wortel bladsy of die gids waaruit jou web bediener sal begin om lêers te ondersoek en te dien hulle tot kliënte wat hulle vra. So laat pop aan CS50 IDE, net om wys jou, regtig vinnig, hoe dit werk. So hier in CS50 IDE, ek is in 'n gids genoem Week Zero Nege. En ek het two-- Ek het uitgevoer 'n LS opdrag net hierbo om jou te wys dat ek twee dopgehou hier, PHP, wat is die stel van die lêers wat ek gebruik in die PHP sintaksis video, en dan PHP web, wat is die stel van die lêers wat ek wil gebruik in hierdie video. En ek wil graag begin 'n web bediener byvoorbeeld met die inhoud van die gids PHP web as die lêers word bedien. So, wat gaan ek doen? Ek gaan apache50 ruimte tik begin, ruimte PHP, stamp web. Dit is die pad na gids van waar ek tans is. Toe tref ek Enter. Dit gaan 'n doen bietjie van dinge hier. En dan is dit gaan om te sê, Apache begin suksesvol. Jou site is nou beskikbaar at-- en dan is daar die URL vir die webwerf. So, wat gaan ek doen? Ek gaan hierdie vinnig kopieer. En ek gaan up-- oop en Ek sal uit te zoem 'n bietjie here-- Ek gaan om oop te maak 'n nuwe blad in Chrome. En ek gaan om dit te URL besoek. Ek gaan druk Enter. Dit gaan om te laai. En ek sal weer uit zoom. En ons kan sien hier is die inhoud van my PHP web directory. So nou wat is basies gebeur hier is, my geval van CS50 IDE dien tot hierdie lêers te enigiemand wat hulle vra. En oor die afdeling van die hierdie video, sal ons soort 'n blik op 'n klomp van hierdie verskillende lêers in konteks. Om te toets dat jou Apache bediener werk, wat oor die algemeen gaan die geval te wees in CS50 IDE, maar as jy dit doen meer algemeen, en jy begin bou van jou eie web bedieners, daar is 'n baie algemene soort van analoog na, "hello world", dit is gewoonlik gebruik word vir PHP web ontwikkeling. Wat is 'n lêer bestaande uit net die code-- 'n PHP delimiter stel met PHP inligting, hakies, kommapunt tussen in. Wat is basies 'n spesiale PHP funksie wat jou vertel watter weergawe van PHP jy loop. So in CS50 IDE, ek het die lêer beskikbaar net om jou te wys wat dit sou lyk. So ek is op soek na my indeks uit my PHP byvoorbeeld. My Apache byvoorbeeld loop die inhoud van PHP-Web. En ek het 'n lêer hier genoem info.php. Ek gaan om te klik nie, zoom uit. Dit is wat jy gaan om te sien, pretty much. Dit is net vir my sê dat my Apache werk. En dit is, blykbaar, die weergawe van PHP dat ek hardloop. Dit is my analoog na "hello world." So ek weet dinge is operasionele. So ons is goed om te gaan. Ons kan gaan van hier. So laat heroorweeg wat tyd was ons voorbeeld praat oor met ons swak webmeester wat moes die bladsy voortdurend by te werk. Dit kan 'n oplossing vir hoe wees Ek sou dinge te implementeer sodat die webmeester het nie te hou die opdatering van die tyd. Dit sou net soort van outomaties gebeur nie. Die onderstaande af, die HTML, dit is redelik soortgelyk, met een uitsondering. Maar hier ek het 'n paar PHP aan die bokant. Ek het, blykbaar, hierdie sogenaamde funksie date_default_timezone_set. En ons het nie oor al praat hierdie funksies in CS50, want PHP het waarskynlik tienduisende. Dit mag dalk 'n bietjie van 'n wees oordrywing, maar dit kan nie wees nie. Dit het 'n baie funksies gebou in. En so is dit 'n funksie blykbaar stel my tydsone as die VSA / Eastern, wat is die tydsone dat ek tans in die maak van hierdie video. Toe ek 'n oproep te maak funksie genoem, datum. En, glo, ek die stoor van die SY iets genoem, tyd. So, wat gaan hier aan? Wel, basies wat is gebeur is, is ek 'n oproep sommige bediener wat gaan vertel my wat die tyd is tans. En ek is dit die omskakeling na 'n formaat ure, minute, sekondes. En die rede is dit kapitaal H is dit gaan gee my 24 uur-tyd, nie 12 uur-tyd, wat klein h sou wees. En ek is net die stoor wat in 'n veranderlike genoem, tyd. Sodat tweede lyn van PHP daar die oproep om die funksie, datum, word net sommige string, wat gaan my die datum gee nie, en die tyd, en 'n klomp van die ander inligting. En die eerste argument is daar wat sy, is net onttrek die belangrike deel dat ek omgee vir hierdie voorbeeld, wat is die uur, minuut en sekonde. So wat is die alles wat aangaan. So ek slaan wat in 'n veranderlike $ tyd. En dan af na die heel onder is daar, ek daardie snelskrif vir druk die huidige tyd. So ek gaan net te druk uit te vind wat die huidige tyd is. So laat ons neem 'n blik op hierdie in CS50 IDE en sien hoe ons nou spaar webmaster 'n baie moeite. Alle reg, so hier is ek weer terug by die hoofdmap van my Apache byvoorbeeld. En ek het 'n lêer hier genoem time.php. Ek gaan net te klik op dit. En ek sal tot blaai, want ons ingezoomd mooi ver. Die huidige tyd is 14:20:34. So ek doen dit ure, minute en sekondes. En ek kan verfris die bladsy en kry nuwe tyd. --41. Ek gaan na die bladsy te verfris en kry nuwe tyd, 44, 46, 47. So, ek is duidelik nie myself niks verander. Ek is hier die bladsy te verfris. So ek kan nie daar terug verander het. En ek belowe jou, ek doen nie enige bondgenote wat die lêer is besig namens my aan die kant. Ek is net die gebruik van daardie PHP funksie, tyd om die tyd vir my te genereer outomaties. Sodat selfs as ek aan die slaap, en my web bediener loop, die gebruiker wat besoek die bladsy is nog gaan presies die huidige tyd. So dit is redelik goed. Ek het my site meer dinamiese gemaak met nie te veel PHP-kode. Dit was net twee reëls van die kode en dan 'n bietjie van 'n afdruk verklaring. En al het ek 'n veel meer dinamiese webwerf as eerste voorbeeld het ons gesien aan die begin van die video. So, onthou uit die video op PHP sintaksis dat wanneer die PHP tolk loop ons program, is dit ignoreer alles dit is nie binnekant van PHP delimiters, spoeg dit uit. In daardie voorbeeld, wat die ding dat dit spoeg uit was HTML. En dit beteken dat ek kan nou deurspek HTML en PHP saam. Omdat die tolk sal net ignoreer die HTML en letterlik uitset dit. Wat goed is, reg? Omdat vermoedelik, aan die einde van die dag, Ek sou my site te hou gebou wees van HTML. Sodat enige webblaaier kan interpreteer , of verstaan ​​die HTML op die bladsy en maak dit as iets wat ons eintlik kan verstaan ​​as mens. En ek kan net gebruik PHP vir die dele van my site die vereistes dinamika, wat my nodig om dinge wat voortdurend werk het. Die statiese inligting kan dieselfde bly. OK, so dit is goed. Maar hoekom sou ek dit doen? Hoekom sou ek meng HTML en PHP? Ek kon net druk al die HTML, met behulp van die PHP druk funksioneer. Hoekom is ek nie om dit te doen? Dink vir 'n tweede. Waarom het Ek kon net druk out-- ek lyne van PHP wat net sê kan hê, Druk HTML tag, druk kop. Hoekom is ek nie om dit te doen? Hoekom is ek meng die PHP en HTML? Wel, as jy dink oor dit vir 'n tweede. PHP, die tolk interpreteer wat dit sien. En so gaan dit om om 'n lyn van die kode uit te voer. Druk HTML. Druk oop kop tag. Druk oop titel tag. Dit gaan hê om voer en te interpreteer dat elke enkele stap van die pad. Waarom nie net laat die tolk net glans oor dinge wat dit nie verstaan ​​nie en outomaties doen? Dit gaan om my te red 'n klomp van die tyd my HTML en PHP my saam te meng. En so dit is hoekom ons dit nie doen nie net oop PHP delimiter en dan net die druk van die hele inhoud van ons bladsy as 'n reuse-PHP noem die funksie, Druk, en dan naby PHP delimiter en ons gedoen het. So dit is hoekom ons meng hulle op. Tot dusver het ons nie te veel van gesien 'n verskil van algemene PHP sintaksis. Dit was redelik eenvoudig. Ons het reeds gesien dat die vraagteken, gelyk. Ons het 'n paar van die nuwe funksie oproepe, maar niks regtig fancy aangaan. Kom ons dalk dinge 'n bietjie liefhebber. Wat as ons wil om inligting te slaag tussen verskillende PHP lêers, sodat miskien kan die gebruiker om inligting aan my. En dan kan ek iets doen met dit op 'n ander bladsy. So PHP het steun vir iets genoem Super Global Veranderlikes, wat pretty awesome klanke. Hulle is regtig net reuse assosiatiewe skikkings wat help implementeer funksionaliteit van verbygaande inligting tussen PHP lêers wat is die bestaande op ons web server. Die eerste van hierdie super globals genoem $ _GET. En dit is waarskynlik die eenvoudigste om te verstaan. Wat gebeur met $ _GET? Wel, basies, die gebruiker is gaan om ekstra inligting tik aan die einde van ons URLs. En alles wat hulle tik, in die veronderstelling dit geformateer in 'n bepaalde manier bekend as 'n navraag string, wat net 'n stel van sleutel waarde pare geskei deur-karakters. Diegene sleutel waarde pare sal wees gestoor in 'n $ _GET assosiatiewe skikking. En van ons video op PHP sintaksis, ons weet hoe om te werk met assosiatiewe skikkings reeds. So hier is 'n voorbeeld van sommige PHP, waar miskien is ek onttrek al die sleutel waarde pare dat die in die URL verskaf gebruiker. So ek het my Open PHP delimiter. Ek het 'n foreach lus. Ek iterating oor die Super Global Array genoem $ _GET. En ek wil in staat wees om te verwys aan beide die sleutel en die waarde daarvan. En ek is net hulle druk uit elkeen op blykbaar sy eie paragraaf tag hier. Ek druk 'n paar HTML en interpol die waardes van die belangrikste en die waarde in daardie verklaring. So laat ons neem 'n blik op hoe dit sou eintlik werk op ons IDE. En miskien sal dit help illustreer 'n bietjie van wat te kry, is eintlik. So ek is terug hier in my web wortel. En ek sal in 'n zoom bietjie om jou te wys dat ek 'n lêer genaamd, get1.php. So laat klik op get1.php. En ek is nie sien enige inhoud. Dit is vreemd, reg? Wel, nie regtig eintlik. Want ek het nie voorsien enigiets in die URL. Ek gaan get1.php, maar ek het nie 'n sleutel waarde pare voorsien as deel van my navraag string. So laat voeg 'n navraag string en sien wat hierdie lêer kan doen. Om 'n navraag string jy begin tik net vraagteken. Dan miskien sal ek sê name = Doug & jaar = 2015. En dan sal Ek druk Enter. Nou sien wat gebeur. Ek is nog steeds in get1.php. Maar nou het ek verskaf sleutel waarde pare en ek is druk hulle uit op hul eie paragraph-- naam Doug-- jaar 2015. Dit is presies die kode wat ons net gesien het op die slide 'n oomblik gelede. En as ek wil miskien 'n ander by te voeg sleutel waarde pair, & class = CS50. Nou het ek 'n ander sleutel waarde paar wat is gedruk toe ek weer terug na die URL. Nou miskien is dit nie verskriklik goed geformuleer. So ek het 'n ander weergawe van get.php. Dit is get2.php. Die verskil in hierdie een is ek CSS-lêer, en dit formate dinge wat 'n bietjie meer mooi vir my. Dit is dalk nie die mees pragtige CSS in die wêreld. Maar dit is net 'n ander manier om dit te doen. So ek kan nog steeds toegang my veranderlikes met behulp van $ _GET. En in hierdie geval, is ek net soort van die maak van die CSS 'n bietjie meer fancy. En as ons pop aan my IDE vir 'n tweede, Ek sal jou wys in my PHP web directory hier, get2.php. Ons sal dit hier oop te maak, 'n paar HTML. Blykbaar ek koppel in daardie CSS lêer ek praat. Ek maak 'n tafel tag. En dan hier is my foreach lus. Hier is dat, wat ek gewys op die skyfie voor. Die enigste verskil is ek het hierdie sleutel en waarde CSS stilering dat ek aansoek doen om dit te. Maar dit is al wat ek doen, is ek is iterating oor $ _GET al kry van die sleutel waarde pare. En ek druk dit uit soos die tafel. En, glo, ek opmaak die sleutels in een manier, met die td class = "sleutel" <. So glo wat van toepassing is om 'n paar klas selector in my CSS lêer GET.CSS. En, glo, ek druk uit my waardes 'n totaal ander manier. Wat is pretty much wat ons hier, waar het ons waardes is gedruk met 'n blou agtergrond, en ons sleutels gedruk met 'n geel agtergrond. So dit is hoe ek kry diegene verskillende style. Omdat ek die gebruik van verskillende CSS klasse. Maar dit is pretty much dit vir AOO. Soos ek net inligting te onttrek. En in hierdie geval, is ek net druk dit na die skerm. Ek kry dit uit die URL, en dit is wat AOO vir ons doen. Sien jy 'n moontlike probleem hier al is? Hoekom sal ons dalk nie wil $ _GET gebruik? Wat as, miskien, ek was die maak van hierdie navraag? --to get3.php, wat ek nie op my IDE. Dit is net 'n hipotetiese lêer. Maar let hier wat blykbaar verby my wagwoord in. En miskien my wagwoord is 'n verleentheid. Of miskien het ek nie mense wil weet wat my wagwoord, reg. As ek verby dit though-- as ek gebruik die $ _GET metode, wat gebeur is, wat gaan om te wees in die URL. So 'n paar kwaadwillige gebruiker kan in staat wees om te sien wat ek doen. Ek kan hulle aanstuur sensitiewe inligting. Of miskien is dit nie eens 'n kwaadwillige gebruiker. Miskien is dit net jou vriend wat staan ​​oor jou skouer. En nou weet hulle die wagwoord jou Facebook rekening. En miskien sal hulle nie enigiets doen met dit. Maar as jou wagwoord was via $ _GET op Facebook voorgelê, nou weet Facebook wagwoord. Want dit is reg daar in die URL wanneer jy gedoen het indiening inligting. En miskien is dit nie die beste manier om sensitiewe inligting te slaag. Dit is 'n goeie manier om inligting te slaag dat ons dit nie doen nie veral omgee as te sensitief. Omdat AOO is redelik vinnig, relatief tot die ander super globals ons gaan om te praat oor. Maar miskien nie die beste instrument vir sensitiewe inligting. Vir wat kan ons wil gebruik iets genoem $ _POST, wat is 'n ander Super globale veranderlike. Dit is 'n ander assosiatiewe skikking. So werk dit pretty much presies dieselfde as AOO. Behalwe, in plaas van die wen inligting van die URL, Dit doen iets deur middel van HTTP-hoofde. So onthou van ons video op HTTP, het ons gepraat oor hoe implementeer, bedieners, en kliënte te kommunikeer. En inligting is terug geslaag en weer in HTTP-hoofde. Met $ _POST, inligting is tipies gestuur word deur diegene HTTP-hoofde. En ons sal die mees algemeen sien $ _POST in die konteks van die indiening van HTML vorms. Jy kan nog steeds gebruik HTML vorms om dinge te kry in te dien. Maar hulle is gewoonlik gebruik in die konteks van die post. So hier is 'n voorbeeld van 'n HTML-vorm. Nou het ons hierdie gesien voor, maar ons het nie gesien hierdie deel, action = "post.php". So wanneer ons gepraat oor vorms in die konteks van HTML, het ek 'n stuur knoppie. En as jy onthou, het ek op Submit en dan die bladsy net verfris, het niks gedoen nie. In hierdie geval, ek indiening wat ek tik op hierdie vorm, om 'n PHP lêer genaamd post.php. En, glo, die manier waarop ek doen wat in hierdie vorm is die gebruik van die POST-metode. So elke stukkie inligting dat ek tik in die vorm voorgelê sal word deur die HTTP-hoofde. Dit sal toeganklik wees in post.php wees, want dit is die optrede van my vorm. Dit sal toeganklik deur te gaan tot $ _POST. En blykbaar, die manier wat ek kan kry op elke individuele element met daardie assosiatiewe skikking is met hierdie kenmerk, die kenmerk Naam van ons insette tags. So glo ek kan sê $ _POST vierkante hakies noem ongeag die gebruiker te kry getik in die eerste veld. En $ _POST wagwoord PW eerder op watter die gebruiker getik te kry in die tweede veld. So laat ons neem 'n blik op dit oor in CS50 IDE. So hier is ons, en ek sal zoom vir 'n tweede. En ons het 'n lêer genaamd post.html. Ek klik op post.html. Op hier die heel boonste Ek het 'n baie eenvoudige web vorm. Dit is die vorm sien ons net op die skyfie 'n tweede gelede. Ek kan tik, Doug, en ek kan tik my wagwoord, wat ons almal weet, is squadgoals. En Ek sal getref Stuur. En blykbaar dat dien om post.php. En ek glo dat die druk. So ek raak ontslae van al die sekuriteit daardie pos gee my deur net die druk van die gebruikersnaam en wagwoord. Die naam van die gebruiker se Doug. Wagwoord van die gebruiker is squadgoals. Hoe het ek dit doen? Wel, pop aan IDE weer vir 'n tweede. Ons sal af te beweeg om te neem 'n blik op post.php, wat was die aksie wat ek gebruik om hier te dien. Dit was die optrede van my HTML vorm. En dit is al wat ek doen. Die naam van die gebruiker se is, en ek is druk die inhoud van $ _POST "naam". En dan wagwoord van die gebruiker is $ _POST "password". So het ek gegee dat die inligting deur die indiening van die HTML-vorm. En ek kan nou pak dit met behulp van $ _POST omdat die metode wat ek gebruik om te stuur data met dié vorm was die POST-metode. Nou is dit waarskynlik nie so great-- ek gaan om terug te gaan vir 'n tweede ons stel here-- dit is waarskynlik nie so groot as ek indiening inligting POST, wat is oënskynlik meer veilig. Dit is waarskynlik nie so groot As ek doen dit en dan uit te druk wagwoord van die gebruiker. Dit is veronderstel om meer veilig te wees. OK, maar dit is nie heeltemal veilig. En so in hierdie klein snippet hier wil ek net vestig u aandag op 'n paar data veiligheid, net iets om te dink oor as jy werk of die gebruik van die internet. Dit is net iets om te oorweeg. Ek het jou gesê dat inligting deur HTTP-hoofde voorgelê wanneer jy die POST-metode te gebruik. Wat beteken hulle is nie heeltemal veilig. Hulle is moeiliker om te vind as die gebruik van die GET-metode, waar dit is net reg in die URL. Maar daar is nog 'n manier om dit te vind. En ek wil net om te wys jy dit sodat jy dalk begin om te dink oor hierdie as jy werk, of die gebruik webtuistes en voorlegging wagwoorde, en miskien met behulp van dieselfde wagwoord in 'n baie verskillende plekke. Weet dat dit nog eintlik redelik maklik om uit te vind wagwoord iemand se. En so hier, ek gaan om te gaan na post2.html. En die verskil met post2.html en post2.php is redelik subtiel. Die verskil is net dat ek nie uit te druk die wagwoord wanneer ek stuur die vorm. So ek gaan om te tik in, Doug. En ek gaan om te tik in, squadgoals, selfs al weet ons dit is die wagwoord. Voordat ek dien die vorm al, ek gaan om oop te maak Developer Tools, net om wys jou wat gaan hier gebeur nie. So in Chrome, is ek net gaan F12 getref. En wat gaan open my Developer Tools op die regterkant. Ek het die vorm nog nie ingedien is. Nou gaan ek om te tref Stuur op my vorm. En blykbaar, het ek 'n roep, of ek het 'n versoek om post2.php, wat sin maak. Ek gaan om te klik op dit. Toe hier, ek gaan kliek op Headers. Daar is 'n baie dinge hier aangaan nie. Maar as ek gaan na die baie onderkant, kennisgewing reg there-- my kalender het dit geblokkeer vir 'n second-- reg daar op die heel onderste hoek, name-- Doug, pw-- squadgoals. So selfs al is die gebruik van die I POST metode, wat is meer veilig, wees net bewus daarvan dat wanneer jy dit doen, jy nog steeds die oordrag van inligting deur HTTP. En dit kan nog steeds gevind deur 'n teenstander. Dis net iets wat ons gaan om te doen het met regtig. Miskien is daar 'n paar maniere om te enkripteer ons wagwoorde voordat ons stuur hulle oor, wat 'n beter sou wees, wat ek hier doen nie. Maar net bewus wees dat die pos metode het beperkings ook. Dit is 'n verbetering op te raak in terme van 'onmiddellik sigbaar. Maar dit is nie 'n volledige oplossing. So hier is 'n voorbeeld van 'n vinnige by die huis oefening wat jy kan gebruik om 'n paar te kry oefen saam met PHP. Skep die volgende paar webblaaie. Die eerste moet net 'n baie eenvoudige vorm met 'n enkele veld en 'n Stuur knoppie. So baie soortgelyk aan wat ons net gedoen met post.html. En dan is die tweede lêer wat jy moet skep is 'n lêer, 'n PHP lêer, wat verwag insette, via POST, en op grond van wat die gebruiker getik, wat jy kan neem, sal 'n heelgetal wees. Jy hoef nie aan enige doen foutopsporing of die wil. Jy kan die gebruiker aanvaar sal 'n heelgetal waarde tik, of iets soos 'n vertolk deur PHP as 'n heelgetal, in daardie vorm. Jy wil net 'n te skep N deur n vermenigvuldiging tafel. So as die gebruiker instuur 10, ons wil 'n 10 met 10 vermenigvuldiging tafel. As die gebruiker lê 'n 12, ons wil 'n 12 met 12 vermenigvuldiging tafel. Net sodat jy kan sien wat Ons ry om hier, ons sal 'n blik op te neem hierdie lêer in my IDE. So hier in IDE, ek het mult_form.html. Ek sal dit op. Al wat ek wil doen, is stuur 'n waarde. Tipe in 10, getref Stuur. En blykbaar, mult_table.php, wat kan ons by die top te sien daar in die URL, Ek is die skep van '10 deur 10 vermenigvuldiging tafel. As ek tik 15 en druk stuur, nou is ek 'n 15 met 15 vermenigvuldiging tafel. Ek is natuurlik nie gaan om te wys jy die inhoud van mult_table.php, omdat die wat die pret sal neem uit hierdie by die huis oefening. Maar dit is 'n goeie manier om 'n paar te kry oefen saam met PHP loops en post, baie eenvoudig, hopelik stresvry byvoorbeeld, net om 'n bietjie van die praktyk te doen. En ek het 'n bietjie CSS aangaan het hier om my eie tabel te maak selle net soort van pop uit 'n bietjie en kyk 'n bietjie meer soos 'n tafel van vermenigvuldiging, eerder as om net die teks net soort daar sit. Die laaste super globale sal ons praat oor in hierdie video is iets genoem $ _SESSION. En miskien is dit eintlik die beste voorbeeld van iets sou ons globale oorweeg. Dit is nog 'n skikking. Dit is 'n ander assosiatiewe skikking. Maar dit is toeganklik deur elke PHP lêer wat bestaan ​​op ons stelsel. Ons hoef nie te dien inligting een bladsy op 'n tyd soos wat ons doen met AOO en pos. Dit is altyd daar. En so is dit vir 'n groot bladsy waar jy aangemeld is, byvoorbeeld, en jy het jou inskrywing inligting wil hê voortduur van bladsy tot bladsy tot bladsy. Jy kan net 'n sessie te begin en dan gebruik $ _SESSION om dinge soos red naam, of die gebruiker se die gebruiker se ID inligting, en so aan. En dat die inligting sal in te bly $ _SESSION Totdat jy die sessie te vernietig 'n bietjie later. Skryf dinamiese webblaaie met PHP maak hulle 'n baie beter. Jou webwerwe raak baie dinamiese, en jy dit nie doen nie het te veel meer as doen wat sou jy anders gedoen het net om dit te doen met HTML. Maar dit vereis oefening, 'n baie van die praktyk. Jy weet reeds hoe om te werk met C, en so spring om PHP is nie te moeilik. Wat is miskien 'n bietjie bietjie lastig werk met hierdie nuwe idee te kry en post, en miskien die vermenging van jou HTML en PHP jou saam. Maar ook bewus wees dat die internet is 'n groot bron van inligting. En dokumentasie PHP se is beskikbaar in baie plekke, maar miskien die meeste kerkwetlik op php.net. En jy kan daar vind, baie van die verskillende funksies, en gebruik gevalle, en voorbeelde op voorbeelde, op voorbeelde. Waar as jy wil om te probeer en figuur hoe om iets te doen, is die kans, iemand is dit waarskynlik gedoen voordat jy. En jy kan dit gebruik as inspirasie te implementeer wat ookal dit is wat jy probeer om te implementeer. Ek is Doug Lloyd. Dit is CS50.