SAM LEVATICH: Velkomin kafla í þessari viku. Ég er ekki Andi. Andi hefur lækkað veikur í dag, og ég hafa verið eins konar kallað í síðustu stundu að taka yfir. Það er flensu árstíð, svo vertu viss um að þú eru edrú, þvo hendur, og borða hollt svo að þú líka, eru ekki rúmfastur. En án frekari ado, við skulum byrja. Í dag, við erum að fara að tala um PHP smá bit-- hvernig PHP tengist HTML, hvernig það tengist CSS, og sumir af the vefur efni sem þú gerðir á síðustu verkefni. Við erum að fara að tala a svolítið um SQL og hvernig þú getur unnið með gagnagrunna, sem er ansi lykilþáttur P setja 8-- P sett 7. P sett 7. Og þá erum við að fara að tala svolítið hluti um hvernig skoða stýringar vinna og hvers vegna það er heimspeki á bak sumir nútíma vefsíður og mismunandi hönnun. Nánast fullt af tegundum af apps og forrit sem þú gætir skip eru að nota þetta líkan, útsýni stjórnandi ramma, að þú verður að nota í P sett 7, þannig að ég ætla tala svolítið um hvers vegna það er orðið vinsæll, hvers vegna það er mikilvægt og gott. Og svo ég loksins að fara á nokkrar ábendingar um að takast P sett 7. Og ef við höfum tíma afgangs í lok, getum við í raun að gera nokkrar vinna að því saman. Svo, PHP. Í raun getur þú tekið eftir this-- þú í raun ekki að kafa í it-- en P sett 6 haft PHP númer sem var að fara á. Og vegna þess að PHP er C-eins og tungumál, PHP, ólíkt HTML og CSS, er forritunarmál, en HTML og CSS eru truflanir. Þeir eru ívafsmál fjalla með stíl og sjón skipulag. PHP er alvöru samningur. PHP hefur lykkjur, það hefur conditions-- allt það efni sem er gaman um C. Það hefur nokkrum hlutum sem eru lítið dálítið betri en C, sem við munum sjá, en ég held að auðveldasta leiðin til að tala um PHP er bara að kafa í. Þannig að ég ætla að fara rétt í IDE á þessum tímapunkti. The fyrstur hlutur sem við erum að fara að gera er í raun að líta svolítið á sumir af the PHP kóða sem var í P sett 6. Svo leið að við gerum that-- áður, á þann hátt að við vorum að keyra the framreiðslumaður fyrir tækinu var að við yrðum að type-- annað hvort notað framkvæmd þitt eða framkvæmd starfsfólks af server.c með því að fara inn skrá og keyra server.c með annað hvort ekki arguments-- svo bara kalla það á heimamaður gestgjafi, sem er það sem þú sennilega gerði mest af time-- og þá að fóðra hana a directory-- með sem á að nota sem rót sína þar sem vefsíða myndi vera hlaupa, í grundvallaratriðum. Í þessari viku fyrir P sett 7, sem mikill eins kóða okkar fyrir server.c er, það er fólk sem hefur nú þegar skrifa þetta fínn hlutur yfir á CS50 sem hafa smá meiri virkni, miðlara forrit sem er fær að takast á við smá meira ranghala sem við munum sjá bæði P sett 7 og P setja 8. Og hvernig sem þú byrjar upp Miðlarinn er bara með því að slá, "apache50." Og áður en þú gerir nokkuð, þú vilt vera viss um sem Apache 50 er ekki nú þegar í gangi eins og það er á vélinni minni, sem ég gerði til að prófa það. Og þú gerir það með því að kalla apache50. Stöðva, og þú munt sjá að það er hætt vefþjónn, ef þú getur litið það neðst í endastöðvar. Og þá bara til að byrja, við erum að fara að hringja, "apache50 byrja." Og þá erum við að fara að fæða það möppu. Nú, vegna þess að við viljum að líta á sumir af the P setja 6 kóða sem við höfðum til framkvæmda, ég reyndar afrita smá P setja 6 kóða í eigin möppu mína, sem þú getur séð á vinstri þar. Það heitir "SECTION8" í öllum hástöfum því ég er bara svo spennt að vera lifandi útsendingu dag. Þannig að ef við keyra þetta, það ætti allt ganga nokkuð áhrifaríkan hátt. Það segir, OK, á síðuna okkar er nú í boði á heimilisfang í IDE, grundvallaratriðum, sem er það sem þú varst að nota nákvæmlega eins og það var í P sett 7-- P sett 6. Allir Vísitölur mínar eru eitt vísitölu dag. Svo við getum farið að því netfang, ef þú manst, bara með því að smella á þennan litla hnappinn í efra hægra. Og þú munt muna þennan kóða, sem gerðist þegar þú fórst inn hello.php. Og hvað númerið er hannað til að gera er þegar þú slegið inn nafn here-- ef þú segir Sam því það er name-- mín og ég smelli segja halló, þegar fórum við yfir á næstu síðu, að nafn átti að vera birt. Það myndi segja, "Hello, Sam" eða "Hello," hvaða nafn þú setja inn í það, jafnvel þó að við fórum til algjörlega nýja vefsíðu. Og þetta er svoleiðis sem PHP getur gert fyrir þig. PHP er hægt að fara gögnum milli tveggja vefsíðum. Þetta er allt öðruvísi síðu. Þú munt sjá að titill er "halló" hér. Reyndar hafa þeir sama heiti, en ég lofa þeir eru öðruvísi vefur síður ef við skoðum uppspretta. Og þú getur standast gögn sem er inn í þessu textareitinn þú sendir það til næsta síðu sem er verið kallað upp, og þá er þessi gögn geti vera þar í núverandi mynd. Nú höfum við ekki enn innleitt þetta okkur, sem er það sem við erum að fara að gera núna til að raða fá bragð fyrir hvernig PHP virkar, en Meginhugmyndin er sú að PHP-- þú getur konar hugsa um það eins aðgerð. Eitthvað sem PHP er hægt að láta þig ekki er það getur tekið breytur sem þú inntak inn í HTML síðu með því að nota PHP og form, og það kemst þá sem breytur á næstu síðu sem að hann hleðst upp. Í þessu tilfelli erum við að hlaða upp þetta síða með "Segðu halló" hnappinn. En nú, ég reyndar eytt nokkru af kóða í hello.php sem var verið að keyra sem var í raun birta "halló, heimi "eða" halló, Sam "eða "halló," hvað var bara inntak. Svo fyrir núna, við erum að fara að gera það, í grundvallaratriðum. Við erum að fara að endurskapa það og einnig bætt við nokkrum fleiri virkni, gera smá meira með það, sjá hvað PHP er í raun fær um. Svo fyrst, við skulum tala um þessi skrá, hello.php. Þannig að ef við zoom í lítið bit-- og nú er ég konar reyna að fletta öllum hvernig around-- það sem við förum. Þú munt sjá að það er kallað hello.php, en setningafræði af því lítur út eins og HTML skrá. Þetta er vegna þess að Raunveruleg PHP í þessari skrá er allt fastur milli þessara Spurningarmerki-Caret blokkir. Allt hérna er talið PHP kóða. Og þú munt taka eftir því að þegar ég gerði athugasemd, þú munt sjá kunnugleg tveir skástrik. Og ef þú manst, í HTML, ef ég skrifa athugasemd, það lítur eitthvað nær til þetta, sem er athugasemd í HTML. Svo í raun allt milli þessir tveir oddklofar er nú PHP kóða sem endurspeglast í þeirri staðreynd að þetta litla athugasemd tákn er breytt í athugasemd. Svo í hvert skipti sem þú skrifar PHP kóðann, jafnvel ef það er engin HTML kóða utan hans, það er alltaf að fara að vera fylgir í þessum horn sviga með spurningarmerkjum. Þú getur konar hugsa um it-- hvernig allt af kóða sem rann í C forrit var lokað í int main, tómið, hrokkið Brace, enda hrokkið Brace yfirlýsingu. Og þú munt sjá hrokkið axlabönd í PHP, of, en þetta er tegund af eins og the aðalæð aðferð PHP. Svo nú, gera hvernig við gerum neitt í PHP? Nú, PHP er forritunarmál tungumál sem er mjög C-eins, en það starfar á vefnum. Svo eitt sem þú munt immediately-- einn af the fyrstur hlutur sem þú gerðir í raun með C var þú prentað efni út, ekki satt? Svo í C við gerðum það með printf virka. Við gaf það band, líklega með nýja línu, og þá erum við hætt það með semíkommu. Svo leið sem við erum að fara að gera það í PHP-- því það er ekki alveg printf. Það er svolítið mismunandi setningafræði. Leiðin sem við prentað það út í PHP er við segjum, "Echo halló" eða "echo" hvaða orð. Og það hefur áhrif að gera printf með streng, "Halló." Og það bætir nýja línu við það. Svo skulum núna gera sure-- Ég minnka það aftur svolítið bit-- skulum vera viss um að sem virki vegna þess að það gæti mjög vel verið um galla í þessum kóða sem við verðum að takast á við. Svo þjóninn er þegar í gangi. Þannig að ef við fletta aftur niður til the botn, jamm, the framreiðslumaður er enn í gangi. Þannig að ef við tappa bara á þetta svolítið rétt here-- welcome-- við ættum get-- mikill. Við enn erum með þekki "Segðu halló" viðræður, en þegar ég tegund í "hæ" við munum sjá að textanum "halló" var örugglega prentuð út, sem er nákvæmlega eins og við ráð fyrir því að enduróma í PHP er bara eins og printf yfirlýsingu. Svo aftur að kóða, hvernig í P sett 6 gerðum dreifingu kóðann sem þú ert veitt gera það svo að PHP myndi framleiðsla hlutur sem þér slegið inn á fyrri skjá? Og til að við kanna hvers vegna það gerist, við erum að fara inn í index.html, sem er upprunalega skrá, the skrá þessi sýnir sig á þessum skjá með "Segðu halló" hnappinn. Þú tekur eftir því að það er Allar klassískt atriði við höfum komið að búast frá HTML slíkri sem þetta, þessir tags fylgir í horn sviga, eins og PHP en án spurningarmerkjum, sem gefur til kynna sérstaka hlutur til HTML. Við höfum titil, sem er "halló." Og þú munt taka eftir því sem við sáum, titill er "halló" í báðum tilfellum. Skulum breyta þessu einn að "segja" bara svo við Hægt er að greina okkur hvar við erum. En við höfum fengið líkama. Og þá áhugavert hluti, sem bita sem sýnir sig í HTML, er þessi mynd þáttur. Og svo við höfum fengið eyðublað. Og þetta er lykillinn. Þetta er hvernig við erum að vinna með PHP. Aðgerðin Stiki form segir að hello.php er það sem við erum að fara að senda gildin í þessu formi til. Þetta er þar sem við erum að brottför breytur, svo að segja. Þú munt taka eftir annar hlutur hér er að aðferðin er "fá." Það eru tvær aðal Aðferðirnar, þar sem mun vera með PHP til að fara gögnum milli websites-- vefsíðum, rather-- í þessu verkefni. Og þær aðferðir eru "fá" og "post". Það eru sumir lúmskur munur milli fá og staða að við munum fá into-- við mun "fá" í, ef þú vilt. En fyrir alla intents og tilgangi, að fá og staða eru bæði aðeins leiðir sem þú framhjá breytur með örlítið mismunandi aftökur. Fyrir nú, við erum að fara að nota fá því fá var það sem var notað upphaflega í PHP skrá P sett 6. Og í raun, ef við förum í og ​​líta áður en við höfum breytt neitt annað, Ég ætla að segja hæ to-- hvað er nafnið þitt? Áhorfendur: Elliot. SAM LEVATICH: Ó, nei. Ég veit ekki hvernig á að stafa það. Gat þú stafa það fyrir mig? Áhorfendur: E-L-L-I-O-T. SAM LEVATICH: I-O-T? Áhorfendur: Já. SAM LEVATICH: Perfect. OK. Ég held ég vissi hvernig á að stafa það. Fyrirgefðu þetta. En ef við segjum "Heilsaðu," það er ekki það er ekki að fara að mæta á skjánum enn vegna þess að við breytt kóðinn svolítið. En ef við gerum "Say hello" - OK, svo "halló" er hér. En ef við taka a loka líta á vefslóðina sig, við munum sjá að það endar með hello.php? name = Elliot. Svo, þetta er leið til að samskipti á næstu vefsíðu breytur sem við höfum liðin. Við sögðum name = Elliot. Og það er á endanum hvernig P setja 6 nálgast breytu sem fórum í í gegnum formið. Og þetta er eitthvað sem er einkennilegur að FÁ beiðni. A FÁ beiðni gerir breytur þekktur í the URL af the website. Og þú munt muna líka, í P sett 6 sem þig þurfti að skrifa fall sem fjallaði um þá staðreynd að þetta fyrirspurn band gæti verið til eftir skrá. Það gæti verið spurningarmerki fylgt af grundvallaratriðum allir tala af stöfum. Og það er einmitt það sem er að gerast hér. Og ástæða þess að þú þurfti að flokka sem í framkvæmd þinn server.c í P setja 6 er þannig að þú gætir sagt PHP kóða sem nafn = Elliot. Þú þurftir að vera fær um að flokka þessi út af the URL þannig að PHP skrá sem um ræðir vissi hvað það var að fást við. Svo vonandi gefur þetta hvatning til server.c núna þegar við erum að flytja á utan C í PHP. Svo skulum einbeita raun á að fá aðgang að það fór í gegnum FÁ beiðni nú á þessu stigi. Ég ætla að spara þetta. Við vildum ekki breyta neinu. Það lítur út eins og við höfum fengið innsláttarreitinn. Við erum að setja nokkrar eignir, eins og við getum gert til HTML. Þetta eru einföld atriði. Við þurfum ekki þessar. En við höfum fengið AutoComplete burt, sem í grundvallaratriðum says-- þú veist, þegar þú skrifar það í vefnum, stundum það reynir að fylla það í fyrir þig. Svo það er ágætur hlutur. Við viljum að slökkva á henni í þessu skyni. Það var CS50 ákvörðun. Svo við getum eytt að ef við vildum. Sjálfvirkur fókus festist bara bendilinn í formi rétt í byrjun. Aftur, ekki of mikilvægt. En name = "nafn" - það er lítið erfiður vegna þess að það er nafn og nafn. En við hefði getað breytt þetta í eitthvað annað. Og í raun, það er Hvað við munum gera núna. Við munum segja "maður", sem er tegund af eins og nafn ef maður er skilgreind með nafni. Svo skulum loka þessu, hefja upp vefsíðu okkar þar þjónninn okkar er enn í gangi Apache 50, og við munum segja, halló, hér er Elliot aftur. Af hverju ekki? Halló. Og ef við förum upp hér, munum við sjá þá í stað nafns = Elliot, það segir maður = Elliot. Og það er bein afleiðing af því að við vorum að skipta um nafn = "manneskja." Svo í inntak þáttur í HTML form, nafn sviði er auðkenni fyrir breytu sem er verið að fara framhjá. Það er eins og ef þú ert að búa til virka "bæta við" að tók í tvær heiltölur og þú sagðir INT a og INT b. Það myndi vera nafn A, og ef þú vildir aðra mynd, sem við getum gert með því að afrita og líma, þá yrðum við nafn b. Svo nú munum við hafa tvær breytur sem verið er að fara í gegnum fá til the næstur website-- næsta vefsíðu, hello.php. Og við getum raunverulega sjá sem aftur ef við viljum. Þetta er auðveldasta leiðin til að takast á við vefur kóðann í IDE, í grundvallaratriðum. Þú byrjar upp á þjóninum, fá það gangi, og þá í hvert skipti sem þú gera nokkrar breytingar, bara loka sem skrá bara til að vera örugg. Ýta á til baka takkann er svolítið erfiður vegna þess að það gæti hlaða fyrr útgáfa, ekki mest uppfærð einn. Og þá getur þú smellt bara þinn aftur á hnappinn, pop rétt up-- ó, og nú eru tvær tegundir. Og svo ef við tegund eitt inn í hvert one-- "Jason Hirshhorn," fyrir instance-- við að segja halló. Við lítum upp á breytum okkar. Það lítur út eins og við höfum fengið, eins og gert ráð fyrir, a = Jason og b = Hirshhorn, sem stendur fyrir tvær breytur sem við samþykkt þessari aðgerð. Svo nú skulum við fá í raun að framkvæmd þeirrar virkni sem við hafði í P sett 6. Svo núna erum við bara að echoing halló. Og það er ekki mjög gagnlegt. Við viljum echo sumir breytu sem var samþykkt fyrir okkur. Og við vitum nafn þessa breytu. Við höfum og við höfum b. Þannig að við gætum valið að enduróma annaðhvort einn. En hvernig eigum við að nálgast það? Jæja, það eru ákveðin alþjóðlegt breytur í PHP. Og ég ætla að skrifa þá í athugasemdum hér. Tveir mikilvægustu sjálfur eru fá og senda fyrir tilgangi okkar núna. Þetta eru fylki eða, Tæknilega, orðabækur þar sem breytur okkar sem við erum liggur að næsta vefsíðu Live. Og við munum fljótlega sjá hvernig á að nota þær. Annar stutt í huga um PHP kóða og sumir sérstakur af it-- í C, að lýsa yfir breytu eða til að nota breytur, þú hefðir fyrst að lýsa þeim. Og hvað þú þurftir að gera þegar þú lýst þá var sagt int a eða bleikju b. Þú þurfti að lýsa tegundir af þessum breytur áður en þú skapaði þau. PHP-- þú þarft ekki að gera neitt af þessu. PHP er ekki að spyrja fyrir gerð af breytu. Og hvernig sem þér búa til variable-- frekar en að segja int, bleikju, string-- sem er í raun char *, eins og við know-- fremur en að gera allt að vegna þess að allt er af sömu tegund, typeless, við getum bara nota einn staf, sem er dollaramerki. Og þú munt sjá að það er nú þegar pabbi upp, litlu autocompleteoff hlutum. Og það er að segja að _GET og _POST eru tveir valkostir sem ég hef í boði mér. Sum af þessum annars eru öðrum alþjóðlegum breytur í PHP að þú verður að nota yfir auðvitað P sett 7. Fyrir nú erum við að fara að leggja áherslu á að fá og staða. En þetta er fínt hlutur að IDE er þar þegar þú hefur slegið í því dollaramerki, það verður að byrja að fylla í alþjóðlegum breytur eða breytur sem þú hefur nú þegar skilgreint. Svo ef þú vildir að skilgreina breytu sem heitir "string" þú getur bara sett það jafn "hæ". Og það er í rauninni eins einfalt eins og þessi. Og þá gætum við gert eitthvað eins og "echo $ band." The IDE skal varpa nokkrum villur ef ég er að gera eitthvað rangt, svo vonandi ég er að gera allt rétt. En galla alltaf að skapast. Annar erfiður hlutur óður PHP er að það er ekki unnin. Svo með C forrit, myndir þú gera daglegu lífi of-- grundvallaratriðum, þú myndir gera breytingar til númerið þitt, þú vilt vista það, og þá myndi gera það, þar gera var skref sem heitir þýðanda, clang, til að gera númerið þitt, þessi texti skrá inn í executable. PHP er C-eins, en það er framkvæmt á flugu með vafranum þínum. Þannig að það er engin leið að vita. Gera myndi henda þeim gagnlegt villur, ekki satt? Það væri eins og, þú ekki lýsa þessa breytu áður en þú reynt að nota það. Þú gerðir allt þetta slæma stuff-- segfault, segfault, öll þessi tegund af gaman sinnum sem kom með gera. PHP er tvöfaldur-beittur sverð vegna þess að þú munt ekki fá þær villur, en það þýðir líka að þú munt ekki vita í raun er það rangt með forritinu ef þú keyrir bara það og það er ekki að virka. En aflúsara að benda á sumir vonandi góðar litlu hlutir setningafræðilega að þú getur lagað. Svo nú ef við förum yfir to-- segja, við skulum loka því. Hefja. Og við erum aftur hingað. Þannig að við höfum fengið breytu og breytu B. Og þetta mun ekki síst máli. Við munum kalla þá h og g fyrir engri sérstakri ástæðu. Og við að segja halló. Nú lítur út fyrir að band okkar "hæ" er örugglega prentun. Við bjuggum til breytu sem heitir "string" setja það jafnt "hæ". Takið eftir að við fengum ekki að gera malloc eða gera eðli array. Í PHP, því breytum eru typeless, band er það sama og char fyrir allt intents og tilgangi. Þetta gæti verið "hæ". Þetta gæti verið bara eðli k. Þetta getur verið númer 1. Og það er ekki sama. PHP er ekki sama um tegund breytu þinn. Eða, er það sama. Það er ekki sama þegar þú reynir og gera hluti með það, en það er ekki sama í yfirlýsing skref. Og rétt eins og þú getur í C, þú getur lýsa strengi á mánudaginn eins og þetta þó segja "stafla" er svolítið hluti af hugsanlegum misnomer hvenær við erum að tala um PHP. En við þurfum ekki að hafa áhyggjur af því. Þannig að við fengum band okkar "Hæ," og við echo streng. Svo nú höfum við rætt breytur. Svo nú þurfum við að tala um að fá og senda og framkvæma endanlega hlutur sem er þarf að virkilega fá þetta aftur upp að virkni P sett 6. Svo núna erum við echoing band, en við höfum þessar breytur fá og eftir. Og vegna þess að við erum að nota sem aðferðin fá, það virðist eðlilegt að breyta okkar að við erum áhuga á, bæði A og B, verður staðsett í fylkinu eða orðabók, tæknilega fá. Þannig að ef við setjum upp svona með groups-- þinn ég sótti inn og það var ekki eins it-- en hér höfum við fengið. Og svo fá þegar til. Svo við getum nú þegar byrjað að nálgast sumir af the frumefni af fá. Ef við komumst, þetta setningafræði fyrir fylki í PHP er mjög C-eins. Við höfum tvær okkar hornklofa. Þannig að ef við segjum að komast í eðlilegt array, gætum við nálgast sem 0 vísitölum neysluverðs. PHP er núll vísitölu. Við gætum sagt núll, einn, two-- efni eins og þetta. Og ég hef verið að segja að fá er tæknilega orðabók. Svo hvað PHP er að gera undir hetta, sem er svolítið betur en C, er það nú þegar er að gefa þú sumir orðabók virkni, sem er í raun kjötkássa matskeið, eða reynir að, talið. Eða, tæknilega gæti verið að reyna eins og heilbrigður. En PHP er að innleiða kjötkássa borð, sem myndar áhrifaríka orðabók. Og svo við vitum nafnið breytu okkar, ekki satt? Það er verið að fara framhjá í fyrirspurn band með PHP. Við hafa a = h og b = g þar og b eru nöfn á breytum. Svo leið að við getum fengið aðgang að gildi sem svarar til lykill orðabók okkar er bara með því að segja _GET_GET ["a"]. Svo nú höfum við _GET ["a"]. Og ef við skipta bara inni bergmál okkar, ef við echo _GET_GET ["a"] - og við munum sjá hvort aflúsara kastar einhverjar villur um this-- við munum spara það og loka þetta út. Opna það upp. Þannig að við erum bara að gera rétt nú, svo b ætti ekki máli. "hana" og "hann" - "suð". "hana" og "raula". Hljómar vel. Og það prentað út "hana", sem er brjálaður. En það er einmitt það var að gerast í P sett 6. Í grundvallaratriðum, það P sett 6 var doing-- Echo halló, name-- þar sem það hafði breyta nafn og það bara biður þig að slá í því smá texta. Það var líka Viðbótarnúmerið þar það fylgir ef yfirlýsingar, sem við getum gert núna. Við getum sagt ef til staðar, sem er virkni innan PHP, _GET Með undirstriki, "nafn" - sem er í rauninni að segja, "ef nafn hefur verið fyllt í" vegna við hefðum getað bara smellt á hnappinn að senda inn formið án slá neitt í því sviði. Og við sett sem í okkar vingjarnlegur hrokkið axlabönd. Við getum haft annað yfirlýsingu. Og það er allt í PHP horn krappi, spurningarmerki, oddklofi, ef þú vilt. Og nú munum við sjá hvort þetta virkar. Ég að halda áfram að bíða eftir því að kemba og vitleysa út á mér, í grundvallaratriðum, en það hefur ekki enn. Kannski það mun nú vegna þess að ég talaði um. Já. Það gerði í raun. Svo, ekkert er sýning upp. Það er vegna þess að eitthvað rangt sem ég skrifaði í PHP kóða. Og ég nefndi kembiforrit er erfiður vegna þess að í PHP, við ekki þýða það fyrirfram og þýðandinn var ekki eins, hér er þar villur eru. En það sem við getum gert is-- fólk man hvernig á að líta á mismunandi net óskar eftir að PHP-- eða að vefsíður senda? [? Malin?] Gerði þetta í fyrirlestur einu sinni eða tvisvar. Þú manst hvar við förum að finna mismunandi skuldir og 200 OKs, allar þessar númerin sem eru send gegnum HTTP frá vefsíðu til vefsíðu? Hefur einhver man þar sem við förum að gera það? Áhorfendur: Page Source. SAM LEVATICH: Page uppspretta. Nákvæmlega. Ef þú ferð að Page Source-- fullkominn. Svo togar Page Source upp skoðunarmanni. Og ég er að nota Safari. A einhver fjöldi af þú vilja sennilega vera að nota Chrome eða Firefox. En svo lengi sem þú ert í hvaða nútíma browser-- og ekki hika við að fylgja með ef þú vilt. Þú getur slegið upp þennan kóða eða bara líta inn í P sett 6 skrá fyrir einhverjum svipuðum efni. hello.php er það sem við erum nú að vinna á kappgirni. Þannig að það eru margs konar flipa. Við getum litið á allar auðlindir. Við getum séð kóðann. Svo lítur út eins og það gerði ekki komast yfir líkamanum í lokin. Það fann villu í PHP og það hætt að hlaða alla vefsíðu. Við gerum ekki einu sinni hafa enda tag fyrir HTML eða neitt. Og ef við lítum á netið, við getum sjá að við erum að send beiðni. Þetta er lén. Þetta er heimilisfangið. Það er skjal. Við erum að nota GET aðferð. Og það er rautt. Eða, var það rautt þegar ég var ekki að velja það. Hvernig get ég fækkaðu það? Jæja, það var rautt. Leyfðu mér að hressa. Það er það. Nú er það rautt. Svo er það rautt, sem þýðir það tókst ekki, sem er slæmt. Svo skulum kanna hvers vegna það var ekki. Þannig að allir sem að Page Source getur grundvallaratriðum segja þér er hlutur þinn virkaði ekki, sem við getum nú þegar séð. Svo fullkomlega það væri vera meira gagnlegt tól. Og það eru sumir vafranum eftirnafn sem leyfa þér að kemba PHP, en við erum ekki að fara að að skrifa tonn af PHP, svo það er sennilega bara best að líta í gegnum kóðann þinn vandlega og bara vera viss um að það er ekki að gera neitt annað. Svo skulum sjá hvort snið þessa ef staðhæfing er þar sem vandamálið er. Ég vil að hlaða það aftur upp hér. Halló, hæ. Svo er það vandamál þar. Svo fyrir rétt setningafræði PHP, PHP er að fara að vera C-eins og í að þú munt sjá lykkjur. Þú munt sjá ef yfirlýsingar. Þú munt sjá allar þessar vini sem þú hefur kynnst með yfir námskeiðið þessarar CS50 önn. En besta leiðin til að reikna út hvernig á að gera eitthvað í PHP er að Google það eða til að líta á nokkur dæmi af PHP kóða vegna þess að þú veist virkni. Þú veist hvað þú getur gera með forritið. Þú getur lykkja. Þú getur lykkja eins oft og þú vilt. Þú getur Endurtaka í öllum konar mismunandi vegu. Þú getur búið til störf. Þú getur búið til aðgerðir sem kalla aðrar aðgerðir, aðgerðir sem kalla sig. Og þú hefur nöfn þessara hugmynda. Þú hefur got endurkvæmni, lykkjur, ef önnur flæði stjórna. Og svo Google er besti vinur þinn. Jafnvel segja, "PHP ef yfirlýsing "og það verður vera tonn af innlegg með Svörin við annað fólk sem hefur fengið svipaðar spurningar til þín, sem eru bara að byrja út með PHP og ert forvitinn um setningafræði hlutur. Þar sem við hafa the lúxus af því að vera fær um að líta á kóðann í P sett 6, við draga í raun það upp og sjá að OK, hér er eitthvað áhugavert. Svo er þetta það sem það raunverulega leit út eins og í P sett 6. Þannig að ef við förum í gegnum þetta, getum við séð að við höfum fékk nokkra af þessum litlu PHP-eins spurningarmerki bitar. Og það eru ekki hrokkið axlabönd. Það eru tvípunkti. Og það eru hrokkið axlabönd í PHP, en þetta er snið og leið til að gera PHP sem virkar vel með HTML því eins og þú munt sjá, við erum að loka burt þessum PHP bits-- á elses og IFS og allt that-- og þá við erum interspersing HTML inni þá en samt að fylgja stjórna flæði sett fram af PHP. Þannig að ég ætla bara að fara að fljótur ganga í gegnum þetta vegna þess að það er mikið af því sama hugmyndir sem við vorum að gera áður. Við höfum fengið ef ekki tóm, sviga, _GET_GET ["nafn"]. Þetta er allt sama efni. Við erum að nota _GET orðabók sem PHP sendir að beiðni eyðublöð, vegna þess að það er breytur aðgerð, og aðferðin er að fá. Og þá endar það sem. The ristill er táknmynd bara að gera þetta ef ef yfirlýsingu metur að rétt. Það er eins og hrokkið borsveif. Og í raun er það hrokkið Brace á öðrum tungumálum eins og Python, sem þú getur fundur ef þú bara gera það fyrir lokaverkefnið þitt. Og þá er þetta lína, halló. Þá erum við með þessa furðulegur hlutur. Við höfum fengið fleiri sviga. Það er engin HTTP there-- eða PHP, því miður. En það er jafn merki. Og þá höfum við virka, htmlspecialchars (_GEThtmlspecialchars (_GET ["nafn"]). Þetta er tegund af eins og a fleiri Ítarlegri útgáfa af echo. Eins og við höfðum echo sem leið að prenta það út í PHP. Þetta er fall sem er skilgreint í PHP sem mun takast á við meira viðbjóðslegur stafir og bæti gildi að þú gætir gefa það. Það er alltaf öruggasta að nota þetta. En bergmál vilja gera the starf bara fínt ef við erum ekki að takast á við neitt of viðbjóðslegur. Og svo hefur þetta sama Áhrif grundvallaratriðum, þetta dót á milli spurningunni merki er metin af PHP. htmlspecialchars skilar ágætur HTML prentuð gildi _GET_GET ["nafn"], þ.e. hvað við slegið í formi. Og þá verður það að segja halló, komma rúm, og þá. Sem heild hlutur milli Hornið sviga verður skipt út með þar til gerðum htmlspecialchars setur út. Svo það er í rauninni svipuð við það sem við erum að gera. Og við höfum annað yfirlýsingu sem er Halló heimur, sem vit. Svo nú skulum við fara aftur til okkar númer og sjá exactly-- ó. Ég sagði til, sem er ekki hlutur sem við vildum gera. Okkur langaði til að segja ekki tómur. Og svo þetta ætti að virka svolítið aðeins betur, ekki tómur _GET_GET ["nafn"]. Og það hrokkið Brace passar þessi hrokkið Brace. Við höfum fengið hrokkið axlabönd okkar hér. bergmál halló _GET ["nafn"]. Við skulum sjá hvort þetta virkar aðeins betur. Við erum enn í gangi miðlara okkar. Halló Jason. Halló Jason. Og það í uppnámi þessu sinni. Og svo er það sönnun að þú getur örugglega nota hrokkið axlabönd sem þú þekkja og elska í PHP kóða í HTML. The PHP kóða veitt þú í pset 6-- pset 6-- veitir aðra leið að gera að sama. Svo nú höfum við vald. Við höfum virkni til að innleiða PHP kóða sem við sáum í pset 6 með okkur, í grundvallaratriðum. Áður en ég fara, hvað eru sumir af the spurningar sem þú hefur á þessum tímapunkti? Já [inaudible]. Áhorfendur: Svo í útgáfu í pset6, þegar þú keyrir það, það er pláss. Og ég get séð hvar pláss er eftir kommu. [Inaudible] byrjun opinn krappi. Hvernig heldur þú að fella pláss í eins og þú skrifar eigin kóða þinn? Ræðumaður: Það er góð spurning. Og svo skulum reikna það út. Svo er það mjög góð spurning og eitt sem ég taldi ekki. En við skulum gera það saman. Svo fyrst af öllu, hvað Ég er að gera með echo er þegar við echo bara halló, framleiðsla það halló. Ef við echo nú þetta fá á sér lína, við skulum skoða hvað gerist. Þannig að við smellur þetta. Við höldum að segja, hæ Jason. Svo aftur, höfum við ekki þetta pláss. Og það er vegna þess að í PHP, þegar við höfum echo, sama hversu margir spaces-- nei, ekki V-- sama hversu margir eru við að setja í here-- ef við hlöðum nú að upp aftur, hæ Jason. Já, sjá, allar þessar rými fékk étið upp. Og það er eitthvað sem bergmál virka gerir. Svo að gæta að rými, og þetta er ein af ástæðunum hvers vegna þú notar ekki bergmál og þú notar htmlspecialchars staðinn. Ég er forvitinn hvað myndi gerast ef við gerðum þetta þar sem við lokuðum pláss í streng. Ég er heiðarlega ekki viss um hvað mun gerast þegar ég geri þetta. Svo er það ein leið. Það er ein leið til að hugsa um það. Ef þú sett pláss í a band, þá rúm verður framleiðsla fallega við hjartaómun. Öruggasta hlutur til gera er að gera htmlspecialchars. Það er alltaf öruggt veðmál. En nú höfum við leið til að gera það með bergmál ef þörf krefur. Og á svipaðan hátt, getum við Echo nýjar línur, allt svoleiðis af efni sem þú ert kunnug aðgerð í PHP. Einhver annar, það eru allir meira spurningar sem aðrir hafa á þessum tímapunkti um PHP? Ef fólk sýndi sig svolítið seint, Ég er fús til að vera eftir smá og tala um sumir af the byrjun. Og það er líka allt livestreamed, og geymslu, sem er brjálaður. Engu að síður, svo nú skulum gera sumir meira háþróaður efni með PHP. Og eitt af elstu hlutum sem þú voru kynnt í C var fyrir lykkjur. Og PHP hefur öflugri fyrir lykkja kallast framhandleggur lykkja. Og það lítur út eins og this-- fyrir hvern auður sem auða, hrokkið sviga, gera hlutur. Svo er þetta í rauninni a styttingin. Sjá, til hliðar og a syntactical smíði var hugsað í C og í söfnuði tungumál og það eins. Hugsað í C, einmitt, eins og styttingin fyrir a einhver fjöldi af tegundum lykkjur að fólk myndi sjá. Eins og þegar þú skrifar lykkju, það var oft frumstilling skref keyrð rétt í byrjun, a ástand þar sem lykkja myndi stop-- og það er lögun það er bara í while lykkju, eða að á meðan hefur nákvæmlega bara að feature-- og þá An incrementation skref í lokin. Og svo þú vilt oft finna sjálfur skrifa kóðann eins og eftirfarandi. Ég ætla að eyða eitthvað af þessu. En ef við erum að iterating gegnum stafir í fylki, til dæmis, eins og við höfum fékk fjölda stafi. Leitt að koma aftur C. ég veit, þú hélst þú værir að gera. En það er bara í þeim tilgangi um að læra PHP, ég lofa. Þannig að ef þú got a bleikju str af lengd 8, og við skulum segja að það segir Hellooo með slóð null. Frábært, svo er það band okkar. Og þá urðum við fyrir lykkju. Við höfum int i jafngildir 0. Og við viljum að hætta þegar str af ég jafngildir ekki jafn null, vegna þess að við hætta þegar það jafngildir null. Og þá erum við ekki ég ++ á hverjum lið í til hliðar. Gera eitthvað með str af i. Svo grunnformúlan var, við höfðum þetta fylki sem við langaði til að meðhöndla sem aðskilda þætti. En það sem við þurftum að gera er að við þurftum að grundvallaratriðum búa til aðskilda heiltala breytu sem var að telja upp hvert skipti sem við fórum í gegnum lykkjuna. Og þá yrðum við að þá kalla strstr [i] þegar það sem við vildum í raun að gera er bara að fara persónu eftir eðli, ekki satt? Við viljum ekki að hækka að heiltala og þá nota þessi heiltala til að fá aðgang hvern staf fyrir sig. Við viljum virkilega staf með staf. Og svo fyrir hvert greindur reiknar það fyrir okkur. Ef við höfum array, sem við getum lýst í PHP eins just-- ef við höfum breytu kallað, við skulum kalla það array. Kraftaverk án vélritun, það er bara eins og allir aðrir breytu. Það er bara array. Og við höfum lítið [inaudible] eins og 1, 2, 3, bara eins konar frumstilla fylkisins. Það er allt í lagi, er það ekki eins og framhandleggur mína. En ef við gerum foreach-- raun Ég gafst að smá rangt. Það eru tvær leiðir til að gera framhandleggur lykkja. Það er í setningafræði og eins setningafræði. Og við erum að fara að gera in setningafræði 1, ekki eins. Það er mín mistök. Svo framhandleggur NUM fylktu, echo NUM. Og PHP er að öskra á mér af einhverjum ástæðum. Það er að finna óvænt í í eitthvað, sem er a lítill hluti af a nennir. En við munum reikna út hvers vegna það er í augnablikinu. Svo ekki þannig. Við skulum reyna að nota eins. Það kýs að eins setningafræði er virðist. Svo skulum gera framhandleggur array sem NUM. Svo smá útskýring af því bara gerðist er eins og setningafræði er saying-- vel fyrst, við skulum líta á hvað þetta prentar út. Svo ætlum við að opna IDE okkar. Við förum hér. Við segjum, Hello Jason. Og það gerði 123, sem voru innihald fylkisins sem við bjuggum upp efst. Svo köfun í þessum framhandleggur lykkja, við höfum breytilega heitir array sem er fylki af þremur tölum. Og þá erum við að gera framhandleggur array as NUM, echo NUM. Og það sem meira er innsæi en fyrir Lop. Við erum að segja, að meðhöndla hvert hlutir í array sem num, Ég vil að þú að gefa mér num. Og það er einmitt það sem það er að gera. PHP er að reikna að þegar þú segir framhandleggur array, og þú ert að takast á við fjölda, hvað þú ert að fara að vilja til að árétta yfir er stafir í því fylki, er ints í því fylki, er þá þætti í því fylki. Og það er að láta þig geyma þessir breytur sem num, og þá bara framleiðsla NUM strax frekar en að segja, Ég er með breytu sem heitir i og þá vil ég að framleiðsla strstr [i]. Og svo að leyfa okkur að gera flott hluti. Eins í grundvallaratriðum við þurfum ekki að búa til þessar breytur eins og ég er og gera allt þetta incrementation efni í lok. PHP sér um allt sem fyrir þig. Svo nú skulum við tala um framhandleggur sem það á við um _GET orðabókina okkar. Þannig að við munum skilja eftir þetta út fljótlega. Þannig að við höfum _GET array okkar. Við höfum þessa breytu. Og það er got sumir efni í það. Núna höfum við aðeins eina breytu samþykkt að það, sem er nafn. En ef við er stutt á Enter, nú við getum haft tvær breytur. Við getum haft nafn og aldur, til dæmis, ef við viljum fá aldur og einnig nafn einstaklings, Funnily nóg. Svo nú _GET er að fara til vera a orðabók með tveimur þáttum, með tveimur helstu gildi pör. Og fyrsta key-- ég ætla að skrifa þetta einn upp á borð líka. Við höfum orðabók okkar er _GET. Því miður, það er er svolítið erfitt að sjá. En inni í orðabókina okkar sem við höfum nafn, sem er að fara að vera eitthvað sem við erum að gefa. Og við munum hafa aldur, sem er einnig að fara að vera eitthvað sem við erum að gefa. Og þetta er heild af orðabókina okkar. Svo það er með tvo þætti í því. Og svo vegna þess að framhandleggur lykkjur eru klár, við að hugsa, og rétt gæti haldið að framhandleggur getur iterate gegnum þetta orðabók, prenta út gildin gefin með nafni og aldri. Svo skulum í raun að gera einmitt þetta. Við skulum reisa framhandleggur lykkja. Og við erum að fara að gera fyrir _GET sem. Og við erum að fara að gera eftirfarandi. Svo skulum sjá hvað gerist ef við tegund bara orð, og þá segja echo orð. Við erum líka að fara að enduróma nýja línu bara til að gera það svolítið skýrari, hvað er í gangi. Svo skulum sjá. Það er ekki að gefa mér einhverjar villur. Og við munum loka þessu. Á heimasíðu okkar, þú ert að fara að vera að gera a einhver fjöldi af það á meðan á pset7. Svo við segjum heiti Sam. Aldur minn er 45. Það er ekki. En það prentar út, eins og búist, Sam 45. Og svo þú munt taka eftir því að hvað framhandleggur lykkja did-- hér, við skulum fara aftur til að svo það er allt á board-- fáum _GET sem orð. Og það voru fjórir hlutir í _GET. En það prentað aðeins út tvennt. framhandleggur, vera njósna sjálf sína, gert ráð fyrir að það sem við vildum í raun var gildi, ekki lyklana. En það er leið sem við gátum prentað út lyklunum eins vel, ef við vildum. Ef við vildum líka að vita hvað þessar breytur voru kallaðir, there 'a vegur sem við getur fengið aðgang að þessu eins og heilbrigður. Og leiðin til að konar gera það, svo við getum sagt, leyfir raun skipt því í helstu gildi pör. Svo skulum sjá hvað gerist núna. Þannig að við höfum lykil. Við höfum gildi. Við höfum annar nýr lína fyrir sýnilegur. Og við skulum sjá hvað gerist þegar við gerum þetta núna. Ég veit ekki hversu gamall Jason er. Jason er 15. Þannig að við höfum nafn Jason, 15 ára. Þannig að við vorum að komast á takkann og gildi pör af þessari orðabók bara með því að segja eins og lykilatriði að verðmæti. Og það er framhandleggur nokkur dæmi um setningarleg sykur bita sem gerir þér aðgang að hlutum í orðabókinni. Svo vonandi af þessu tagi undirstrikar kraftur framhandleggur lykkja. Þú getur nokkurn veginn kasta eitthvað sem virðist iterable, eins og allt sem hefur marga þættir eins og fylki, eins og dictionary-- þá eru tvö Helstu hlutir sem þú verður að vinna með bæði í lífi og í pset 7. Svo þú getur kastað það efni á það, og það mun reikna út hvað þú vilt gera við það. Það verður að segja, OK, ég ætla að fá þetta frá þeim gögnum sem var samþykkt að mér. Og það er eitthvað sem þú ert að fara að nota mikið af í pset 7. Ég ætla að Quick Scroll niður bara til að sjá hvar ég er á. Gera fólk hefur spurningar á þessum tímapunkti? Spurningar yfirleitt? Já? Áhorfendur: Svo með lykli og gildi, þú gætir nafn það eitthvað annað og það væri enn að vinna? Ræðumaður: Oops. Vá, ég eyddi alveg alla línuna. Great vinna. Svo, a. Key og gildi er bara samningur. Það er gagnlegt. Þú vildi fá smá hönnun stig, kannski sumir stíl stig fyrir að gera það vegna þess að það virkilega miðlar áform. En við segjum a og yarp. Áhorfendur: Þú þarft ekki að breyta neinu í HTML skrá í því skyni að endurspegla það? Ræðumaður: Alls ekki. Áhorfendur: Og það veit bara að vegna þess að jafnt meiri than-- Ræðumaður: Já. Áhorfendur: --that vísir að that's-- Ræðumaður: Já. Það er framhandleggur setningafræði, en já. Áhorfendur: Það eru ekki gerðir. Svo hvað ef þú vildir aldur aðeins vera tala? Er there a vegur til að gera það? Ræðumaður: Það eru leiðir til að athuga hvort breytur í samræmi við ákveðnar tegundir. Svo spyr aðeins meira frá PHP þú vegna þess að það eru engar tegundir í. Nokkrar leiðir það biður minna. Að sumu leyti er spyr meira. Vegna þess að ef þú ert bara eitthvað í breytu, þú hefur ekki hugmynd hvaða tegund það er. En ef þú ert klár um breyturnar sem þú gefur tegundir til og ganga úr skugga um sem virka return-- aðeins þú vilja aðgerðir til aðeins aftur ein tegund af value svo að þú getur í rauninni ráð fyrir að breyta þú kemur til baka úr virka mun vera af þeirri gerð að þú heldur að það verður, í grundvallaratriðum. En það eru nokkrar aðferðir sem þú getur athugað. Ég man ekki þá burt the toppur af minn höfuð. Ég er að bíða eftir því að verða blá. isint? isstr? Það eru aðferðir byggt inn í PHP sem getur athuga hvaða breytur fyrir þig. En ef þú gefur breytur smartly, þú ættir ekki að gera það of mikið í pset 7. En þessar aðferðir eru ekki fyrir hendi. Og það er eitthvað sem er í tungumálinu sjálfu. Og ég man ekki nákvæma setningafræði. Við gætum jafnvel líta upp. En tíminn er kjarninn. hafa Er einhver annar hefur einhverjar fleiri spurningar? Já. Áhorfendur: Ég hef bara eitt. Svo þú getið GET aðferð, en þú ekki minnst á POST aðferð. Erum við að koma aftur til að? Ræðumaður: Já, við munum að koma aftur til að. Það er einmitt það sem ég var að leita á símann minn, sem nú sofnaði, en ég finna það. Bara að tryggja að við högg allar PHP skýringum. Já, það er engin kembiforrit útgáfa. Já, höfum við nokkrar fleiri hluti sem við viljum gera núna á þessum tímapunkti. Svo tala um POST, sem þú getur, eini munurinn milli GET og POST er að muna þegar við skoðuðum á þessari vefslóð og við sáum, ó, Nafnið jafngildir a og aldur jafngildir yarp ert réttur í the URL þar fyrir okkur. POST er svolítið meira leynileg með brottför á upplýsingum. Svo ef þú vilt ekki að notandi að vita, til dæmis, þú vildi ekki notendanafn og lykilorð þess sem skráður í til að vera birt í URL, sem er sanngjarnt hlutur að ekki vilja í vefslóð, vegna þess að einhver getur séð það. Ef þeir tengjast einhverjum í síðu, þú vil ekki URL þeirra blindfullur það, því að það væri að leyfa fólki að skrá þig inn bara með líma á vefslóð í staðinn í raun að fylla út eyðublað. POST er svolítið meira leynileg. Og það eina sem við verðum að breyta eru þessi aðferð, breyting frá fá að senda. Og þá inni í HTTP, í stað til að komast á array _GET, við erum að fara að fá aðgang að array _POST. Og við munum taka eftir því, ef við að opna þetta aftur upp aftur, Jason minnkar hægar í aldri. nefna Jason, 14 ára. Sama efni birtist. En við förum á slóðina og þessir breytur eru ekki þar. Og hvernig sem POST passes-- svo muna hvernig á að líta á the uppspretta af síðunni. Við förum á netið. Við hressa. Og þetta er annar hlutur sem POST mun gefa þér viðvaranir um. Þú gætir hafa séð kassa, texta kassi svona í vafranum þínum. Ertu viss um að þú viljir að senda mynd aftur? POST er hvað er að senda þessi form. Því í grundvallaratriðum ef þú sendir þinn upplýsingar um greiðslukort til að einhver, það er ekki að fara að mæta í vefslóðinni. Það er að fara til vera a POST beiðni. Svo þegar þú uppfærir síðuna, það er endursending að staða beiðni. Svo nú erum við viljum til að senda mynda aftur því það er ekki að fara að búa til einhverjar afrit innkaup. Og við munum taka eftir því hérna, aðferðin við erum að nota er POST. Og það gerði örugglega flytja bæti. Það flutt 401 af þeim. Program er nokkuð lítið. En það er hvergi að við getum séð þau gildi sem eru liðin. Vefsíðurnar sjálfir geta sjá, en við sem notendur eru ekki fær um að sjá, nema þú ert spjallþráð. Ef þú ert góður spjallþráð, getur þú lítur. Ef þú veist undirstöðu snið af HTML, gildi mun gera sér þekkt á síðum. Þú munt vera fær um að sjá. Gildin mun vera þar, þeir eru bara aðeins minna augljóst fyrir þig til að fá aðgang, í grundvallaratriðum. Höfum við eitthvað meira spurningar um GET, POST before-- hvað við erum að fara að gera næst er í raun að líta á sumir af the merkjamál sem þú ert að gefa í pset 7, tala um hvernig það notar einhverja af þessum hugmyndum, og tala um hlutir sem þú ert að fara að þurfa að gera svolítið í pset 7. Einhverjar fleiri spurningar fyrir það? Fleiri spurningar sem þú krakkar hafa? Great. Allt í lagi, við skulum líta svolítið á pset 7, eflaust það sem þú ert allir sem æstur. Ég meina, þetta er eitthvað sem David fer í gegnum a lítill hluti. En við verðum þrjár möppur á að efst, eins og heilbrigður eins og a stelling skrá. Það er fyrir gagnagrunna, sem við munum tala um í um fimm mínútur. Includes, þú aldrei þurfa að líta í þessa skrá ef þú vilt ekki að en það er gott að veit að það eru alls konar framreiðslu. Framreiðslu er eins gagnlegar aðgerðir. Og þá höfum við stillingar, sem setur smá dót upp. Það eru nokkrar aðgerðir sem CS50 hefur skrifað sem eru í hjálpar og samsk. Og sumir af the PHP sem þegar hættir í skrám mun gera a einhver fjöldi af the fleiri tagi af sjáanlegir fótur vinna fyrir þig. Eins og ef við förum inn í almenning login.php, sem er hvað sýnir sig rétt þegar þú ferð í pset 7. Við munum sjá að það er þetta þurfa yfirlýsingu. Og þessi tegund af eins og a Mikil eru, hashtag eru ef þú ert að nýrri kynslóð. En þetta í rauninni segir að ég þarf aðgang að allar aðgerðir í config.php. Og þú gætir hafa a krefjast fyrir alls konar öðrum hlutum. config krefst reyndar framreiðslu. Svo þegar þú þarfnast config, þú ert líka með eða þurfa aðstoðarmenn eins og heilbrigður. Svo sem gefur þér aðgang að öllum kaldur aðgerðir sem við ætlum að nota, Hluti eins og bakið. Ég er reyndar að fara að létta þetta niður svolítið. Svo virka þá erum við að fara að ganga í gegnum rétt áður en við fara til SQL smá bita er login.php virka, bara vegna þess að það notar sumir af the efni sem við ræddum bara um í PHP. Þú sérð það fyrsta er ef $ _SERVER. Þetta er annar global breyta sem þú ert að fara að takast á við. Það er eins og _GET og _POST, en hvað Miðlarinn inniheldur er þetta hægt að láta þig vita ef beiðnin aðferð var GET eða POST. Eins og áður hvað við vorum að gera er bara í númerið okkar sem við skrifuðum, við vorum bara að breyta það til að vera fá og POST eftir því hvað HTML er. En það eru síður sem hægt er að nálgast með báðum tegundum beiðnir. Og þú might vilja til að gera mismunandi hluti eftir því eftir tegund beiðni, bara eins og tenging gerir. Svo þú getur athugað þá beiðni aðferð þar aðgang lykla, með því að nota lykil og fá sem gildi eitthvað í orðabókinni _SERVER. Svo er það annað alþjóðlegt breyta eins _GET og _POST. Ef það er FÁ, við viljum gera innskráningu formi. Gjaldið er fall sem í grundvallaratriðum bara setur upp viðeigandi HTML og fer það nokkrar breytur. Þessi titill er viðfang sem er notað í sýna, einkennilega nóg, titillinn á síðunni í spurning, málið upp hér, segja eða halló í fyrra dæmi. Nú höfum við mismunandi hlutur. Annars ef það er staða, við gera einhver önnur efni. Við erum að nota þessi tómt aðferð. Það er ekki til, það er tómt. Og við sáum áður, PHP hefur heilmiklar byggð í aðferðum sem David will-- ef það eru aðferðir sem eru gagnlegar til þín, þeir vilja vera viðvörun til þín í gönguferð um að Davíð gefur í upphafi yfirlit, og einnig hjálpsamur bitar Zamyla er. Hún er aftur allir. Við getum öll gleðjast. afsökunar er viðeigandi nefnd virka sem bara grundvallaratriðum prentar út sumir villa skilaboð því CS50 er mjög kurteis. Og nú, þetta er þetta erfiður hluti vegna þess að þetta er þar sem við erum að senda gagnagrunninum fyrirspurn. Nú höfum við ekki talað um gagnagrunna. Og við erum að fara að í næsta fimm mínútur eða svo, hámark. En þetta er fall sem CS50 hefur skrifað að fá borð í grundvallaratriðum úr gagnagrunni sem við erum að vinna með í pset 7. Ég er virkilega slæmt með minn núll flokkun dag. En já, það er 7. Svo fyrirspurn það er að fara að skila array, í grundvallaratriðum er lykillinn hluti. Og vegna þess að þetta hefur ekki vélritun, svo lína er fylki af fylki. Því þegar við erum að hugsa um borð, hvað við erum að fara að gera er, eins og þú lært í psets eins og the leikur af 15, samt þar sem þú þurftir að nota tvöfaldur array, í grundvallaratriðum við hafa fjölda annarra fylki gerir borð. Og þú hefur fengið raðir og dálka. Og þá er hægt að nálgast þær eins og [0] [1], fá þér [0] [1]. Basic svoleiðis. Svo það sem við erum að gera hér í þessari aðgerð, við erum að biðja gagnagrunninn ef notandinn sem er reyna að skrá þig inn, sem verður send með POST aðferð. Við munum sjá að við erum að fá notendanafn frá _POST. Þær sendir, notandi eða þú, mun senda gildi í formi í gegnum POST því það er notandanafn og lykilorð efni. Við erum að athuga notandanafn að sjá, er þetta í töflunni? Vegna þess að ef notandi er skógarhögg í, þá notandanafn skal geyma í töflunni í notendur sem eru fyrir þessa síðu. Svo í rauninni ef notandi er í dag, fyrirspurn er að fara að skila röðinni sem er fylki. En erfiður hluti er að ef jafnvel þótt tvöfaldur array er aðeins einn röð, jafnvel ef það er ein röð array-- eins og þú hafir fengið basically-- ef þú hefur fengið stærð eina fylking sem er að halda annað array, þú ert í raun að takast á við einn dálk. En það er samt meðhöndluð eins og tveggja manna fylkisins. Og þetta er þar sem það getur stundum fá erfiður, vegna þess að við höfum fengið raðir hér. Breyta okkar er raðir. Og þá erum við að búa til nýja breytu sem heitir röð og setja það jafnt Fyrsta röð raðir. Og þú munt taka eftir því umsögn segir það er fyrsti og eini röð. Þannig að þetta er erfiður hluti þar sem nú aðgerðir getur aftur fylki mjög auðveldlega. Það er ekki mallocs. Þú munt ekki sjá mallocs. Svo þú munt ekki sjá seg galla. En aðgerðir munu enn vera farið um fylki og gögn í hópum. Og þú verður að vera á varðbergi gagnvart því nákvæmlega aðgerðir þínar munu koma aftur. Og jafnvel ef það er einn dálki eins og þetta, fyrirspurn er enn að fara að skila tvöfalt array. Svo til að fá aðgang að column-- eða þú er að hugsa um þetta allt eins hvolfi þar sem við erum að tala um raðir. En til þess að fá aðgang að eina röð, þú getur ekki bara sagt raðir. Jafnvel þó að það er ein röð, þú þarft að ekki rowsrows [0] til að raða í veg fyrir þetta ytri hluti fylkisins og hafa bara þitt eina röð. Gera sumir annars. Það er hlutverk kallað password_verify sem staðfestir að lykilorð sem var staða. Og þá sjáum við aðra alþjóðlegt breyta hér, _SESSION. Í grundvallaratriðum fundur id er hvernig þú halda utan um ef einhver er skráður inn eða ekki. Svo núna með login.php, við erum að skrá þig notanda í. Svo það sem við viljum gera er að við viljum segir að fundur id er jafn röð id, sem bara skynsamlegt af því hver röð mun hafa mismunandi id fjöldi og hluta töflunnar. Við munum komast í SQL í Annað, þannig að ef eitthvað af þessu virðist svolítið eins bla, þá allt verður hreinsuð upp. En við erum að fara að setja id jafnt réttur hlutur, skógarhögg notendur í. Afsaka ef eitthvað fer úrskeiðis. Og það er tenging tilgangur í líf sem prófessor Malan myndi segja. Svo það var login.php. Og mikið af PHP kóða sem þú skrifar í pset 7, þeir 'vera svolítið. Ekki gleyma að chmod til réttur heimildir. Það verður svolítið um að í upphafi sérstakur. En PHP sem þú ert skrifa er að fara að vera gera efni sem er svipað þessu. Þú ert að fara að vera aðgang nokkur atriði sem eru til þess að í alþjóðlegt breytur PHP sem eru að fást við núverandi notandi í spjallinu, hvort það hafa verið beiðnir send til þetta síðu, mismunandi hluti eins og þessi. Og það mun einnig vera hugsanlega iterating gegnum raðir af þetta. Í öðru virka, fyrirspurn er aftur á þessa tvöfalda array. Og ef það eru fleiri en eitt raðir í það, ef það are-- já, ef það eru fleiri en einn raðir í það, þá mun það vera borð. Og þú might vilja til að árétta gegnum raðir af þessu fylki með sem framhandleggur lykkja sem við lýst. Svo ef þú gerir framhandleggur á að tvöfalda array, hvað mun word-- hér, Ég reyndar skrifa það. Ég ætla að skrifa það fljótur hér. Ef við höfum framhandleggur lína sem röð, hvað er tegund af röð? Hjartarskinn einhver vita? Þú fékkst það? Svo raðir er tvöfaldur array. Svo hvað er framhandleggur fara að álykta sem við viljum úr þessum tvöfalda fjölda ef við erum að iterating yfir það? Við getum í rauninni gert ráð fyrir að það er að fara að vera annaðhvort þættir, eða raðir eða dálka, í grundvallaratriðum. Og svo raðir og dálka sem við getur meðhöndla eins sama. Í grundvallaratriðum það sem framhandleggur lykkja er að fara að gera er að það er að fara að fara aftur raðir. röð er að fara að vera af gerðinni röð, en lína er tvöfaldur array. Svo ef þú gefur framhandleggur tvöfaldur array, það er ekki að fara að árétta meira en eitt stig djúpt. Sem er í grundvallaratriðum að segja ef það eru átta frumur í þetta table-- 1,2, 3 4, 5, 6, 7, 8-- er framhandleggur lykkja er ekki að fara í gegnum hvert af þessum frumum. Hvað framhandleggur lykkja mun gera var það mun fara í gegnum þetta röð, gefa þér þetta allt röð. Og þá verður það að fara í gegnum þessi röð. Svo það iterates aðeins eitt stig djúpt. Ef þú bætir a hreiður framhandleggur lykkja, þá hægt að meðhöndla hvern róður aftur úr raðir, þú framhandleggur röð sem frumefni, skulum segja. Og þá gæti echo frumefni. Svo er það stutt lítið upprifjunar um hvernig þú gætir verið að nota framhandleggur lykkjur í tengslum við fyrirspurn. Eru einhverjar spurningar um PHP? Nokkuð yfirleitt áður en við fara að tala um SQL og gaman af gagnagrunninum? Líður vel? Líður vel. Allt í lagi. Við skulum fara aftur til PowerPoint, sem þú missir líklega. SQL, yay. Fólk sem er í kafla mínu venjulega vilja vita að undirliðum skammstöfunum eru alltaf bara fyrstu orðin Ég hugsa um að passa að algorithm-- að skammstöfun. Það er ekki reiknirit. Svo er SQL gagnagrunnur. Það er tungumál sem vinnur með gagnagrunna. Og allir gagnagrunnar eru er töflur, að minnsta kosti í því að SQL táknar þá. Önnur leið til að hugsa um gagnagrunna er gagnagrunnar eru sett af tökkum og gildi grundvallaratriðum. Hægt er að hugsa um gagnagrunn sem orðabók og einnig sem borð. Í grundvallaratriðum er það þannig að tengja mismunandi gögn með öðrum gögnum, oft í gegnum raðir og dálka. Og það er hvernig það er SQL virkar best. Svo er þetta eitt dæmi um töflu. Ég hef fengið nokkur dæmi um fólk í lið mitt, sem Ég hafði ekki tíma til að breyta. En við höfum fengið hluti eins ID, nafn, stórveldi og heimabæ. Ég veit ekki hvar einhver er frá í kafla mínum, þannig að ég ætla bara að fara að gera ráð fyrir allir er frá New York City vegna þess að ég hef mikil tölfræðileg Líkurnar á því að vera rétt. SQL sjálfkrafa taka umönnun ID dálkinum fyrir þig. Ef þú setja nýja línu í SQL gagnagrunn, það mun hækka að Kennitölu og bara grundvallaratriðum standa eins og fimm nöfn, stórveldi, heimabæ, hver á the endir í töflunni. Svo er auðkenni dálk sem þú munt aldrei að hafa áhyggjur óður í. En, eins og í tilviki af login.php, þegar við voru að fá fundur ID úr töflu og bara með því að nota auðkenni, ID er leið til einstaklega þekkja þáttur í gagnagrunni. Þannig að ef við hefðum tvær Sams, bæði sem kennt CS50, og bæði hver voru frá Milwaukee, þá myndi enn hafa mismunandi kennitölur og þannig verið greinilegur í samhengi töflunni. Svo er þetta það sem SQL er að takast með, að vinna með í bak endir. Þessir eru fjórir skipanir sem þú þarft að vinna með SQL. Og ég henti þeim öllum upp á einni skyggnu. En við erum að fara að fara í gegnum þá allir sig. Hið fyrsta boðorð er UPDATE, sem gerir hvað sem þú gætir átt von á. Segjum að þú hafa sumir gögn í borðið, sem er úrelt. Eins og ef þú ert að halda utan um nöfn fólks og aldur, ef einhver er aldur eykst, þá þú ert að fara til að vilja fara í og uppfæra aldur bara að viðkomandi. Fyrir dæmi sem virkar með fyrsta table-- okkar ekki hafa áhyggjur óður í að skrifa allt Þessar skipanir á sama tíma. En ef þú hefur fengið uppfærslu niður, sem mun vera gott fyrir þennan hluta, vegna þess að við erum að fara að fara aftur að borðinu. Þannig að ef við förum aftur að borðinu, skulum segja eitthvað sem gerðist var það var jarðskjálfti eða a kenna lína sem hættu beint gegnum New York. Og við vildum að uppfæra alla sem bjó í New York City. Þeir höfðu allir að flytja til Pennsylvaníu. Það er ekki heimabæ. Þeir höfðu allir að fara til New Haven. Það sem við förum. Svo allir í New York færist til New Haven. Og svo er það eitthvað sem er breyta þrjár raðir í töflunni. En í SQL, getur þú gert að í aðeins eina yfirlýsingu. Svo við förum aftur að uppfæra. Leyfðu mér að eyða fljótur á þetta borð aftur. Þegar við erum að tala um uppfæra, það eru nokkrar hlutar setningafræði sem eru lykillinn. Jæja, allt í setningafræði er lykillinn. En efni í græna er valfrjáls. Hvíti er krafist, eins skilgreindir nöfn. Og ljósblár eru hlutir sem eru mismunandi eftir á borðinu. Svo er það sem er að gerast með litasamsetningu hér upp þar. Svo ef við viljum uppfæra bara þá raðir af fólki sem býr í New York, svo hvað við myndum gera ef við sögðum UPDATE? Svo er borð þar sem við settum nafn borðið okkar. Við skulum bara segja nafnið af borðinu okkar er borð eitt. Þannig að við viljum að uppfæra borðið einn. Og við viljum að set-- hvað við viljum að setja? Jæja við viljum segja, svo column-- PHP skemmtun raðir sem einstaka auðkennum. Og svo dálkar eru mismunandi sviðum af þeim þáttum gagnagrunninum. Svo fyrsta þáttur gagnagrunninum hefur nafn Sam, stórveldi á CS50, og heimabæ Milwaukee. Þannig að ef við fyrrnefnt sett, við skulum líta á breytur aftur tekur að setja. Við höfum dálki jafngildir gildi. Þannig að við viljum segja sumir column-- sem muna er field-- við viljum sjá reit jafnt eitthvað nýtt. Þannig að ef ég sagði bara uppfæra töflu 1, setja nafn jafnt Elliot. Fá nokkra aðra frá Ný málsgrein í um þetta. En ef við gerðum bara endurnýja töflu 1 setja nafn jöfn Elliot, hvað myndi borðið líta út eftir það? Fólk hefur einhverjar hugmynd? Já. Áhorfendur: Allt í að róður yrði Elliot. Ræðumaður: Allt í hvaða röð? Áhorfendur: Í fyrstu línunni. Ræðumaður: Í fyrstu línunni? Hvers fyrsta röðin? Ég meina ekki að taka á þig. Áhorfendur: Kannski allt í allt borðið? Ræðumaður: Allt í allt borð, já. Og það er einmitt rétt because-- I var bara að hjálpa þér út smá there-- vegna þess að við sleppt valfrjáls HVAR ákvæði. Ef þú ert ekki með þar ákvæði, hvað þessi skipun mun gera er það munum vinna með hverjum einn róður í töflunni. Nafnið allra mun verða Elliott, í grundvallaratriðum, sem Elliot er mjög ánægð. Eða Yanni, einn af tveimur. En nafn allra mun breytast. Svo leið við notum HVAR clause-- og þetta á við um allar Hvar sem eru í hverju þessum mismunandi hluti. Svo þú munt taka eftir því sem sett hefur dálk jafnan gildi. Og svo er hvar. En þetta eru mismunandi tegundir yfirlýsingar. Svo dálkurinn jafnt gildi í SET er í verkefni. Eins og við erum að segja að við viljum til að stilla nafn jafnt Elliot. En í HVAR ákvæði, þetta eru kynjanna yfirlýsingar. Svo skulum segja að við vildum bara að breyta nafni einstaklingsins til Elliot ef nafn þeirra var Ryan, við skulum segja. Svo þegar við segjum HVAR nafn jafngildir Ryan, sem myndi tókst Eina breytingin sem name-- það væri aðeins breytt nafni sviði í raðir þar sem nafn reitur er jafn Ryan. Þannig að ef við hefðum mörg fólk heitir Ryan öll nöfn þeirra myndi breytast til Elliot. Þetta er svipað og td af ef kenna lína kljúfa New York City og allir að flytja til New Haven, hvernig við getum gera það í einu yfirliti er UPDATE table1 SET heimabæ = New Haven þar heimabæ jafngildir New York City. Þetta er kraftur UPDATE yfirlýsingu. Við getum valið um hvert af raðir í gegnum sannur yfirlýsingar um sviðum í þeim röðum. Við getum ekki sagt UPDATE table1 sett name = Elliot HVAR umf = 1, nema að við getum það ef við segjum id = 1. Þannig að við erum að fara að vera vinna með jafnrétti reita, jafnrétti dálkum. En með því að nota auðkenni sviði er leið til að velja einstaka raðir sérstaklega, vegna þess að ID reitur er einstakt kennimerki í SQL gagnagrunn. Svo eins og að uppfæra röð einn, ID er 1. Uppfærsla röð tvö, bara breyta því kennitölu. En kraftur hins HVAR staðhæfing er að við Hægt er að uppfæra hlutina miðað við það sem þeirra núverandi gildi fyrir ákveðna hluti eru. Já Elliot? Áhorfendur: Og hvað ef þú vilt to-- aftur, þetta er önnur spurning. En fyrsta spurningin mín var hvar er þetta að gerast? Hvar er ég að uppfæra þetta? Er þetta í PHP kóða? Ræðumaður: Hvar þú uppfærir, já. Við erum að fara að tala um hvar þetta allt gerist konar þegar við förum gegnum allar skipanir. En hvað sem þú þarft að veit að nú er í grundvallaratriðum að SQL gagnagrunn til sem eitthvað til að nálgast fyrirspurn virka, sem CS50 skilgreinir. Svo ef þú ert að nota fyrirspurn virka, þú getur nálgast þessa töflu. Svo þú verður að senda þetta skipanir á töflunni í PHP skrá gegnum fyrirspurn virka. Þú getur líka spilað í kring með töflunni beint. Og það er besta leiðin til að prófa þessa tegund af skipunum. Og við munum fara í gegnum nákvæmlega hvernig að gera það í réttlátur a lítill hluti. Svo er það UPDATE stjórn. Og restin af skipununum eru að fara að vera eins konar svipuð, vinna á svipuðum hlutum. The INSERT INTO er líklega mest frábrugðið UPDATE. Ég ætla að fara að uppi þar til bara svolítið og vinna hérna. Svo setja inn, munt þú sjá Borð er enn sú sama. Þú vilt að setja inn. Fjármögnun, SQL er raunin særandi. Svo þú þarft ekki að nýta þetta. Samkvæmt venju orðin í hvítu eru eignfærð. En ég líka litakóða þá. Eina ástæða þess að þú nýta þá þegar þú ert að skrifa þá er bara að leggja áherslu að þeir eru fastar. Og svo þú getur annað hvort að leita á fjármögnun eða sú staðreynd sem ég hef litað þeim á annan hátt. Þannig að við höfum fengið að setja inn, við skulum gera table1 aftur. Þetta er allt á einni línu. Ég ætla bara að aðgreina það frá mismunandi yfirlýsingar. Svo ekki hafa áhyggjur óður í the staðreynd þessi table1 gert það á annarri línu. Þannig að við viljum að setja INTO table1 nokkur gildi. Og þú munt taka eftir valfrjáls bita, sem ég næ í annað. Þannig að við höfum fengið gildi. Svo skulum segja að við viljum bæta Andi við borðið okkar, vegna þess að við missa Andi. Andi er veikur. Svo skulum bæta Andi við borðið okkar. Muna að kennitala er uppfærð sjálfkrafa. Svo eina sviðum við þurfa að hafa áhyggjur af eru nafn, stórveldi og heimabæ. Og svo hvernig við gerum það, horfa á setningafræði okkar, er að við höfum bara fékk sviga, með kommum Gildi aðgreind, sem hver um sig er gildi. Þannig að ef við vildum að setja Andi í okkar borð, allt sem við þurfum að gera er rétt Andi. Hvað er stórveldi Andi er, fólk í kafla andi er? Hún eins flug, eða eins og hraða, eða eitthvað. Hvað höfum við nú þegar þarna? Við höfum CS50, flug, hraða og styrk. Áhorfendur: Time Travel. Ræðumaður: Time Travel, ótrúlegt. Þannig að við höfum fengið Andi, tíma ferðalög, og heimabæ hennar. Það er mjög góð spurning. New York City, nema einhver veit. Allir eru frá New York er kennslustund til að taka í burtu frá því í dag. Svo þessi staðhæfing væri setja, eins og fimmta röð, með stórveldi ferðatíma og heimabæ New York City. En valfrjálst sviði er í grundvallaratriðum leið að tilgreina nákvæmlega hvaða dálka þú vilt setja hlutina í. Leiðin sem við erum að gera það núna, Andi, ferðatíma, New York City, er að fara í nákvæmlega röð okkar table-- nafn, stórveldi, heimabæ. Og ef þú vildir gera eitthvað annað en það, eins segja að þú gafst ekki vita stórveldi einhvers, eins og hvernig ég vissi ekki Andi er stórveldi í upphafi. Svo allt sem ég vissi var hún nafn og heimabæ hennar. Hvað ég gæti gert er að ég gæti do-- Ég eyða þessu fljótur. Ég vil aðeins að uppfæra dálkana. Og þetta er þar sem valfrjáls dálkur listi kemur inn í leik. Ég vil aðeins að uppfæra nafn og heimabæ. Og þá mun ég segja Gildi. Ég geri Andi og New York City. Ef ég hefði sleppt lista yfir dálka og bara gert þetta tvennt, þar myndi New York City hafa farið? Sem dálkur myndi New York City hafa verið sett í? Fólk hefur einhverjar hugmynd? Stórveldi, nákvæmlega. Þannig að þetta verður bara að fara í röð. Og þegar það nær í lok lista, það verður bara að hætta að fylla það í. Og þau gildi sem það mun standa í allir dálkarnir verður bara að vera NULL. Svo vegna þess að við tilgreint nafn og heimabæ, við erum að fara að hafa ID 5, nefna Andi, stórveldi NULL. Svo er stórveldi sem forsniðinn gildi. Þú munt ekki endilega fá Sömu Valgrind villur ef þú reynir og aðgang að henni. Allt verður að vera vel núllstilltur út, vegna þess að NULL er gildi í SQL. Það er fasti. Og þá heimabæ verður New York City. Svo er að INSERT INTO stjórn. Áður en við fara, það er tvo skipanir. Gera fólk hefur einhverjar spurningar um UPDATE, um að setja inn, um SQL almennt áður en við fara á síðustu bita okkar? Fólki líður vel, frábært. Elska það. Svo skulum við tala um SELECT. Fara skurður UPDATE hérna. Og veldu er að fara að vera mjög svipuð. Markmið SELECT, Tilgangur Veldu í lífinu er að gefa þér fullt af dálka sem uppfylla ákveðin skilyrði. Og þegar ég segi að fullnægja tiltekin skilyrði, gæti hugur þinn strax fara aftur til að HVAR ákvæði sem kom upp í UPDATE. Og það ákvæði er nákvæmlega það í SELECT. Ef við setjum ekki HVAR ákvæði og við segjum SELECT nafn, hometown-- stafsett að lítið wrong-- nafn, heimabæ FRÁ table1. Ef við segjum bara það, hvað SELECT er að fara að gefa okkur það er fara að gefa okkur a double-- borð, frekar. A tvöfaldur array ef við erum hugsa um í PHP skynjar. En það er bara að fara að gefa okkur a tvöfaldur array af tveimur columns-- nafni, og heimabæ. Og það mun hunsa ID. Og það mun hunsa risaveldi. Og það mun bara gefa okkur á hverjum einn róður á þeirri töflu. Þannig að ef við setjum bara Andi, munum við hafa Andi. Og við munum hafa upprunalega fjórir. Ef þeir hafa verið uppfærð, sem mun að endurspeglast, et cetera, et cetera. Svo er þetta vegna þess að við ekki nota HVAR ákvæði. En við getum notað það í nákvæmlega sama hátt og við notuðum það í UPDATE. Ef við viljum bara töflu með nöfnum og frábær völd af fólki býr í New York, við getum framkvæma yfirlýsingu eins VELJA nafni, superpower-- Ég ætla bara að fara að yfirgefa that-- FROM table1 HVAR heimabæ = New York City. Svo fer þetta til að sýna að þú getur fá algerlega mismunandi dálka, og þá setja dálka sem þú ert ekki jafnvel að komast aftur í HVAR ákvæði. Við gerum ekki einu sinni vilt heimabæ alla. En við viljum nafn og stórveldi fólks Hvers heimabæ er New York City. Svo er það eitthvað sem við hægt að gera með þar ákvæði er við getum tekist á við dálkum sem við ekki endilega vilja aftur. Á sama hátt á að uppfæra, getum við að takast með dálkum sem við gerum ekki endilega langar að uppfæra. Við getum uppfært borgina alla sem er nafn er Sam, til dæmis. Við getum uppfært borgina allir sem kennitala er 2. Svo bara uppfæra borg annarrar raðar þar sem við þurfum ekki að takast á við nauðsynlegt að sameiginlegur spurning. Og eyða er, eins og þú vilt búast við, DELETE FROM table1. Og þá erum við með annan HVAR ákvæði. Þannig að við getum sagt hvar id = 1. Eyða fyrstu röðinni. Og eyða mun alltaf eytt röð, eða það verður að eyða einhverjum fjölda lína. DELETE FROM borð þar heimabæ = New York City mun eyða í New York alla. Það er ef það var skyndilega sorglegt plága og þú vildir bara að fjarlægja allir frá borðinu sem bjó í ákveðinni borg sem var laminn af drepsótt. Geta þeir hvíla í friði. Þetta eru fjórir SQL skipanir sem þú þarft að nota. Þú getur ekki einu sinni þurft að nota þá alla. En þetta eru fjórir sem CS50 ráð þér að vera ánægð með að fara í bæði quiz 1 og einnig pset7 og pset8. Það er bara að borð aftur. Í þessu einn, stórveldi Roy hefur verið uppfærð til að leysir geislar, sem er dæmi sem ég vissi ekki að nota. Ég veit ekki hver einn Roy kýs, en styrkur. Roy hefur að risaveldi styrk. Katherine ekki gera það í dag. Það er óheppilegt. En hún hefur frábær hraða. Jæja það var PHP. Áður en við tölum um MVC, er einhver hafa spurningar um PHP? Nú SQL eða PHP ef þú hefur skyndilega koma upp með spurningu um PHP? Great. Allt í lagi, við erum öll sett þá. Svo tala svolítið um líkan skoða stýringar, við skulum fara aftur til sumir af efni í pset7. Svo hvað líkan skoða stjórnandi is-- Ég er ekki að fara að vista breytingar mínar til að skrá þig vegna þess að ég slátrað algerlega það. En í grundvallaratriðum við höfum tvo aðskilin það að fara á. Við höfum almenning Skrá sem inniheldur kóðinn sem er að fara að framkvæma og vefsíður sem verður heimsótt. Og við höfum líka þessa útsýni möppu. Og skoðanir eru sniðmát. Þetta er það hlutverk render-- sáum Render virka í fullt af PHP kóða sem CS50 hefur þegar skrifað fyrir þig, sem tekur í ákveðnum þáttum. Hvað sem kóðinn er að gera er það er að fara inn í skoðunum, sem eru sett af eins prewritten HTML kóða, og það er að setja gildi í ákveðnum stöðum. Þetta er hvernig við þig fara í CS50 fjármálaráðherra, sama haus er á hverri síðu. Hið sama fót er á hverri síðu. Þetta er vegna þess að á leiðinni að gera verk er það verður sjálfkrafa plástur í þeirri haus og áhorfandi sem þú getur fundið í skoðunum. Við reyndar getur farið inn haus, og líta, það er HTML skrá með höfuð. Það er got sumir Stílblöð. Þú þarft ekki að líta á CSS fyrir pset7 ef þú vilt ekki að. En þú getur breytt þá ef þú vilt, gera Fjármál líta svolítið öðruvísi. Það er got sumir PHP í haus dálítið að sjá ef það er annað heiti það ætti að setja í þessa haus. En bara nokkrar aðrar forskriftir, og tengla og aðra hluti. Head endar, líkaminn byrjar, og oops, við höfum þetta undarlegt litla endir hluti. Og það er div, rétt eins og a auð konar frumefni sem hefur hugmynd um miðju. Og svo þegar við sjáum fót, höfum við enda div. Við höfum neðri hlutanum, sem er þar sem fóturinn textinn er. Lok div, enda líkama, enda HTML. Svo er það bakið að gera er að láta er tegund af pjatla upp haus, a öðruvísi PHP skrá sem mun innihalda raunverulegt það sem þú munt sjá, eins töflunni fiskistofna ef þú ert að kaupa eða selja hlutabréf. Og þá verður það að bæta í fót. Og líkanið skoða stjórnandi Hugmyndin er að við vilja til að skilja hvernig hlutirnir líta frá kóðann. Það er að við viljum skilja viðmót og stuðningur, þar sem andlit er efni sem notandinn sér, ágætur visuals-- HTML, CSS, hlutir eins og að myndir, et cetera. Og stuðningur er PHP. Þetta er númerið sem þú skrifar. Þetta er þar sem númerið sem er gera raunverulegan rekstur. Þetta er þegar þú ert að bæta lager á töflunni, þegar þú ert að kaupa og selja, það er stuðningur. Og við getum, eins og þú sást, þ.mt PHP beint í HTML. Svo það sem við hefðum getað gert fyrir þetta verkefni er bara haft HTML skrá fyrir hverja síðu, eins innskráningu. Og þá á þá síðu, bara hafði mikil blokk af PHP kóða, þar á meðal öll kóða sem þessi síða sérstaklega þyrfti. Og þá gætum við hafa gert það fyrir eigu. Við hefðum getað gert allar kaupa og selja innan einstakra síðum. En vegna þess að við erum að flutningur sérstaklega frá þar við erum að skrifa stuðningur númer, getum við auðveldlega breyta því hvernig hlutirnir líta án breyta hvert einasta skrá. Við gerum hlutina eins bara bæta nýja div til botns of-- Halló Ég breytt fót. Þú getur bara gert svoleiðis. En einnig er hægt að breyta allt sjón skipulag án þess að hafa áhrif hvað er fara í stuðningur. Og þú getur breytt Allt stuðningur og enn hafa það líta út eins og það gerði áður. Þetta Er hugmyndin um líkan útsýni stjórnandi. Og það er í raun lögð hugmyndafræði í sumum forritunarmál þú might vilja til að nota fyrir lokaverkefni. Ef þú gerir IOS þróun, þeir hafa skoðanir, sem er það sem þú sérð á iPhone, og þá bakenda sem eins og a aðskilinn hlutur. Hægt er að hugsa um smá. There 'a einhver fjöldi af forritum í tölvunarfræði, sem er fyndið, vegna þess að allt er í tvöfaldur. Ég vissi ekki að skipuleggja það. Það var orðaleikur óviljandi. Já, orðaleikur ekki ætlað. En eins og .h skrám og .c skrá, það er a einhver fjöldi af aðgreina það sem við gæti ekki þörf. Svo við getum bara breytt h skrá, eða einhver getur bara séð .h skrá og vita nákvæmleg þau föll sem eru í .c skrá án þess endilega að vita framkvæmd þeirra. Þessi hugmynd um skiljunarþættir að ráðast á hvor aðra en getur konar aðgang hvert annað gegnum mismunandi leiðum, brottför breytur, bara eru yfirlýsingar, hluti svona, þetta lögmál hjálpar til við að búa til forrit það er auðveldara að breytt af mörgum fólk, að auðveldara að breyta eða breytt á stórum skala, og er auðveldara að kemba í fullt af leiðum. Mjög fljótur, ég hef nokkrar ábendingar fyrir pset7, sem ég ætla að gera á öllum skjánum svo þú ekki bara að horfa á the-- Tip Tip tippee. Það eru ekki margir ábendingar. En ég nefndi PHP er erfitt að kemba. Tveggja og þriggja manna stöðva það. Ef númerið þitt er bara ekki sýning upp á síðunni, það er líklega PHP villa, því miður. Þú þarft aldrei að líta á CSS ef þú vilt ekki að. En þegar þú ert búinn, getur það verið a ágætur lítill skemmtilegur hlutur að fara bara í og skipta með CSS breytum. CSS og HTML eru dæmi um fyrirmynd útsýni stjórnandi stíl hlutur líka, ekki satt? Þú gætir hafa stíl tags inni HTML þættir. En ef þú svona útvistun þá til CSS, þeir eru auðveldara að breyta og leika kring með, og hafa gaman með. Treat CS50 hjálpar virka eins svörtum kassa. Þú þarft ekki að vita nákvæmlega hvað Render er að gera, en treystu því að alltaf að gera rétt hlutur eftir því hvað þú gefa það, hlutir eins og þetta. Og ég mæli með horfa walkthrough Davíðs, fara í gegnum alla efni, ekki bara Todos, en þú raunverulega hægt að meðhöndla þessi sem svarta kassa. Ekki fara inn í þetta aðgerðir leita að galla. Og fagna endurkomu af Overlord Zamyla okkar. Great. Eru einhverjar endanlegar spurningar fyrir við konar hopp fyrir daginn? Er ég bý enn? Great. Hæ LiveStream fólk. Great. Eru lengur spurningar? Nei? Og þá held ég að við séum gott að fara í dag. Ég kyrr smá Síðan ef fólk hafði spurningar þeir þorðu ekki að spyrja á straumi. En annars, hafa góðan dag.