SAM LEVATICH: Sveiki skyriuje šią savaitę. Nesu Ieva. Ieva jau susirgo ši diena, ir aš buvo tarsi vadinamas paskutinę minutę perimti. Tai gripo sezonas, todėl įsitikinkite, kad jūs būna švarus, plauti rankas, ir valgyti sveiką, kad jūs taip pat nėra lovos. Tačiau be toliau ADO, pradėkime. Šiandien mes ketiname kalbėti apie PHP šiek tiek bit-- kaip PHP yra susijęs su html, kaip ji susijęs su CSS, ir kai kurie iš interneto Daiktai tu paskutinę užduotį. Mes ketiname pakalbėti Šiek tiek apie SQL ir kaip jūs galite dirbti su duomenų bazėmis, kuris yra gana pagrindinis komponentas P nustatyti 8-- P nustatyti 7. P, nustatytas 7. Ir tada mes ketiname kalbėti šiek tiek tiek apie tai, kaip Peržiūrėti valdikliai dirbti ir kodėl tai yra už kai filosofija šiuolaikiniai tinklalapius ir kitoks dizainas. Gana daug įvairių rūšių apps daug ir paraiškas galite išsiųsti naudojate šį modelį, Peržiūrėti valdiklis sistema, kad jums bus naudojant P nustatyti 7, todėl aš kalbėti šiek tiek apie tai, kodėl, kad manimi tapo populiarus, kodėl jis svarbus ir gražus. Ir tada aš pagaliau pereiti prie keletas patarimų apie kovą su P nustatyti 7. Ir jei mes turime laiko liko pabaigoje, mes iš tikrųjų galime padaryti kai dirbti, kad kartu. Taigi, PHP. Iš tiesų, jūs galbūt jau pastebėjote this-- tu tikrai turi pasinerti į it-- bet P nustatyti 6 turėjo tam tikrą PHP kodas, kuris vyksta. Ir dėl to, PHP yra per C-kaip kalba, PHP, skirtingai nuo HTML ir CSS, yra programavimo kalba, o HTML ir CSS yra statiška. Jie žymėjimo kalbos, susiję su stiliumi ir vaizdo maketą. PHP yra realus dalykas. PHP turi kilpas, ji turi conditions-- visa tai stuff, kad smagu apie C. Jis turi keletą dalykų, kurie yra šiek tiek tiek geriau nei C, kuris matysime, bet manau, kad paprasčiausias būdas kalbėtis apie PHP yra tik pasinerti. Taigi, aš ruošiuosi eiti tiesiai į šiame taške IDE. Pirmas dalykas, mes ketiname daryti iš tikrųjų atrodo šiek tiek į kai PHP kodą, kuris buvo P nustatyti 6 d. Taigi taip, kad mes darome that-- anksčiau, taip, kad mes buvome veikia už prietaisą serverio buvo tai, kad mes turime type-- arba naudoti savo įgyvendinimo ar darbuotojai vykdymą iš server.c eidami į katalogą ir veikia server.c su arba ne arguments-- todėl tiesiog vadina jį ant vietinio kompiuterio, o tai, ką jūs tikriausiai darė dauguma LAIKĄ_ ir tada jį maitinti directory-- su kurioje naudoti kaip savo šaknies kur svetainė būtų būti paleisti iš esmės. Šią savaitę P nustatyti 7, kaip didelis, kaip mūsų kodu server.c yra, yra žmonių, kurie jau parašyta šiuos puikius dalykus per ne CS50 kad turi šiek tiek daugiau funkcionalumo, serveris programa, kuri yra pajėgi spręsti su šiek tiek daugiau iš gudrybės, kad mes matyti tiek P nustatyti 7 ir P nustatyti 8. Ir taip, kad jums pradėti up serveris yra tiesiog įvesti "apache50". Ir prieš ką nors, Jūs norite įsitikinti, Apache 50 nėra jau veikia, nes ji yra mano kompiuteryje, kurį aš padariau jį išbandyti. Ir jums tai padaryti paskambinę apache50. Stop, ir jūs pamatysite, kad jis stabdo interneto serverio, jei jūs galite ieškoti ten tuo, kad terminalo lango apačioje. Ir tada tiesiog pradėti, mes ketina skambinti, "apache50 pradėti." Ir tada mes ketiname RSS ji katalogą. Dabar, nes mes norime ieškoti kai kurie iš P nustatyti 6 kodą kad mes jau įgyvendino, aš iš tikrųjų nukopijuoti truputį P nustatyti 6 kodą į savo paties aplanko, kuri matote ten į kairę. Tai vadinama "SECTION8" visų didžiosiomis raidėmis nes aš tiesiog taip susijaudinęs būti tiesiogiai transliuojamame šiandien. Taigi, jei mes paleisti tai, ji turėtų visi gana efektyviai dirbti. Ji sako, gerai, mūsų svetainė yra dabar galima susipažinti IDE adresą, iš esmės, o tai, ką jūs naudojote tiksliai taip, kaip ji buvo P, nustatyti 7-- P nustatyti 6 d. Visi mano indeksai yra vienas puslapis ir šiandien. Taigi, mes galime eiti į tą Adresas, jei jums prisiminti, tiesiog paspaudę ši maža mygtuką viršutinėje dešinėje. Ir jūs prisiminti šį kodą, kuris atsitiko, kai Jūs patekote į hello.php. Ir ką kodas yra skirta padaryti, tai, kai jūs įvedėte vardą here-- jei sako Sam nes tai mano name-- ir aš spustelėkite pasisveikinti, kai mes nuėjome į kitą puslapį, tas pavadinimas turėjo būti rodoma. Tai sakyčiau, "Labas, Sam" ar "Labas", kokio pavadinimo jums įdėti į ją, nors mes nuėjome į visiškai naują tinklalapį. Ir tai yra dalykai kad PHP gali padaryti už jus. PHP yra sugebėti perduoti duomenis tarp dviejų tinklalapius. Tai yra visiškai kitoks puslapis. Pamatysite pavadinimas yra "labas" čia. Tikrųjų, jie turi tas pats pavadinimas, bet aš žada jie skiriasi interneto puslapiai, jei pažvelgsime į šaltinį. Ir jūs galite perduoti duomenis, kad yra įrašytas į šio teksto lauke, Jums pateikti jį į kitą puslapis, kuris manimi buvo pašauktas, ir tada, kad duomenys gali ten jo dabartine forma. Dabar mes turime dar neįgyvendino tai save, o yra tai, ką mes ketiname daryti dabar, kad Rūšiuoti gauti už tai, kaip PHP veikia skonio, tačiau svarbiausia idėja yra ta, kad jūs galite PHP-- rūšiuoti galvoti apie tai, kaip funkcija. Kažkas, kad PHP gali jums padaryti, tai ji gali imtis parametrus kad jūs įėjimas į HTML puslapį per PHP ir formų naudojimo, ir ji gali praeiti tie kaip parametrus į kitą puslapį, kad jis įkelia į viršų. Tokiu atveju, mes pakrovimo tai puslapis su "say hello" mygtuką. Bet dabar, aš iš tikrųjų ištrinti kai šio kodekso į hello.php, kad buvo paleisti kad iš tikrųjų buvo rodomas pranešimas "Sveiki, pasaulis "arba" labas, Sam "arba "Labas", kokia buvo tik įėjimas. Taigi dabar, mes ketina tai padaryti, iš esmės. Mes ketiname atkurti, kad ir Taip pat pridėti šiek tiek daugiau funkcijų, padaryti šiek tiek daugiau su juo, matyti kas PHP yra tikrai pajėgi. Taigi, pirmiausia pakalbėkime apie Šis failas, hello.php. Taigi, jei mes padidinti A mažai bit-- ir dabar aš Rūšiuoti bando pereiti visa būdas around-- ten einame. Pamatysite tai vadinama hello.php, bet sintaksė tai atrodo kaip HTML failą. Taip yra todėl, Tikrasis PHP šį failą Visa tai įstrigo tarp šių klaustukas-caret blokai. Viskas čia Manoma PHP kodą. Ir jūs pastebėsite, kad kai aš komentarą, pamatysite susipažinę du į priekį nerijos. Ir jei jūs prisimenate, į HTML, jei aš įvesti komentarą, atrodo kažką arčiau tai, kuris yra HTML komentaras. Taigi tikrai viskas tarp Šie du kampiniai skliaustai dabar PHP kodą, kuris yra susijęs su tuo, kad tai mažai komentaro simbolį yra įjungtas į komentarą. Taigi kiekvieną kartą jums parašyti PHP kodą, net Jei nėra HTML kodas už jos ribų, jis visada bus uždengtas šių laužtiniuose skliaustuose su klaustukais. Jūs galite rūšiuoti galvoti apie it-- kaip visa kodą, kuris vyko jūsų C programos buvo įdedamas į int main, tuštumos, garbanotas petnešomis, pabaiga garbanotas petnešomis pareiškimas. Ir jūs pamatysite, garbanotas petnešos į PHP per daug, bet tai tarsi kaip pagrindinio būdo PHP. Taigi, dabar, kaip mes darome viską, PHP? Dabar, PHP yra programavimo kalba, kad labai, C-kaip, bet jis veikia internete. Taigi vienas dalykas, kad jums immediately-- vieną iš pirmųjų dalykų, jūs tikrai padarė su C buvo Jums atspausdinti stuff, tiesa? Taigi C mes padarėme, kad su printf funkcija. Mes davė jam eilutę, tikriausiai su naujos linijos, ir tada mes nutraukta Ji su kabliataškiu. Taigi taip, kad mes ketiname daryti, kad į PHP--, nes tai ne visai printf. Tai šiek tiek kitokio sintaksė. Taip, kad mes spausdinti dalykus PHP yra sakome, "aido labas" arba "echo" bet kokį žodį. Ir tai turi daryti poveikį printf su virvele, "labas". Ir jis prideda naują liniją į jį. Taigi leiskite dabar padaryti sure-- Aš nutolinti vėl šiek tiek bit-- tegul įsitikinkite, kad kad kodas veikia nes ten gali labai gerai būti šiame kodekse klaidą kad turėsime spręsti. Taigi serveris jau veikia. Taigi, jei mes slinkti žemyn į dugną, Yup, serveris vis dar veikia. Taigi, jei mes tiesiog bakstelėkite šį šiek tiek į dešinę here-- welcome-- turėtume get-- didelis. Mes vis dar turintys susipažinęs "Pasisveikinkite" Dialogas, bet kai aš tipo "Labas", matysime kad tekste "labas" iš tiesų buvo atspausdinti, kuris yra tiksliai taip, kaip tikėjomės, nes echo PHP yra tik kaip printf ataskaitoje. Taigi atgal į kodas, kaip P nustatyti 6 darė Jūs jei paskirstymo kodas padaryti taip, kad PHP būtų išvesties dalykas, kad jūs įvestas į ankstesnį ekraną? Ir tarsi išnagrinėti Kodėl taip atsitinka, mes ketina eiti į index.html, kuris yra originalus failą, kad rodo ant šio ekrano su "say hello" mygtuką. Jūs pastebėsite, kad ten visi klasikiniai dalykai mes nuėjome tikėtis iš tokio HTML kaip šių dalykų, šios žymės uždara laužtiniuose skliaustuose, pavyzdžiui, PHP bet be klaustukų, kuris rodo ypatingą dalykas HTML. Mes turime pavadinimą, kuris yra "labas". Ir jūs pastebėsite, kad kaip matėme, pavadinimas yra "labas" abiem atvejais. Leiskite pakeisti šį vieną į "pasakyti" tik todėl mes gali atskirti save, kur mes esame. Bet mes turime kūną. Ir tada įdomus tiek, The tiek, kad rodo į HTML, tai forma elementas. Ir taip mes turime formą. Ir tai yra raktas. Tai, kaip mes dirbame su PHP. Veiksmas parametras forma sako, kad hello.php yra tai, ką mes ketiname siųsti Į šią formą vertybės. Tai kur mes artimųjų parametrai, taip sakant. Jūs pastebėsite kitą dalyką čia yra tai, kad būdas yra "gauti". Yra du pagrindiniai metodus, pagal kuriuos bus būti naudojant PHP perduoti duomenis tarp websites-- tinklalapių, rather-- šiame užduotį. Ir šie metodai "gauti" ir "post". Yra keletas subtilus skirtumai tarp GET ir POST kad gausime into-- mes bus "gauti" į, jei bus. Bet visų ketinimų ir tikslais, gauti ir po abu vos būdų, kad jums praeiti parametrus su šiek tiek skirtingais egzekucijų. Nes dabar, mes ketiname naudoti gauti, nes gauti buvo, kas buvo iš pradžių PHP failą P nustatyti 6 d. Ir iš tikrųjų, jei mes einame ir surasti Prieš mes redagavo nieko kita, Aš ruošiuosi say hi to-- koks tavo vardas? Auditorija: Elliotas. SAM LEVATICH: Oi, GOSH. Aš nežinau, kaip rašoma. Gal galėtumėte rašybos kad už mane? Auditorija: El-L-L-I-O-T. SAM LEVATICH: Aš-O-T? Auditorija: Taip. SAM LEVATICH: tobulas. GERAI. Manau, aš žinau, kaip rašoma. Atsiprašau dėl to. Bet jei mes sakome "say hello", tai ne jis nesiruošia parodyti ekrane dar, nes mes keistas kodas truputį. Bet jei mes "Pasisveikinkite", - Gerai, kad "labas" yra čia. Bet jei mes iš arčiau pažvelgti į patį URL, matysime, kad jis baigiasi su hello.php? name = Elliotas. Taigi, tai yra būdas bendrauti į kitą tinklalapį parametrai, kad mes praėjo. Mes pasakė vardas = Elliotas. Ir tai galiausiai kaip P nustatyti 6 atvertas kintamąjį, kad mes priimtas per formą. Ir tai yra kažkas, kad būdinga GET prašymu. GET prašymas daro parametrus žinoma svetainės URL. Ir jūs žinote, taip pat, P nustatyti 6, kad jūs turėjo parašyti funkciją kad nagrinėjami su tuo, kad šios užklausos eilutę gali egzistuoti po failo. Gali būti klaustukas po pagal iš pagrindų bet simbolių skaičius. Ir tai būtent tai, kas vyksta čia. Ir priežastis jums turėjo išanalizuoti, kad Jūsų įgyvendinant server.c P nustatyti 6 yra todėl, kad jūs galėtumėte pasakyti, PHP kodas, pavadinimas = Elliot. Čia reikia, kad būtų galima išanalizuoti, kad iš URL kad PHP failą klausimą žinojo, ką jis buvo, susijusius su. Taigi, tikiuosi, tai suteikia į server.c motyvacija dabar, kad mes pereinant už C į PHP. Tad tikrai dėmesio naudodamiesi viskas praėjo per GET užklausos dabar Šiuo atveju. Aš ruošiuosi išsaugoti tai. Mes nieko nepakeitė. Atrodo, mes turime įvesties lauką. Mes kuriame keletą savybių, kaip mes galime padaryti HTML. Tai yra paprasti dalykai. Mums nereikia jų. Bet mes turime Automatinis išjungimas, kuri iš esmės says-- žinote, Įvesdami dalykus į internete, kartais jis bando užpildyti, kad už jus. Taigi, tai gražus dalykas. Mes norime ją išjungti šiam tikslui. Tai buvo priimtas sprendimas dėl CS50. Taigi, mes galime ištrinti, kad jei mes norėjome. Automatinis fokusavimas tik lazdos žymeklį į formos teisę pradžioje. Vėlgi, ne pernelyg svarbi. Bet name = "pavadinimas" - tai šiek tiek sudėtinga, nes tai vardas, vardas ir pavardė. Bet mes galime jau pasikeitė tai kažkas. Ir iš tiesų, tai Ką mes darysime dabar. Mes pasakyti "asmuo", kuris yra tarsi vardu jei asmuo yra apibrėžta jų vardu. Taigi leiskite uždaryti šį, atnaujinti iki mūsų svetainėje nes mūsų serveris vis dar veikia Apache 50, ir mes pasakyti, labas, čia Elliotas vėl. Kodėl ne? Labas. Ir jei mes einame čia matysime tada vietoj name = Elliotas, ji sako žmogus = Elliot. Ir tai tiesioginis rezultatas to, kad mes tiesiog pasikeitė name = "asmuo". Taigi, įvesties elemento HTML forma, pavadinimas laukas yra už identifikatorius parametras, kuris manimi bus perduotas. Tai, pavyzdžiui, jei kuriate funkciją "Pridėti", kad paėmė du sveikieji skaičiai ir jūs sakėte, int ir int b. Kad būtų pavadinimas a, ir, jei jūs norėjote kita forma, kuri mes galime padaryti, tiesiog kopijavimo ir klijavimas, tuomet mes turime vardas b. Taigi dabar mes turime du parametrus kad yra perduodama per patekti į kitą website-- kitą tinklalapį, hello.php. Ir mes iš tikrųjų galite pamatyti kad dar kartą, jei mes norime. Tai yra lengviausias būdas kovoti su interneto kodas IDE, iš esmės. Jūs pradedate iki serverį, jį gauti veikia, ir tada kiekvieną kartą, kai atlikti kai kuriuos pakeitimus, tiesiog Uždaryti kad failas tiesiog turi būti saugūs. Paspaudus mygtuką "Atgal" yra šiek tiek keblus nes jis gali įkelti ankstesnis versija, o ne naujausia vienas. Ir tada jūs tiesiog spustelėkite savo mygtuką dar kartą, Pop teisę up-- oh, ir dabar yra dviejų formų. Ir todėl, jei mes tipo vienas dalykas į kiekvieną one-- "Jason Hirshhorn" už instance-- mes sakome labas. Mes pažvelgti į mūsų parametrais. Atrodo, mes turime, kaip Tikimasi, kad a = Jason ir b = Hirshhorn, kuri atstovauja du parametrus kad mes išlaikė šią funkciją. Taigi, dabar tegul faktiškai gauti įgyvendinant tą funkcionalumą, kad mes turėjo P nustatyti 6 d. Taigi dabar mes tiesiog skardus labas. Ir tai nėra labai naudinga. Mes norime, kad echo kai kintamasis kad buvo priimtas į mus. Ir mes žinome, šio kintamojo pavadinimą. Mes turime ir mes b. Taigi, mes galime pasirinkti echo vienu. Bet kaip mes jį pasiekti? Na, yra tam tikrų globalių kintamųjų PHP. Ir aš ruošiuosi rašyti juos komentaruose čia. Du svarbiausi yra GET ir po mūsų tikslams dabar. Tai yra matricos arba, Techniniu požiūriu, žodynai kur mūsų kintamieji, kad mes pereiti į kitą tinklalapį gyvena. Ir mes netrukus matysime, kaip jas naudoti. Kitas trumpai pastaba apie PHP kodas ir kai it-- specifika C, paskelbti kintamąjį, arba naudoti kintamuosius, Pirmą kartą teko juos paskelbti. Ir ką turėjo padaryti, kai jūs paskelbė jiems buvo pasakyti int A arba B char. Jūs turėjo deklaruoti šių tipų kintamieji, prieš jums juos sukūrė. PHP-- jums nereikia daryti, bet kad. PHP neprašo kintamojo tipas. Ir taip, kad jums sukurti variable-- o nei sakydamas int, char, string-- kuri yra tikrai char *, kaip mes know-- o ne daro visi kad, nes viskas yra tokio paties tipo, typeless, mes galime tik naudoti vieną simbolį, kuris yra doleris ženklas. Ir jūs pamatysite tai jau Popping iki, mažai autocomplete dalykų. Ir tai suprantama, kad _GET ir _POST Yra du variantai, kad turiu rasti man. Kai kurie iš šių kita ko, yra kitų globalių kintamųjų PHP kad jūs naudojate per iš P Žinoma nustatyti 7. Nes dabar mes ketiname sutelkti dėmesį į GET ir POST. Tačiau tai yra naudinga dalykas, kad IDE nėra kur kai jūs įvedėte toje dolerio ženklas, jis bus pradėti pildyti globalių kintamųjų arba kintamieji jau apibrėžtas. Taigi, jei norite nustatyti kintamasis vadinamas "styginių" galima tiesiog nustatyti, kad jis lygus "Labas". Ir tai iš esmės taip paprasta, kaip kad. Ir tada mes galime padaryti kažkas panašaus į "echo $ string". IDE turi būti mesti kai klaidų, jei aš darau nieko blogo, todėl tikiuosi, darau viską. Bet klaidas visada atsiradus. Kitas keblus dalykas, apie PHP yra, kad ji nėra sudaryta. Taigi su C programos, darytumėte Dienos rutina of-- iš esmės, Jums būtų atlikti pakeitimų Jūsų kodas, norite jį išsaugoti, ir tada jums reikės padaryti, kur markė buvo žingsnis, kad pavadino sudarytojas, klingsėti, kad savo kodą, šis tekstas failą, į vykdomąjį. PHP yra C-patinka, bet jis vykdomas ant jūsų naršyklėje skristi. Taigi nėra jokio būdo žinoti. Padaryti mesdavo tuos naudingų klaidų, tiesa? Tai būtų panašu, jums nedeklaravo šio kintamojo prieš bandėte jį naudoti. Jūs padarė visą šį blogą stuff-- segfault, segfault, visi, kad rūšiuoti Fun times kad atėjo su modelio. PHP yra dviašmenis kardas nes jūs negausite tas klaidas, bet tai taip pat reiškia, kad jūs nežinote, tikrai, kas yra negerai su jūsų programa jei jūs tiesiog paleisti jį, ir jis neveikia. Bet debugeris turėtų atkreipti dėmesį kai, tikiuosi, naudinga smulkmenos sintaksiškai, kad jūs galite nustatyti. Taigi dabar, jei mes einame per to-- pasakyti, tegul uždaryti, kad. Iš naujo. Ir mes grįžome į čia. Taigi mes turime kintamąjį ir kintama b. Ir tai nebus galiausiai reikšmės. Mes vadiname juos h ir g be jokios konkrečios priežasties. Ir mes sakome, labas. Dabar atrodo, kad mūsų eilutę "Labas" iš tiesų yra spauda. Mes sukūrėme kintamąjį vadinamą "string", nustatyti, kad jis lygus "Labas". Atkreipkite dėmesį, kad mes neturėjome daryti malloc arba padaryti simbolių masyvas. PHP, nes kintamųjų yra typeless, styginių yra tokia pati, kaip char visais atžvilgiais. Tai galėtų būti: "Labas". Tai gali būti tiesiog simbolis k. Tai gali būti skaičius 1. Ir tai nerūpi. PHP nerūpi Jūsų kintamojo tipas. Arba ji priežiūra. Ji rūpinasi, kai bandote ir daryti tai, ko su juo, bet tai nerūpi ir deklaracija žingsnis. Ir kaip jūs galite į C, galite paskelbti stygos ant panašaus į tai kamino nors sakydamas: "krūvą" yra šiek tiek tiek potencialus Piktnaudžiavimas jei toks mes kalbame apie PHP. Bet mes neturime nerimauti, kad. Taigi, mes turime mūsų eilutę "Labas", ir mes echo eilutę. Taigi dabar mes aptarė kintamuosius. Taigi dabar mes turime kalbėti apie GET ir rašyti ir atlikti galutinį dalykas, kad reikia tikrai gauti šią atsarginę su P funkcionalumo nustatyti 6. Taigi dabar mes pakartodamas eilutę, tačiau mes turiu šie kintamieji gauti ir po. Ir todėl mes naudojame metodas gauti, ji Atrodo natūralu, kad mūsų kintamasis, Mus domina, A ir B abu, įsikurs masyvo ar žodyną, techniškai gauti. Taigi, jei mes įsteigti gauti, kaip tai su savo groups-- prisiglaudžiau įvesti ir tai nepatiko it-- bet čia mes turime gauti. Ir taip gauti jau egzistuoja. Taigi jau galime pradėti naudotis kai kurie iš Gauti elementais. Jei mes gauti, tai sintaksė masyvai PHP yra labai, C-pan. Mes turime du skliaustus. Taigi, jei mes sakome gauti normalus masyvas, galėtume prieiti prie nulinis indeksas, pirmas puslapis. PHP yra nulis indeksas. Galėtume sakyti, nulis, vienas, two-- dalykų kaip šis. Ir aš sakydamas, kad gauti yra techniškai žodynas. Taigi, kas PHP daro po gaubtu, kuris yra šiek tiek gražiau nei C, tai jau suteikia jums keletą žodynas funkcionalumas, kuris yra tikrai maišos lentelės, arba bando, neva. Arba, techniškai ją gali būti išbandyti, taip pat. Bet PHP įgyvendinti maišos lentelę, kuri sudaro veiksmingą žodyną. Ir todėl mes žinome, pavadinimą Mūsų kintamojo, tiesa? Tai yra priimtas Užklausos PHP. Mes turime a = h, o B = g, kur ir b yra kintamųjų pavadinimai. Taigi taip, kad mes galime prieiti prie vertė, kuri atitinka rakto mūsų žodyne yra tiesiog sakydamas _GET_GET ["a"]. Taigi dabar mes turime _GET ["a"]. Ir jei mes tiesiog pakeisti viduje Mūsų aidas, jei mes echo _GET_GET ["a"] - ir mes pamatyti, jei išriktuotojo meta klaidas apie this-- mes išsaugosime, kad ir uždarykite this out. Atidarykite jį. Taigi mes tiesiog daro teisę dabar, todėl b neturėtų reikšmės. "Jos" ir "jam", - "niekai". "Jos" ir "niekai". Skamba gerai. Ir tai išspausdinti "Jos", kuris yra pamišęs. Bet tai, ką vyksta P nustatyti 6 d. Iš esmės, ką P nustatyti 6 buvo doing-- aido Sveiki, name-- kur ji buvo Kintamojo pavadinimas ir ji tiesiog prašo jums tipo toje teksto fragmentą. Taip pat buvo keletas Papildomas kodas kur jis įtrauktas if, kurį mes galime padaryti dabar. Galime sakyti, jei egzistuoja, kuris yra per PHP funkcijos, _GET Su pabraukimo, "pavadinimas" - kuri iš esmės sakydamas, "Jei pavadinimas buvo užpildyta", nes mes galėjome tik paspausti mygtuką pateikti formą, be rašyti nieko į tą lauką. Ir mes wrap, kad mūsų draugiškas garbanotas petnešos. Mes galime turėti else. Ir tai viskas per PHP kampu laikiklis, klaustukas, kampas laikiklis, jei bus. Ir dabar mes pamatyti, jei tai veikia. Aš nuolat laukia, kad jis debug ir šūdas ant manęs, iš esmės, bet tai dar ne. Gal tai bus dabar nes aš kalbėjau apie tai. Taip. Jis padarė, iš tikrųjų. Taigi, nieko rodyti. Tai todėl, kad kažkas neteisingai kad rašiau PHP kodą. Ir minėjau derinimo yra sudėtinga, nes PHP, mes nebuvo sudaryti iš anksto jį ir sudarytojas buvo ne taip, kaip, čia, kur jūsų klaidos. Bet ką mes galime padaryti is-- žmonės prisiminti Kaip pažvelgti į kitą tinklą prašo, kad PHP-- arba kad svetainės siųsti? [? Malin?] Tai padarė paskaitą vieną ar du kartus. Jūs prisimenate, kur mes einame rasti skirtingų skolos ir 200 OKS, Visi šie kodai, kurie yra siunčiami per HTTP iš tinklalapio į interneto puslapį? Ar kas nors prisiminti kur mes einame, kaip tai padaryti? Auditorija: Page šaltinį. SAM LEVATICH Page šaltinis. Būtent. Jeigu jūs einate į puslapį Source-- tobulas. Taigi Page Šaltinis išsitraukia iki inspektoriui. Ir aš naudoju Safari. Daug iš jūsų tikriausiai būti naudojant "Chrome" arba "Firefox". Tačiau tol, kol esate bet šiuolaikinės browser-- ir jaustis laisvai sekti kartu, jei norite. Galite įvesti iki šio kodekso arba tiesiog pažvelgti į vidų P rinkinys 6 katalogas tam tikrą panašų stuff. hello.php yra tai, ką mes Šiuo metu dirba mėgdžioti. Taigi yra daug skirtukų įvairovė. Mes galime pažvelgti į visų išteklių. Matome kodą. Taigi atrodo, kad jis nebuvo saves palikti kūną pabaigoje. Jis nustatė klaidą PHP ir jį sustojo pakrovimo visą tinklalapį. Mes net neturime nutraukti tag HTML arba nieko. O jei pažvelgsime į tinklą, mes galime matyti, kad mes yra išsiuntė prašymą. Tai yra domenas. Tai adresas,. Tai dokumentas. Mes naudojant GET metodą. Ir tai raudonai. Arba jis buvo raudonas, kai aš nebuvo pasirinkdami jį. Kaip man atžymėti ją? Na, tai buvo raudona. Leiskite atnaujinti. Štai jis. Dabar tai raudonai. Taigi, tai raudona, o tai reiškia, ji nepavyko, kuri yra blogai. Taigi leiskite išsiaiškinti, kodėl jis nesugeba. Taigi, visi, kad puslapis šaltinis gali iš esmės pasakyti yra jūsų dalykas neveikia, o jau galime pamatyti. Taigi idealiai Nebūtų būti labiau naudingas įrankis. Ir yra keletas naršyklės išplėtimus kad leidžia derinti PHP, bet mes neketiname būti raštu PHP ton, todėl tikriausiai tiesiog geriausias ieškoti per savo kodą atidžiai ir tiesiog įsitikinkite, kad jis nedaro nieko kita. Taigi pažiūrėkime, jei šis formatas jei teiginys yra kai problema yra. Noriu įkelti, kad vėl čia. Labas labas. Taigi yra problema ten. Taigi už teisingą sintaksę PHP, PHP vyksta būti, C-kaip, kad jūs pamatysite kilpas. Jei ataskaitų pamatysite. Pamatysite visas šias draugų kad jūs susipažinti su daugiau nei kurso Šio CS50 semestrą. Tačiau geriausias būdas išsiaiškinti, kaip padaryti kažką PHP yra "Google" ją arba pažvelgti į kai kurių PHP kodo pavyzdžių nes jūs žinote, funkcionalumą. Jūs žinote, ką jūs galite padaryti su programa. Jūs galite kilpa. Jūs galite kilpa tiek kartų, kiek norite. Jūs galite kilpa visi rūšių skirtingais būdais. Jūs galite kurti funkcijas. Jūs galite kurti funkcijas, skambinti kitas funkcijas, funkcijas kad save vadina. Ir jūs turite pavadinimus šių sąvokų. Jūs turite rekursija, kilpos, jei kiti kontrolės srautai. Ir taip "Google" yra tavo geriausias draugas. Net pasakyti, "PHP jei pareiškimas "ir ten bus būti tonų postuose Atsakymai į kitų žmonių kurie jau turėjo panašius klausimus jums, kurie tik pradedate su PHP ir įdomu apie sintaksės dalykas. Kadangi mes turime yra prabanga sugebėti pažvelgti į P rinkinys 6 kodo, mes iš tikrųjų ištraukite jį ir pamatyti, kad Gerai, čia kažkas įdomaus. Taigi tai yra tai, ką ji iš tikrųjų Atrodė P nustatyti 6 d. Taigi, jei mes einame per šį, matome, kad mes turiu keletą iš jų mažai PHP-kaip klaustukas bitai. Ir nėra garbanotas petnešos. Yra dvitaškius. Ir yra garbanotas petnešos PHP, tačiau tai yra formatas, ir daro būdas PHP, kad gerai dirba su HTML nes, kaip pamatysite, mes uždarymo nuo šių PHP bits-- elses ir SP, ir visi that-- ir tada mes interspersing HTML jų viduje o dar, einančių po reguliuojamas srauto išdėstyta PHP. Taigi, aš tik ketina Greitas ėjimas per šį nes tai tos pačios partijos sąvokos, kurios mes darome anksčiau. Mes turime jei ne tuščias, skliaustai, _GET_GET ["pavadinimas"]. Tai viskas, tos pačios medžiagos. Mes naudodami _GET žodyną PHP siunčia prašymu formų, nes ji yra parametrų veiksmų, o metodas yra gauti. Ir tada, kad baigiasi, kad. Dvitaškis yra signifikantas tiesiog tai padaryti jei jei pareiškimas įvertina tiesa. Tai kaip garbanotas petnešomis. Ir iš tiesų, tai yra garbanotas petnešomis kitomis kalbomis, pavyzdžiui, Python, kurį gali susidurti, jei jūs tiesiog padaryti, kad savo galutinį projektą. Ir tada ši linija, labas. Tada mes turime šį keistą dalyką. Mes turime daugiau skliausteliuose. Nėra HTTP there-- arba PHP, atsiprašau. Bet ten yra lygybės ženklas. Ir tada mes turime funkciją, Htmlspecialchars (_GEThtmlspecialchars (_GET ["pavadinimas"]). Tai tarsi daugiau Išplėstinė versija aidas. Kaip mes jau echo kaip būdas spausdinti dalykus PHP. Tai funkcija, kuri yra apibrėžta, kad PHP spręs šiek tiek daugiau bjaurus simbolių ir baitų reikšmės , kad galėtumėte perduoti jį. Jis visada saugiausia naudoti tai. Bet aidas bus atlikti darbą tik gerai, jei mes ne susiduriame su nieko per bjaurus. Ir todėl tai yra tas pats poveikis, iš esmės, ši medžiaga tarp klausimą ženklai yra vertinami PHP. Htmlspecialchars grįžta gražią HTML spausdinami vertė _GET_GET ["vardas"], t.y. Ką mes įvedėte formą. Ir tada jis pasakys labas, kablelis erdvė, o tada, kad. Tai visa tai tarp kampas skliausteliuose bus pakeistas nepriklausomai Htmlspecialchars iškelia iš. Taigi, kad iš esmės panašus tai, ką mes darome. Ir mes turime else, kad yra hello world, kuris turi prasmę. Taigi dabar grįžkime prie mūsų kodas ir pamatyti exactly-- oh. Ir sakiau egzistuoja, kuris yra ne dalykas, kad mes norėjome padaryti. Mes norėjome pasakyti tuščias. Ir todėl tai turėtų dirbti šiek tiek tiek geriau, o ne tuščia _GET_GET ["pavadinimas"]. Ir kad garbanotas petnešomis atitinka tą garbanotas petnešomis. Mes turime savo garbanotas petnešos čia. aidas Sveiki _GET ["pavadinimas"]. Leiskite pamatyti, jei tai veikia šiek tiek geriau. Mes vis dar veikia mūsų serverį. Sveiki Jasonas. Sveiki Jasonas. Ir tai dirbo šį kartą. Ir taip tai yra įrodymas, kad jūs iš tiesų gali naudoti vingiuotus skliaustus, kad jūs žinome ir meilės PHP kodo HTML. PHP kodas teikiama jums pset 6-- pset 6-- teikia kitą kelią daro tą patį. Taigi dabar mes turime galią. Mes turime funkcionalumą įgyvendinti PHP kodas, kuris matėme pset 6 patys, iš esmės. Prieš pereiti, kas yra kai kurie iš klausimai, į kuriuos jūs turite šiuo metu? Taip [nesigirdi]. Auditorija: Taigi į pset6 versija, paleidus jį, ten vietos. Ir aš galiu pamatyti, kur erdvė yra po kablelio. [Nesigirdi] pradžia atviras laikiklis. Kaip jūs įtraukti vietos kaip jums parašė savo kodus? Pranešėjas: Tai geras klausimas. Ir todėl galime suprasti, kad iš. Taigi, kad tikrai geras klausimas ir vienas, kad aš nemanė. Bet tegul tai padaryti kartu. Taigi, visų pirma, ką Darau su echo yra, kai mes tiesiog echo Sveiki, tai išveda labas. Jei mes echo dabar tai gauti atskiras linija, tegul išnagrinėti, kas vyksta. Taigi, mes spustelėkite tai. Mes nuolat sakydamas, Hi Jasonas. Taigi dar kartą, mes neturime šio erdvę. Ir tai todėl, kad PHP, kai mes echo, nesvarbu, kiek spaces-- nope, ne V-- nesvarbu, kiek erdves mes įdėti here-- jei mes dabar įkelti, kad vėl, Hi Jasonas. Taip, matote, visi tie erdves gavo suvalgyti. Ir tai kažkas, kad echo funkcija daro. Taigi rūpintis kad erdvė, ir tai yra viena iš priežasčių, kodėl jūs nenaudojate aidą ir jūs naudojate funkciją htmlspecialchars vietoj. Man įdomu, kas būtų atsitiks, jei mes padarėme tai kur mes uždara A eilutę erdvę. Aš sąžiningai nežinau, ką nutiks, kai aš tai padaryti. Štai vienas iš būdų. Štai vienas iš būdų rūpintis juo. Jei wrap erdvėje eilutė, tada erdvė bus išvedamas gražiai ECHO. Saugiausias, ką reikia padaryti yra padaryti funkciją htmlspecialchars. Štai visada saugus statymas. Bet dabar mes turime būdą, kaip tai su echo, jei reikia. Ir panašiai, kaip, galime aidas naujų linijų, visi tarsi daiktų esate susipažinę daro PHP. Visi kiti, kas yra, bet daugiau klausimai, į kuriuos kiti žmonės šiuo metu apie PHP? Jei žmonės parodė šiek tiek per vėlai, Aš laimingas likti po truputį ir kalbėtis apie kai pradžioje. Ir jis taip pat visi livestreamed, ir archyvuojami, kuris yra pamišęs. Bet kokiu atveju, todėl dabar Pobawmy daugiau pažangių dalykų su PHP. Ir vienas iš pirmųjų dalykų, kuriuos buvo pristatytas į C buvo už kilpomis. Ir PHP turi daug galingesnė už kilpa vadinama foreach ciklą. Ir atrodo, kad this-- kiekvienam tuščias kaip tuščių, garbanotas skliausteliuose, atlikite dalykas. Taigi tai iš esmės yra sutrumpinimas. Matote, už linijos, kaip sintaksės konstrukcijos buvo sukurta C ir surinkimas Kalba ir viskas patinka. Sugalvojo C, tiksliai, kaip sutrumpinta už iš kilpomis tipų daug kad žmonės galėtų pamatyti. Kaip kai rašė kilpą, yra dažnai buvo iniciacijos žingsnis įvykdytas pačioje pradžioje A būklė, kai kilpa būtų stop-- ir tai funkcija tai tik į while cikle, arba kad nors turi tiksliai tik, kad feature-- ir tada rodmenų didėjimas žingsnis pabaigoje. Ir taip jūs dažnai atsidursite rašyti kodą maždaug tokia. Aš ruošiuosi ištrinti kai tai. Bet jei mes Iteracja per simbolių masyvą, Pavyzdžiui, kaip mes gavo simbolių masyvas. Atsiprašome sugrąžinti C. aš žinau, maniau tu buvo padaryta. Bet tai tik tuo tikslu, mokymosi PHP, pažadu. Taigi, jei turite char g Ilgio 8, ir tegul pasakyti, kad tai sako Hellooo su galiniu null. Puiku, kad mūsų eilutė. Ir tada mes turėjome už kilpa. Mes turime int i lygus 0. Ir mes norime išeiti, kai STR iš i yra lygus nėra lygus nuliui, nes mes išeiti kai ji lygi NULL. Ir tada mes i ++ ne kiekvienas taškas už kilpa. Darai kažką su g ir i. Taigi pagrindinė formulė buvo mes turėjome šio masyvo, kad mes norėjo gydyti kaip atskiri elementai. Bet ką mes turėjome padaryti, tai mes turėjome iš esmės sukurti atskirą sveikasis skaičius kintamasis, kuris buvo skaičiuoti iki kiekvieno laikas nuėjome per kilpą. Ir tada mes turime tada skambinti strstr [i], kai tai, ką mes tikrai norėjo padaryti yra tiesiog eiti charakterį pagal charakterį, tiesa? Mes nenorime, kad prieaugio sveikasis skaičius ir tada naudoti, kad sveikasis skaičius prieigos prie kiekvieno charakterį atskirai. Mes tikrai norime charakterį pobūdžio. Ir taip kiekvieną protingai skaičiuoja, kad už mus. Jei mes turime masyvą, kuris mes galime paskelbti PHP kaip just-- jei mes turime kintamąjį vadinamas, tegul jį vadina masyvo. Buvo nagrinėtos Bendrijos rašyti stebuklai, tai kaip bet kuris kitas kintamasis. Tai tiesiog masyvas. Ir mes turime šiek tiek [nesigirdi] kaip 1, 2, 3, tik vienas iš inicializuoti masyvą rūšiuoti. Tai Gerai, ji nemėgsta mano foreach. Bet jei mes iš tikrųjų foreach-- Įvedžiau, kad šiek tiek negerai. Yra du būdai, kaip padaryti foreach ciklą. Yra Į sintaksė ir kaip sintaksė. Ir mes ketiname daryti sintaksės pirma, ne taip. Štai mano klaida. Taigi foreach num išsirikiavo, aido num. Ir PHP šaukiantį man kažkodėl. Jis rasti netikėtas į kažką, kuris yra šiek tiek nerimauti. Bet mes išsiaiškinti, kodėl, kad yra iškart. Taigi ne tai patinka. Pabandykime naudojant kaip. Ji teikia pirmenybę AS sintaksė atrodo. Taigi darykime foreach masyvo num. Taigi šiek tiek paaiškinimas ką tik atsitiko yra kaip sintaksė saying-- gerai pirma, Pažvelkime, ką šis spausdina. Taigi, mes atverti mūsų IDE. Mes einame čia. Mes sakome, Sveiki Jasonas. Ir tai padarė 123, kuri buvo turinį masyvo, kad mes sukūrėme iki viršaus. Taigi nardymas į šį foreach ciklas, turime kintamąjį vadinama matrica kuris yra iš trijų skaičių masyvo. Ir tada mes darome foreach masyvas, kaip num, aido num. Ir tai daugiau intuityvi nei už lop. Mes sakydamas, gydant kiekvieną iš Į masyvo num dalykų, Noriu, kad man num. Ir tai, ką jis daro. PHP apskaičiuoti, kad kai jūs kalbate foreach masyvą, ir jūs susiduriame su masyvo, ką jūs ketinate norite pakartoti per yra toje masyvo simbolių, yra toje masyvo ints, yra toje masyvo elementai. Ir tai leidžia jums saugoti tie kintamieji kaip num, ir tada tiesiog išėjimas num iš karto, o ne pasakyti, Turiu kintamąjį vadinamą aš ir tada aš noriu išvesties strstr [i]. Ir taip, kad leidžia mums daryti cool dalykų. Kaip iš esmės mes neturime sukurti Šie kintamieji, kaip aš "ir padaryti viską, tai rodmenų didėjimas Daiktai pabaigoje. PHP rūpinasi visa tai už jus. Taigi, dabar pakalbėkime apie foreach kaip ji taikoma mūsų _GET žodyne. Taigi mes Komentuoti šią greitai. Taigi, mes turime _GET masyvo. Mes turime šį kintamąjį. Ir jis gavo šiek tiek joje stuff. Šiuo metu mes turime tik vieną kintamąjį, patektų į jį, kuris yra, pavadinimas. Bet jei mes paspauskite "Enter", dabar mes galime turėti du kintamuosius. Mes galime turėti vardą ir amžių, pavyzdžiui, jei norime gauti amžių, o taip pat asmens, vardas, pakankamai keistai. Taigi dabar _GET ketina būti žodynas su dviejų elementų, su dviejų pagrindinių verčių porų. Ir aš pirmą key-- ruošiuosi rašyti šį vieną ant lentos taip pat. Mes turime žodyno _GET. Atsiprašome, ji yra šiek tiek sunku pamatyti. Bet viduje mūsų žodyne turime vardas, kuris bus kažkas kad mes suteikta. Ir mes turime amžių, kuris taip pat yra bus kažkas, kad mes pateikta. Ir tai yra visuma mūsų žodyne. Taigi jis gavo į jį iš dviejų elementų. Ir todėl, kad foreach kilpos yra protingas, mes manote, ir teisingai manote, kad foreach gali pakartoti per šį žodynas, spausdinti nurodytų verčių pagal pavadinimą ir amžių. Taigi leiskite iš tiesų daryti tik tai. Leiskite statyti foreach ciklą. Ir mes ketiname daryti _GET kaip. Ir mes ketiname daryti toliau. Taigi pažiūrėkime, kas atsitinka, jei mes tipo tik žodis, o tada sako echo žodį. Mes taip pat ketiname echo naują eilutę tik kad ji šiek tiek aiškiau, kas vyksta. Taigi pažiūrėkime. Tai ne duoti man jokių klaidų. Ir mes uždaryti šį. Dėl mūsų svetainėje, jūs ketinate daryti daug, kad per pset7 metu. Taigi mes sakome mano vardas yra Sam. Mano amžius yra 45. Tai ne. Bet tai spausdina, kaip ir tikėtasi, Sam 45. Ir taip, jūs pastebėsite, kad kas foreach ciklas did-- čia grįžkime į tą, todėl iki ant board-- gauname _GET kaip žodžio. Ir ten buvo keturi dalykai _GET. Bet tai tik atspausdinti du dalykus. foreach, būdamas savo žvalgybos savarankiškai, Daroma prielaida, kad tai, ką mes tikrai norėjo buvo vertybės, o ne mygtukais. Tačiau yra būdas, kad galėtume spausdinti iš raktų, taip pat, jei mes norėjome. Jei mes norėjome taip pat žinau, ką Šie kintamieji buvo vadinami, yra būdas, kad mes gali patekti į šią, taip pat. Ir būdas tarsi tai padaryti, todėl mes galime pasakyti, leidžia tikrai padalino jį į pagrindines vertės poromis. Taigi pažiūrėkime, kas atsitinka dabar. Taigi, mes turime klavišą. Mes turime vertę. Turime dar vieną naują linija skaitomumas. Ir pažiūrėkime, kas atsitinka, kai mes tai padaryti dabar. Aš nežinau, kaip senas Jasonas yra. Jasono 15. Taigi, mes turime vardas Jason, amžius 15. Taigi mes galėjome pasiekti raktą ir vertės poros šį žodyną tiesiog pasakyti, kaip pagrindinius dalykus, vertė. Ir tai foreach sintaksinis cukraus tiek, kad leidžia jums prieigą prie dalykų žodyne. Taigi, tikiuosi, tai tarsi pabrėžia, Iš foreach ciklas galios. Jūs galite labai daug metimą nieko, kad atrodo iterable, kaip ir nieko, kad turi kelis elementų, tokių kaip masyvą, tarsi dictionary-- Tai yra du pirminiai dalykai jums dirbti su tiek gyvenime ir pset 7 d. Taigi jūs galite mesti, kad kita į jį, ir jis bus išsiaiškinti tai, ką norite daryti su juo. Jis pasakys, gerai, aš ruošiuosi gauti šie dalykai iš duomenų, buvo priimtas į mane. Ir tai kažkas, kad jūs esate ketinate naudoti daug d pset 7 d. Aš ruošiuosi greitai slinkite žemyn tik pamatyti, kur aš ne. Ar žmonės turi klausimų šiuo metu? Klausimai ne visi? Taip? Auditorija: Taigi su raktu ir vertę, Galima tai pavadinti ką nors ir ji vis dar dirba? Pranešėjas: Oi. Oho, aš visiškai ištrinti visą eilutę. Puikus darbas. Taigi, a. Raktų ir vertė yra tik konvencija. Tai naudinga. Galima būtų kažkiek dizainas taškai, gal kai kurie stiliaus taškai už tai, nes tai tikrai perteikia ketinimą. Bet mes pasakyti ir yarp. Auditorija: Jūs neturite nieko keisti HTML failą tam, kad atspindi tai, kad? Pranešėjas: Ne ne visi. Auditorija: Ir jis tiesiog žino, kad dėl to, kad lygu daugiau than-- Pranešėjas: Taip. Auditorija: --that rodiklis, kad that's-- Pranešėjas: Taip. Tai foreach sintaksė, bet taip. Auditorija: Nėra tipai. Taigi ką daryti, jei nori amžius tik numerį? Ar yra būdas tai padaryti? Pranešėjas: Yra būdų, kaip patikrinti, ar kintamieji atitikti tam tikrus tipus. Taigi PHP prašo šiek tiek daugiau iš Jums, nes ten nėra jokių tipai. Tam tikrais būdais jis klausia mažiau. Tam tikrais būdais jis prašo daugiau. Nes jei jūs turite tik kažkas kintamojo, Jūs neturite idėjos, ką tipo tai yra. Bet jei jūs esate protingas apie kintamųjų kad jūs priskirti tipus į ir įsitikinkite, kad kad veikia tik return-- jus nori savo funkcijas tik mainais vieno tipo vertę, kad kad jūs iš esmės gali tikisi, kad kintamasis gausite atgal iš funkcija bus tipo kad jūs manote, kad tai bus iš esmės. Tačiau yra keletas būdų pagal kurį galima patikrinti. Nepamenu juos nuo mano galvos viršaus. Aš laukiu tai mėlynuoti. isint? isstr? Yra metodai pastatytas į PHP, kurie gali patikrinti kintamųjų rašote. Bet jei priskirti kintamieji dailiai, jūs neturėtumėte turite padaryti, kad per daug pset 7 d. Tačiau šie metodai egzistuoja. Ir tai kažkas, kad yra pačios kalbos. Ir aš nepamenu tiksliai sintaksė. Mes netgi gali atrodyti it up. Bet laikas yra iš esmės. Ar kas nors turi turite daugiau klausimų? Taip. Auditorija: Turiu tik viena daugiau. Taigi jūs paminėjote GET metodą, tačiau Jūs nepaminėjo POST metodą. Ar mes grįžta, kad? Pranešėjas: Taip, mes grįžta prie to. Štai ką aš ieškojau mano telefonas, kuris dabar užmigo, bet aš ją rasti. Tiesiog todėl, kad mes hit visi PHP pastabose. Taip, ten nėra derinimo versija. Taip, mes turime dar kelis dalykus, kurie mes norime padaryti dabar šiuo klausimu. Taigi kalbame apie POST, kurį minėta, vienintelis skirtumas tarp GET ir POST yra kad atsimenu, kai mes pažvelgė šiuo URL ir pamatėme, OH, Vardas lygus ir amžius lygus yarp teisūs URL ten mus. POST yra šiek tiek daugiau slaptos su savo artimųjų informacijos. Taigi, jei jūs nenorėjote vartotoją žinoti, pavyzdžiui, galite nenorėjo vardą ir slaptažodį asmeniui Šiuo metu prisijungęs turi būti rodomas URL, kuris yra pagrįstas dalykas kad nenori į URL, nes kažkas gali jį peržiūrėti. Jei jie susieti žmogų į puslapį, galite nenori, kad jų adresas tinkuotos ten, nes tai leistų žmonėms prisijungti tik su URL įklijuoti vietoj faktiškai užpildę formą. POST yra šiek tiek daugiau slaptos. Ir tik tai, kas mes turime keisti yra šis metodas, pokytis iš gauti skelbti pranešimams. Ir tada viduje HTTP, o ne nuo susipažinimo su masyvo _GET, mes ketiname pasiekti masyvo _POST. Ir mes pastebėsite, kad jei mes atidaryti šį atsarginę vėl, Jasonas lėtai mažėja amžiaus. pavadinimas Jasonas amžius 14. Tas pats Daiktai pasirodo. Bet mes einame į URL ir tie kintamieji yra ne ten. Ir taip, kad PO passes-- todėl nepamirškite Kaip pažvelgti į puslapio šaltinio. Mes einame į tinklą. Mes atnaujinti. Ir tai yra dar vienas dalykas, kad PO duos jums įspėjimus apie. Galite matėme langelyje teksto Dėžutė, kaip tai atlikti turite savo naršyklėje. Ar tikrai norite siųsti formą dar kartą? POST yra tai, ką 's siunčiant šias formas. Nes iš esmės, jei jūs pasiųstas kredito kortelės informaciją, kad kažkas, kad nesiruošia rodomi URL. Štai bus POST prašymas. Taigi, kai jūs atnaujinkite puslapį, tai persiųsti šį postą prašymą. Taigi dabar mes norite siųsti forma dar kartą, nes jis nesiruošia sukurti pasikartojančius pirkinius. Ir mes pastebėsite, kad žemyn čia metodas mes naudojame POST. Ir tai iš tiesų perduoti baitų. Ji perduota 401 iš jų. Programa gana maža. Bet ten kur, kad mes galime pamatyti vertybės, kurios yra praėjo. Į tinklalapiai patys matote, bet mes kaip vartotojai negali matyti, nebent esate hakeris. Jei esate geras hakeris, galite pažvelgti. Jei žinote pagrindinis formatas HTML, vertybės leis save puslapiuose. Galėsite pamatyti. Reikšmės bus ten, jie tik šiek tiek mažiau akivaizdus jums pasiekti, iš esmės. Ar mes turime daugiau Turite klausimų apie GET, POST before-- ką mes ketiname daryti toliau yra faktiškai ieškoti kai kodas kad jūs pasidavimas pset 7, kalbėti apie kaip jis naudoja kai kurie iš šių koncepcijos, ir kalbėti apie dalykų, kad jūs ketinate kad turite padaryti šiek tiek į pset 7 d. Bet daugiau klausimų prieš tai? Daugiau klausimų vaikinai turi? Didysis. Gerai, pažiūrėkime šiek tiek ne pset 7 be abejo, tai, ką jūs visi labiausiai džiaugiamės apie tai. Aš turiu galvoje, tai yra kažkas, kad Davidas eina per truputį. Bet mes turime tris katalogus tuo viršuje, o taip pat konfigūracijos failas. Štai dėl duomenų bazių, kurios mes kalbėti apie maždaug penkias minutes. Apima, jums niekada nereikės pažvelgti į šį katalogą Jei nenorite, bet tai malonu žinau, ten yra visi pagalbininkai rūšių. Pagalbininkai lyg naudingų funkcijų. Ir tada mes turime config, kuriame nors stuff up. Yra keletas funkcijų, kurios CS50 turi parašyta, kad yra pagalbininkas ir config. Ir kai kurie iš VSP, kad jau išeina į failus darys iš daugiau Rūšiuoti daug iš bukas kojos darbą už jus. Pavyzdžiui, jei mes einame į visuomenę login.php, o tai, ką rodo teisus, kai jūs einate į pset 7 d. Pamatysime, kad ten Tai reikalauja pareiškimą. Ir kad kaip rūšiuoti SHARP apima, hashtag įtraukti, jei esate iš naujesnės kartos. Tačiau tai iš esmės sako, kad man reikia patekti visiems config.php funkcijas. Ir Jūs galite turėti reikalauja visų kitų dalykų rūšių. config tikrųjų reikia pagalbininkų. Taigi, jei jums reikia config, jūs taip pat įskaitant, arba kai reikalingas pagalbininkai taip pat. Taigi, kad suteikia jums prieigą prie visų cool veikia, kad mes ketiname naudoti, Dalykų, pavyzdžiui, teikti. Aš iš tiesų vyksta, kad būtų lengviau tai žemyn truputį. Taigi funkcija, tada mes ketina eiti per tik kol mes pereiti prie SQL šiek tiek tiek yra login.php funkcija, tiesiog nes jis naudoja kai kurie iš pranešimus kad mes tik kalbėjome apie PHP. Jūs matote pirmas dalykas yra, jei $ _SERVER. Tai yra dar vienas pasaulio kintamasis, jūs ketinate būti susijusios su. Tai tarsi _GET ir _POST, bet ką serveris yra tai gali jums žinoti, jei prašymas metodas buvo GET arba POST. Kaip anksčiau, ką mes darome yra tik mūsų kodą, rašėme, mes buvome tik keičiasi, kad ji būtų GET ir PO priklausomai nuo to, HTML turi. Tačiau yra puslapių, kurie gali būti prieinama su abiejų prašymų tipus. Ir jūs galbūt norėsite padaryti skirtingi dalykai, priklausomai nuo remiantis prašymu tipo, kaip Prisijungimas daro. Taigi jūs galite patikrinti šį prašymą metodas per susipažinimo su raktais, naudojantis raktą ir gauti vertė kažką žodyną _SERVER. Štai dar vienas pasaulio kintamasis kaip _GET ir _POST. Jei jis GET, mes norime teikia prisijungimo forma. Užkrauta yra funkcija, kuri iš esmės tik kelia iki atitinkamą HTML ir perduoda jį kai kuriuos parametrus. Šis pavadinimas yra parametras, kuris yra naudojamas rodant, keista, iš puslapio pavadinimo klausimas, ką čia, pasakyti ar Hello mūsų ankstesniame pavyzdyje. Dabar mes turime kitą dalyką. Kita, jei tai POST, mes padaryti kai kurių kitų dalykų. Mes naudojant tą tuščią metodą. Jis neegzistuoja, tai tuščias. Ir mes matėme anksčiau, PHP turi nemažai pastatyta metodų, kad Dovydas will-- jei yra metodai, kurie yra naudingi Jums, jie bus įspėti jus Jei per tą Dovydo pėsčiomis suteikia pradžioje apžvalgą ir taip pat Zamyla naudinga bitai. Ji grįžo visi. Mes visi galime džiaugtis. atsiprašyti yra taikliai pavadinta funkcija kad tiesiog iš esmės spausdina kai klaidų pranešimai, nes CS50 yra labai mandagūs. Ir dabar tai, tai yra sudėtinga tiek, nes tai kur mes užklausų duomenų bazę. Dabar mes ne kalbėjo apie duomenų bazes. Ir mes ketiname į kitą penkių minučių arba tiek, maksimalus. Tačiau tai yra funkcija kad CS50 parašė gauti lentelę iš esmės iš duomenų bazės, kad mes dirbame su į pset 7 d. Aš tikrai blogai su mano nulis indeksavimo šiandien. Bet taip, ji yra 7. Taigi užklausa jis ketina grąžinti masyvas, iš esmės yra pagrindinis tiek. Ir todėl, kad šie dalykai neturi rašyti, todėl eilių yra apie masyvų masyvas. Nes kai mes galvoti apie lentelė, ką mes ketiname daryti yra, kaip jūs išmokote psets kaip 15 žaidimo, anyway kur jums teko naudoti dvigubas masyvas, mes iš esmės turi įvairių kitų masyvai daro staliuką. Ir jūs turite eilutes ir stulpelius. Ir tada jūs galite gauti prieigą prie jų, kaip [0] [1], gausite [1] [0]. Pagrindinis stuff like that. Taigi, ką mes darome čia šią funkciją, mes prašome duomenų bazę jei vartotojas tai bando prisijungti, kad bus siunčiami per POST metodu. Pamatysime, mes vis vartotojo vardas iš _POST. Jie atsiuntė, vartotojas ar jums bus išsiųsti vertę per formą per POST, nes tai vartotojo vardas ir slaptažodis dalykų. Mes patikrinti vartotojo vardą matyti, tai yra lentelėje? Nes jei vartotojas prisijungti in tada jų vardą turėtų būti saugomi lentelėje Vartotojų, kurie egzistuoja šioje svetainėje. Taigi, iš esmės, jei vartotojas yra duomenų bazėje, Užklausa ketina grįžti kad eilutė, kuri yra masyvas. Bet keblus dalis yra ta, kad jei net jei dvigubas masyvas yra tik vienoje eilėje, net jei tai viena eilutė array-- kaip jūs turite basically-- jei jūs turite dydžio viena matrica kad manimi turinčius kitą masyvą, jūs tikrai susiduriame su viena skiltimi. Tačiau jis vis dar gydomas kaip dvigubo masyvo. Ir tai, kai jis kartais gali gauti sudėtinga, nes mes turime eilučių čia. Mūsų kintamasis yra eilutės. Ir tada mes sukurti naujas kintamasis vadinamas eilutė ir nustatant jį lygūs pirmoje eilutėje eilučių. Ir jūs pastebėsite, kad komentarą sako, kad tai pirmoji ir vienintelė eilutė. Taigi tai yra sudėtinga dalis, kur dabar veikia gali grįžti masyvus labai lengvai. Yra ne mallocs. Jūs nematysite mallocs. Taigi jūs nematysite SEG gedimus. Bet funkcijos dar bus perduoti aplink masyvų ir duomenų grupių. Ir jūs turite būti atsargūs, ką tiksliai jūsų funkcijos grįš. Ir net jei tai vienas stulpelis, kaip šis, užklausa vis dar ketina grįžti dvigubą masyvo. Taigi, norint naudotis, kad column-- ar jūs galima galvoti apie visa tai, kaip apverstas nes mes kalbame apie eilėmis. Tačiau prieiti tą vieną eilutę, Jūs negalite tiesiog pasakyti eilučių. Nors jis yra vienas eilėje, turite do rowsrows [0] rūšiuoti pašalinti šį išorinis tiek masyvo ir turiu tik vieną eilutę savo. Ar kai kurių kitų dalykų. Yra funkcija vadinamas password_verify kad patikrina slaptažodis buvo paskelbtas. Ir tada mes matome kitą pasaulio kintamasis čia _SESSION. Iš esmės Session ID kaip jums sekti informacija, jei kas nors yra prisijungęs ar ne. Taigi dabar su login.php, mes prisijungdami A vartotoją. Taigi, ką mes norime padaryti, tai mes norime pasakyti Session ID yra lygus eilės ID, kuris tiesiog turi prasmę, nes kiekviena eilutė turės skirtingą ID numeris, kaip dalis stalo. Mes patekti į SQL A antra, todėl, jei bet tai Atrodo šiek tiek panašus bla, tada visi bus pašalinta. Tačiau mes ketiname nustatyti id lygus tinkamas dalykas, registruojant į vartotoją. Atsiprašome, jei kas nors negerai. Ir tai yra prisijungimai paskirtis Gyvenimas kaip profesorius Malan sakyčiau. Taigi, tai buvo login.php. Ir iš PHP kodo rašote daug į pset 7, jie bus truputį. Nepamirškite chmod į Tinkamos leidimus. Bus šiek tiek apie kad, spec pradžioje. Bet PHP, kad esate Rašymas bus daro stuff, kad yra panašus į tai. Jūs ketinate būti susipažinimo su kai kurių dalykų, kad yra skiriamas jumis globalių kintamųjų PHP, kad susiduriame su dabartinės prisijungęs vartotojas, ar buvo prašymus atsiųsta šiuo puslapis, skirtingi dalykai, kaip kad. Ir jis taip pat bus potencialiai Iteracja per eilių šio dalyko. Be skirtingą funkciją, užklausą ar grąžinti šią dvigubą masyvo. Ir, jei yra daugiau nei vieno eilių, tai, jei are-- taip, jei ten yra daugiau nei vienas eilučių jį, tada jis bus lentelė. Ir jūs galbūt norėsite pakartoti per šio masyvo eilučių, naudojant foreach ciklas, kad mes aprašyta. Taigi, jei jūs darote foreach ant dvigubai masyvas, koks word-- čia Aš iš tikrųjų rašyti. Aš rašyti greitai čia. Jei mes turime eilučių foreach kaip eilės, kas iš eilės tipas? Ar kas nors žino? Tu supratai tai? Taigi eilučių yra dvigubai masyvo. Taigi, kas yra foreach ketinate daryti išvadą, kad mes norime iš šio dvigubo masyvo jei mes Iteracja per jį? Mes iš esmės galima manyti, kad jis ketina būti arba elementai, ar eilutes arba stulpelius, iš esmės. Ir taip eilučių ir mes stulpeliai gali traktuoti kaip tą patį dalyką. Iš esmės tai, ką foreach ciklas vyksta reikia padaryti, tai jis ketina grįžti eilučių. eilutė bus tipo eilės, o eilučių yra dvigubai masyvo. Taigi, jei jūs suteikiate foreach dvigubas masyvas, tai nesiruošia kartoti daugiau negu vienas lygis gylio. Kuris iš esmės pasakyti, jei ten yra aštuoni ląstelės tai table-- 1,2, 3, 4, 5, 6, 7, 8-- foreach ciklas nėra ketinate eiti per kiekvieną iš šių ląstelių. Kas foreach ciklas darys buvo ji bus eiti per šį eilės, suteiks jums visą šią eilutę. Ir tada jis bus eiti per tos eilutės. Taigi tik kartojasi vieną lygį giliai. Jei pridėsite lizdinė foreach kilpa, tada jūs galima gydyti kiekvieną eilutę grįžo iš eilutės, jūs foreach eilutę kaip elementą, tarkim. Ir tada jūs galite pakartoti elementas. Štai trumpas tiek kvalifikacijos kėlimo, kaip jums gali būti naudojant foreach kilpų į užklausą, kontekste. Ar yra kokių nors klausimų apie PHP? Ką nors ne visi, kol mes pereiti prie kalbame apie SQL ir duomenų bazės įdomus? Jaustis gerai? Jaustis gerai. Gerai. Pereikime Grįžti į "PowerPoint", kuris tikriausiai praleisti. SQL Yay. Žmonės, kurie mano skyriuje paprastai žinosite, kad subpozicijas akronimai visada tik pirmas žodžiai Manau, tos rungtynes ​​kad algorithm-- kad akronimas. Tai ne algoritmas. Taigi SQL duomenų bazė. Tai kalba, kuri dirba su duomenų bazėmis. Ir visos duomenų bazės yra yra lentelės, bent jau taip, kaip SQL atstovauja juos. Kitas būdas galvoti apie duomenų bazių yra duomenų bazės yra Raktų ir vertybių rinkinys iš esmės. Jūs galite galvoti apie duomenų bazę, kaip žodynas ir taip pat, kaip lentelėje. Iš esmės tai yra būdas bendrauti skirtingų duomenų su kitais duomenimis, dažnai per eilučių ir stulpelių. Ir tai būdas kad SQL veikia geriausiai. Taigi, šis yra vienas iš pavyzdžių stalo. Aš turiu keletą pavyzdžių žmonių mano skyrių, kuris Aš neturėjau laiko pakeisti. Bet mes turime dalykų, pavyzdžiui, ID, vardas, supervalstybė, ir gimtajame mieste. Aš nežinau, kur niekieno iš mano skyriuje, todėl aš tik ketina prisiimti kiekvienas yra iš Niujorko Miestas, nes turiu didelę statistinę tikimybė yra teisinga. SQL automatiškai imtis Priežiūra ID skiltyje jums. Jei įterpti naują eilutę į SQL duomenų bazės, ji bus prieaugio, kad ID numeris ir tik iš esmės laikytis kaip penkių pavadinimų, supervalstybė, gimtajame mieste, kas ant minėtos lentelės pabaigoje. Taigi ID skiltis jums niekada neturite jaudintis. Bet, kaip ir tuo atveju, iš login.php, kai mes buvo gauti sesijos ID nuo stalo ir tik naudojant ID ID būdas identifikuoti Kuris iš duomenų bazės elementas. Taigi, jei mes turėjome du Sams, tiek kuris mokė CS50, ir abu PSO buvo iš Milwaukee, tie būtų vis dar turi skirtingas ID numeriai ir taip bus išskirtinė lentelės kontekste. Taigi tai yra tai, ką SQL sprendžiant su, darbo su į nugaros pabaigoje. Šitie yra keturi komandos kad jums reikia dirbti su SQL. Ir aš išmetė juos visus į vieną skaidrę. Tačiau mes ketiname eiti per juos visus atskirai. Pirmoji komanda UPDATE kuris daro tai, ką jūs galite tikėtis. Tarkime, jūs turite keletą duomenis Lentelėje tai pasenusi. Pavyzdžiui, jei jūs išlaikyti kelio Liaudies pavadinimų ir amžių, jei kas nors yra Amžius padidėjimas, po to jūs ketinate norite eiti ir atnaujinti tik, kad asmens amžių. Dėl Pavyzdžiui, kad veikia mūsų pirmos table-- nesijaudinkite rašyti visi šios komandos, tuo pačiu metu. Bet jei jūs turite atnaujinti žemyn, kad būsiu geras dėl šios dalies, nes mes ketiname grįžti į lentelę. Taigi, jei mes einame atgal į lentelę, tarkim kažką, kas nutiko buvo ten buvo žemės drebėjimas ar gedimas linija, kuri padalyta tiesiogiai per New York City. Ir mes norėjome atnaujinti visus kuris gyveno Niujorke. Jie visi turėjo persikelti į Pensilvanijoje. Tai ne gimtajame mieste. Jie visi turėjo persikelti į New Haven. Čia mes eiti. Taigi kiekvienas Niujorke persikelia į New Haven. Ir taip, kad tai kažką, kad redaguoti tris eilutes šioje lentelėje. Tačiau SQL, tai galite padaryti kad tik vieną pareiškimą. Taigi mes einame atgal atnaujinti. Leiskite greitai ištrinti šį lenta dar kartą. Kai mes kalbame apie atnaujinimas, yra keletas dalys sintaksę, kurios yra raktas. Na, visa sintakse yra raktas. Bet žalios spalvos medžiaga yra neprivalomas. Balta yra reikalingi, kaip iš anksto nustatytos pavadinimai. Ir šviesiai mėlyna yra dalykų, kad skirtis priklausomai nuo stalo. Taigi tai, kas vyksta su spalvų schemą čia iki ten. Taigi, jei norime atnaujinti tik tuos eilutes žmonių, gyvenančių Niujorke, Taigi, ką mes norėtume daryti, jei mes sakėme UPDATE? Taigi lentelė, kurioje mes įdėti mūsų stalo, pavadinimas. Leiskite tik pasakyti pavadinimą mūsų stalo yra viena lentelė. Taigi mes norime atnaujinti vieną lentelę. Ir mes norime set-- ką mes norime nustatyti? Na mes norime pasakyti, todėl column-- PHP gydo eilučių, kiek unikalių identifikatorių. Ir tada stulpeliai įvairiose srityse iš šių duomenų bazės elementais. Taigi, pirmojo elemento, kai duomenų bazė turi Sam, supervalstybe iš CS50 vardą, ir iš Milvokis gimtajame mieste. Taigi, jei mes sakėme nustatyti, pažvelkime parametrai vėl, kad rinkinys užtrunka. Mes turime stulpelis lygus vertę. Taigi mes norime pasakyti kai column-- kuri prisiminti yra field-- norime pamatyti laukas lygus kažką naujo. Taigi, jei mes ką tik pasakė atnaujinimas 1 stalas, nustatytas vardas lygi Elliotas. Gauti kai žmonės iš Naujas skyrius apie tai. Bet jei mes tiesiog padarė atnaujinti 1 lentelę nustatyti vardas lygi Elliotas, kas būtų Lentelėje atrodyti po to? Žmonės turi kokią nors idėją? Taip. Auditorija: Viskas, kad eilutė taptų Elliot. Pranešėjas: Viskas kuri eilės? AUDITORIJA: Pirmoje eilėje. Pranešėjas: Pirmoje eilėje? Kodėl pirmoje eilutėje? Aš nenoriu pasakyti, kad pasiimti jums. Auditorija: Gal viskas visame stalo? Pranešėjas: Viskas visos lentelės, taip. Ir tai visiškai teisus because-- aš buvo tiesiog padėti jums iš truputį there-- nes mes praleisti pasirenkamas WHERE. Jei nenorite turėti kur sąlyga, ką ši komanda darys jis bus dirbti su kiekvienu vieno lentelės eilutė. Kiekvieno asmens pavadinimas bus tapti Elliott, iš esmės, kuri Elliotas yra labai laimingas apie tai. Arba Yanni, vienas iš dviejų. Bet kiekvienas vardas pasikeis. Taigi, kaip mes naudojame KUR clause-- ir tai galioja visi where kad yra kiekvienas iš Šie skirtingi dalykai. Taigi jūs pastebėsite, kad SET turi stulpelio vienodą vertę. Ir taip daro KUR. Bet jie skiriasi tipų ataskaitose. Taigi stulpelis lygus vertę Komplekte yra užduoties. Kaip mes norime pasakyti nustatyti pavadinimą, lygią Elliot. Bet kur tai sąlygų, tai yra lygybės ataskaitos. Taigi tarkime, mes tik norėjome pakeisti asmens vardą Elliot jei jų vardas buvo Ryan tarkim. Taigi, kai mes sakome, Kur vardas yra lygus Ryan, kad būtų sėkmingai Vienintelis pasikeitimas name-- tik jis būtų pakeisti pavadinimo lauką eilėmis kur pavadinimas laukas yra lygus Ryan. Taigi, jei mes turėjome kelis žmones pavadintas Ryan visi jų pavadinimai būtų pakeisti Elliot. Tai yra panašus į Pavyzdžiui informacija, jei gedimas linija skyla New York City, ir kiekvienas turi pereiti prie New Haven, kaip galime daryti, kad vienoje ataskaitoje yra ATNAUJINIMAS 1 lentelė SET gimtajame = Niu Heivenas kur gimtajame lygus, New York City. Tai yra galia Atnaujinti pareiškimas. Mes galime pasirinkti bet kurį skaičių eilučių per tikruosius ataskaitų apie tų eilučių srityse. Mes negalime pasakyti UPDATE 1 lentelė rinkinį vardas = Elliotas KUR eilutė = 1, išskyrus tai, kad mes galime, jei mes sakome id = 1. Taigi mes ketiname būti dirbant su lygybės laukų, lygybė stulpelių. Tačiau naudojant ID laukas yra būdas pasirinkti atskirus eilutes konkrečiau, nes ID laukas yra unikalus identifikatorius SQL duomenų bazės. Taigi, kaip atnaujinti vieną eilutę, ID, lygus 1. Atnaujinama du eilutę, tiesiog pakeisti tą numerį. Bet maitinimas KUR teiginys yra tai, kad mes galite atnaujinti dalykus remiantis kas jų Einamoji tikrų dalykų yra. Taip Elliotas? Auditorija: O kas, jei norite to-- vėl, tai yra kitas klausimas. Bet mano pirmas klausimas buvo, kur tai vyksta? Kur aš atnaujinu tai? Ar tai PHP kodas? Pranešėjas: Kur atnaujinti, taip. Mes ketiname kalbėti apie tai, kur visa tai atsitinka rūšiuoti kartą mes einame per visas komandas. Bet ką jums reikia žinau, dabar yra iš esmės kad jūsų SQL duomenų bazės egzistuoja kaip kažkas turi būti prieinama užklausą funkcija, kuri CS50 apibrėžia. Taigi, jei jūs naudojate užklausos funkcija, galite naudotis šia lentele. Taigi jūs bus išsiųsti juos komandas jūsų stalo PHP failus per užklausos funkcija. Taip pat galite žaisti aplink su jūsų stalo tiesiogiai. Ir tai geriausias būdas išbandyti šias komandas rūšių. Ir mes eiti per tiksliai, kaip padaryti, kad tik šiek tiek. Štai UPDATE komanda. Ir iš komandų poilsio ketinate būti tarsi panašūs, dirba panašių dalykų. INSERT INTO tikriausiai labiausiai skiriasi nuo atnaujinimo. Aš ruošiuosi palikti, kad iki ten tik šiek tiek ir dirbti čia. Taigi INSERT INTO, pamatysite kad lentelėje vis dar yra ta pati. Jūs norite įterpti į. Kapitalizavimo SQL yra didžiąsias ir mažąsias raides. Taigi jūs neturite pasinaudoti šių dalykų. Pagal susitarimą žodžiai White kapitalizuojamos. Bet aš taip pat spalvomis juos. Vienintelė priežastis, kad jūs pasinaudoti tie, kai jūs įvedate juos tiesiog pabrėžti kad tie yra konstantos. Ir todėl jūs galite arba pažvelgti kapitalizacija arba tai, kad aš spalvos jas skirtingai. Taigi mes turime INSERT INTO, darykime 1 lentelė dar kartą. Tai yra all viena linija. Aš tiesiog atskiriant jį įvairūs pareiškimai. Taigi nereikia jaudintis dėl to, kad Tabela1 pagaminti jį ant antrosios linijos. Taigi mes norime įterpti Į 1 lentelė keletą reikšmių. Ir jūs pastebėsite neprivaloma tiek, o aš gausiu per sekundę. Taigi mes turime vertybes. Taigi tarkime, mes norime pridėti Andi mūsų stalo, nes mes praleisti Andi. Ieva serga. Taigi leiskite pridėti Andi mūsų stalo. Atminkite, kad identifikacinis numeris automatiškai atnaujinamas. Taigi vienintelis srityse mes reikia nerimauti yra vardas, supervalstybė, ir gimtajame mieste. Ir taip taip, kad mes galime padaryti, kad žiūri mūsų sintaksė yra mes just got skliausteliuose, su kableliu atskirtos reikšmės, iš kurių kiekvienas yra vertė. Taigi, jei mes norėjome įrašyti Andi į mūsų lentelė, visi mes turime padaryti, tai į dešinę Ieva. Kas Andi supervalstybė, žmonių Andi sekcijoje? Ji patinka skrydį, ar patinka greitis, ar kažką. Ką mes jau ten? Mes turime CS50, pigų skrydį, greitis ir jėga. AUDITORIJA: Laikas kelionės. Pranešėjas: Laikas kelionės, nuostabi. Taigi mes turime Andi, laiką Kelionės ir jos gimtajame mieste. Štai tikrai geras klausimas. New York City, nebent kas nors žino. Kiekvienas yra iš Niujorko yra pamoka atimti iš šiandien. Taigi šis pareiškimas būtų įterpti, kaip penktą iš eilės, su supervalstybe kelionės laiku ir Niujorko gimtajame mieste. Bet neprivalomas laukas iš esmės yra būdas nurodyti, kurie tiksliai stulpeliai norite įterpti dalykų. Taip, kad mes darome tai dabar, Andi, kelionės laiku, New York City, vyksta į miesto Kad mūsų table-- vardas, supervalstybė, gimtajame mieste. Ir jei jūs norėjo padaryti kažkas, išskyrus, kaip pasakyti nežinojo kažkieno supervalstybė, pavyzdžiui, kaip aš nežinojau Andi s supergalia pradžioje. Taigi viskas, ką aš žinojau, buvo jos pavadinimas ir jos gimtajame mieste. Ką galėčiau padaryti, tai galėčiau do-- aš ištrinti tai greitai. Noriu atnaujinti tik stulpelius. Ir tai, kai pasirinktinis stulpelis sąrašas ateina į žaidimą. Aš tik noriu atnaujinti vardą ir gimtajame mieste. Ir tada aš pasakysiu vertybes. Aš tai padaryti Andi ir Niujorke. Jei aš praleido stulpelių sąrašą ir tiesiog padaryti šiuos du dalykus, kur būtų Niujorkas dingo? Kuris stulpelis būtų Niujorkas Miestas buvo dedamas? Žmonės turi kokią nors idėją? Supermocarstwo, tiksliai. Taigi tai bus tik eiti tam. Ir kai jis pasiekia pabaigos sąrašas, jis bus tiesiog sustoti pildymo dalykų. Ir vertybės, jis bus klijuoti visi stulpeliai tik bus niekinis. Taigi todėl, kad mes nurodyta pavadinimas ir gimtasis miestas, mes ketiname turėti ID 5, pavadinimas Andi, supervalstybės NULL. Taigi supervalstybė yra grąžinamos vertė. Jūs nebūtinai gauti tie patys Valgrind klaidų, jei bandysite ir jį pasiekti. Viskas bus gerai nulis iš, nes NULL yra vertybė SQL. Tai yra pastovus. Ir tada gimtajame bus Niujorkas. Taigi, kad apie į komandą Įterpti. Prieš mes pereiti, ten du komandos. Ar žmonės turi kokių nors klausimų apie UPDATE apie INSERT INTO, apie SQL Apskritai, kol mes judėti ant mūsų galutinis bitai? Žmonės jaučiasi gerai, puiku. Love it. Taigi pakalbėkime apie SELECT. Ėjimas griovių UPDATE čia. Ir pasirinkite bus labai panašūs. Iš SELECT tikslas, Pasirinkite gyvenimo tikslas yra suteikti jums stulpelių krūva kad atitinka tam tikras sąlygas. Ir kai aš sakau patenkinti tam tikros sąlygos, jūsų protas galėtų iš karto grįžti į tą WHERE kad atėjo į atnaujinimą. Ir kad sąlyga yra tiksliai ten pasirinkite. Jei mes neturime įdėti kur sąlyga ir sakome Pasirinkti Pavadinimas, hometown-- spelta, kad šiek tiek wrong-- vardas, gimtajame IŠ Tabela1. Jei mes tiesiog pasakyti, kad tai, ką pasirinkti ketina duoti mums tai yra ketina duoti mums double-- stalą, o. Dvigubas masyvas, jei mes galvoju apie PHP jausmus. Bet tai tik ketina duoti mums dvigubas masyvas iš dviejų columns-- vardu, ir gimtajame mieste. Ir tai bus ignoruoti ID. Ir tai bus ignoruoti supervalstybe. Ir tai bus tiesiog duoti mums kiekvieną vienoje eilutėje tos lentelės. Taigi, jei mes tiesiog įterpti Ieva, mes turime Andi. Ir mes turime originalų keturi. Jei jie buvo atnaujinti, kad bus atsispindėti et cetera et cetera. Taigi, tai yra todėl, kad mes nesinaudojo WHERE. Tačiau mes galime jį naudoti tiksliai Tas pats, kaip mes jį naudojo atnaujinimas. Jei mes tik norime iš pavadinimų lentelės ir super galių žmonių, gyvenančių Niujorke, mes galime vykdyti pareiškimą kaip SELECT pavadinimas, superpower-- Aš tik ketina palikti that-- IŠ 1 lentelė KUR gimtajame = New York City. Taigi, tai eina į rodo, kad jūs galite gauti visiškai skirtingus stulpelius, ir tada įdėti stulpelius, kad nesate net gauti atgal į WHERE. Mes net norime gimtajame visiems. Bet mes norime vardą ir žmonių supervalstybė kurio gimtasis miestas yra Niujorkas. Štai ką mes galite padaryti su WHERE sąlyga yra, mes galime kovoti su stulpeliais kad mes nebūtinai nori atgal. Tuo pačiu būdu atnaujinimas, galime spręsti su stulpeliais, kad mes ne visada norite atnaujinti. Galime atnaujinti visiems ramiai kas vardas Sam, pavyzdžiui. Mes galime atnaujinti, ramiai Kiekvienas, kurio identifikacinis numeris yra 2. Taigi tiesiog atnaujinti miesto antrosios eilės kur mes neturime kovoti su būtina, bendras klausimas. Ir ištrinti yra, kaip jūs norite tikisi, DELETE FROM Tabela1. Ir tada mes turime kitą WHERE. Taigi, mes galime pasakyti, kur id = 1. Išbraukti pirmą eilutę. Ir ištrinti visada bus ištrinti eilutę, ar ji bus ištrinti kai eilučių skaičių. DELETE FROM stalo, kur gimtajame = New York City Bus ištrinti visi Niujorke. Štai, jei ten buvo Staiga tragiška maras ir jūs tiesiog norėjo pašalinti kiekvienas iš lentelės, kuris gyveno viename mieste kad nukentėjo nuo maro. Tegu jie ilsisi ramybėje. Tai yra keturi SQL komandas kad jums reikės naudoti. Galbūt net nereikia naudoti juos visus. Tačiau tai yra keturių kad CS50 tikisi jus kad būtų patogu su vyksta į tiek viktorina 1 ir pset7 ir pset8. Yra tik ši lentelė dar kartą. Šiuo vieną, Roy supervalstybėje buvo atnaujintas lazerio spinduliai, kurie yra pavyzdys, aš ne naudoti. Aš nežinau, kuris iš jų Roy nori, bet jėga. Roy turi stiprumo supervalstybe. Katherine nepadarė šiandien. Tai gaila. Bet ji turi super greitis. Gerai, kad buvo PHP. Prieš kalbame apie MVC, ar kas turite klausimų apie PHP? Dabar SQL arba PHP, jei staiga turi sugalvoti klausimą apie PHP? Didysis. Gerai, mes visi nustatyti tada. Taigi kalbėti truputį apie modelio vaizdo valdikliai, grįžkime prie kai iš pset7 stuff. Taigi, kas modelis vaizdas valdiklis is-- aš nesu ketina išsaugoti savo pakeitimus prisijungti nes aš visiškai išžudyta ją. Bet iš esmės mes turime du atskiri dalykai vyksta. Mes turime visuomenę katalogas, kuriame yra kodas, kad vyksta turi būti vykdomi ir tinklalapius, kurie bus aplankyti. Ir mes taip pat turime šį peržiūros katalogą. Ir peržiūros yra šablonus. Tai yra tai, ką funkcija render-- matėme tinko funkcija iš PHP kodo krūva kad CS50 jau parašyta už jus, kad mano tam tikrais parametrais. Kas tas kodas daro jis vyksta į nuomonėmis, kurie yra rinkinių, kaip prewritten HTML kodas, ir tai įterpiant vertybes į tam tikras vietas. Tai kaip tada, kai jums eiti į CS50 Finansų, tas pats antraštė yra kiekviename puslapyje. Tas pats apačia yra kiekviename puslapyje. Taip yra todėl, kad taip, kad padaryti darbus tai bus automatiškai pleistras toje antraštėje ir Žiūrovas, kurį galite rasti nuomonėmis. Mes iš tikrųjų gali eiti į antraštę ir atrodo, tai HTML failą su galva. Jis gavo keletą stilių. Jums nereikia ieškoti CSS už pset7 jei nenorite. Bet jūs galite keisti juos, jei norite, kad Jūsų Finansai atrodyti šiek tiek kitoks. Jis gavo kai PHP antraštės šiek tiek pamatyti jei yra kitoks pavadinimas ji turėtų įdėti į šį antraštėje. Bet tik kai kurie kiti scenarijai, ir nuorodos, ir kitų dalykų. Vadovas baigiasi, organizmas pradeda ir Oi, mes turime šį keistą mažai pabaigos tiek. Ir ten div, kaip beformės rūšies elemento kad turi vidutinio idėją. Ir tada, kai matome, poraštės, mes turime div pabaigą. Turime dugną, kuris yra kur apačia tekstas. Pabaiga div pabaigoje kūno, gale HTML. Taigi, ką padaryti yra darote, yra padaryti yra tarsi užtaisymo iki antraštę A skiriasi PHP failas, kuris bus pateikta faktinius dalykus, kurie jums peržiūrėti, kaip jūsų stalo atsargų jei jūs perkate ar parduodate atsargas. Ir tada jis bus įtraukti į apačią. Ir modelis vaizdas valdiklis idėja yra ta, kad mes nori atskirti, kaip viskas atrodo iš kodo. Tai norime atskirti frontend ir posistemės, kur front yra Daiktai, kad vartotojas mato, gražus visuals-- HTML, CSS, tokie dalykai kaip, kad vaizdai, ir taip toliau. Ir posistemės yra PHP. Tai kodas, rašote. Tai kur kodas tai daro realius darbus. Tai yra, kai jūs pridėti akcijų savo stalo, kai jūs perkate, ir pardavimas, tai vidinis. Ir mes galime, kaip matėte, įskaitant PHP tiesiogiai HTML. Taigi, ką mes galėjome padaryti už Ši užduotis yra tiesiog turėjo HTML failą kiekvieno puslapio, pavyzdžiui, prisijungimo. Ir tada tame puslapyje, tiesiog turėjo didžiulį blokas PHP kodas, įskaitant visų kodą, kad kad puslapis specialiai reikės. Ir tada mes galėtume turėti padaryti, kad portfelio. Mes galėjome padaryti visus pirkimo ir pardavimo per atskirus puslapius. Bet kadangi mes teikimo atskirai nuo kur mes raštu varikliukus kodas, mes galime lengvai pakeisti, kaip viskas atrodo be keičiasi kiekvieną failą. Mes tokie dalykai kaip tik pridėti naujas skyrius į dugną of-- Sveiki, aš keistas apačią. Jūs galite tiesiog padaryti stuff like that. Bet taip pat, galite pakeisti visa vaizdo išdėstymas nepaveikiant kas vyksta posistemės. Ir jūs galite pakeisti Visas vidinis ir vis dar kad jis atrodo kaip ji tai padarė anksčiau. Tai Ar modelis vaizdo valdiklio idėja. Ir tai tikrai primestas paradigma kai kurie iš programavimo kalbų Jūs galbūt norėsite naudoti galutinių projektų. Jei iOS plėtrą, jie turi nuomonę, o tai, ką matote ant iPhone, o tada programinės sąsajos, taip tarsi atskiras dalykas. Jūs galite galvoti apie trupučiu. Yra binariškumo aikštelė kompiuterių mokslas, kuris yra juokinga, nes viskas yra iš dvejetainės. Aš neplanavo, kad. Tai buvo kalambūras nelauktas. Taip, kalambūras neketinama. Bet kaip .h failus ir .c failai, ten atskirti daug dalykų, kad mes gali ne reikia. Taigi, mes galime tik redaguoti H failus, arba kas nors gali tiesiog pamatyti .h failą ir žinoti tiksliai funkcijas, kurie yra .c failas nebūtinai žinant jų įgyvendinimas. Ši atskirti komponentų idėja kad priklauso vienas nuo kito bet Rūšiuoti galite prieigos tarpusavyje per skirtingus kanalus, einančios kintamųjų, tiesiog apima teiginius, dalykų kaip kad šis principas padeda kurti programas kurios gali būti lengviau redagavo daug žmonių, gali būti lengviau pakeistas ar keistas didelio masto, ir yra lengviau debug į daug būdų. Tikrai greitas, turiu keletas patarimų pset7, kurios aš padaryti per visą ekraną, todėl jums nėra tik žiūri the-- patarimas patarimas Tippee. Yra ne kad daug patarimų. Bet minėjau PHP yra sunku derinti. Dviviečiai ir triviečiai ją patikrinti. Jei jūsų kodas yra tiesiog nėra rodyti puslapyje, tai tikriausiai PHP klaida, atsiprašau. Jūs niekada reikia ieškoti CSS, jei jūs nenorite. Bet kai baigsite, jis gali būti gražus įdomus dalykas, tiesiog eikite į ir netvarka su CSS parametrai. CSS ir HTML yra to paties modelio pavyzdys Peržiūrėti valdiklis stiliaus dalykas, taip pat, tiesa? Jūs galite turėti stiliaus žymes viduje HTML elementų. Bet jei jūs tarsi užsakomųjų juos CSS, jie lengviau redaguoti ir atkurti aplink, ir smagiai. Gydyti CS50 pagalbininkas veikia kaip juodosios dėžės. Jums nereikia žinoti ką tinku daro, bet pasitikėk jį visada daryti teisę dalykas, priklausomai nuo to, ką perduoti jį, tokie dalykai kaip šis. Ir aš norėčiau rekomenduoti žiūrėti Dovydo žingsnis po žingsnio, išgyvena visi stuff, o ne tik todos, bet tu tikrai gali gydyti Šie, kaip juodosios dėžės. Negalima eiti į šiuos funkcijos ieško klaidų. Ir sveikiname grąžą Mūsų Overlord Zamyla. Didysis. Ar yra kokių nors galutiniai klausimų prieš mes tarsi Bounce tą dieną? Ar aš vis dar gyvena? Didysis. Hi Livestream žmonių. Didysis. Ar yra daugiau klausimų? Nėra? Ir tada, manau, mes gera eiti šiandien. Aš klijuoti aplink šiek tiek Paskui, jei žmonės turėjo klausimus jie bijojo klausti ant upelio. Bet kitaip, turėti gerą dieną.