SAM LEVATICH: Karibu sehemu kwa ajili ya wiki hii. Sina Andi. Andi imeshuka wagonjwa leo, na mimi wamekuwa aina ya kuitwa katika dakika ya mwisho kuchukua juu. Ni msimu mafua, ili kuhakikisha kwamba wanakaa safi, kuosha mikono yako, na kula afya ili wewe pia si kitandani. Lakini bila zaidi wasiwasi, hebu kuanza. Leo, sisi ni kwenda kuzungumza kuhusu PHP kidogo bit-- jinsi PHP inahusiana na HTML, jinsi inahusiana na CSS, na baadhi ya mtandao mambo alifanya juu ya zoezi la mwisho. Sisi ni kwenda kuzungumza kidogo kuhusu SQL na jinsi gani unaweza kufanya kazi na database, ambayo ni sehemu pretty muhimu ya P kuweka 8-- P kuweka 7. P kuweka 7. Na kisha sisi ni kwenda kuzungumza kidogo kidogo kuhusu jinsi mtazamo controllers kazi na kwa nini hiyo ni falsafa nyuma baadhi kurasa mtandao wa kisasa na kubuni mbalimbali. Pretty sana mengi ya aina ya programu na maombi unaweza meli wanatumia mtindo huu, mtazamo mtawala mfumo, kwamba utakuwa na kutumia P kuweka 7, hivyo mimi itabidi kuzungumza kidogo kuhusu nini hiyo kuwa maarufu, kwa nini ni muhimu na nzuri. Na kisha mimi itabidi hatimaye kuendelea na baadhi ya vidokezo juu ya kukabiliana na P kuweka 7. Na kama tuna muda kushoto juu mwishoni, sisi kweli unaweza kufanya baadhi kazi ya kwamba pamoja. Hivyo, PHP. Kwa kweli, unaweza kuwa niliona Haya wewe si kweli kuwa kupiga mbizi katika it-- lakini P kuweka 6 na baadhi PHP kificho kwamba kinachoendelea. Na kwa sababu PHP ni C-kama lugha, PHP, tofauti na HTML na CSS, ni lugha ya programu, ambapo HTML na CSS ni tuli. Wao ni lugha ghafi kushughulika kwa mtindo na kwa mpangilio Visual. PHP ni mpango halisi. PHP ina mizunguko, ina conditions-- mambo ambayo yote hiyo ni furaha kuhusu C. Ina mambo machache ambayo ni kidogo kidogo bora kuliko C, ambayo tutaweza kuona, lakini nadhani njia rahisi kuzungumza kuhusu PHP ni kupiga mbizi katika. Hivyo mimi nina kwenda kulia ndani ya IDE katika hatua hii. Jambo la kwanza tunakwenda kufanya ni kweli kuangalia kidogo katika baadhi ya PHP kificho kwamba alikuwa katika P kuweka 6. Hivyo njia kwamba sisi kufanya that-- kabla, kwa njia hiyo sisi walikuwa wanakimbia server kwa appliance ni kwamba tunataka kuwa na type-- ama kutumia utekelezaji yako au utekelezaji wafanyakazi wa ya server.c kwa kwenda katika saraka na kukimbia server.c na ama hakuna arguments-- hivyo tu kuiita juu ya jeshi mitaa, ambayo ni nini pengine alifanya zaidi ya time-- na kisha kulisha yake saraka kwa ambayo kutumia kama mzizi wake ambapo tovuti ingekuwa kuwa kukimbia, kimsingi. Wiki hii kwa P kuweka 7, kama kubwa kama kanuni yetu kwa server.c ni, kuna watu ambao tayari Imeandikwa hayo faini juu katika CS50 ambazo zina kidogo utendaji zaidi, server programu ambayo ni uwezo ya kushughulika na zaidi kidogo ya ugumu kwamba tutaweza ona katika wote P kuweka 7 na P kuweka 8. Na kwa njia hiyo wewe kuanzisha server ni kwa kuandika tu, "apache50." Na kabla ya kufanya kitu chochote, wewe unataka kuhakikisha kwamba Apache 50 sio tayari mbio kama ilivyo juu ya mashine yangu, ambayo mimi mtihani. Na unaweza kufanya hivyo kwa kupiga apache50. Kuacha, na utaona kwamba ni kuacha mtandao wa kompyuta, kama unaweza kuangalia huko chini ya dirisha wastaafu. Na kisha tu kuanza, tuko kwenda kuwaita, "apache50 kuanza." Na kisha tunakwenda kulisha ni directory. Sasa, kwa sababu tunataka kuangalia baadhi ya P kuweka 6 kificho kuwa tulikuwa kutekelezwa, mimi kwa kweli kunakiliwa kidogo ya P kuweka 6 kificho katika folder yangu mwenyewe, ambayo unaweza kuona upande wa kushoto huko. Ni wito "SECTION8" katika barua zote mtaji kwa sababu mimi nina tu hivyo msisimko kuwa kuishi-streamed leo. Hivyo kama sisi kukimbia hii, ni lazima wote kufanya kazi kwa pretty ufanisi. Inasema, sawa, tovuti yetu ni sasa inapatikana kwa anwani ya IDE, kimsingi, ambayo ni nini ungekuwa kutumia hasa kama ilivyokuwa katika P kuweka 7-- P kuweka 6. Bahati yangu yote ni ripoti moja leo. Ili tuweze kwenda kuwa mitaani, kama wewe utakuwa kumbuka, na tu kubonyeza hii ndogo kifungo katika haki juu. Na wewe utakuwa kukumbuka kanuni hii, ambayo kilichotokea wakati waliingia ndani ya hello.php. Na nini kificho imeundwa kufanya ni wakati typed katika jina here-- kama wewe kusema Sam kwa sababu hiyo ni name-- yangu na mimi bonyeza Sema Hello, wakati tulikwenda ukurasa wa pili, jina kwamba ilitakiwa kuonyeshwa. Ni kusema, "Habari, Sam" au "Habari," jina chochote kuweka ndani yake hata kama tulikwenda kwa mpya kabisa mtandao ukurasa. Na hii ni aina ya kitu kwamba PHP anaweza kufanya kwa ajili yenu. PHP ni uwezo wa kupita data kati ya kurasa mbili za mtandao. Hii ni ukurasa tofauti kabisa. Utaona cheo ni "hello" hapa. Kwa kweli, wana cheo hicho, lakini mimi ahadi wao ni tofauti mtandao kurasa kama sisi kuangalia chanzo. Na unaweza kupita data hiyo ni aliingia katika uwanja huu maandishi, wewe kuwasilisha kwa ijayo ukurasa hiyo kuwa aitwaye up, na kisha takwimu ambazo ni uwezo wa kuwa huko katika hali yake ya sasa. Sasa sisi bado kutekelezwa huu wenyewe, ambayo ni nini tunakwenda kufanya hivi sasa kwa aina kupata ladha kwa jinsi PHP kazi, lakini wazo la msingi ni kwamba PHP-- unaweza aina ya kufikiria ni kama kazi. Kitu ambacho PHP unaweza basi wewe Je, ni inaweza kuchukua vigezo kwamba mchango katika ukurasa HTML njia ya matumizi ya PHP na fomu, na inaweza kupita wale kama vigezo ukurasa wa pili kwamba ni mizigo juu. Katika kesi hiyo, sisi ni upakiaji up hii ukurasa na "Kusema hello" kifungo. Lakini kwa sasa, mimi kwa kweli kufutwa baadhi ya kwamba kanuni katika hello.php kwamba ilikuwa kuwa kukimbia kwamba kweli alikuwa kuonyesha "hello, dunia "au" hello, Sam "au "hello," chochote kilichokuwa pembejeo tu. Hivyo kwa sasa hivi, tuko kwenda kufanya hivyo, kimsingi. Tunakwenda recreate kwamba na pia kuongeza baadhi ya utendaji zaidi, kufanya kidogo zaidi na hayo, angalia nini PHP ni kweli uwezo wa. Hivyo kwanza, hebu majadiliano juu ya faili hili, hello.php. Hivyo kama sisi kuvuta kidogo bit-- na sasa mimi nina aina ya kujaribu kitabu zote njia around-- kuna sisi kwenda. Utaona ni kuitwa hello.php, lakini syntax yake Inaonekana kama faili HTML. Hii ni kwa sababu PHP halisi katika faili hii yote ni kukwama kati ya hizi swali alama-kareti vitalu. Kila kitu hapa hapa ni kuchukuliwa kanuni PHP. Na utasikia taarifa kwamba wakati mimi kutoa maoni, utaona ukoo mbili mbele mikwaju. Na kama wewe utakuwa kukumbuka, katika HTML, kama mimi aina ya maoni, inaonekana kitu karibu na hii, ambayo ni maoni katika HTML. Hivyo kweli kila kitu kati ya hizi mabano angle mbili sasa PHP code, ambayo ni yalijitokeza katika ukweli kwamba hii ndogo maoni ishara yamegeuka maoni. Hivyo kila wakati kuandika kanuni PHP, hata kama hakuna kificho HTML nje ya hiyo, ni daima itakuwa iliyoambatanishwa katika mabano haya angle na alama ya kuuliza. Unaweza aina ya kufikiri juu it-- jinsi zote wa kanuni kwamba mbio katika mipango yako C ilikuwa iliyoambatanishwa katika int kuu, batili, brace curly, mwisho brace curly kauli. Na utaona braces curly katika PHP, pia, lakini hii ni aina ya kama njia kuu ya PHP. Hivyo sasa, ni jinsi gani sisi kufanya kitu chochote katika PHP? Sasa, PHP ni programu Lugha hiyo ni sana C-kama, lakini kazi kwenye mtandao. Hivyo suala moja ambalo wewe utakuwa immediately-- moja ya mambo ya kwanza kweli alifanya kwa C alikuwa wewe kuchapishwa mambo nje, sawa? Hivyo katika C sisi alifanya hivyo kwa printf kazi. Sisi akampa kamba, pengine kwa mstari mpya, na kisha sisi kuachishwa kwa semicolon. Hivyo njia kwamba tunakwenda kufanya hivyo katika PHP-- kwa sababu si printf kabisa. Ni kidogo ya syntax tofauti. Njia ambayo sisi magazeti mambo ya nje katika PHP ni tunasema, "echo hodi" au "echo" neno lolote. Na kwamba ina athari ya kufanya printf kwa kamba, "hello." Na inaongeza mstari mpya kwa hilo. Basi hebu sasa hivi kufanya sure-- Mimi itabidi zoom nje kidogo tena bit-- hebu kuhakikisha kwamba kwamba kanuni ni kazi kwa sababu nguvu huko sana vizuri kuwa mdudu katika kanuni hii kwamba tutakuwa na kukabiliana na. Hivyo server tayari mbio. Hivyo kama sisi kitabu nyuma chini kwa chini, yup, server bado mbio. Hivyo kama sisi tu bomba kwenye hii kidogo haki here-- welcome-- tunapaswa get-- kubwa. Sisi bado ni kuwa na ukoo "Kusema hello" mazungumzo, lakini wakati mimi aina katika "hi," tutaona kwamba maandishi "hello" kweli alikuwa kuchapishwa, ambayo ni hasa kama sisi inatarajiwa kwa sababu echo katika PHP ni kama kauli printf. Hivyo nyuma na kanuni, jinsi katika P kuweka 6 alivyofanya kificho usambazaji wewe ni zinazotolewa kufanya hivyo ili PHP ingekuwa pato kitu kwamba typed katika juu ya screen ya awali? Na kwa namna ya kuchunguza nini kinachotokea, tuko kwenda katika index.html, ambayo ni faili ya awali, kwamba faili inaonyesha juu ya screen hii na "Kusema hello" kifungo. Wewe taarifa kwamba kuna mambo yote classic tumekuwa kuja wanatarajia kutoka HTML kama kama mambo haya, haya vitambulisho iliyoambatanishwa katika mabano angle, kama PHP lakini bila alama ya kuuliza, ambayo inaonyesha jambo maalum kwa HTML. Tuna cheo, ambayo ni "hello." Na utasikia taarifa kwamba kama tuliona, cheo ni "hello" katika kesi zote mbili. Hebu kubadili hali hii moja na "kusema" hivyo tu sisi wanaweza kutofautisha wenyewe tulipo. Lakini sisi tumepewa mwili. Na kisha kuvutia kidogo, kidogo kwamba inaonyesha juu katika HTML, ni hili kipengele fomu. Na hivyo sisi tumepewa fomu. Na hii ni muhimu. Hii ni jinsi sisi ni kufanya kazi na PHP. Parameter hatua ya aina anasema kwamba hello.php ni nini tunakwenda kupeleka maadili katika fomu hii. Hii ni pale ambapo sisi ni kupita vigezo, hivyo kusema. Utagundua kitu kingine hapa ni kwamba mbinu ni "kupata." Kuna mambo mawili ya msingi mbinu ambayo itakuwa kuwa kutumia PHP kupita data kati ya kurasa websites-- mtandao, rather-- katika zoezi hili. Na mbinu hizo ni "kupata" na "baada." Kuna baadhi ya hila tofauti kati ya kupata na baada kwamba tutapata into-- sisi itakuwa "kupata" katika, kama wewe. Lakini kwa makusudi na madhumuni, kupata na baada ni wawili njia tu kwamba kupita vigezo kwa kunyonga tofauti kidogo. Kwa sasa, sisi ni kwenda kutumia kupata kwa sababu kupata ilikuwa ni nini ilitumika awali katika PHP faili la P kuweka 6. Na kwa kweli, kama tukienda katika na kuangalia kabla tumekuwa mwisho kitu kingine chochote, Mimi nina kwenda kusema hi to-- nini jina lako? Watazamaji: Elliot. SAM LEVATICH: Oh, gosh. Sijui jinsi ya Spell kwamba. Je, unaweza Spell kwamba kwa ajili yangu? Watazamaji: E-L-L-I-O-T. SAM LEVATICH: I-O-T? Watazamaji: Naam. SAM LEVATICH: Perfect. SAWA. Nadhani mimi kujua jinsi ya Spell kwamba. Pole juu ya hilo. Na tukisema "Sema hello," siyo si kwenda show up kwenye screen lakini, kwa sababu sisi iliyopita kificho kidogo. Lakini kama hatuwezi "Kusema hello" - OK, hivyo "hello" ni hapa. Lakini kama sisi kuchukua karibu angalia URL yenyewe, tutaweza kuona kwamba ni mwisho na hello.php? jina = Elliot. Hivyo, hii ni njia ya kuwasiliana na ijayo mtandao ukurasa vigezo kwamba tumekuwa kupita. Tulisema jina = Elliot. Na hiyo ndiyo hatimaye jinsi P kuweka 6 kupatikana kutofautiana kwamba sisi kupita katika kupitia fomu. Na hii ni kitu ambacho ni pekee kwa kupata ombi. Ombi get hufanya vigezo inayojulikana katika URL ya tovuti. Na wewe utakuwa kukumbuka, pia, P kuweka 6 kuwa wewe alikuwa na kuandika kazi kuwa kushughulikiwa na ukweli kwamba kamba hii swala inaweza kuwepo baada faili. Kuna inaweza kuwa alama swali ikifuatiwa na kimsingi idadi yoyote ya wahusika. Na kwamba ni nini hasa kinaendelea hapa. Na sababu alikuwa na Hazrat kwamba katika utekelezaji wako wa server.c katika P kuweka 6 ni ili kwamba unaweza kuwaambia PHP kificho kwamba jina = Elliot. Wewe zinahitajika ili kuweza Hazrat kwamba kati ya URL ili PHP faili katika swali alijua nini ilikuwa kushughulika na. Hivyo hopefully hii inatoa motisha kwa server.c sasa kwamba sisi ni kusonga juu ya nje ya C katika PHP. Basi hebu kweli kuzingatia kupata mambo kupita kwa njia ya kupata ombi sasa katika hatua hii. Mimi nina kwenda kuokoa hii. Hatukuwa kubadili jambo lolote. Inaonekana kama sisi tumepewa pembejeo shamba. Sisi ni kuweka tabia ya baadhi, kama tunaweza kufanya HTML. Haya ni mambo rahisi. Hatuna haja hizo. Lakini sisi tumepewa autocomplete mbali, ambayo kimsingi says-- unajua, wakati aina ya mambo ndani ya mtandao, wakati mwingine anajaribu kujaza kwamba katika kwa ajili yenu. Hivyo ni kitu kizuri. Tunataka kugeuka kuwa mbali kwa ajili hiyo. Hiyo ilikuwa ni uamuzi CS50. Ili tuweze kufuta kwamba kama sisi alitaka. Autofocus tu vijiti mshale katika fomu haki katika mwanzo. Tena, si muhimu sana. Lakini jina = "jina" - ni kidogo gumu kwa sababu ni jina na jina. Lakini tunaweza wameweza kubadilishwa huu kwa kitu kingine. Na kwa kweli, hiyo ni nini tutaweza kufanya hivi sasa. Tutaweza kusema "mtu," ambayo ni aina ya kama jina iwapo mtu inaelezwa kwa majina yao. Basi hebu kuifunga, reopen up kwenye tovuti yetu tangu server yetu bado ni mbio Apache 50, na tutaweza kusema, hello, hapa ni Elliot tena. Kwa nini? Hello. Na kama sisi kwenda juu hapa, tutaweza kuona kisha badala ya jina = Elliot, inasema mtu = Elliot. Na hiyo ndiyo matokeo ya moja kwa moja ya ukweli kwamba sisi tu iliyopita jina = "mtu." Hivyo katika pembejeo kipengele cha HTML fomu, shamba jina ni kitambulisho kwa parameter hiyo kuwa kupita. Ni kama kama wewe ni kujenga kazi "kuongeza" kwamba alichukua katika integers mbili na wewe alisema int a na int b. Hiyo itakuwa jina a, na kama alitaka aina nyingine, ambayo tunaweza kufanya tu kwa kuiga na pasting, basi tunataka kuwa jina b. Hivyo sasa tutaweza kuwa vigezo viwili kuwa ni kuwa kupita kwa njia ya kupata website-- ijayo ijayo mtandao ukurasa, hello.php. Na tunaweza kweli kuona kuwa tena kama tunataka. Hii ni njia rahisi ya kukabiliana na mtandao kificho katika IDE, kimsingi. Wewe kuanzisha server, kupata kukimbia, na kisha kila wakati kufanya baadhi ya mabadiliko, tu karibu faili kwamba tu kuwa salama. Kubwa ya kifungo nyuma ni gumu kidogo sababu inaweza mzigo mapema toleo la hata mmoja zaidi updated. Na kisha bonyeza tu yako kifungo tena, pop haki up-- loo, na sasa kuna aina mbili. Na hivyo kama sisi aina jambo moja katika kila one-- "jason Hirshhorn," kwa instance-- sisi kusema hello. Sisi kuangalia hadi saa vigezo yetu. Inaonekana kama sisi tumepewa, kama ilivyotarajiwa, jason = na b = Hirshhorn, ambayo inawakilisha vigezo mbili kwamba sisi kupita kwa kazi hii. Hivyo sasa hebu kweli kupata kutekeleza kwamba utendaji kwamba sisi alikuwa katika P kuweka 6. Hivyo sasa hivi sisi ni akirejea tu hodi. Na si kwamba muhimu sana. Tunataka echo baadhi kutofautiana kwamba ilipitishwa kwetu. Na tunajua jina la kutofautiana huu. Tuna na tuna b. Hivyo tunaweza kuchagua kurudia moja ama. Lakini jinsi gani sisi kupata hiyo? Naam, kuna baadhi ya vigezo kimataifa katika PHP. Na mimi nina kwenda kuandika nao katika maoni hapa. Mbili ndio muhimu zaidi ni kupata na baada kwa madhumuni yetu hivi sasa. Hizi ni arrays au, kitaalam, Mkwawa ambapo vigezo yetu kwamba sisi ni kupita kwa ijayo mtandao ukurasa kuishi. Na sisi watakuja kuona jinsi ya matumizi yao. Mwingine kumbuka mafupi kuhusu kanuni PHP na baadhi specifics wa hili katika C, kutangaza kutofautiana au kutumia vigezo, wewe kwanza alikuwa na kutangaza yao. Na nini mnatakiwa kufanya wakati wewe alitangaza wao alikuwa kusema int a au char b. Alikuwa na kutangaza aina ya haya vigezo kabla aliwaumba. PHP-- huna haja ya kufanya yoyote ya kwamba. PHP haina kuomba aina ya kutofautiana. Na kwa njia hiyo wewe kujenga kutofautiana badala kuliko kusema int, char, kamba ambayo ni kweli * Char, kama sisi know-- badala ya kufanya yote ya kwamba, kwa sababu kila kitu ni ya aina moja, typeless, tunaweza tu kutumia tabia moja, ambayo ni ishara ya dola. Na utaona ni tayari yanajitokeza up, kidogo autocomplete mambo. Na ni kusema kwamba _GET na _POST chaguzi mbili kuwa nina inapatikana kwangu. Baadhi ya mambo haya mengine ni vigezo vingine kimataifa katika PHP kwamba wewe utakuwa kutumia zaidi ya kozi ya P kuweka 7. Kwa sasa tunakwenda kuzingatia kupata na baada. Lakini hii ni msaada jambo ambalo IDE gani ambapo mara moja umefanya typed kwa kuwa ishara ya dola, kutakuwa na kuanza kujaza vigezo kimataifa au vigezo umefanya tayari kuelezwa. Hivyo kama alitaka kufafanua kutofautiana kuitwa "kamba," unaweza tu kuweka kwa sawa "hi". Na ni kimsingi rahisi kama hayo. Na kisha tunaweza kufanya kitu kama "$ kamba echo." IDE lazima kutupa baadhi makosa kama mimi nina kufanya kitu kibaya, hivyo hopefully mimi nina kufanya kila kitu sahihi. Lakini mende daima kufanya kutokea. Kitu kingine gumu kuhusu PHP ni kwamba ni si ulioandaliwa. Hivyo, pamoja na mipango C, ungependa kufanya kawaida ya kila siku of-- kimsingi, ungependa kufanya zangu kwa kanuni yako, utaweza kuokoa yake, na kisha wewe ungekuwa kufanya hivyo, ambapo ilikuwa ni kufanya hatua kwamba wito compiler, Clang, ili kufanya kanuni yako, kifungu hiki faili, ndani ya kutekelezwa. PHP ni C-kama, lakini ni kunyongwa juu ya kuruka na mtandao browser yako. Hivyo hakuna njia ya kujua. Kufanya bila kutupa wale makosa na manufaa, haki? Itakuwa kama, wewe hakuwa kutangaza kutofautiana huu kabla alijaribu kuitumia. Wewe alifanya hivyo mbaya stuff-- segfault wote, segfault, kwamba aina zote za nyakati furaha kwamba alikuja na kufanya. PHP ni upanga mbili-kuwili kwa sababu huwezi kupata makosa hayo, lakini hiyo pia ina maana kwamba huwezi kujua kweli nini mbaya na mpango wako kama wewe kukimbia tu ni na si kazi. Lakini HatiJava lazima kumweka nje baadhi ya mambo hopefully kusaidia kidogo syntactically kwamba unaweza kurekebisha. Hivyo sasa kama sisi kwenda juu to-- kusema, hebu karibu huo. Reopen. Na tuko nyuma kwa hapa. Hivyo sisi tumepewa kutofautiana na kutofautiana b. Na hawa si hatimaye jambo. Tutaweza kuwaita h na g kwa sababu hakuna fulani. Na sisi kusema hello. Sasa inaonekana kama kamba yetu "hi" ni kweli uchapishaji. Sisi aliumba kutofautiana kuitwa "kamba," kuweka kwa sawa "hi". Taarifa kwamba hatukuwa na kufanya malloc au kufanya safu tabia. Katika PHP, kwa sababu vigezo ni typeless, kamba ni sawa na char kwa makusudi na madhumuni. Hii inaweza kuwa "hi". Hii inaweza kuwa tu tabia k. Hii inaweza kuwa namba 1. Na haina huduma. PHP haina huduma ya juu aina ya kutofautiana yako. Au, haina huduma. Ni anayejali wakati wewe kujaribu na kufanya mambo kwa hayo, lakini haina huduma katika Tamko hatua. Na kama unaweza katika C, unaweza kutangaza masharti juu ya stack kama hii ingawa akisema "mkusanyiko" ni kidogo kidogo ya uwezo misnomer wakati tunazungumzia PHP. Lakini hatuwezi kuwa na wasiwasi juu ya hilo. Hivyo tulipata kamba yetu "hi," na sisi echo kamba. Hivyo sasa tumekuwa kujadiliwa vigezo. Hivyo sasa tunahitaji majadiliano juu ya kupata na baada na kufanya jambo la mwisho kwamba zinahitajika ili kweli kupata nyuma hii up kwa utendaji wa P kuweka 6. Hivyo sasa hivi tuko akirejea kamba, lakini sisi kufanya kuwa vigezo hivi kupata na baada. Na kwa sababu sisi ni kutumia Njia kupata, ni Inaonekana asili kwamba kutofautiana yetu kwamba sisi ni nia, wote a na b, itakuwa iko katika safu au kamusi, kitaalam kupata. Hivyo kama sisi kuanzisha kupata kama hii na groups-- yako mimi taabu kuingia na hawakupenda it-- lakini hapa tuna kupata. Na hivyo kupata tayari ipo. Ili tuweze tayari kuanza kupata baadhi ya mambo ya kupata. Kama hatuwezi kupata, syntax hii kwa arrays katika PHP ni sana C-kama. Sisi yetu mabano mraba mawili. Hivyo kama sisi kusema kupata katika kawaida safu, tunaweza kupata 0 ripoti, ripoti ya kwanza. PHP ni sifuri ripoti. Tunaweza kusema sifuri, moja, mambo two-- kama hii. Na nimekuwa akisema kwamba kupata ni kitaalam kamusi. Kwa hiyo kile PHP anafanya chini ya kofia, ambayo ni kidogo nicer kuliko C, ni tayari kutoa baadhi ni kamusi utendaji, ambayo ni meza kweli hash, au anajaribu, eti. Au, kitaalam ni inaweza kuwa kujaribu pia. Lakini PHP inatekeleza meza hash, ambayo hutengeneza kamusi ufanisi. Na hivyo tunajua jina ya kutofautiana yetu, haki? Ni kuwa alipita katika kamba swala na PHP. Tuna = h na b = g wapi na b ndiyo majina ya vigezo. Hivyo njia tuweze kupata thamani kwamba sambamba na ufunguo katika kamusi yetu ni tu kwa kusema _GET_GET [""]. Hivyo basi, tuna _GET [""]. Na kama sisi tu kuchukua nafasi ndani ya echo yetu, kama sisi echo _GET_GET [""] - na tutaweza kuona kama HatiJava kumtupia makosa yoyote kuhusu Haya tutaweza kuokoa kile na kuifunga nje. Kufungua it up. Hivyo sisi ni kufanya haki tu sasa, hivyo b bila kujali. "yake" na "naye" - "hum." "yake" na "hum." Sauti nzuri. Na kuchapishwa "yake," ambayo ni mwenda wazimu. Lakini hiyo ni nini hasa kilichojitokeza katika P kuweka 6. Kimsingi, nini P kuweka 6 ilikuwa doing-- echo hodi, name-- pasipokuwa na jina kutofautiana na ni haki anauliza wewe aina katika kwamba kidogo ya maandishi. Pia kulikuwa na baadhi kanuni za ziada ambapo ni pamoja na kama kauli, ambayo tunaweza kufanya hivi sasa. Tunaweza kusema kama ipo, ambayo ni utendaji ndani ya PHP, _GET Na kusisitiza, "jina" - ambayo ni kimsingi akisema, "kama jina imekuwa kujazwa katika" kwa sababu tungeweza tu clicked ya kifungo kuwasilisha fomu bila kuandika chochote katika shamba hilo. Na sisi kufuta kwamba katika yetu kirafiki curly braces. Tunaweza kuwa na mwingine kauli. Na kwamba wote ndani ya PHP pembe mabano, swali alama, pembe mabano, kama wewe. Na sasa tutaweza kuona kama hii kazi. Mimi kuendelea kusubiri kwa utatuzi na crap nje juu yangu, kimsingi, lakini ina bado. Labda ni mapenzi sasa kwa sababu mimi kuongelea. Yup. Ilivyokuwa, kwa kweli. Hivyo, hakuna kitu ni kuonyesha up. Hii ni kwa sababu ya kitu kibaya kwamba mimi aliandika katika kanuni PHP. Na mimi zilizotajwa debugging ni gumu kwa sababu katika PHP, sisi hakuwa kukusanya ni kabla na mkusanyaji haikuwa kama, hapa ndipo makosa yako ni. Lakini nini tunaweza kufanya is-- kufanya watu kukumbuka jinsi ya kuangalia mtandao mbalimbali maombi kwamba PHP-- au kwamba tovuti kutuma? [? Malin?] Alifanya hivyo katika hotuba mara moja au mbili. Unakumbuka ambapo sisi kwenda kupata madeni mbalimbali na 200 OKs, kanuni hizi zote ambazo kupelekwa kupitia HTTP kutoka mtandao ukurasa kwa ukurasa wa mtandao? Je, mtu yeyote kumbuka ambapo sisi kwenda kufanya hivyo? Watazamaji: Kwanza Chanzo. SAM LEVATICH: Kwanza chanzo. Hasa. Kama kwenda kwa wa Kwanza Source-- kamilifu. Hivyo Kwanza Chanzo pulls up mkaguzi. Na mimi nina kutumia Safari. Mengi ya wewe pengine kuwa kwa kutumia Chrome au Firefox. Lakini kwa muda mrefu kama wewe ni katika yoyote browser-- kisasa na kujisikia huru kufuata pamoja kama unataka. Unaweza aina ya juu ya kanuni hii au tu kuangalia ndani ya P seti 6 directory kwa baadhi ya mambo kama hayo. hello.php ni nini tuko sasa anafanya kazi kwenye emulating. Hivyo kuna aina ya tabo. Tunaweza kuangalia rasilimali zote. Tunaweza kuona kanuni chanzo. Hivyo inaonekana kama haikuwa hivyo kupata mwili zamani katika mwisho. Ni kupatikana makosa katika PHP na kusimamishwa kupakia mtandao mzima ukurasa. Sisi hawana hata mwisho tag kwa HTML au kitu chochote. Na kama sisi kuangalia mtandao, tunaweza kuona kwamba sisi ni kupelekwa ombi. Hii ni uwanja. Hii ni mahali. Ni waraka huo. Sisi ni kutumia mbinu kupata. Na ni nyekundu. Au, ilikuwa nyekundu wakati mimi hakuwa kuchagua yake. Je, mimi unselect hilo? Naam, ilikuwa nyekundu. Napenda kupata mahitaji. Huko ni. Sasa ni nyekundu. Hivyo ni nyekundu, ambayo ina maana alishindwa, ambayo ni mbaya. Basi hebu kuchunguza kwa nini haikuwa kushindwa. Hivyo yote Kwanza Chanzo Unaweza kimsingi kukuambia ni kitu yako hakuwa na kazi, ambayo tunaweza tayari kuona. Hivyo walau pale ingekuwa kuwa chombo muhimu zaidi. Na kuna baadhi ya upanuzi browser kwamba kuruhusu Debug PHP, lakini sisi siyo kwenda kwa kuandika tani ya PHP, hivyo ni pengine tu bora kuangalia njia ya kanuni yako makini na tu kuhakikisha kwamba siyo kufanya kitu kingine chochote. Basi hebu angalia kama muundo wa hii kama kauli ni ambapo tatizo ni. Nataka mzigo kwamba nyuma hadi hapa. Hello, hi. Hivyo kuna tatizo huko. Hivyo kwa syntax sahihi ya PHP, PHP ni kwenda kuwa C-kama katika kwamba utaona mizunguko. Utaona kama kauli. Utaona marafiki hao wote kwamba umefanya kuwa ukoo kwa kipindi ya hii muhula CS50. Lakini njia bora ya kufikiri jinsi ya kufanya kitu katika PHP ni kwa Google ni au kuangalia baadhi ya mifano ya kanuni PHP kwa sababu unajua utendaji. Unajua nini unaweza kufanya na mpango huo. Unaweza kitanzi. Unaweza nyakati kitanzi kama wengi kama unataka. Unaweza kitanzi katika yote aina ya njia tofauti. Unaweza kuunda kazi. Unaweza kuunda kazi ambayo piga kazi nyingine, kazi kwamba wito wenyewe. Na una majina kwa dhana hizi. Nimepata kujirudia, tanzi, kama, mtiririko mengine ya utawala. Na hivyo Google ni rafiki yako bora. Hata kusema, "PHP kama Kauli "na kuna itabidi kuwa tani ya posts na majibu ya watu wengine ambao wameweza alikuwa na maswali sawa na wewe, ambao ni mapya tu nje na PHP na ni curious kuhusu syntax kitu. Kwa sababu tuna anasa ya kuwa uwezo wa kuangalia kificho katika P seti 6, sisi kweli kuvuta it up na kuona kwamba OK, hapa ni kitu kuvutia. Hivyo hii ni nini ni kweli inaonekana kama katika P kuweka 6. Hivyo kama sisi kwenda kwa njia hii, tunaweza kuona kwamba tumekuwa got kadhaa wa haya kidogo PHP-kama alama swali bits. Na kuna si braces curly. Kuna colons. Na kuna curly inakabiliwa na katika PHP, lakini hii ni muundo na njia ya kufanya PHP kwamba kazi vizuri kwa HTML kwa sababu kama utaona, sisi ni kufunga mbali hizi PHP bits-- elses na ikiwa na wote wa that-- na kisha sisi ni interspersing HTML ndani yao wakati bado zifuatazo kudhibiti mtiririko zilizowekwa na PHP. Hivyo nina kwenda tu kwa kutembea haraka kwa njia hii kwa sababu ni mengi ya huo dhana kwamba tunafanya kabla. Sisi tumepewa kama si tupu, mabano, _GET_GET ["jina"]. Hii yote ni mambo sawa. Sisi ni kutumia _GET kamusi kwamba PHP inapeleka juu ya ombi la fomu, kwa sababu ni vigezo ya hatua, na mbinu ni kupata. Na kisha kwamba mwisho kwamba. Matumbo ni signifier tu kufanya hivyo kama ikiwa kauli kutathmini kwa kweli. Ni kama brace curly. Na kwa kweli, ni brace curly katika lugha zingine kama chatu, ambayo unaweza kukutana kama wewe tu kufanya hivyo kwa ajili ya mradi wako wa mwisho. Na kisha mstari huu, hodi. Kisha sisi tumepewa jambo hili weird. Sisi tumepewa mabano zaidi. Hakuna HTTP there-- au PHP, pole. Lakini kuna ishara sawa. Na kisha tuna kazi, htmlspecialchars (_GEThtmlspecialchars (_GET ["jina"]). Hii ni aina ya kama zaidi juu ya toleo la echo. Kama tulikuwa na kurudia kama njia magazeti mambo ya nje katika PHP. Hii ni kazi hiyo ni inavyoelezwa katika PHP kwamba atapambana na zaidi baadhi nasty wahusika na maadili Byte kwamba unaweza kuupitisha. Ni siku zote salama kutumia hii. Lakini echo kufanya kazi faini tu kama sisi siyo kushughulika na kitu chochote pia nasty. Na hivyo hii ina sawa athari za kimsingi, mambo haya katika kati ya swali alama ni tathmini na PHP. htmlspecialchars anarudi HTML nzuri kuchapishwa thamani ya _GET_GET ["jina"], dvs. chochote sisi typed katika fomu. Na kisha kutakuwa na kusema hello, comma nafasi, na kisha huo. Hiyo jambo zima kati ya mabano angle itakuwa kubadilishwa na chochote htmlspecialchars unaweka nje. Hivyo kwamba kimsingi sawa kwa nini sisi ni kufanya. Na tuna mwingine kauli hiyo ni hujambo dunia, ambayo hufanya akili. Hivyo sasa hebu kwenda nyuma ya yetu kificho na kuona exactly-- loo. Nilisema ipo, ambayo si jambo ambalo sisi alitaka kufanya. Sisi alitaka kusema si tupu. Na hivyo hii lazima kazi kidogo kidogo bora, si tupu _GET_GET ["jina"]. Na kwamba brace curly mechi kwamba brace curly. Sisi tumepewa braces curly yetu hapa. echo hodi _GET ["jina"]. Hebu angalia kama hii kazi vizuri kidogo. Bado tuko mbio server yetu. Habari Jason. Habari Jason. Na ni kazi wakati huo. Na hivyo ndiyo ushahidi kuwa unaweza kweli kutumia braces curly kwamba kujua na upendo katika PHP kificho katika HTML. PHP kificho hutolewa kwa wewe katika pset 6-- pset 6-- hutoa njia nyingine ya kufanya hivyo kitu kimoja. Hivyo basi, tuna nguvu. Tuna utendaji wa kutekeleza PHP kificho kwamba tuliona katika pset 6 na sisi wenyewe, kimsingi. Kabla ya kusonga mbele, ni nini baadhi ya maswali kwamba una katika hatua hii? Ndiyo [inaudible]. Watazamaji: Hivyo katika toleo katika pset6, wakati wewe kukimbia, kuna nafasi. Na naona ambapo nafasi ni baada ya comma. [Inaudible] kuanza mabano wazi. Jinsi gani unaweza kuingiza nafasi katika njia aliandika codes yako mwenyewe? SPIKA: Hilo ni swali nzuri. Na hivyo hebu kufikiri kuwa nje. Hivyo hiyo ni swali nzuri kwa kweli na moja kwamba sikuwa kuzingatia. Lakini hebu kufanya hivyo pamoja. Hivyo kwanza ya yote, nini Mimi nina kufanya kwa echo ni wakati sisi tu echo hodi, ni matokeo ya hodi. Kama sisi echo sasa hii kupata tarehe tofauti line, hebu kuchunguza nini kinatokea. Hivyo sisi bonyeza huu. Sisi kuendelea kusema, hi Jason. Hivyo tena, hatuna nafasi hii. Na hiyo ndiyo sababu, katika PHP, wakati tuna echo, bila kujali jinsi wengi spaces-- nope, si V-- bila kujali jinsi wengi nafasi sisi kuweka katika here-- kama sisi sasa mzigo kwamba tena, hi Jason. Naam, kuona, wote wa wale nafasi got kuliwa up. Na hicho ni kitu ambacho kazi echo gani. Hivyo utunzaji wa nafasi hiyo, na hii ni moja ya sababu nini huna kutumia mwangwi na matumizi htmlspecialchars badala yake. Mimi nina curious gani kutokea kama tulivyofanya hii ambapo sisi iliyoambatanishwa nafasi katika kamba. Mimi nina uhakika nini uaminifu kitatokea wakati mimi kufanya hivyo. Hivyo hiyo ni njia moja. Hiyo ni njia mojawapo ya kuchukua huduma hiyo. Kama kufuta nafasi katika kamba, kisha nafasi itakuwa pato vizuri na echo. Jambo salama kufanya ni kufanya htmlspecialchars. Hiyo ni daima bet salama. Lakini sasa tuna njia ya kufanya kwa echo kama ni lazima. Na katika njia sawa, tunaweza echo mistari mpya, aina zote ya mambo wewe ni ukoo kufanya katika PHP. Mtu mwingine, ni tena maswali ambayo watu wengine wana katika hatua hii kuhusu PHP? Kama watu walijitokeza kidogo marehemu, Nina furaha kukaa baada ya kidogo na majadiliano juu ya baadhi ya mwanzo. Na ni pia wote livestreamed, na jalada, ambayo ni mwenda wazimu. Hata hivyo, sasa hebu kufanya baadhi zaidi ya juu ya mambo na PHP. Na moja ya mambo ya kwanza wewe walikuwa kuletwa na katika C ni kwa mizunguko. Na PHP ina nguvu zaidi kwa kitanzi foreach aitwaye kitanzi. Na inaonekana kama hii kwa kila tupu kama tupu, mabano curly, kufanya lolote. Hivyo hii ni kimsingi shorthand. Angalia, kwa kitanzi kama syntactical ujenzi ilikuwa kushauriana katika C na katika mkutano lugha na mambo kama. Kushauriana katika C, just, kama shorthand kwa mengi ya aina ya mizunguko kwamba watu kuona. Kama wakati wewe aliandika kitanzi, kuna mara nyingi alikuwa initialization hatua kunyongwa haki katika mwanzo, a hali ambapo kitanzi bila stop-- na kwamba kipengele hiyo ni katika wakati kitanzi, au kwamba wakati ina hasa tu kwamba feature-- na kisha incrementation hatua mwishoni. Na hivyo utaweza mara nyingi kupata mwenyewe kuandika kanuni kama yafuatayo. Mimi nina kwenda kufuta baadhi ya haya. Lakini kama sisi ni iterating kupitia wahusika katika safu, Kwa mfano, kama tumekuwa got safu ya wahusika. Pole kuleta nyuma C. Mimi najua, unafikiri kwamba yalifanyika. Lakini ni tu kwa madhumuni ya kujifunza PHP, mimi ahadi. Hivyo kama wewe got char str ya urefu 8, na hebu kusema inasema Hellooo na trailing null. Kubwa, hivyo hiyo ni kamba yetu. Na kisha tulikuwa na kwa kitanzi. Tuna int i sawa 0. Na tunataka kujinasua wakati Str ya i sawa si sawa kwa null, kwa sababu sisi kujinasua wakati ni sawa na null. Na kisha sisi kufanya i ++ katika kila hatua katika kwa kitanzi. Kufanya kitu kwa str ya i. Hivyo fomula ya msingi ilikuwa, tulikuwa na safu hii kwamba sisi alitaka kutibu mambo kama tofauti. Lakini nini tulikuwa na kufanya ni tulikuwa na kimsingi kuunda integer tofauti kutofautiana kwamba alikuwa kuhesabu juu ya kila wakati sisi akaenda kwa njia ya kitanzi. Na kisha tunataka kuwa na kisha kuwaita strstr [i] wakati kile sisi kweli alitaka kufanya ni kwenda tu tabia na tabia, sawa? Hatutaki increment integer na kisha kutumia kwamba integer kupata kila tabia mmoja mmoja. Kweli tunataka tabia na tabia. Na hivyo kwa kila akili mahesabu ya kwamba kwa ajili yetu. Kama tuna safu, ambayo tunaweza kutangaza katika PHP kama just-- kama tuna kutofautiana kuitwa, hebu simu yake safu. Miujiza ya hakuna kuandika, ni kama kutofautiana nyingine yoyote. Ni tu safu. Na tuna kidogo [inaudible] kama 1, 2, 3, tu aina ya initialized safu. Ni sawa, ni hapendi foreach yangu. Lakini kama hatuwezi foreach-- kweli Mimi niliandika kwamba makosa kidogo. Kuna njia mbili za kufanya foreach kitanzi. Kuna katika syntax na kama syntax. Na sisi ni kwenda kufanya katika syntax kwanza, si kama. Hiyo ni kosa langu. Hivyo foreach num katika safu, echo num. Na PHP ni kunguruma katika mimi kwa sababu fulani. Ni kutafuta isiyotarajiwa katika katika kitu, ambayo ni kidogo ya kujisumbua. Lakini tutaweza kufikiri kwa nini kuwa ni katika wakati huu. Hivyo si kama hiyo. Hebu jaribu kutumia kama. Ni vyema katika kama syntax ni inaonekana. Basi hebu kufanya foreach safu kama num. Hivyo maelezo kidogo nini ilitokea tu ni kama syntax ni saying-- vizuri kwanza, hebu tuangalie nini hii Prints nje. Hivyo sisi kufungua IDE yetu. Sisi kwenda hapa. Sisi tunasema, Habari Jason. Na ilivyokuwa 123, ambao walikuwa yaliyomo wa safu kwamba sisi aliumba juu juu. Hivyo mbizi katika hii kitanzi foreach, tuna kutofautiana kuitwa safu ambayo ni safu ya idadi mitatu. Na kisha tunafanya foreach safu kama num, echo num. Na hiyo ndiyo zaidi Intuitive kuliko kwa lop. Sisi ni kusema, kutibu kila mmoja mambo katika safu kama num, Nataka unipe num. Na kwamba ni nini hasa ni kufanya. PHP ni kuhesabu kwamba unaposema foreach safu, na wewe ni kushughulika na safu, nini wewe ni kwenda kutaka iterate juu ni wahusika katika safu hiyo, ni ints katika safu hiyo, ni mambo katika safu hiyo. Na ni kuruhusu kuhifadhi vigezo wale kama num, na kisha tu pato num mara moja badala ya kusema, Nina variable kuitwa i, na kisha nataka pato strstr [i]. Na hivyo kuwa inaruhusu sisi kufanya mambo ya baridi. Kama kimsingi hatuna kujenga vigezo hivi kama i na kufanya yote mambo haya incrementation mwishoni. PHP inachukua huduma ya yote hayo kwa ajili yenu. Hivyo sasa hebu majadiliano juu ya foreach kama inatumika kwa _GET kamusi yetu. Hivyo tutaweza kutoa maoni hii haraka nje. Hivyo tuna _GET yetu safu. Tuna kutofautiana hii. Na ni got baadhi ya mambo ndani yake. Hivi sasa, sisi tu kuwa na kutofautiana moja kuwa alipita hiyo, ambayo ni jina. Lakini kama sisi vyombo vya habari Enter, sasa tunaweza kuwa na vigezo mbili. Tunaweza kuwa na jina na umri, kwa mfano, kama tunataka kupata umri na pia jina la mtu, funnily kutosha. Hivyo sasa _GET ni kwenda kuwa kamusi na mambo mawili, na mbili thamani jozi ufunguo. Na key-- kwanza mimi nina kwenda kwa kuandika hii moja juu ya bodi pia. Tuna kamusi yetu ni _GET. Pole, ni kidogo vigumu kuona. Lakini ndani ya kamusi yetu tuna jina, ambayo ni kwenda kuwa kitu kwamba sisi ni kupewa. Na kutakuwa na umri, ambayo pia ni kwenda kuwa kitu ambacho sisi ni kupewa. Na hii ni ukamilifu ya kamusi yetu. Hivyo ni got mambo mawili ndani yake. Na hivyo kwa sababu foreach mizunguko ni smart, sisi kufikiri, na kwa usahihi kufikiri kwamba foreach Unaweza iterate kupitia hii kamusi, uchapishaji nje maadili uliotolewa na jina na umri. Basi hebu kweli kufanya hivyo tu. Hebu kujenga foreach kitanzi. Na sisi ni kwenda kufanya kwa _GET kama. Na tunakwenda kufanya yafuatayo. Basi hebu angalia nini kinatokea kama sisi aina neno tu, na kisha kusema neno echo. Sisi ni pia kwenda kurudia mstari mpya tu kufanya hivyo wazi kidogo, nini kinaendelea. Basi hebu angalia. Siyo kunipa makosa yoyote. Na tutaweza kuifunga. Kwenye tovuti yetu, wewe ni kwenda kuwa kufanya mengi ya kwamba katika kipindi cha pset7. Hivyo tunasema jina langu ni Sam. Umri wangu ni 45. Sio. Lakini Prints nje, kama ilivyotarajiwa, Sam 45. Na hivyo utasikia taarifa kwamba nini foreach kitanzi did-- hapa, hebu kwenda nyuma na kwamba hivyo ni juu juu ya board-- tunapata _GET kama neno. Na kulikuwa na mambo manne katika _GET. Lakini tu kuchapishwa mambo mawili. foreach, kuwa upelelezi wake binafsi, kudhani kwamba kile sisi kweli alitaka Ilikuwa maadili, si funguo. Lakini kuna njia kwamba tunaweza magazeti nje funguo pia, kama sisi alitaka. Kama tulitaka pia kujua nini vigezo hivi waliitwa, kuna njia kwamba sisi Unaweza kupata huu pia. Na njia ya aina ya kufanya hivyo, hivyo tunaweza kusema, lets kweli mgawanyiko ndani thamani jozi ufunguo. Basi hebu angalia nini kinatokea sasa. Hivyo tuna muhimu. Tuna thamani. Tuna mwingine mpya mstari kwa readability. Na hebu angalia nini kinatokea tukifanya hivi sasa. Sijui umri gani Jason ni. Jason 15. Hivyo tuna jina Jason, umri wa miaka 15. Hivyo tulikuwa na uwezo wa kupata ufunguo na jozi thamani ya kamusi huu tu kwa kusema pointi muhimu kwa thamani. Na hiyo ndiyo foreach kisintaksia kidogo sukari ambayo inaruhusu wewe kupata mambo katika kamusi. Hivyo hopefully hii aina ya inasisitiza nguvu ya foreach kitanzi. Unaweza kutupa pretty much chochote ambacho inaonekana iterable, kama kitu chochote nyingi mambo kama safu, kama dictionary-- wale ni wawili mambo ya msingi wewe utakuwa kufanya kazi na wote katika maisha na katika pset 7. Hivyo unaweza kutupa mambo ambayo saa hiyo, na itakuwa kufikiri nini unataka kufanya na hayo. Ni itabidi kusema, sawa, mimi nina kwenda kupata mambo haya takwimu ambazo ilipitishwa na mimi. Na hicho ni kitu ambacho uko itakuwa ni ya kutumia mengi ya katika pset 7. Mimi nina kwenda haraka kitabu chini tu kuona ambapo mimi nina katika. Je, watu wana maswali katika hatua hii? Maswali wakati wote? Ndiyo? Watazamaji: Hivyo kwa ufunguo na thamani, unaweza jina hilo kitu kingine chochote na bado ingekuwa kazi? SPIKA: Oops. Wow, mimi kabisa kufutwa mstari mzima. Kazi kubwa. Kwa hiyo,. Ufunguo na thamani ni mkataba. Ni manufaa. Ungependa kupata baadhi kubuni pointi, labda baadhi ya pointi style kwa kufanya hivyo kwa sababu ni kweli zinaonyesha nia. Lakini tunasema a na yarp. Watazamaji: Huna kwa kubadili jambo lolote katika HTML faili ili kutafakari hayo? SPIKA: Si wakati wote. Watazamaji: Na tu anajua kwamba kwa sababu ya sawa than-- zaidi SPIKA: Ndiyo. Watazamaji: --that kiashiria kwamba that's-- SPIKA: Ndiyo. Hiyo ni foreach syntax, lakini ndiyo. Watazamaji: ni Kuna si aina. Kwa hiyo kile kama alitaka umri kuwa idadi tu? Je, kuna njia ya kufanya hivyo? SPIKA: Kuna njia ya kuangalia kama vigezo kuendana na aina fulani. Hivyo PHP anauliza kidogo zaidi kutoka wewe kwa sababu hakuna aina katika. Baadhi ya njia anauliza chini. Katika baadhi ya njia anauliza zaidi. Kwa sababu kama una tu kitu katika kutofautiana, hawana wazo ni aina gani ni. Lakini kama wewe ni smart kuhusu vigezo kwamba kuwapa aina ya na kuhakikisha kwamba kazi tu wewe return-- wanataka kazi kwa kurudi tu aina moja ya thamani ili kuwa unaweza kimsingi kutarajia kwamba kutofautiana kupata nyuma kutoka kazi itakuwa ya aina ambayo unadhani itakuwa, kimsingi. Lakini kuna baadhi ya mbinu ambayo unaweza kuangalia. Sikumbuki yao mbali juu ya kichwa yangu. Mimi nina kusubiri kwa kuwa na kurejea bluu. isint? isstr? Kuna njia kujengwa katika PHP ambayo yanaweza kuangalia aina ya vigezo kwa ajili yenu. Lakini kama wewe kuwapa vigezo smartly, unapaswa kuwa kufanya hivyo sana katika pset 7. Lakini njia hizo kufanya kuwepo. Na hicho ni kitu ambacho ni katika lugha yenyewe. Na Sikumbuki syntax sahihi. Tunaweza hata kuangalia ni juu. Lakini muda ni kiini. Je, kuwa na mtu mwingine una maswali yoyote zaidi? Ndiyo. Watazamaji: Nina moja tu zaidi. Hivyo alieleza njia GET, lakini wewe hakutaja njia POST. Je, sisi kuja nyuma na kwamba? SPIKA: Ndiyo, sisi kuwa kuja nyuma na kwamba. Hiyo ni nini hasa nilikuwa kutafuta katika simu yangu, ambayo sasa usingizi, lakini mimi itabidi kupata hiyo. Tu kuhakikisha sisi kugonga wote wa maelezo PHP. Yep, hakuna toleo la debugging. Ndiyo, tuna mambo kadhaa zaidi kwamba tunataka kufanya sasa katika hatua hii. Hivyo kuzungumza juu POST, ambayo zilizotajwa, Tofauti pekee kati ya kupata na POST ni kwamba kukumbuka wakati sisi inaonekana katika URL hii na tuliona, loo, jina ni sawa na umri na ni sawa na yarp ni haki URL huko kwa ajili yetu. POST ni kidogo zaidi ya siri kwa kupita wake wa habari. Hivyo kama wewe hakutaka mtumiaji kujua, kwa mfano, wewe hakutaka jina na neno la siri ya mtu sasa watumiaji katika na kuonyeshwa katika URL, ambayo ni jambo nzuri kwa sitaki katika URL, kwa sababu kuna mtu anaweza kuiona. Kama wao kuhusisha mtu ukurasa, wewe hawataki URL yao plastered huko, kwa sababu ambayo ingeweza kuruhusu watu kuingia tu kwa pasting ya URL badala ya kweli kujaza fomu. POST ni kidogo siri zaidi. Na mambo tu kwamba tutaweza kuwa na mabadiliko ni njia hii, mabadiliko kutoka kupata baada. Na kisha ndani ya HTTP, badala ya kupata safu _GET, tunakwenda kupata safu _POST. Na tutaweza taarifa kwamba, ikiwa sisi kufungua nyuma hii tena, Jason polepole kupungua katika umri. jina Jason, umri wa miaka 14. Mambo sawa pops up. Lakini sisi kwenda URL na vigezo wale ni huko. Na kwa njia hiyo POST passes-- hivyo kumbuka jinsi ya kuangalia chanzo cha ukurasa. Sisi kwenda kwa mtandao. Sisi kupata mahitaji. Na hili ni jambo jingine ambalo POST nitakupa onyo kuhusu. Unaweza kuwa na kuonekana sanduku, maandishi sanduku kama hiki katika kivinjari chako. Una uhakika unataka kupeleka fomu tena? POST ni nini 's kutuma fomu hizo. Kwa sababu kimsingi kama wewe alimtuma yako kadi habari kwa mtu, kwamba si kwenda show up katika URL. Hiyo inaenda kuwa ombi POST. Hivyo wakati wewe kupata mahitaji ukurasa, ni resending kwamba ombi baada. Hivyo sasa hatuna unataka kutuma kuunda tena kwa sababu si kwenda kujenga manunuzi yoyote duplicate. Na tutaweza taarifa kwamba chini hapa, Njia sisi ni kutumia ni POST. Na kweli alifanya kuhamisha ka. Ni kuhamishiwa 401 kati yao. Programu hiyo pretty vidogo. Lakini kuna mahali pa tuweze kuona maadili ambayo ni kuwa alipita. Kurasa za mtandao wenyewe unaweza kuona, lakini sisi kama watumiaji si na uwezo wa kuona, kama wewe ni hacker. Kama uko hacker nzuri, unaweza kuangalia. Kama unajua msingi muundo wa HTML, maadili itafanya wenyewe inayojulikana katika kurasa. Wewe utakuwa na uwezo wa kuona. Maadili watakuwepo, wao uko kidogo tu chini ya dhahiri kwa ajili yenu kupata, kimsingi. Je, tuna lolote zaidi maswali kuhusu GET, POST kabla, nini tunakwenda kufanya ijayo ni kweli kuangalia baadhi ya kanuni kwamba wewe ni kutoa katika pset 7, majadiliano juu ya jinsi anatumia baadhi ya dhana hizi, na majadiliano juu ya mambo ambayo unaenda kwa kufanya kidogo katika pset 7. Maswali yoyote zaidi kabla ya kuwa? Maswali zaidi nyie na? Kubwa. Haki wote, hebu angalia kidogo katika pset 7, hakuna shaka kile wewe ni msisimko wote zaidi kuhusu. I mean, hii ni kitu ambacho Daudi huenda kwa njia kidogo. Lakini tutaweza kuwa directories tatu katika juu, ikiwa ni pamoja na faili Configuration. Hiyo ni kwa databaser, ambayo tutaweza majadiliano juu katika dakika tano. Pamoja na, kamwe haja kuangalia katika saraka hii kama wewe hawataki lakini ni nzuri kwa kujua kuna kila aina ya wasaidizi. Wasaidizi ni kama kazi na manufaa. Na kisha tuna config, ambayo unaweka baadhi ya mambo up. Kuna baadhi ya kazi ambayo CS50 ina Imeandikwa kwamba ni katika msaidizi na config. Na baadhi ya PHP kwamba Tayari exits katika mafaili kufanya mengi ya aina zaidi ya butu mguu kazi kwa ajili yenu. Kama tukienda kwenye umma login.php, ambayo ni nini inaonyesha juu ya haki wakati wa kwenda katika pset 7. Tutaweza kuona kwamba kuna huu zinahitaji taarifa. Na kwamba aina ya kama mkali ni pamoja na alama pamoja na kama wewe ni wa kizazi karibu zaidi. Lakini hii kimsingi inasema kwamba mimi haja ya upatikanaji kwa kazi zote katika config.php. Na unaweza kuwa na kuhitaji kwa kila aina ya mambo mengine. config kweli inahitaji wasaidizi. Hivyo wakati wowote unahitaji config, uko pia ikiwa ni pamoja na au wanaohitaji wasaidizi pia. Hivyo kwamba inatoa huduma kwa watu wote baridi kazi ambayo sisi ni kwenda kutumia, mambo kama atatoa. Mimi nina kweli kwenda kupunguza huu chini kidogo. Hivyo kazi kisha tuko kwenda kutembea kwa njia muda mfupi kabla ya kuendelea na SQL kidogo kidogo ni login.php kazi, tu kwa sababu inatumia baadhi ya mada kwamba sisi tu kuongelea katika PHP. Unaweza kuona jambo la kwanza ni kama $ _SERVER. Hii ni kutofautiana nyingine kimataifa ambayo wewe ni kwenda kuwa kushughulika na. Ni kama _GET na _POST, lakini kile server ina ni hii unaweza basi wewe kujua kama njia ya ombi ilikuwa GET au POST. Kama hapo awali nini tunafanya ni tu katika kanuni zetu kwamba sisi aliandika, tulikuwa kubadilisha tu kuwa ni kupata na POST kutegemea na nini HTML ina. Lakini kuna kurasa ambazo zinaweza kupatikana kwa aina zote mbili ya maombi. Na unaweza kutaka kufanya mambo tofauti kulingana na aina ya ombi, kama kuingia gani. Hivyo unaweza kuangalia ombi hilo Njia kupitia kupata funguo, kupitia kwa kutumia ufunguo na kupata thamani ya kitu katika kamusi _SERVER. Hivyo hiyo ni mwingine wa kimataifa kutofautiana kama _GET na _POST. Kama ni kupata, tunataka atatoa fomu ya kuingia. Atatoa ni kazi ambayo kimsingi tu unaweka juu HTML sahihi na hupita baadhi ya vigezo. Jina hili ni parameter kwamba ni kutumika katika kuonyesha, oddly kutosha, jina la ukurasa katika swali, kitu hapa, kusema au hodi katika mfano wetu uliopita. Sasa tuna jambo tofauti. Mwingine kama ni POST, sisi kufanya baadhi ya mambo mengine. Sisi ni kutumia mbinu kwamba tupu. Ni haipo, ni mtupu. Na tuliona kabla, PHP ina kiasi haki ya kujengwa katika mbinu kwamba Daudi will-- kama kuna ni mbinu ambayo ni muhimu kwako, watakuwa wamehamasika na wewe katika kutembea kwa njia ya kwamba Daudi inatoa maelezo ya jumla katika mwanzo, na pia Zamyla ya kusaidia bits. Yeye ni nyuma ya kila mtu. Tunaweza vyote hufurahi. kuomba msamaha ni aptly aitwaye kazi kuwa tu kimsingi Prints nje ujumbe baadhi makosa, kwa sababu CS50 ni heshima sana. Na sasa hii, hii ni gumu kidogo kwa sababu hii Hapa ndipo sisi ni querying database. Sasa sisi si aliyesema kuhusu database. Na tunakwenda katika kipindi cha muda wa dakika tano au hivyo, kiwango cha juu. Lakini hii ni kazi kwamba CS50 ameandika kupata meza kimsingi kutoka orodha kwamba sisi ni kufanya kazi na katika pset 7. Mimi kwa kweli mbaya na yangu sifuri Indexing leo. Lakini ndiyo, ni 7. Hivyo swala hilo kwenda na kurudi safu, kimsingi ni muhimu kidogo. Na kwa sababu ya hayo hawana kuandika, hivyo safu ni safu ya arrays. Kwa sababu wakati sisi ni kufikiri kuhusu meza, nini tunakwenda kufanya ni, kama wewe kujifunza katika psets kama mchezo wa 15, hata hivyo ambapo alikuwa na kutumia mara mbili safu, sisi kimsingi safu ya wengine arrays hufanya meza. Na nimepata safu na nguzo. Na kisha unaweza kuzipata kama [0] [1], kupata [0] [1]. Mambo ya msingi kama hayo. Hivyo nini sisi ni kufanya hapa katika kazi hii, sisi ni kuuliza orodha kama mtumiaji hiyo ni kujaribu kuingia, ambayo itakuwa kutumwa kwa njia ya mbinu POST. Tutaweza kuona sisi ni kupata jina la mtumiaji kutoka _POST. Wao itabidi wametuma, user au wewe, atapeleka thamani kupitia fomu kupitia POST kwa sababu ni username na password mambo ya ajabu. Sisi ni kuangalia jina la mtumiaji kuona, ni hii katika meza? Kwa sababu kama mtumiaji ni magogo katika, basi jina la mtumiaji yao kuhifadhiwa katika meza ya watumiaji ambazo zipo kwa ajili ya tovuti hii. Hivyo kimsingi kama user ni katika orodha, swala ni kwenda na kurudi kuwa mstari, ambayo ni safu. Lakini sehemu gumu ni kwamba kama hata kama safu mbili tu ya mstari mmoja, hata kama ni mstari mmoja array-- kama nimepata basically-- kama nimepata ukubwa moja safu hiyo ni kufanya safu mwingine, wewe ni kweli kushughulika na safu moja. Lakini bado kutibiwa kama safu mbili. Na hii ni mahali ambapo wakati mwingine kupata gumu, kwa sababu sisi tumepewa safu hapa. Kutofautiana yetu ni safu. Na kisha sisi ni kujenga kutofautiana kuitwa safu mpya na kuiandaa sawa na safu ya kwanza ya safu. Na utasikia taarifa kwamba maoni anasema ni mstari wa kwanza na pekee. Hivyo hii ni gumu sehemu ambapo sasa kazi anaweza kurudi arrays kwa urahisi sana. Kuna si mallocs. Huwezi kuona mallocs. Hivyo huwezi kuona makosa seg. Lakini kazi bado kuwa kupita karibu arrays na data katika vikundi. Na una kuwa na wasiwasi wa nini hasa kazi yako atarudi. Na hata kama ni moja safu kama hii, swala bado ni kwenda na kurudi safu mbili. Hivyo kwa upatikanaji kwamba column-- au wewe unaweza kufikiria yote haya kama inverted tangu tunazungumzia safu. Lakini kupata kwamba mstari mmoja, huwezi tu kusema safu. Hata ingawa ni mstari mmoja, una Je, rowsrows [0] kwa aina ya kuondoa hii nje kidogo ya safu na na tu yako mstari mmoja. Je, baadhi ya mambo mengine. Kuna kazi aitwaye password_verify kwamba inathibitisha neno la siri kwamba alikuwa posted. Na kisha sisi kuona mwingine wa kimataifa kutofautiana hapa, _SESSION. Kimsingi kikao id ni jinsi gani kuweka wimbo ya kama mtu ni watumiaji katika au la. Hivyo sasa hivi kwa login.php, sisi ni magogo mtumiaji katika. Basi nini tunataka kufanya ni tunataka kusema kikao id ni sawa na mstari kitambulisho, ambayo inafanya hisia tu kwa sababu kila mstari itakuwa na kitambulisho mbalimbali idadi kama sehemu ya meza. Tutaweza kupata katika SQL katika pili, hivyo kama mojawapo ya hii Inaonekana kidogo kama blah, kisha wote watakuwa kuchukuliwa. Lakini tunakwenda kuweka kitambulisho sawa na Jambo sahihi, magogo mtumiaji katika. Kuomba msamaha kama kitu kitaenda vibaya. Na kwamba ni logins lengo katika maisha kama Profesa Malan kusema. Ili kwamba ilikuwa login.php. Na mengi ya kanuni PHP kuandika katika pset 7, wao utakuwa kidogo. Usisahau chmod kwa ruhusa sahihi. Kutakuwa na kidogo kuhusu kuwa katika mwanzo wa spec. Lakini PHP kwamba wewe ni kuandika ni kwenda kuwa kufanya mambo ambayo ni sawa na hii. Wewe ni kwenda kuwa kupata baadhi ya mambo ambayo ni aliyopewa na wewe katika vigezo kimataifa ya PHP kwamba ni kushughulika na sasa watumiaji katika user, kama kuna wamekuwa maombi kupelekwa huu ukurasa, mambo mbalimbali kama hicho. Na pia itakuwa uwezekano iterating kupitia safu ya jambo hili. Katika mbalimbali kazi, swala haina kurudi safu hii mara mbili. Na kama kuna zaidi kuliko safu moja ndani yake, kama kuna are-- ndiyo, kama kuna ni safu zaidi ya moja ndani yake, basi itakuwa meza. Na unaweza kutaka iterate kupitia safu ya safu hii kwa kutumia foreach kitanzi kwamba sisi ilivyoelezwa. Hivyo kama wewe kufanya foreach juu ya mara mbili safu, nini mapenzi word-- hapa, Mimi itabidi kweli kuandika hayo. Mimi itabidi kuandika haraka hapa. Kama tuna foreach wa safu kama mstari, nini aina ya mstari? Je, mtu yeyote kujua? Umeipata? Hivyo safu safu mbili. Kwa hiyo kile ni foreach kwenda kudai kwamba tunataka kutoka safu hii mara mbili kama sisi ni iterating juu yake? Tunaweza kudhani kuwa kimsingi ni kwenda kuwa mambo aidha, au safu, au nguzo, kimsingi. Na hivyo safu na nguzo sisi unaweza kutibu kama kitu kimoja. Kimsingi nini foreach kitanzi ni kwenda kufanya ni kwenda na kurudi safu. mstari ni kwenda kuwa ya aina mfululizo, ambapo safu safu mbili. Hivyo kama wewe kutoa foreach safu mbili, ni si kwenda iterate kiwango cha zaidi ya moja kirefu. Ambayo kimsingi ni kusema kama kuna ni seli nane katika hii table-- 1,2, 3: 4, 5, 6, 7, 8-- foreach kitanzi ni si kwenda kwenda kupitia katika kila seli hizi. Nini foreach kitanzi kufanya ilikuwa ni watapitia mstari huu, kukupa safu hii nzima. Na kisha kutakuwa na kwenda kwa njia ya mstari huo. Hivyo iterates tu ngazi moja kirefu. Ikiwa kuongeza nested foreach kitanzi, basi unaweza kutibu kila mstari akarudi kutoka safu, unaweza kufanya foreach mstari kama kipengele, hebu sema. Na kisha unaweza echo kipengele. Hivyo hiyo ni mafupi rejea kidogo juu ya jinsi unaweza kuwa na kutumia foreach loops katika mazingira ya swala. Je, kuna maswali juu ya PHP? Chochote wakati wote kabla ya sisi hoja juu ya kuzungumza juu ya SQL na furaha ya orodha? Hisia nzuri? Hisia nzuri. Sawa. Hebu hoja juu nyuma PowerPoint, ambayo pengine miss. SQL, yay. Watu walio katika sehemu yangu kawaida watajua kwamba vichwa vidogo ya Vifupisho ni daima tu maneno ya kwanza Nadhani ya kwamba mechi kwamba algorithm kwamba kifupi. Siyo algorithm. Hivyo SQL ni database. Ni lugha ambayo kazi na database. Na database yote ni ni meza, angalau kwa njia kwamba SQL inawakilisha yao. Njia nyingine ya kufikiri juu databaser ni databaser ni seti ya funguo na maadili kimsingi. Unaweza kufikiri juu database kama kamusi na pia kama meza. Kimsingi ni njia kujiunga data tofauti na data nyingine, mara nyingi kupitia safu na nguzo. Na hivyo ndivyo hiyo ni SQL kazi bora. Hivyo hii ni mfano mmoja wa meza. Mimi nimepata mifano michache ya Watu katika sehemu yangu, ambayo Sikuwa na muda wa mabadiliko. Lakini sisi tumepewa mambo kama kitambulisho, jina, superpower, na mji. Sijui ambapo mtu yeyote ni kutoka katika sehemu zangu, hivyo mimi nina kwenda tu kudhani kila mtu kutoka New York Mji sababu mimi na takwimu juu uwezekano wa kuwa sahihi. SQL moja kwa moja kuchukua huduma ya ID safu kwa ajili yenu. Kama kuingiza safu mpya ndani ya SQL database, itakuwa increment kwamba Nambari ya kitambulisho na tu kimsingi fimbo kama majina matano, superpower, mji, kila mtu kwenye mwisho wa meza hiyo. Hivyo ID ni safu utasikia kamwe kuwa na wasiwasi kuhusu. Lakini, kama katika kesi ya login.php, wakati sisi walikuwa kupata kikao ID kutoka meza na tu kwa kutumia kitambulisho, ID ni njia ya kipekee kutambua kipengele cha orodha. Hivyo kama tulikuwa wawili Sams, wote wawili wa ambayo kufundishwa CS50, na wote wawili wa nani walitoka katika Milwaukee, wale ingekuwa bado kuwa na idadi tofauti ID na hivyo kuwa na tofauti katika mazingira ya meza. Hivyo hii ni nini SQL ni kushughulika pamoja, kufanya kazi na katika mwisho ya nyuma. Hivi ndivyo amri nne kwamba itabidi kufanya kazi na SQL. Na mimi kurusha yao yote juu ya moja slide. Lakini tunakwenda kupitia wote mmoja mmoja. Amri ya kwanza ni UPDATE, ambayo anafanya nini unaweza kutarajia. Sema una baadhi ya data katika meza hiyo ni nje ya sasa. Kama wewe ni kuweka kama wimbo wa majina ya watu na umri, kama mtu ni umri kuongezeka, kisha wewe ni kwenda unataka kwenda katika na kuboresha umri tu kwamba mtu huyo. Kwa mfano ambayo inafanya kazi na table-- yetu ya kwanza msiwe na wasiwasi juu ya kuandika yote ya amri hizi kwa wakati mmoja. Lakini kama nimepata update chini, kwamba utakuwa mzuri kwa sehemu hii, kwa sababu tunakwenda kurudi nyuma na meza. Hivyo kama sisi kurudi nyuma kwa meza, hebu sema kitu kilichotokea ilikuwa palikuwa na tetemeko au kosa mstari kwamba mgawanyiko moja kwa moja kupitia jiji la New York. Na tulitaka update kila mtu waliokuwa wakiishi katika jiji la New York. Wao wote walikuwa na hoja ya Pennsylvania. Hiyo si mji. Wao wote walikuwa na hoja ya New Haven. Kuna sisi kwenda. Hivyo kila mtu mjini New York hatua ya New Haven. Na hivyo ndiyo kitu ambacho ni uhariri safu tatu katika meza hii. Lakini katika SQL, unaweza kufanya kuwa katika taarifa yake moja tu. Hivyo sisi kurudi nyuma kwa UPDATE. Napenda haraka kufuta bodi hii tena. Wakati tunazungumzia uboreshaji, kuna sehemu chache ya syntax kwamba ni muhimu. Naam, yote ya syntax ni muhimu. Lakini mambo katika kijani ni ya hiari. Nyeupe wanatakiwa, kama predefined majina. Na bluu mwanga ni mambo kwamba kutofautiana kulingana na meza. Hivyo kwamba ni nini kinaendelea na mpango wa rangi hapa, hadi pale. Hivyo kama tunataka update tu wale mistari ya watu ambao wanaishi mjini New York, hivyo nini tunataka kufanya kama sisi alisema UPDATE? Hivyo meza ni mahali ambapo sisi kuweka jina la meza yetu. Hebu tu kusema jina ya meza yetu ni meza moja. Hivyo tunataka UPDATE meza moja. Na tunataka set-- je, tunataka kuweka? Naam tunataka kusema, hivyo column-- PHP chipsi safu kama vitambulisho vya kipekee. Na kisha nguzo ni nyanja mbalimbali ya mambo hayo ya database. Hivyo kipengele kwanza ya orodha ina jina la Sam, superpower ya CS50, na mji wa Milwaukee. Hivyo kama sisi alisema kuweka, hebu tuangalie vigezo tena kwamba kuweka inachukua. Tuna safu sawa na thamani. Hivyo tunataka kusema baadhi column-- ambayo kumbuka ni shamba lake; tunataka kuona shamba sawa na kitu kipya. Hivyo kama sisi tu alisema update meza 1, kuweka jina sawa Elliot. Kupata baadhi ya watu kutoka sehemu mpya katika juu ya hili. Lakini kama sisi tu alifanya update meza 1 kuweka jina sawa Elliot, gani meza ya kuangalia kama baada ya hapo? Watu kuwa na wazo lolote? Naam. Watazamaji: Kila kitu katika kuwa mstari bila kuwa Elliot. SPIKA: Kila kitu ambayo mstari? Watazamaji: Katika safu ya kwanza. SPIKA: Katika safu ya kwanza? Kwa nini safu ya kwanza? Sina maana ya kuchukua juu yenu. Watazamaji: Labda kila kitu katika meza nzima? SPIKA: Kila kitu katika meza nzima, ndiyo. Na kwamba ni kweli kabisa because-- mimi mara tu kusaidia nje kidogo there-- kwa sababu sisi liliondolewa hiari WAPI kifungu. Kama huna WAPI kifungu, nini amri hii kufanya ni kutakuwa na kazi kwa kila moja mstari katika meza. Jina la kila mtu mapenzi kuwa Elliott, kimsingi, ambayo Elliot ni furaha sana kuhusu. Au Yanni, mmoja wa hao wawili. Lakini jina la kila mtu itabadilika. Hivyo jinsi tunavyotumia WAPI clause-- na hii inatumika kwa wote wa Wheres walio katika kila moja ya hizi mambo mbalimbali. Hivyo utasikia taarifa kwamba SET ina safu thamani sawa. Na hivyo haina WAPI. Lakini haya ni tofauti aina ya kauli. Hivyo safu sawa na thamani katika SET ni katika kazi. Kama sisi ni kusema tunataka kuweka jina sawa na Elliot. Lakini katika vifungu WAPI, hizi ni kauli usawa. Hivyo hebu sema sisi tu alitaka kubadili jina la mtu kwa Elliot kama jina yao ilikuwa Ryan, hebu sema. Hivyo wakati sisi kusema WAPI jina sawa na Ryan, kwamba ingekuwa mabadiliko kwa mafanikio tu name-- ingekuwa tu kubadili jina uwanja katika safu ambapo uwanja jina lake ni sawa na Ryan. Hivyo kama tulikuwa na watu mbalimbali aitwaye Ryan, wote majina yao bila mabadiliko kwa Elliot. Hii ni sawa na mfano ya kama kosa mstari kugawanyika New York City na kila mtu ana hoja ya New Haven, njia tunaweza kufanya hivyo katika taarifa moja ni UPDATE table1 SET mji = New Haven ambapo mji ni sawa na New York City. Hii ni nguvu ya UPDATE taarifa. Tunaweza kuchagua idadi yoyote ya safu kupitia kauli ya kweli kuhusu mashamba katika safu hizo. Hatuwezi kusema UPDATE table1 kuweka jina = Elliot WAPI mstari = 1, isipokuwa kwamba tunaweza tukisema ID = 1. Hivyo sisi ni kwenda kuwa kufanya kazi na usawa ya mashamba, usawa wa nguzo. Lakini kwa kutumia uwanja ID ni njia ya kuchagua safu ya mtu binafsi hasa, kwa sababu uwanja ID ni ya kipekee kitambulisho katika SQL database. Hivyo kama kuhuisha mstari mmoja, ID ni sawa na 1. Kuhuisha mstari wawili, tu mabadiliko hayo ID idadi. Lakini nguvu za WAPI kauli ni kwamba sisi anaweza kuweka upya mambo kulingana na kile wao maadili ya sasa ya mambo fulani ni. Ndiyo Elliot? Watazamaji: Na nini kama unataka to-- tena, hii ni swali jingine. Lakini swali langu la kwanza lilikuwa, ambapo hii inatokea? Ambapo mimi kuhuisha hili? Je, hii ni katika kanuni PHP? SPIKA: wapi wewe update, ndiyo. Sisi ni kwenda kuzungumza kuhusu ambapo yote haya ikitokea aina ya mara moja sisi kwenda kupitia amri zote. Lakini nini unahitaji kujua kwa sasa ni kimsingi kwamba SQL database yako lipo kama kitu kupatikana kwa swala kazi, ambayo CS50 amefafanua. Hivyo kama wewe kutumia kazi swala, unaweza kupata meza hii. Hivyo utakuwa kutuma hizi amri meza yako katika mafaili PHP kupitia kazi swala. Unaweza pia kucheza karibu na meza yako moja kwa moja. Na hiyo ndiyo njia bora ya mtihani aina hii ya amri. Na tutaweza kwenda kupitia hasa jinsi kufanya hivyo katika kidogo tu. Hivyo hiyo ni UPDATE amri. Na maeneo mengine ya amri ni kwenda kuwa aina ya sawa, kazi ya mambo kama hayo. Kuingiza KATIKA pengine ni zaidi tofauti na UPDATE. Mimi ataondoka kwamba hadi pale kwa kidogo tu na kazi zaidi ya hapa. Hivyo Kuingiza ndani, utaona meza kwamba bado ni sawa. Unataka Kuingiza ndani. Mtaji, SQL ni kesi isiyojali. Hivyo huna kwa capitalize mambo haya. Kwa mkataba huo, maneno katika nyeupe ni mtaji. Lakini pia rangi coded yao. Sababu tu kwamba wewe capitalize hizo, wakati wewe ni kuandika yao ni tu kusisitiza kwamba wale ni constants. Na hivyo unaweza ama tuangalie mtaji au ukweli kwamba nimepata rangi yao tofauti. Hivyo sisi tumepewa kuingiza KATIKA, hebu kufanya table1 tena. Hii yote ni juu ya mstari mmoja. Mimi tu kutenganisha hiyo kwa Taarifa mbalimbali. Hivyo msiwe na wasiwasi kuhusu ukweli kwamba table1 alifanya hivyo kwenye mstari wa pili. Hivyo tunataka kuingiza KATIKA table1 baadhi maadili. Na utasikia taarifa ya hiari kidogo, ambayo mimi itabidi kupata katika pili. Hivyo sisi tumepewa MAADILI. Basi hebu kusema tunataka kuongeza Andi kwa meza yetu, kwa sababu sisi miss Andi. Andi ni wagonjwa. Basi hebu kuongeza Andi kwa meza yetu. Kumbuka kwamba idadi ID ni updated moja kwa moja. Hivyo mashamba tu sisi haja ya kuwa na wasiwasi kuhusu ni jina, superpower, na mji. Na hivyo kwa njia hiyo sisi kufanya hivyo, kuangalia syntax yetu, ni tumekuwa just got mabano, na comma maadili kutengwa, ambayo kila mmoja ni thamani. Hivyo kama sisi alitaka kuingiza Andi katika yetu meza, wote tuna kufanya ni haki Andi. Nini superpower Andi wa, Watu katika sehemu Andi Mungu? Yeye kama ndege, au kama kasi, au kitu. Je, tayari tuna huko juu? Tuna CS50, ndege, kasi, na nguvu. Watazamaji: Muda kusafiri. SPIKA: Muda kusafiri, ajabu. Hivyo sisi tumepewa Andi, wakati usafiri, na mji wake. Hilo ni swali zuri. New York City, isipokuwa mtu anajua. Kila mtu ni kutoka New York ni somo kuchukua mbali na leo. Hivyo kauli hii ingekuwa kuingiza, kama mstari wa tano, na superpower muda wa kusafiri na mji wa New York City. Lakini shamba hiari kimsingi ni njia bayana hasa ambayo nguzo unataka kuingiza mambo katika. Njia ambayo sisi ni kufanya hivyo sasa, Andi, wakati usafiri, New York City, kinaenda ili halisi ya yetu jina table--, superpower, mji. Na kama wewe alitaka kufanya kitu kingine zaidi ya kwamba, kama kusema sikujua superpower ya mtu, kama jinsi Sikujua Andi ya superpower mwanzoni. Basi wote nilijua alikuwa wake jina na mji wake. Kitu ambacho ninaweza kufanya ni mimi naweza do-- mimi itabidi kufuta hii haraka. Nataka tu update nguzo. Na hii ni mahali ambapo hiari safu orodha linachukua nafasi. Mimi tu wanataka update jina na mji. Na kisha nasema MAADILI. Mimi itabidi kufanya Andi na New York City. Kama mimi alikuwa kuachwa orodha ya nguzo na tu kufanyika mambo haya mawili, ambapo ingekuwa jiji la New York wamekwenda? Ambayo safu ingekuwa New York Mji wamewekwa katika? Watu kuwa na wazo lolote? Superpower, hasa. Hivyo hii itakuwa tu kwenda kwa utaratibu. Na mara moja inafikia mwisho wa orodha, kutakuwa na kuacha tu kujaza mambo katika. Na maadili ambayo kutakuwa na fimbo katika nguzo wote watakuwa tu kuwa null. Hivyo kwa sababu sisi maalum jina na mji, tunakwenda kuwa na ID 5, jina Andi, superpower null. Hivyo superpower ni thamani uninitialized. Huwezi lazima kupata sawa Valgrind makosa kama wewe kujaribu na kupata huduma hiyo. Kila kitu itakuwa vizuri alizungumzia zaidi hali ilivyo nje, kwa sababu NULL ni thamani katika SQL. Hiyo ni mara kwa mara. Na kisha mji itakuwa jiji la New York. Hivyo hiyo ni kuingiza KATIKA amri. Kabla ya kuendelea, kuna mbili amri zaidi. Je, watu wana maswali yoyote kuhusu UPDATE, kuhusu kuingiza KATIKA, kuhusu SQL kwa ujumla kabla ya sisi kusonga kwenye vipande yetu ya mwisho? Watu kujisikia vizuri, kubwa. Naipenda. Basi hebu majadiliano juu SELECT. Kwenda shimoni UPDATE zaidi ya hapa. Na SELECT ni kwenda kuwa sawa sana. Lengo la SELECT, Madhumuni SELECT katika maisha ni kukupa rundo la nguzo kwamba kukidhi hali fulani. Na wakati mimi kusema kukidhi hali fulani, akili yako nguvu mara moja kurudi nyuma na kwamba WAPI kifungu waliopanda katika UPDATE. Na kuwa kifungu hicho ni hasa pale katika SELECT. Kama hatuwezi kuweka WAPI kifungu na tunasema jina SELECT, hometown-- yameandikwa kwamba kidogo jina wrong--, mji kutoka table1. Kama sisi tu kusema kwamba, kile CHAGUA ni kwenda kutupa ni ni kwenda kutupa double-- meza, badala. Safu mbili kama tuko kufikiria juu katika PHP akili. Lakini ni tu kwenda kutupa mara mbili safu ya mbili jina columns--, na mji. Na itakuwa kupuuza ID. Na itakuwa kupuuza superpower. Na kutakuwa na kutupa tu kila moja mstari wa meza hiyo. Hivyo kama sisi tu kuingizwa Andi, tutaweza kuwa Andi. Na kutakuwa na awali minne. Kama wao tumekuwa updated, kwamba mapenzi yalijitokeza, nakadhalika, nakadhalika. Hivyo hii ni kwa sababu sisi hakutumia WAPI kifungu. Lakini tunaweza kuitumia katika hasa njia ile ile tulikuwa katika UPDATE. Kama sisi tu wanataka meza ya majina na nguvu super ya watu wanaoishi mjini New York, tunaweza kutekeleza kauli kama jina SELECT, superpower-- Mimi tu kwenda kuondoka that-- kutoka table1 WAPI mji = jiji la New York. Hivyo hii unaendelea kuonyesha kuwa unaweza kupata nguzo tofauti kabisa, na kisha kuweka nguzo kwamba wewe si hata kupata nyuma katika WAPI kifungu. Hatuwezi hata wanataka mji wa kila mtu. Lakini tunataka jina na superpower ya watu ambao ni mji wa New York. Hivyo hiyo ni kitu sisi unaweza kufanya na wapi kifungu ni tunaweza kukabiliana na nguzo kwamba sisi si lazima wanataka nyuma. Kwa njia hiyo hiyo katika UPDATE, tunaweza kukabiliana na nguzo kwamba sisi si lazima unataka update. Tunaweza kuboresha mji wa kila mtu ambaye ni jina lake ni Sam, kwa mfano. Tunaweza kuboresha mji wa kila mtu ambaye nambari ya kitambulisho ni 2. Hivyo tu update mji wa safu ya pili ambapo hatuna kukabiliana na muhimu swali la kawaida. Na kufuta ni, kama wewe d kutarajia, kufuta kutoka table1. Na kisha sisi tumepewa mwingine kifungu WAPI. Hivyo tunaweza kusema WAPI ID = 1. Kufuta safu ya kwanza. Na kufuta daima kufuta mstari, au itakuwa kufuta baadhi ya idadi ya mistari. Kufuta kutoka meza WAPI mji = jiji la New York kufuta kila mtu katika jiji la New York. Hiyo ni kama kulikuwa na kutisha pigo ghafla na wewe tu alitaka kuondoa kila mtu kutoka meza ambao aliishi katika mji fulani kwamba ilikumbwa na pigo. Huenda wao kupumzika kwa amani. Hizi ni nne amri SQL kwamba utakuwa haja ya kutumia. Unaweza hata haja kuzitumia zote. Lakini haya ni nne kwamba CS50 anatarajia wewe kuwa starehe na kwenda katika wote Jaribio 1 na pia pset7 na pset8. Kuna tu kwamba meza tena. Katika hii moja, superpower Roy ina wamekuwa updated mihimili laser, ambayo ni mfano sikuweza kutumia. Sijui ni yupi kati Roy anapendelea, lakini nguvu. Roy ina superpower ya nguvu. Katherine hakuwa na kufanya hivyo leo. Hiyo ni bahati mbaya. Lakini yeye ana super kasi. Vizuri kwamba alikuwa PHP. Kabla tunazungumzia kuhusu MVC, anafanya mtu yeyote kuwa na maswali kuhusu PHP? Sasa SQL, au PHP kama wewe ghafla na kuja na swali kuhusu PHP? Kubwa. Haki wote, sisi ni kuweka wote wakati huo. Hivyo kuzungumza kidogo kuhusu mfano wa kuigwa maoni controllers, hebu kwenda nyuma ya baadhi ya mambo katika pset7. Kwa hiyo kile mtindo mtazamo mtawala is-- Sina kwenda kuokoa mabadiliko yangu ya kuingia kwa sababu mimi kabisa kutumbuliwa yake. Lakini kimsingi tuna mbili mambo tofauti kinachoendelea. Tuna umma directory ambayo ina kificho kwamba kinaendelea wauawe na kurasa za mtandao ambayo itakuwa alitembelea. Na sisi pia kuwa maoni hii directory. Na maoni ina templates. Hii ni nini kazi render-- tuliona atatoa kazi katika kundi la kanuni PHP kwamba CS50 tayari imeandikwa kwa ajili yenu, kwamba inachukua katika vigezo fulani. Nini kwamba kanuni ni kufanya ni itakuja ndani ya maoni, ambayo ni seti ya kama prewritten HTML code, na ni kuingiza maadili ndani ya maeneo fulani. Hivi ndivyo wakati kwenda katika CS50 Fedha, kichwa hicho ni juu ya kila ukurasa. Footer huo ni juu ya kila ukurasa. Hii ni kwa sababu njia kwamba atatoa matendo yake itabidi moja kwa moja kiraka katika kichwa hicho na mtazamaji ambayo unaweza kupata katika maoni. Tunaweza kweli kwenda katika mpira wa kichwa, na kuangalia, ni HTML faili na kichwa. Ni got baadhi stylesheets. Huwezi haja ya kuangalia CSS kwa pset7 kama wewe hawataki. Lakini unaweza kurekebisha yao kama unataka, kufanya Fedha yako kuangalia tofauti kidogo. Ni got baadhi PHP katika kichwa kidogo kuona kama kuna ilani tofauti ni lazima kuweka katika kichwa hii. Lakini baadhi tu ya maandiko mengine, na viungo, na mambo mengine. Kichwa kumalizika, mwili huanza, na oops, tuna hii weird kidogo mwisho kidogo. Na kuna div, kama vile aina ukiwa wa kipengele ambayo ina wazo la katikati. Na kisha wakati tunaona footer, tuna mwishoni mwa div. Tuna chini, ambayo ni ambapo footer Nakala ni. Mwishoni mwa div, mwisho wa mwili, mwishoni mwa HTML. Kwa hiyo kile ni atatoa kufanya ni kutoa ni aina ya patching up kichwa, a mbalimbali PHP faili kwamba vyenye mambo halisi kwamba utasikia kuona, kama meza yako ya hifadhi kama wewe ni kununua au kuuza hisa. Na kisha itabidi kuongeza katika footer. Na mfano wa kuigwa mtazamo mtawala Wazo ni kwamba sisi wanataka kutenganisha jinsi mambo kuangalia kutoka kanuni. Ni tunataka tofauti frontend na mazingira ya nyuma, ambapo frontend ni mambo ambayo mtumiaji anaona, nzuri visuals-- HTML, CSS, mambo kama hayo, picha, na kadhalika. Na backend ni PHP. Hii ni kificho kwamba wewe kuandika. Hii ni pale ambapo kificho hiyo ni kufanya shughuli halisi. Huu ni wakati wewe ni kuongeza hisa kwa meza yako, wakati wewe ni kununua na kuuza, hiyo ni backend. Na tunaweza, kama wewe aliona, ikiwa ni pamoja na PHP moja kwa moja katika HTML. Hivyo kile sisi wangefanya kwa zoezi hili ni alikuwa tu HTML faili kwa kila ukurasa, kama kuingia. Na kisha juu ya ukurasa kwamba, tu alikuwa kuzuia mkubwa wa kanuni PHP, ikiwa ni pamoja na yote ya kificho kwamba ukurasa kwamba hasa bila haja. Na kisha tunaweza kuwa na amefanya hivyo kwa kwingineko. Sisi wangefanya wote wa kununua na kuuza ndani ya kurasa binafsi. Lakini kwa sababu sisi ni utoaji tofauti na ambapo sisi ni kuandika backend kanuni, tunaweza kwa urahisi mabadiliko ya jinsi mambo kuangalia bila kubadilisha kila faili moja. Sisi kufanya mambo kama tu kuongeza div mpya hadi chini of-- Hello I iliyopita footer. Unaweza tu kufanya mambo kama hayo. Lakini pia, unaweza kubadilisha nzima ya Visual mpangilio bila kuathiri nini kwenda katika mazingira ya nyuma. Na unaweza kubadilisha backend nzima na bado kuwa ni kuangalia kama ilivyokuwa kabla. Hii Ni wazo la mtindo mtazamo mtawala. Na ni kweli dhana zilizowekwa katika baadhi ya lugha ya programu unaweza kutaka kutumia kwa ajili ya miradi ya mwisho. Kama wewe kufanya iOS maendeleo, wana maoni, ambayo ni nini kuona juu ya iPhone, na kisha backend kama kama jambo tofauti. Unaweza kufikiri juu kidogo. Kuna mengi ya binaries katika sayansi ya kompyuta, ambayo ni funny, kwa sababu kila kitu ni katika mapacha. Mimi hakuwa na mpango huo. Hiyo ilikuwa ni pun zisizotarajiwa. Ndiyo, pun si nia. Lakini kama mafaili h na c mafaili, kuna mengi ya kutenganisha ya mambo ambayo sisi wanaweza haja. Ili tuweze tu kuhariri faili h, au mtu anaweza tu kuona faili h na kujua hasa kazi ambayo ni katika c faili bila lazima kujua utekelezaji wake. Wazo hili la kutenganisha vipengele ambazo zinategemea kila mmoja lakini unaweza aina ya kupata kila mmoja kupitia njia mbalimbali, kupita ya vigezo, tu pamoja na kauli, mambo kama hicho, kanuni hii husaidia kujenga maombi ambayo inaweza kwa urahisi zaidi mwisho na watu mbalimbali, inaweza kwa urahisi zaidi iliyopita au iliyopita kwa kiwango kubwa, na ni rahisi Debug katika njia nyingi. Kweli haraka, nina tips chache kwa ajili pset7, ambayo mimi itabidi kufanya screen kamili hivyo si tu kuangalia the-- ncha ncha tippee. Kuna si ncha kwamba wengi. Lakini nilivyoeleza PHP ni vigumu utatuzi. Mbili na tatu kuangalia ni. Kama kanuni yako ni tu si kuonyesha juu kwenye ukurasa, pengine PHP makosa, pole. Huwezi haja ya kuangalia CSS kama wewe hawataki. Lakini mara moja ni kumaliza, inaweza kuwa nzuri na furaha kidogo jambo tu kwenda katika na fujo na vigezo CSS. CSS na HTML ni mfano wa kuigwa Jambo mtazamo mtawala style pia, sawa? Unaweza kuwa na vitambulisho style ndani ya vipengele HTML. Lakini kama wewe ni aina ya outsourcing yao kwa CSS, wao uko rahisi kuhariri, na kucheza karibu na, na kuwa na furaha na. Kutibu CS50 msaidizi kazi kama masanduku nyeusi. Huna haja ya kujua nini hasa atatoa anafanya, lakini imani yake kwa siku zote kufanya haki Jambo kutegemea na nini kuupitisha, mambo kama haya. Na napenda kupendekeza kuangalia walkthrough Daudi, kwenda kwa yote mambo, si tu todos, lakini kwa kweli wanaweza kutibu hizi masanduku kama nyeusi. Je, si kwenda katika hizo kazi kutafuta mende. Na kuwakaribisha kurudi ya overlord Zamyla yetu. Kubwa. Je, kuna maswali ya mwisho kabla ya sisi aina ya bounce kwa siku? Mimi bado wanaishi? Kubwa. Hi wa mtiririko wa watu. Kubwa. Je, kuna tena maswali? Hakuna? Na kisha Nadhani tuko vizuri kwenda kwa leo. Mimi itabidi fimbo karibu kidogo baadaye kama watu walikuwa na maswali walikuwa na hofu ya kuuliza juu ya mkondo. Lakini vinginevyo, kuwa na siku njema.