SAM LEVATICH: Merħba għall sezzjoni għal din il-ġimgħa. I am not Andi. Andi naqas morda din il-ġurnata, u I ġew tip ta msejjaħ fl-aħħar minuta biex tieħu f'idejha. Huwa istaġun influwenza, sabiex tagħmel ċert li inti toqgħod nodfa, taħsel idejk, u dieta tajba sabiex inti, wisq, mhumiex bedridden. Iżda mingħajr aktar dewmien, ejja tibda. Illum, aħna qed tmur biex jitkellmu dwar PHP ftit bit-- kif PHP tirrigwarda HTML, kif tirrigwarda CSS, u xi wħud mill-web Jittieħed għamilt fl-aħħar assenjazzjoni. Aħna qed tmur biex jitkellmu ftit dwar SQL u kif tista 'taħdem ma' databases, li huwa komponent ewlieni ta 'P pretty sett 8-- P stabbilit 7. P sett 7. U allura aħna qed tmur biex jitkellmu ftit ftit dwar kif kontrolluri ħsieb jaħdmu u għaliex li l-filosofija wara xi paġni tal-web moderni u disinn differenti. Pretty ħafna ħafna tipi ta 'apps u applikazzjonijiet inti tista vapur qed jużaw dan il-mudell, qafas kontrollur fehma, li inti se tkun qed tuża fl P sett 7, so I ser jitkellmu ftit dwar għaliex thats sar popolari, għaliex huwa importanti u sbieħ. U allura jien ser finalment jimxu fuq xi tips dwar indirizzar P stabbilit 7. U jekk ikollna ħin fadal fl-aħħar, nistgħu attwalment jagħmlu xi xogħol fuq dik flimkien. Allura, PHP. Fil-fatt, jista 'jkollok ndunat this-- inti ma verament ikollhom biex adsa fis it-- imma P stabbiliti 6 kellhom xi PHP kodiċi li kien għaddej. U minħabba PHP huwa C-like lingwa, PHP, b'differenza HTML u CSS, hija lingwa ta 'programmar, billi HTML u CSS huma statiċi. Huma qed lingwi markup li jittrattaw ma 'stil u t-tqassim viżwali. PHP huwa l-ftehim reali. PHP loops, hija għandha conditions-- dak kollu li Jittieħed li gost dwar C. Hija għandha ftit affarijiet li huma ftit daqsxejn aħjar minn C, li aħna ser tara, imma naħseb li l-eħfef mod biex jitkellmu dwar il-PHP huwa biss li adsa fil. Hekk jien se jmorru dritt fil-IDE f'dan il-punt. L-ewwel ħaġa aħna qed tmur tagħmel hu fil-fatt tfittex ftit lejn uħud mill- Kodiċi PHP li kien P sett 6. Allura l-mod li nagħmlu that-- qabel, il-mod li aħna kienu qed jaħdmu l-server għall-apparat kienet li rridu naraw li type-- jew tuża implimentazzjoni tiegħek jew l-implimentazzjoni tal-persunal tal server.c billi wieħed jidħol direttorju u t-tħaddim server.c ma 'jew ebda arguments-- hekk biss sejħa hija fuq il- ospitanti lokali, li huwa dak li inti probabilment ma ħafna mill-time-- u l-għalf li a directory-- ma li għall-użu bħala għerq tagħha fejn il-websajt se tkun run, bażikament. Din il-ġimgħa għal P sett 7, kif kbira bħala kodiċi tagħna għall server.c hija, hemm nies li diġà dawn l-affarijiet multa bil-miktub fuq medda ta 'CS50 li għandhom ftit funzjonalità aktar, programm server thats kapaċi li jittrattaw ma 'ambjent aktar ftit mill-intricacies li aħna ser tara kemm P sett 7 u P stabbiliti 8. U l-mod li tibda l- server huwa bi ftit ittajpjar, "apache50." U qabel ma tagħmel xejn, inti tixtieq li tagħmel ċert li Apache 50 mhuwiex diġà għaddej kif inhi fuq magna tiegħi, li jiena għamilt biex tittestja. U inti tagħmel dan billi ċċempel apache50. Waqqaf, u tkun taf tara li huwa waqfien l-web server, jekk inti tista 'tfittex hemmhekk fil-qiegħ tat-tieqa terminal. U mbagħad biss biex tibda, aħna qed ser sejħa, "apache50 tibda." U allura aħna qed tmur għall-għalf hija ta 'direttorju. Issa, għaliex irridu li tfittex lejn uħud mill-P sett 6 kodiċi li kellna implimentati, I attwalment kkupjati xi ftit ta 'l-P sett 6 kodiċi fis folder tiegħi stess, li tista 'tara fuq ix-xellug hemmhekk. Huwa sejjaħ "SECTION8" b'ittri kbar kollha għaliex jien biss hekk eċċitati li jkun ħaj streaming llum. Allura jekk aħna run dan, għandu kollha jaħdmu pretty effettiv. Hija tgħid, OK, sit tagħna issa hija disponibbli fl-indirizz tal-IDE, bażikament, li huwa dak li inti kienu qed jużaw eżattament kif kienet fil P stabbiliti 7-- P stabbilit 6. Indiċi kollha tiegħi huma wieħed indiċi llum. Allura nistgħu tmur f'dak indirizz, jekk inti ser tiftakar, bi ftit tikklikkja din ftit buttuna fid-dritt ta 'fuq. U tkun taf tfakkar dan il-kodiċi, li ġara meta inti marru fis hello.php. U dak il-kodiċi hija mfassla biex tagħmel huwa meta inti ittajpjat fl-isem here-- jekk inti tgħidli Sam minħabba li l name-- tiegħi u I ikklikkja Say Hello, meta aħna marru għall-paġna li jmiss, dak l-isem suppost kellha tkun murija. Hija ngħid, "Hello, Sam" jew "Hello," kwalunkwe isem li inti jitqiegħed fis dan anke jekk aħna marru għal paġna web kompletament ġdida. U dan huwa l-tip ta 'ħaġa li PHP jista 'jagħmel għalik. PHP huwa kapaċi jgħaddu data bejn żewġ paġni web. Din hija paġna totalment differenti. Int ser ikollok tara t-titolu huwa "bonjour" hawn. Attwalment, dawn għandhom l-istess titolu, imma jien wegħda huma web differenti paġni jekk inħarsu lejn is-sors. U inti tista 'tgħaddi l-informazzjoni li l- imdaħħla f'dan il-qasam it-test, inti jippreżentah għall-ieħor paġna li l-jiġu issejjaħ, u mbagħad li d-data tkun kapaċi jkun hemm fil-forma preżenti tagħha. Issa aħna għadhom ma implimentawx dan lilna nfusna, li huwa dak li aħna qed tmur biex tagħmel id-dritt issa biex sort tikseb togħma għal kemm PHP xogħlijiet, iżda l-idea ewlenija hija li PHP-- inti tista tip ta 'jaħsbu li bħal funzjoni. Xi ħaġa li PHP jistgħu tavżak tagħmel huwa tkun tista 'tieħu parametri li inti input fil paġna HTML permezz tal-użu tal-PHP u forom, u jista 'jgħaddi dawk bħala parametri għall-paġna li jmiss li tagħbijiet up. F'dan il-każ, aħna qed tagħbija up dan paġna mal- "Say bonjour" buttuna. Iżda għal issa, I attwalment imħassar xi wħud li l-kodiċi fil-hello.php li kien qed titmexxa li fil fatt ġiet juri l- "hello, dinja "jew" hello, Sam "jew "hello," ikun x'ikun kien biss input. Allura għal issa dritt, aħna qed se tagħmel dan, bażikament. Aħna qed tmur biex toħloqhom dan u jżidu wkoll xi funzjonalità aktar, do ftit aktar magħha, ara dak PHP huwa verament kapaċi. Allura l-ewwel, ejja nitkellmu dwar dan il-fajl, hello.php. Allura jekk aħna zoom fi ftit bit-- u issa jien tip ta 'tipprova li tiskrollja kollha il-mod around-- hemm immorru. Int ser ikollok tara huwa msejjaħ hello.php, iżda l-sintassi ta 'dan tidher bħal file HTML. Dan huwa minħabba l- PHP attwali f'dan il-fajl hija kollha mwaħħla bejn dawn kwistjoni blokki mark-caret. Kollox dritt hawn huwa meqjus kodiċi PHP. U tkun taf avviż li meta I għamlet kumment, tkun taf tara l-familjari tnejn quddiem slashes. U jekk int ser recall, fil HTML, jekk I tip kumment, jidher xi ħaġa eqreb lejn dan, li huwa kumment fil HTML. Allura verament kollox bejn dawn iż-żewġ parentesi angolu issa huwa kodiċi PHP, li huwa rifless fil-fatt li dan is-simbolu kumment ftit huwa jiddawru kumment. Allura kull darba li inti tikteb kodiċi PHP, anke jekk hemm l-ebda HTML code barra minnha, huwa dejjem se jkunu magħluqa f'dawn parentesi angolu ma trade marks in kwistjoni. Tista 'tip ta' jaħsbu dwar it-- kif kollha tal-kodiċi li dam fil-programmi C tiegħek kien magħluqa f'forma int prinċipali, null, Brace kaboċċi, tmiem dikjarazzjoni Brace kaboċċi. U tkun taf tara ċineg kaboċċi fil PHP, wisq, iżda dan huwa tip ta ' bħall-metodu ewlieni ta 'PHP. Allura issa, kif nistgħu nagħmlu xejn fil-PHP? Issa, PHP hija programmar lingwa li ferm simili C, iżda topera fuq il-web. Allura ħaġa waħda li inti ser immediately-- wieħed mill-ewwel affarijiet li inti verament għamilt ma C kien inti stampata Jittieħed out, id-dritt? Għalhekk fl C għamilna li b'funzjoni printf. Aħna tatha string, probabbilment ma 'linja ġdida, u allura aħna terminat dan ma 'virgola. Allura l-mod li aħna qed tmur biex tagħmel dan fil PHP-- għaliex mhuwiex pjuttost printf. Huwa xi ftit ta 'sintassi differenti. Il-mod li aħna istampar affarijiet out fil-PHP huwa ngħidu, "eku Hello" jew "eku" xi kelma. U li għandha l-effett li jagħmlu printf bi string, "Hello." U żżid il-linja l-ġdida lilha. Mela ejja dritt issa jagħmlu sure-- I ser zoom out mill-ġdid ftit bit-- ejja kun żgur li dan il-kodiċi qed taħdem minħabba jista hemm ħafna ukoll tkun bug f'dan il-kodiċi li aħna se jkollu jittratta. Allura l-server ikun diġà għaddej. Allura jekk aħna iscroll lura sal-qiegħ, Yup, il-server ikun għadu għaddej. Allura jekk aħna biss vit fuq dan ftit dritt here-- welcome-- għandna get-- kbira. Aħna xorta qed ikollhom l- "Say bonjour" djalogu familjari, imma meta I tip "hi," Ser naraw li t-test "Hello" kien tabilħaqq stampata, li huwa eżattament kif aħna mistennija minħabba eku fil-PHP huwa biss bħal dikjarazzjoni printf. Allura lura għall-kodiċi, kif fil P stabbilit 6 ma il-kodiċi tad-distribuzzjoni inti pprovduti tagħmel dan hekk li kieku PHP output il-ħaġa li inti ittajpjat fuq l-iskrin ta 'qabel? U biex tip ta 'teżamina għaliex dan iseħħ, aħna qed se jmorru fil index.html, li huwa l-fajl oriġinali, il-fajl li juri fuq dan l-iskrin mal- "Say bonjour" buttuna. Tinnota li hemm l-affarijiet kollha klassika konna waslu biex jistennew minn HTML bħal kif dawn l-affarijiet, dawn it-tags magħluqa fil-parentesi angolu, bħal PHP iżda mingħajr l-trade marks in kwistjoni, li jindika ħaġa speċjali biex HTML. Għandna titolu, li huwa "Hello." U inti ser ikollok avviż li kif rajna, it-titolu huwa "bonjour" fiż-żewġ każijiet. Ejja tbiddel dan wieħed li "jgħidu" biss hekk aħna jista 'jiddistingwi lilna nfusna fejn ninsabu. Iżda aħna ħadthom ltqajna korp. U allura l-ftit interessanti, il- bit li juri fil-HTML, huwa dan l-element formola. U hekk aħna ve ltqajna formola. U dan huwa ċ-ċavetta. Dan huwa kif aħna qed jaħdmu ma PHP. Il-parametru azzjoni ta forma jgħid li hello.php huwa dak li aħna qed tmur biex tibgħat il-valuri f'din il-formola biex. Dan huwa fejn aħna qed tgħaddi il-parametri, biex ngħidu hekk. Int ser ikollok avviż ħaġa oħra hawn huwa li l-metodu huwa "jiksbu." Hemm żewġ primarja metodi li permezz tagħhom se tkun qed tuża PHP biex jgħaddu data bejn paġni tal-web websites--, rather-- f'dan assenjazzjoni. U dawk il-metodi huma "jiksbu" u "post." Hemm xi sottili differenzi bejn tikseb u wara li se nirċievu into-- aħna se "jiksbu" fis, jekk inti se. Iżda għall-finijiet kollha u skopijiet, jiksbu u post huma t-tnejn biss modi li inti tgħaddi parametri ma eżekuzzjonijiet kemmxejn differenti. Għal issa, aħna qed tmur biex tuża tikseb minħabba jiksbu kienet dak li kien użat oriġinarjament fil-fajl PHP tas P sett 6. U fil-fatt, jekk immorru fi u jfittxu qabel konna editjat xi ħaġa oħra, Jien se ngħid hi to-- x'hemm isem tiegħek? UDJENZA: Elliot. SAM LEVATICH: Oh, gosh. I do not know kif jespliċitaw dan. Tista jespliċitaw li għalija? UDJENZA: E-L-L-I-O-T. SAM LEVATICH: I-O-T? UDJENZA: Yeah. SAM LEVATICH: Perfect. KOLLOX SEW. I raden I ma nafx kif jespliċitaw dan. Skużani. Imma jekk aħna ngħidu "Say hello," mhuwiex mhuwiex ser juru up fuq l-iskrin iżda għaliex aħna modifikati il-kodiċi ftit. Imma jekk aħna "jgħidu bonjour" - OK, hekk "Hello" huwa hawnhekk. Imma jekk nieħdu eqreb tħares lejn il-URL innifsu, Ser naraw li dan jintemm bl hello.php? isem = Elliot. Allura, dan huwa mod ta ' komunikazzjoni għall-paġna web li jmiss il-parametri li konna għaddew. Aħna qal isem = Elliot. U li finalment kif P stabbiliti 6 aċċess għas-varjabbli li aħna għadda fil permezz tal-formola. U din hija xi ħaġa li hija partikulari talba get. Talba nikseb jagħmel il-parametri magħrufa fil-URL tal-website. U tkun taf tfakkar, wisq, fl P sett 6 li inti kellu jikteb funzjoni li ttrattat il-fatt li din is-sekwenza mistoqsija tista 'teżisti wara fajl. Jista 'jkun hemm kwistjoni mark segwit minn bażikament kwalunkwe numru ta 'karattri. U thats eżattament x'inhu għaddej hawn. U r-raġuni inti kellhom parse li fl-implimentazzjoni tiegħek ta server.c fil P sett 6 huwa sabiex inti tista 'tgħid il-kodiċi PHP li insemmu = Elliot. Inti meħtieġ biex tkun tista ' parse li mill-URL sabiex il-fajl PHP in kwistjoni kien jaf dak li kien jittrattaw. Allura nisperaw li dan jagħti l-motivazzjoni biex server.c issa li aħna qed jiċċaqilqu fuq barra ta 'C fis PHP. Mela ejja realment jiffoka fuq aċċess għall- affarijiet mgħoddi minn talba get issa f'dan il-punt. Jien ser jiffrankaw din. Aħna ma tbiddel xejn. Jidher qisu konna ltqajna qasam input. Aħna qed jiġu stabbiliti xi proprjetajiet, kif nistgħu nagħmlu HTML. Dawn huma affarijiet sempliċi. M'għandniex bżonn dawn. Iżda aħna ltqajna AutoComplete off, li bażikament says-- tafu, meta inti tip affarijiet fil-web, xi kultant tipprova timla dik fil għalik. Allura hija ħaġa sabiħa. Aħna rridu li jduru off għal dan l-iskop. Li kienet deċiżjoni CS50. Allura aħna tista 'tħassar li jekk ridna. Autofocus biss bsaten il-cursor fil-forma tajba fil-bidu. Għal darb'oħra, mhux wisq importanti. Iżda isem = "name" - huwa ftit delikata għaliex dan huwa isem u l-isem. Iżda aħna jistgħu stajt inbidlet dan għal xi ħaġa oħra. U fil-fatt, li l- dak li aħna ser nagħmlu dritt issa. Aħna ser jgħidu "persuna", li huwa tip ta bħall-isem jekk persuna tkun definita bl-isem tagħhom. Mela ejja jagħlqu dan, terġa 'tiftaħ website tagħna peress server tagħna ikun għadu għaddej Apache 50, u aħna ser ngħidu, hello, hawnhekk Elliot mill-ġdid. Għaliex le? Bongu. U jekk immorru up here, Ser naraw allura minflok l-isem = Elliot, jgħid persuna = Elliot. U li l-riżultat dirett tal-fatt li aħna biss biddlet isimha = "persuna." Għalhekk fl element input ta forma HTML,-qasam isem huwa l-identifikatur għall- parametru li l-jiġu mgħoddija. Huwa simili jekk int ħolqien funzjoni "żid" li ħa f'żewġ interi u inti qal int au int b. Dan ikun l-isem ta ', u jekk int riedu forma oħra, li nistgħu nagħmlu biss billi ikkupjar u pasta, allura rridu naraw isem b. Allura issa aħna ser ikollhom żewġ parametri li qegħdin jingħaddew permezz jiksbu l-website-- jmiss il-paġna web li jmiss, hello.php. U nistgħu attwalment ara li għal darb'oħra jekk irridu. Dan huwa l-eħfef mod biex jittrattaw il-kodiċi web fil-IDE, bażikament. Tibda l-server, ġġibu tmexxija, u mbagħad kull darba li inti tagħmel xi bidliet, biss mill-qrib dan il-fajl biss sabiex ikunu sikuri. Tagħfas il-buttuna back hija ftit delikata għaliex din tista tagħbija ta 'qabel verżjoni, mhux l-aktar wieħed aġġornati. U allura inti biss ikklikkja tiegħek buttuna darb'oħra, pop up-- dritt oh, u issa hemm żewġ forom. U hekk jekk aħna tip ħaġa waħda f'kull one-- "hirshhorn jason," għall instance-- aħna jgħidu bonjour. Aħna nħarsu up fuq parametri tagħna. Jidher qisu konna ltqajna, kif mistennija, a = jason u b = hirshhorn, li jirrappreżenta ż-żewġ parametri li aħna mgħoddi lill din il-funzjoni. Allura issa ejja fil-fatt tikseb biex implimentazzjoni li funzjonalità li aħna kellhom fil P sett 6. Allura issa dritt aħna qed biss b'repetizzjoni bonjour. U li mhux utli ħafna. Aħna rridu li eku xi varjabbli li kienet għaddiet lilna. U nafu l-isem ta 'din il-varjabbli. Għandna u għandna b. Allura nistgħu jagħżlu li eku jew wieħed. Imma kif nistgħu jkollhom aċċess għaliha? Ukoll, hemm ċerti varjabbli globali fl PHP. U jien ser jikteb minnhom fil-kummenti hawn. L-tnejn l-aktar importanti huma get u wara għall-għanijiet tagħna dritt issa. Dawn huma l-arrays jew, teknikament, il dizzjunarji fejn varjabbli tagħna li aħna qed tgħaddi l-live web page li jmiss. U aħna għandu hekk ara kif jużawhom. Ieħor nota qasira dwar kodiċi PHP u xi ispeċifiċitajiet ta it-- fis-C, li tiddikjara varjabbli jew għall-użu varjabbli, inti l-ewwel kellhom jiddikjaraw lilhom. U dak li inti kellha tagħmel meta inti iddikjarat minnhom kien jgħidu int a jew char b. Inti kellhom jiddikjaraw it-tipi ta 'dawn varjabbli qabel inti maħluqa minnhom. PHP-- inti m'għandekx bżonn li tagħmel xi ta 'dak. PHP ma jitlobx it-tip ta 'varjabbli. U l-mod li inti joħolqu variable-- pjuttost milli qal int, char, string-- li huwa verament char *, kif aħna know-- minflok tagħmel kollha ta ' li, għaliex kollox huwa tal-istess tip, typeless, nistgħu biss użu karattru wieħed, li hija s-sinjal dollaru. U tkun taf tara huwa diġà popping up, affarijiet AutoComplete ftit. U huwa qal li _GET u _POST żewġ għażliet li għandi disponibbli lili. Xi wħud minn dawn l-affarijiet oħra huma varjabbli globali oħra fil PHP li inti ser tkun qed tuża fuq il-kors ta 'P sett 7. Għal issa aħna qed tmur biex tiffoka fuq nikseb u post. Iżda din hija utli ħaġa li l-IDE ma fejn ladarba inti ħadthom ittajpjat fil dan is-sinjal dollaru, dan ser tibda timla varjabbli globali jew varjabbli inti stajt diġà definiti. Mela jekk int riedu biex jiddefinixxu varjabbli imsejjaħ "string," inti tista 'biss tistabbilixxi li egwali għal "hi." U huwa bażikament sempliċi bħal dik. U allura stajna nagħmlu xi ħaġa bħal "eku $ sekwenza." L-IDE għandu jkun jitfg xi żbalji jekk jien tagħmel xi ħaġa ħażina, hekk nisperaw li qed nagħmel kollox id-dritt. Iżda bugs dejjem jinqalgħu. Ħaġa oħra delikata dwar PHP hija li mhuwiex ikkumpilata. Allura ma 'programmi C, inti se tagħmel l-rutina ta 'kuljum of-- bażikament, inti tagħmel modifiki lil kodiċi tiegħek, youd isalvawh, u mbagħad inti jagħmilha, fejn make kien il-pass li imsejjaħ il-kompilatur, clang, li jagħmlu kodiċi tiegħek, dan it-test fajl, fi eżekutibbli. PHP hija-C simili, iżda huwa esegwit fuq il-fly permezz web browser tiegħek. B'hekk m'hemm l-ebda mod li tkun taf. Jagħmlu tarmi dawk żbalji utli, id-dritt? Ikun simili, inti ma ddikjaratx dan il-varjabbli qabel ma ppruvaw li jużawh. Inti ma dan kollu segfault stuff-- ħażina, segfault, dak kollu li tip ta 'drabi gost li daħal mal make. PHP hija xabla doppju delineata għaliex inti mhux se tikseb dawk l-iżbalji, iżda dan ifisser ukoll li inti mhux se tkun taf verament x'hemm ħażin mal-programm tiegħek jekk inti biss run u huwa ma tkunx qed taħdem. Iżda l-debugger għandu jiġi mfakkar xi affarijiet ftit nisperaw utli sintattiku li inti tista 'tiffissa. Allura issa jekk irridu jmorru fuq to-- jgħidu, ejja tagħlaq dik. Terġa 'tiftaħ. U aħna qed lura hawn. Allura konna ltqajna varjabbli u b varjabbli. U dawn mhux se finalment kwistjoni. Aħna ser jsejħulhom su g għall-ebda raġuni partikolari. U aħna jgħidu bonjour. Issa jidher qisu string tagħna "hi" huwa tabilħaqq istampar. Ħloqna varjabbli imsejjaħ "string," sett huwa ugwali għal "hi." Avviż li aħna ma jkollhom jagħmlu malloc jew jagħmlu firxa karattru. Fil PHP, minħabba fatturi varjabbli huma typeless, string huwa l-istess bħala char għall finijiet u effetti kollha. Dan jista 'jkun "hi." Dan jista 'jkun biss il-karattru k. Dan jista 'jkun hemm numru 1. U ma 'kura. PHP ma jimpurtahom it-tip ta 'varjabbli tiegħek. Or, dan ma kura. Hija cares meta inti tipprova u jagħmlu affarijiet miegħu, iżda ma kura fl il-pass dikjarazzjoni. U bħad inti tista 'fil C, inti tista jiddikjaraw kordi fuq il-munzell bħal dan għalkemm qal "munzell" huwa xi ftit daqsxejn ta 'misnomer potenzjali meta aħna qed jitkellem dwar PHP. Iżda aħna ma jkollhomx għalfejn tinkwieta dwar dan. Allura aħna ltqajna string tagħna "hi," u aħna eku string. Allura issa aħna ve diskussa varjabbli. Allura issa għandna bżonn li nitkellmu dwar get u post u jwettaq l-ħaġa finali li l- meħtieġa biex verament tikseb dan back up għall-funzjonalità tal-P sett 6. Allura issa dritt aħna qed b'repetizzjoni l-sekwenza, iżda aħna do jkollhom dawn il-varjabbli tikseb u wara. U għaliex aħna qed jużaw il-metodu tikseb, hija Jidher naturali li varjabbli tagħna li aħna qed interessati, kemm aub, se tkun tinsab fil-firxa jew dizzjunarju, teknikament tikseb. Mela jekk aħna waqqafna jiksbu bħal dan bil groups-- tiegħek I ippressat jidħol u ma bħall it-- iżda hawnhekk għandna jiksbu. U hekk tikseb diġà jeżisti. Allura nistgħu diġà jibdew aċċess xi wħud mill-elementi ta 'get. Jekk aħna nikseb, dan sintassi għall arrays fil PHP huwa ferm simili C. Għandna żewġ parentesi kwadri tagħna. Mela jekk irridu ngħidu jiksbu fil-normali firxa, nistgħu aċċess l-indiċi 0, l-ewwel indiċi. PHP huwa indiċi żero. Nistgħu ngħidu żero, wieħed, Jittieħed two-- bħal dan. U stajt kien qal li tikseb huwa teknikament dizzjunarju. Allura dak PHP qed tagħmel taħt il-barnuża, li huwa ftit nicer minn C, huwa diġà qed tagħti inti xi funzjonalità dizzjunarju, li huwa tabelli verament hash, jew tipprova, allegatament. Or, teknikament it jista 'jkun jippruvaw ukoll. Iżda PHP qed timplimenta tabella hash, li jifforma dizzjunarju effettiv. U hekk aħna nafu l-isem tal-varjabbli tagħna, id-dritt? Huwa qed għaddiet l-sekwenza mistoqsija mill PHP. Għandna = h u b = g fejn u b huma l-ismijiet tal-varjabbli. Allura l-mod li nistgħu aċċess għall- valur li tikkorrispondi mal-kjavi fil dizzjunarju tagħna huwa biss billi qal _GET_GET ["a"]. Allura issa għandna _GET ["a"]. U jekk aħna biss jissostitwixxu ġewwa eku tagħna, jekk irridu eku _GET_GET ["a"] - u aħna ser tara jekk il-debugger throws xi żbalji dwar this-- aħna ser tiffranka dan u jagħlqu dan out. Jiftħuh. Allura aħna qed biss tagħmel dritt issa, so b m'għandux ikun importanti. "tagħha" u "lilu" - "HUM." "tagħha" u "HUM." Ħsejjes tajba. U stampata "tagħha," li huwa crazy. Iżda dan huwa eżattament dak li kien qed jiġri fl P sett 6. Bażikament, dak P sett 6 kien doing-- eku hello, name-- fejn kellha isem varjabbli u hija biss jitlob li inti tip fil dak daqsxejn ta 'test. Kien hemm ukoll xi Kodiċi addizzjonali fejn it inklużi jekk id-dikjarazzjonijiet, li nistgħu nagħmlu dritt issa. Nistgħu ngħidu jekk teżisti, li huwa funzjonalità fi ħdan PHP, _GET Mal-jenfasizzaw, "isem" - li huwa bażikament qal, "jekk l-isem ikun imtela" għaliex jista 'jkollna biss għafast il-buttuna biex tissottometti l-formola mingħajr ittajpjar xejn f'dak il-qasam. U aħna nagħlaq li fil tagħna ċingi kaboċċi ambjent. Jista 'jkollna dikjarazzjoni ieħor. U li kollox fi ħdan l-angolu PHP parentesi, trade mark in kwistjoni, parentesi angolu, jekk inti se. U issa aħna ser tara jekk dan jaħdem. I iżommu stennija biex dan debug u ħażin fuqi, bażikament, iżda għadu ma. Forsi issa se minħabba I tkellem dwar. Yup. Hija għamlet, fil-fatt. Allura, xejn qed juri up. Dak għax ta xi ħaġa ħażina I kiteb fil-kodiċi PHP. U semmejt l debugging hija delikata minħabba fil-PHP, aħna ma josservawha qabel u l-kumpilatur ma kienx bħal, hawn fejn l-iżbalji tiegħek. Imma dak li nistgħu nagħmlu is-- do nies jiftakru kif tħares lejn in-netwerk differenti jitlob li PHP-- jew li websites tibgħat? [? Malin?] Għamlet dan fil lecture darba jew darbtejn. Tiftakar fejn immorru biex isibu id-djun differenti u 200 OKs, dawn il-kodiċijiet kollha li qegħdin jintbagħtu permezz HTTP minn paġna web għall-paġna web? Hawn xi ħadd ftakar fejn immorru biex tagħmel dan? UDJENZA: Page Sors. SAM LEVATICH: Page sors. Eżattament. Jekk inti tmur biex perfetta Page Source--. Allura Page Sors jiġbed l-ispettur. U jien jużaw Safari. A lott ta 'inti probabilment se tkun qed tuża Chrome jew Firefox. Iżda sakemm int fi kwalunkwe browser-- moderna u li tħossok liberu li jsegwu flimkien jekk inti tixtieq. Tista 'tip up dan il-kodiċi jew biss ħarsa ġewwa l-P sett 6 direttorju għal xi għalf simili. hello.php huwa dak li aħna qed bħalissa qed taħdem fuq emulating. Allura hemm varjetà ta 'tabs. Nistgħu nħarsu lejn ir-riżorsi kollha. Nistgħu naraw il-kodiċi tas-sors. Allura jidher qisu dan ma kienx nikseb ġisem passat fl-aħħar. Hija sabet żball fil-PHP u waqfet tagħbija il-paġna web kollu. Aħna ma jkollhomx tmiem tag għal HTML jew xejn. U jekk inħarsu lejn in-netwerk, nistgħu tara li aħna qed jiġu bagħtet talba. Dan huwa l-dominju. Dan huwa l-indirizz. Huwa dokument. Aħna qed jintuża l-metodu get. U huwa aħmar. Jew, kien aħmar meta I ma kienx għażla tagħha. Kif nista unselect dan? Ukoll, kien aħmar. Let me jġedded. Hemm hu. Issa huwa aħmar. Allura huwa aħmar, li jfisser hija naqset, li huwa ħażin. Mela ejja teżamina għaliex hija ma jonqsu. Allura dak kollu li l-Page Sors jista bażikament jgħidlek hija ħaġa tiegħek ma ħadmux, li nistgħu diġà tara. Allura idealment hemm kieku jkunu għodda aktar utli. U hemm xi estensjonijiet browser li jippermettu li inti debug PHP, iżda aħna mhux qed tmur biex jkun miktub ton ta 'PHP, dan huwa probabbilment biss aħjar biex tħares mill-kodiċi tiegħek b'attenzjoni u biss tagħmel ċert li mhuwiex tagħmel kull ħaġa oħra. Mela ejja ara jekk il-format ta 'dan jekk id-dikjarazzjoni huwa fejn il-problema hija. Irrid li tagħbija li back up here. Hello, hi. Allura hemm problema hemmhekk. Allura għal sintassi korretta ta PHP, PHP va iridu jiġu-C simili f'dak tkun taf tara loops. Int ser ikollok tara jekk id-dikjarazzjonijiet. Int ser ikollok tara dawn il-ħbieb li inti stajt ssir familjari mal matul il-kors ta 'dan is-semestru CS50. Iżda l-aħjar mod biex insemmu kif jagħmel xi ħaġa fil-PHP huwa li Google jew li tħares lejn xi eżempji ta 'kodiċi PHP għaliex inti taf l-funzjonalità. Inti taf dak li tista tagħmel il-programm. Inti tista loop. Tista 'loop kemm drabi trid. Inti tista loop fl- xorta ta 'modi differenti. Tista 'toħloq funzjonijiet. Tista 'toħloq funzjonijiet li sejħa funzjonijiet oħra, il-funzjonijiet li jsejħu lilhom infushom. U inti għandek ismijiet għal dawn il-kunċetti. You ħadthom ltqajna recursion, linji, jekk, flussi oħra ta 'kontroll. U hekk Google hija aqwa ħabib tiegħek. Anki ngħid, "PHP jekk dikjarazzjoni "u hemm ser ikunu tunnellata ta 'postijiet mal tweġibiet għall-persuni oħra li kellna mistoqsijiet simili lilek, li kemm bdew ma PHP u huma kurjużi dwar xi ħaġa sintassi. Minħabba li aħna għandna l-lussu li jkunu kapaċi li tħares lejn il-kodiċi fil P sett 6, aħna attwalment pull it up u tara li OK, hawn xi ħaġa interessanti. Allura dan huwa dak li attwalment dehru qishom fil P sett 6. Allura jekk aħna jgħaddu din, nistgħu naraw li konna ltqajna bosta minn dawn ftit Bits kwistjoni mark-PHP simili. U ma jkunx hemm ċineg kaboċċi. Hemm colons. U hemm kaboċċi ċingi fil-PHP, iżda dan huwa format u l-mod ta 'kif isir PHP li taħdem ukoll ma HTML għaliex kif tkun taf tara, aħna qed jagħlqu off dawn PHP bits-- l elses u l-IFs u kollha ta 'that-- u mbagħad aħna qed interspersing HTML ġo fihom filwaqt li xorta wara l- fluss kontroll, kif stabbilita mill PHP. Hekk jien biss se walk malajr permezz ta 'dan għaliex dan huwa ħafna ta 'l-istess kunċetti li aħna kienu qed jagħmlu qabel. Imxejna ltqajna jekk le vojta, parentesi, _GET_GET ["isem"]. Dan huwa l-istess għalf. Aħna qed jużaw l-dizzjunarju _GET li PHP jibgħat fuq talba ta 'forom, minħabba li huwa l-parametri ta ' azzjoni, u l-metodu hu li tikseb. U allura li tispiċċa dik. Il-kolon huwa signifier li biss tagħmel dan jekk il-, jekk dikjarazzjoni tevalwa li veru. Huwa simili Brace kaboċċi. U fil-fatt, huwa Brace kaboċċi f'lingwi oħra bħall Python, li inti tista 'tiltaqa jekk inti biss tagħmel dan għall-proġett finali tiegħek. U allura din il-linja, bonjour. Imbagħad konna ltqajna dan ħaġa stramb. Imxejna ltqajna aktar parentesi. M'hemm l-ebda HTTP there-- jew PHP, sorry. Iżda hemm xi sinjal ugwali. U allura għandna funzjoni, htmlspecialchars (_GEThtmlspecialchars (_GET ["name"]). Dan huwa tip simili aktar Verżjoni avvanzata ta 'eku. Bħal kellna eku bħala mod li jistampa affarijiet fil-PHP. Din hija funzjoni li l- definit fil-PHP li se titratta dwar xi uħud aktar diżgustanti karattri u l-valuri byte li inti tista 'tgħaddiha. Huwa dejjem sikur biex jużaw dan. Iżda eku se jagħmlu l-impjieg biss multa jekk aħna mhux qed jittrattaw ma 'xi ħaġa wisq diżgustanti. U għalhekk dan għandu l-istess effett ta 'bażikament, dan il-għalf fil bejn il-kwistjoni trade marks huwa evalwat mill PHP. htmlspecialchars jirritorna HTML sbieħ valur stampat tal _GET_GET ["name"], jiġifieri irrispettivament għandna ittajpjat fil-forma. U allura ser jgħidu bonjour, ispazju comma, u mbagħad dik. Li ħaġa sħiħa bejn il-parentesi angolu se jiġu sostitwiti bi kwalunkwe htmlspecialchars tpoġġi out. Allura li bażikament simili għal dak li aħna qed tagħmel. U għandna dikjarazzjoni oħra li l bonjour dinja, li jagħmel sens. Allura issa ejja mmorru lura għall tagħna kodiċi u ara exactly-- oh. I qal teżisti, li mhuwiex ħaġa li ridna li tagħmel. Ridna jiġifieri mhux vojta. U għalhekk din għandha taħdem ftit daqsxejn aħjar, mhux _GET_GET vojta ["isem"]. U li Brace kaboċċi jaqbel ma 'dak Brace kaboċċi. Imxejna ltqajna braces kaboċċi tagħna hawn. eku bonjour _GET ["isem"]. Ejja naraw jekk dan jaħdem ftit aħjar. Aħna għadu għaddej server tagħna. Hello Jason. Hello Jason. U maħduma din id-darba. U hekk li l-prova li tista 'tabilħaqq jużaw l-braces kaboċċi li inti jafu u l-imħabba fil-kodiċi PHP fil HTML. Il-kodiċi PHP pprovduta lill inti fil pset 6-- pset 6-- jipprovdi mod ieħor ta ' tagħmel l-istess ħaġa. Allura issa għandna l-poter. Għandna l-funzjonalità li jimplimentaw il-kodiċi PHP li rajna fil pset 6 mill nfusna, bażikament. Qabel I jimxu fuq, liema huma wħud mill- mistoqsijiet li għandek f'dan il-punt? Iva [inaudible]. UDJENZA: Allura fil-verżjoni fis pset6, meta inti run, hemm spazju. U nista 'tara fejn l-ispazju huwa wara l-virgola. [Inaudible]-bidu il-kategorija miftuħ. Kif taħseb li jinkorpora l-ispazju fil il-mod inti kiteb kodiċijiet tiegħek? SPEAKER: Din hija mistoqsija tajba. U hekk ejja figura li out. Allura dak mistoqsija verament tajba u waħda li jien ma kkunsidrax. Imma ejja tagħmel dan flimkien. Allura l-ewwel nett, liema Li qed nagħmel ma eku huwa meta aħna biss eku hello, dan outputs bonjour. Jekk aħna eku issa din tikseb fuq separat linja, ejja teżamina x'jiġri. Allura aħna ikklikkja din. Aħna nżommu qal, hi Jason. Għalhekk għal darb'oħra, aħna ma jkollhomx dan l-ispazju. U dan għaliex, fil PHP, meta għandna eku, ebda kwistjoni kemm spaces-- Nope, mhux l-V-- ebda kwistjoni kemm spazji li nitfgħu fl here-- jekk aħna issa tagħbija li mill-ġdid, hi Jason. Yeah, ara, dawk kollha spazji ltqajna jittiekel up. U li xi ħaġa li il-funzjoni eku ma. Allura biex jieħu kura ta ' li l-ispazju, u dan huwa waħda mir-raġunijiet għaliex inti ma jużawx eku u tuża htmlspecialchars minflok. Jien kurjużi dak kieku jiġri jekk aħna ma dan fejn aħna magħluqa spazju fil string. Jien onestament ma ċert liema se jiġri meta I do dan. Allura dak mod wieħed. C'est mod wieħed biex jieħu kura ta 'dan. Jekk inti wrap-ispazju fil string, allura l-ispazju se jkun output nicely mill eku. Il-ħaġa sikur li tagħmel hi tagħmel htmlspecialchars. Dik hija dejjem l-bet sikur. Imma issa għandna mod biex tagħmel bl eku jekk ikun meħtieġ. U b'mod simili, nistgħu eku linji ġodda, l-tip ta 'għalf int familjari tagħmel fil-PHP. Ħaddieħor, liema huma kwalunkwe aktar mistoqsijiet li nies oħra jkollhom f'dan il-punt dwar PHP? Jekk in-nies wriet ftit tard, Ninsab kuntenta li tissospendi wara ftit u jitkellmu dwar xi wħud mill-bidu. U huwa wkoll kollu livestreamed, u arkivjati, li huwa crazy. Xorta waħda, hekk issa ejja jagħmlu xi Jittieħed aktar avvanzati ma PHP. U waħda mill-affarijiet ewwel għandek ġew introdotti fl C kien għal loops. U PHP għandha aktar qawwija għall loop imsejjaħ il-linja foreach. U jidher qisu this-- għal kull blank kif vojta, brazzi kaboċċi, jagħmlu l-ħaġa. Allura dan huwa bażikament shorthand. Ara, il-għal loop bħala kostruzzjoni sintattika kien imfassal fl C u fil-assemblaġġ lingwa u affarijiet simili. Mfassla fl C, preċiżament, bħala shorthand għal ħafna mit-tipi ta 'linji li n-nies jaraw. Bħal meta inti kiteb loop, hemm spiss kienet pass inizjalizzazzjoni esegwiti dritt fil-bidu, ta ' kundizzjoni fejn il-linja se stop-- u li l-karatteristika li jinsab biss fil-linja waqt, jew li filwaqt għandha eżattament biss li feature-- u mbagħad pass incrementation fl-aħħar. U hekk youd spiss issib ruħek kitba kodiċi bħall ġej. Jien ser iħassar xi ftit minn din. Imma jekk aħna qed mtennija permezz karattri fit-firxa, per eżempju, bħall konna ltqajna firxa ta 'karattri. Jiddispjacini li jġib lura C. naf, ĦSIBT inti saru. Iżda huwa biss għall-iskop ta PHP tagħlim, I wegħda. Mela jekk inti ltqajna str char ta 'tul 8, u ejja jgħidu li jgħid Hellooo bi null batuta. Great, b'tali mod li string tagħna. U allura kellna għall loop. Għandna int i ugwali 0. U rridu ħruġ meta str ta 'i ugwali ma ugwali għal nulla, għaliex aħna ħruġ meta ugwali null. U allura aħna do i ++ f'kull punt fil-għal loop. Tagħmel xi ħaġa ma str ta 'i. Allura l-formula bażika kien, kellna dan array li aħna riedu biex jikkura bħala elementi separati. Imma dak li aħna kellha tagħmel hu kellna biex bażikament toħloq numru sħiħ separata varjabbli li kien qed jgħodd up kull darba aħna marru permezz tal-linja. U allura rridu naraw li mbagħad sejħa strstr [i] meta dak li aħna verament riedu jagħmlu huwa biss jmorru karattru billi karattru, id-dritt? Aħna ma rridux li inkrement ta ' integer u mbagħad jużaw dak integer għall-aċċess kull karattru individwali. Aħna verament irridu karattru minn karattru. U hekk għal kull intelliġenti tikkalkula li għalina. Jekk għandna firxa, li nistgħu jiddikjara bil PHP kif just-- jekk ikollna varjabbli imsejħa, ejja sejħa hija array. L-mirakli ta 'mhux ittajpjar, huwa bħal kull varjabbli ieħor. Huwa biss firxa. U aħna għandna ftit [inaudible] bħal 1, 2, 3, biss tip ta 'firxa initialized. Huwa OK, dan ma simili foreach tiegħi. Imma jekk aħna foreach-- attwalment I ittajpjat li ħażin ftit. Hemm żewġ modi biex tagħmel loop foreach. Hemm il-sintassi fi u l-kif sintassi. U aħna qed tmur biex tagħmel fl sintassi ewwel, mhux bħala. C'est żball tiegħi. Num hekk foreach fil-firxa, eku num. U PHP huwa yelling fil me għal xi raġuni. Huwa konstatazzjoni ta 'mhux mistennija fil xi ħaġa, li huwa xi ftit ta 'jolqot. Iżda aħna ser insemmu għaliex dan huwa fil-mument. Allura mhux bħal dik. Ejja ipprova uża l-kif. Hija tippreferi l kif sintassi hija tidher. Mela ejja nagħmlu firxa foreach bħala num. Allura spjegazzjoni ftit ta 'dak li ġara biss huwa l-sintassi kif ikun saying-- sew ewwel, ejja nħarsu lejn dak li dan il prints out. Allura aħna jiftħu IDE tagħna. Immorru hawn. Aħna ngħidu, Hello Jason. U għamlet 123, li kienu l-kontenut tal-firxa li ħloqna top up. Allura għadis fis dan loop foreach, għandna varjabbli imsejjaħ firxa li huwa firxa ta 'tliet numri. U allura aħna qed jagħmlu foreach array kif num, eku num. U li l-aktar intuwittivi minn għall lop. Aħna qed tgħid, trattament kull wieħed l-affarijiet fil-firxa kif num, Nixtieq li tagħti me num. U dan huwa eżattament dak li qed jagħmel. PHP huwa kalkolu ta 'dak meta inti tgħidli firxa foreach, u int jittrattaw ma 'firxa, liema int tmur jridu jtenni fuq hija l-karattri f'dak array, hija l-ints f'dak array, huwa l-elementi f'dak array. U huwa kiri inti taħżen dawk il-varjabbli kif num, u num mbagħad biss output dritt bogħod milli qal, I jkollhom varjabbli imsejjaħ i, u imbagħad Irrid li strstr output [i]. U sabiex il jippermetti li tagħmel affarijiet jibred. Bħal bażikament aħna ma jkollhomx biex joħolqu dawn il-varjabbli bħall i u jagħmlu dak kollu dan il-għalf incrementation fl-aħħar. PHP jieħu ħsieb ta 'dan għalik. Allura issa ejja nitkellmu dwar foreach bħala dan japplika għall-dizzjunarju _GET tagħna. Allura aħna ser jikkummenta dan out malajr. Allura aħna għandna firxa _GET tagħna. Għandna din varjabbli. U huwa ltqajna xi għalf fiha. Dritt issa, aħna biss varjabbli waħda li jiġu mgħoddija lilu, li huwa l-isem. Imma jekk irridu ippressa Daħħal, issa jista 'jkollna żewġ varjabbli. Jista 'jkollna l-isem u l-età, per eżempju, jekk aħna rridu nġibu l-età u wkoll l-isem ta 'persuna, Funnily biżżejjed. Allura issa _GET se jkun dizzjunarju b'żewġ elementi, b'żewġ pari b'valur ewlenin. U l-ewwel key-- jien ser tikteb dan wieħed up fuq il-bord wisq. Għandna dizzjunarju tagħna huwa _GET. Jiddispjacini, huwa huwa ftit diffiċli li wieħed jara. Iżda ġewwa dizzjunarju tagħna għandna isem, li se tkun xi ħaġa li aħna qed tingħata. U aħna ser ikollhom età, li huwa wkoll se tkun xi ħaġa li aħna qed tingħata. U dan huwa l-intier tal dizzjunarju tagħna. Allura huwa ltqajna żewġ elementi fiha. U dan għaliex foreach loops huma intelliġenti, aħna tista 'taħseb, u b'mod korrett jista 'jaħseb li foreach jista jtenni permezz ta 'dan dizzjunarju, stampar ta il-valuri mogħtija bl-isem u l-età. Mela ejja fil-fatt tagħmel dan. Ejja jinbena loop foreach. U aħna qed tmur biex tagħmel għall _GET bħala. U aħna qed tmur biex tagħmel dan li ġej. Mela ejja ara dak li jiġri jekk aħna tip biss kelma, u mbagħad jgħidu kelma eku. Aħna wkoll qed tmur biex eku linja ġdida biss li jagħmilha ftit aktar ċara, x'inhu għaddej. Mela ejja ara. Mhuwiex tajtu lili xi żbalji. U aħna ser jagħlqu dan. Fuq il-websajt tagħna, int se tkun qed twettaq ħafna li matul il-kors ta 'pset7. Allura aħna ngħidu jien jisimni Sam. Età tiegħi huwa 45. Mhuwiex. Iżda prints out, kif mistenni, Sam 45. U għalhekk inti ser ikollok avviż li dak loop foreach did-- hawn, ejja mmorru lura għal dak hekk huwa sa fuq il board-- nikbru _GET bħala kelma. U kien hemm erba 'affarijiet fil _GET. Iżda huwa biss stampata żewġ affarijiet. foreach, li intelliġenza awto tagħha, jassumi li dak li aħna verament riedu kien il-valuri, mhux il-ċwievet. Iżda hemm mod li nistgħu jistampaw l-ċwievet kif ukoll, jekk ridna li. Jekk ridna li nafu wkoll liema dawn il-varjabbli kienu msejħa, hemm mod li aħna tista 'aċċess dan ukoll. U l-mod li tip ta 'tagħmel dan, hekk nistgħu ngħidu, tikri verament qasmitha fis pari b'valur ewlenin. Mela ejja ara dak li jiġri issa. Allura aħna għandna ċavetta. Għandna valur. Għandna ieħor ġdid linja għal leġibbiltà. U ejja ara dak li jiġri meta nagħmlu dan issa. I do not know kemm qodma Jason hu. Jason s 15. Allura aħna għandna isem Jason, l-età 15. Allura konna kapaċi jaċċessa l-muftieħ u pari b'valur ta 'din dizzjunarju biss billi qal punti bħala ewlenin għall-valur. U li l-sintattika foreach bit zokkor li tippermetti li taċċessja affarijiet fid-dizzjunarju. Allura nisperaw li dan it-tip ta tenfasizza il-qawwa tal-linja foreach. Tista 'pretty ħafna tarmi xi ħaġa li jidher iterable, bħal xi ħaġa li tkun multipli Elementi bħal firxa, bħal dictionary-- dawn huma tnejn affarijiet primarji li inti ser tkun ħidma mal kemm fil-ħajja u fil pset 7. Allura inti tista tarmi li Jittieħed lejn dan, u se figura dak li inti trid tagħmel magħha. Hija ser jgħidu, OK, jien ser tikseb dawn l-affarijiet mill-data li għaddiet lili. U li xi ħaġa li int se tkun qed tuża ħafna ta 'fil pset 7. Jien ser scroll malajr stabbiliti biss biex tara fejn jien fuq. In-nies ikollhom mistoqsijiet f'dan il-punt? Mistoqsijiet fil-livelli kollha? Iva? UDJENZA: Allura ma l-ewlenin u l-valur, inti tista 'isem li bih xi ħaġa oħra u xorta taħdem? SPEAKER: Oops. Ara naqra, I totalment mħassra l-linja kollha. Xogħol kbira. Allura, a. Key u valur huwa biss konvenzjoni. Huwa utli. Inti se tikseb xi disinn punti, forsi xi punti stil biex isir dan minħabba li verament twassal l-intenzjoni. Iżda aħna ngħidu au Yarp. UDJENZA: Inti ma għandekx tbiddel xejn fil-fajl HTML sabiex jirriflettu dak? SPEAKER: Mhux fil-livelli kollha. UDJENZA: U hija biss jaf li minħabba l-ugwali than-- akbar SPEAKER: Iva. UDJENZA: indikatur --that li that's-- SPEAKER: Iva. Din hija sintassi foreach, imma iva. UDJENZA: M'hemmx tipi. Allura dak li jekk int riedu età li jkun biss numru? Hemm mod biex tagħmel dan? SPEAKER: Hemm modi biex jiċċekkjaw jekk varjabbli jikkonformaw ma 'ċerti tipi. Allura PHP jitlob ftit aktar minn inti għaliex m'hemm l-ebda tipi fil. F'xi metodi hija tistaqsi inqas. F'xi metodi hija tistaqsi aktar. Għaliex jekk inti għadek xi ħaġa fil-varjabbli, ikollok l-ebda idea liema tip li hu. Imma jekk inti intelliġenti dwar il-varjabbli li inti tassenja tipi lejn u kun żgur li l-funzjonijiet biss return-- inti tixtieq funzjonijiet lil biss ritorn tip wieħed ta 'valur hekk li inti tista 'bażikament jistennew li l-varjabbli ikollok lura minn funzjoni se tkun tat-tip li taħseb li se jkun, bażikament. Iżda hemm xi metodi li permezz tiegħu tista 'tiċċekkja. I ma tiftakarx minnhom l-quċċata tar-ras tiegħi. Jien stennija biex dan jsir blu. isint? isstr? Hemm metodi mibnija fil PHP li jistgħu iċċekkja t-tip ta 'varjabbli għalik. Imma jekk inti tassenja varjabbli smartly, inti m'għandekx għandek tagħmel dan wisq fil pset 7. Iżda jeżistu dawn il-metodi. U li xi ħaġa li huwa fil-lingwa nnifisha. U jien ma tiftakarx il-sintassi preċiż. Nistgħu saħansitra tfittex it up. Iżda l-ħin huwa l-essenza. jkollhom Does xi ħadd ieħor xi mistoqsijiet aktar? Iva. UDJENZA: I jkollhom waħda biss aktar. Allura int semma l-metodu IKOLLOK, iżda inti ma nsemmux il-metodu POST. Are we ġejjin lura għal dak? SPEAKER: Iva, aħna se jkunu ġejjin lura għal dan. Dan huwa eżattament dak I kien qed ifittex fil-telefon tiegħi, li issa waqgħet rieqda, imma jien ser isibuha. Just tagħmel żgur aħna hit kollha tan-noti PHP. Yep, hemm ebda verżjoni debugging. Iva, aħna għandna ftit affarijiet aktar li li rridu nagħmlu issa f'dan il-punt. Allura jitkellem dwar POST, li int semma, l-unika differenza bejn IKOLLOK u POST hija li tiftakar meta ħarisna f'dan URL u rajna, oh, isem huwa ugwali għal u l-età ugwali Yarp lemin fin-URL hemm għalina. POST huwa xi ftit aktar sigriet bl mogħdija tagħha ta 'informazzjoni. Mela jekk inti ma tridx utent tkun taf, per eżempju, inti ma riedx l-username u password tal-persuna bħalissa illoggjat li għandhom jintwerew fl l-URL, li hija ħaġa raġonevoli li ma tridx fil-URL, għax xi ħadd jista 'jara dan. Jekk dawn link xi ħadd għal paġna, inti Ma rridx URL tagħhom plastered hemmhekk, minħabba li jippermettu lin-nies biex login biss bil-pasta ta 'URL minflok tal-fatt jimla formola. POST huwa ftit aktar sigriet. U l-uniċi affarijiet li aħna ser ikollhom jibdlu huma dan il-metodu, it-tibdil minn jasal sal-post. U mbagħad ġewwa l-HTTP, minflok 'aċċess għall-_GET firxa, aħna qed tmur biex jaċċessaw il-_POST firxa. U aħna ser ikollok avviż li, jekk aħna miftuħa dan lura mill-ġdid, Jason bil-mod jonqos fl-età. isem Jason, l-età 14. L-istess għalf pops up. Iżda immorru l-URL u dawk il-varjabbli ma jkunux hemm. U l-mod li POST passes-- sabiex tiftakar kif tħares lejn is-sors ta 'paġna. Immorru għan-netwerk. Aħna jġedded. U dan huwa ħaġa oħra li POST se jtik twissijiet dwar. Inti tista raw kaxxa, test kaxxa bħal dan fil-browser tiegħek. Inti żgur li trid li tintbagħat formola mill-ġdid? POST huwa dak li qed tibgħat dawn il-formoli. Minħabba bażikament jekk inti mibgħut tiegħek informazzjoni karta ta 'kreditu lil xi ħadd, li mhux ser juru fil-URL. Li għaddej biex tkun talba POST. Allura meta inti jġedded il-paġna, huwa jigi msewwi din it-talba posta. Allura issa aħna ma trid tibgħat l- forma mill-ġdid minħabba mhuwiex ser biex joħolqu xi xiri duplikat. U aħna ser ikollok avviż li l hawn, il-metodu aħna qed jużaw huwa POST. U tabilħaqq trasferiment bytes. Hija trasferit 401 minnhom. Pjuttost ċkejkna programm. Iżda hemm imkien li nistgħu naraw il-valuri li qed jiġu mgħoddija. Il-paġni tal-web nfushom jistgħu jaraw, imma aħna bħala utenti ma jkunux jistgħu jaraw, sakemm int Hacker. Jekk int Hacker tajba, inti tista 'tfittex. Jekk inti taf l-bażiku format tal-HTML, il-valuri se tagħmel irwieħhom fil-paġni. Int ser tkun tista 'tara. Il-valuri se jkun hemm, dawn qed biss ftit anqas ovvja għalik għall-aċċess, bażikament. Għandna aktar mistoqsijiet dwar IKOLLOK, POST before-- dak li aħna qed tmur biex tagħmel li jmiss huwa attwalment tħares lejn uħud mill-kodiċi li int tagħti fil pset 7, li jitkellmu dwar kif hija tuża xi wħud minn dawn il-kunċetti, u jitkellmu dwar l- affarijiet li inti tmur ikollhom jagħmlu ftit fil pset 7. Kwalunkwe mistoqsijiet aktar qabel dik? Aktar mistoqsijiet li inti guys jkollhom? Great. Kull dritt, ejja nħarsu ftit fi pset 7, ebda dubju dak li inti kollha aktar eċċitati dwar. I mean, din hija xi ħaġa li David tgħaddi minn ftit. Iżda aħna ser ikollhom tliet direttorji fil- top, kif ukoll bħala fajl konfigurazzjoni. Li għall databases, li aħna ser jitkellmu dwar f'madwar ħames minuti. Jinkludi, int qatt bżonn tħares f'dan direttorju jekk inti ma tridx li iżda huwa sbieħ li jafu hemm kull xorta ta 'helpers. Helpers huwa simili funzjonijiet utli. U allura għandna konfigurazzjoni, li tistabbilixxi xi għalf up. Hemm xi funzjonijiet li CS50 għandha bil-miktub li huma helper u konfigurazzjoni. U wħud mill-PHP li diġà ħruġ fil-fajls se jagħmlu ħafna ta 'l-aktar tip xogħol tar-riġel ta 'obtuse għalik. Bħal jekk immorru fis pubbliku login.php, li huwa dak li turi up dritt meta inti tmur fis pset 7. Ser naraw li hemm dan jeħtieġ id-dikjarazzjoni. U dik it-tip ta 'prodotti simili ta' qawwija jinkludu, hashtag jinkludu jekk int ta 'ġenerazzjoni ġodda. Iżda dan bażikament jgħid li għandi bżonn aċċess għall-funzjonijiet kollha fil config.php. U inti jista 'jkollhom bżonn għal kull xorta ta 'affarijiet oħra. konfigurazzjoni attwalment teħtieġ helpers. Allura kull meta għandek bżonn konfigurazzjoni, int ukoll inklużi jew li jeħtieġu helpers kif ukoll. Allura li jagħtik aċċess għal kollha funzjonijiet jibred li aħna qed tmur għall-użu, affarijiet simili jirrendi. Jien fil-fatt se ittaffi dan jistabbilixxi ftit. Allura l-funzjoni allura aħna qed ser jimxu permezz eżatt qabel nimxu fuq għall SQL ftit bit hija l-funzjoni login.php, just minħabba li juża ftit mill-kwistjonijiet li aħna biss tkellem dwar fil-PHP. Tara l-ewwel ħaġa hija jekk $ _SERVER. Dan huwa varjabbli globali oħra li int ser tkun jittrattaw. Huwa simili _GET u _POST, imma dak server fih huwa dan jista tavżak jaf jekk il-metodu talba kien IKOLLOK jew POST. Bħal qabel dak li kienu qed jagħmlu huwa biss fil-kodiċi tagħna li aħna kiteb, konna biss qed jinbidlu li jkun IKOLLOK u POST jiddependi fuq dak il-HTML jkun. Iżda hemm paġni li jistgħu jiġu aċċessati biż-żewġ tipi ta 'talbiet. U inti tista 'tixtieq li tagħmel affarijiet differenti li jiddependu fuq it-tip ta 'talba, biss login bħal ma. Allura inti tista 'tivverifika li t-talba Metodu permezz ċwievet aċċess, permezz permezz ta 'ċavetta u jkollna l- valur ta 'xi ħaġa fid-dizzjunarju _SERVER. Allura dak ieħor globali varjabbli bħall _GET u _POST. Jekk huwa IKOLLOK, irridu jirrendi l-formola login. Tirrendi hija funzjoni li bażikament biss jippreżenta l-HTML xierqa u tgħaddi xi parametri. Dan it-titolu huwa parametru li l- użati fil-wiri, Jusqu'à présent, it-titolu tal-paġna fil- kwistjoni, il-ħaġa up here, jgħidu bonjour jew fl-eżempju preċedenti tagħna. Issa għandna xi ħaġa differenti. Else jekk huwa POST, aħna jagħmlu xi għalf ieħor. Aħna qed tuża dak il-metodu vojta. Mhuwiex jeżistux, huwa vojt. U rajna qabel, PHP għandha ammont ġust ta 'mibnija fil-metodi li David will-- jekk ikun hemm huma metodi li huma utli għalik, dawn se jkunu mwissija lilek fil-mixja permezz ta 'dak David tagħti fil-ħarsa ġenerali bidu, u wkoll bits utli Zamyla tal. Hi lura kulħadd. Aħna kollha jistgħu tiċċelebra. ruhna hija funzjoni adattat issemmiet li ftit bażikament tistampa xi messaġġi ta 'żball, minħabba CS50 huwa ħafna edukat. U issa dan, din hija delikata bit għaliex dan huwa fejn aħna qed juri dubji fuq id-database. Issa aħna ma tkellem dwar databases. U aħna qed tmur biex fil-li jmiss ħames minuti jew hekk, massimu. Iżda dan huwa funzjoni li CS50 kitbet tikseb tabella bażikament minn database li aħna qed jaħdmu ma fil pset 7. Ninsab tassew ħżiena ma tiegħi indiċjar illum żero. Iżda iva, huwa 7. Allura mistoqsija li għaddej biex jirritorna l firxa, bażikament huwa l-muftieħ bit. U minħabba dawn l-affarijiet ma jkollhomx ittajpjar, hekk ringieli firxa ta arrays. Għaliex meta aħna qed jaħsbu dwar tabella, dak li aħna qed tmur biex tagħmel huwa, kif inti tgħallimt fil psets bħall-logħba ta '15, xorta waħda fejn inti kellha tuża firxa doppja, aħna bażikament jkollhom firxa ta 'oħrajn arrays jagħmel tabella. U inti stajt ltqajna ringieli u kolonni. U allura inti tista 'aċċess għalihom bħal [0] [1], ikollok l-[0] [1]. Għalf bażiċi bħal dik. Allura dak li aħna qed tagħmel hawn f'dan funzjoni, aħna qed titlob lill-database jekk l-utent li l- jippruvaw login, li se jkun mibgħuta permezz tal-metodu POST. Ser naraw aħna qed jkollna il username minn _POST. Huma ser bagħtu, l-utent jew int, se tibgħat valur permezz ta 'formola permezz POST minħabba huwa username u password għalf. Aħna qed iċċekkjar tal-username biex tara, hija din fit-tabella? Għaliex jekk utent jiġi qtugħ in, allura username tagħhom għandhom jiġu maħżuna fit-tabella ta ' utenti li jeżistu għal dan is-sit. Għalhekk bażikament jekk il utent huwa fid-database, query se jirritorna li ringiela, li huwa firxa. Imma l-parti delikata huwa li jekk anke jekk il-firxa doppja hija biss ta 'ringiela waħda, anki jekk huwa filliera waħda array-- bħal ħadthom ltqajna basically-- jekk inti ħadthom ltqajna daqs wieħed array li l-azjenda firxa oħra, int verament jittrattaw kolonna waħda. Iżda huwa għadu trattati bħal firxa doppja. U dan huwa fejn tista 'kultant tinkiseb delikata, għaliex aħna ħadthom ltqajna ringieli hawn. Varjabbli tagħna huwa ringieli. U allura aħna qed jinħolqu varjabbli imsejjaħ ringiela ġdida u dan ikun iffissat ugwali għal l-ewwel ringiela ta 'ringieli. U tkun taf avviż li jikkummentaw jgħid li l-ewwel u biss ringiela. Allura dan huwa l delikata parti fejn issa funzjonijiet tista 'tmur lura arrays faċilment. Hemm mhux mallocs. Inti mhux se tara mallocs. Allura inti mhux se tara difetti SEG. Iżda funzjonijiet xorta se tkun tgħaddi madwar arrays u data fi gruppi. U inti għandek tkun attenta ta 'dak eżattament funzjonijiet tiegħek se terġa 'lura. U anki jekk huwa wieħed kolonna bħal dan, mistoqsija għadu għaddej biex jirritorna firxa doppja. Allura biex l-aċċess li column-- jew inti tista 'taħseb ta' dan kollu bħala maqlub peress li aħna qed jitkellem dwar ringieli. Iżda biex ikollhom aċċess għal dak ringiela waħda, inti ma tistax biss jgħidu ringieli. Anki jekk huwa ringiela waħda, inti għandek do rowsrows [0] li tip ta jeliminaw din bit barra mill-firxa u jkollhom biss waħda ringiela tiegħek. Do xi affarijiet oħra. Hemm funzjoni imsejħa password_verify li jivverifika l- password li tpoġġa. U allura naraw ieħor globali varjabbli hawn, _SESSION. Bażikament sessjoni id huwa kif inti żżomm rekord tal jekk xi ħadd ikun illoggjat jew le. Allura dritt issa ma login.php, aħna qed qtugħ utent in. Allura dak li rridu nagħmlu huwa li rridu jgħidu s-sessjoni id hija ugwali għall-filliera id, li biss jagħmel sens għaliex kull ringiela se jkollhom id differenti Numru bħala parti tat-tabella. Aħna ser jsibu rwieħhom SQL fil- tieni, hekk jekk xi wieħed minn dan jidher ftit qisu blah, allura kollha se jiġu solvuti. Iżda aħna qed tmur biex jistabbilixxu l-id ugwali għal il-ħaġa xierqa, qtugħ l-utent in. Ruhna jekk xi ħaġa tmur ħażin. U li huwa logins skop ħajja kif Professur Malan ngħid. Allura li kien login.php. U ħafna tal-kodiċi PHP tikteb fil pset 7, dawn ser tkun xi ftit. Tinsiex li chmod li l-permessi xierqa. Se jkun hemm xi ftit dwar li fil-bidu tal-spec. Iżda l-PHP li int kitba se tkun tagħmel għalf li huwa simili għal dan. Inti qed tmur biex tkun aċċess xi affarijiet li huma mogħtija lilek fil- varjabbli globali ta 'PHP li qed jittrattaw mal-kurrent illoggjat utent, jekk hemm jkollhom talbiet ġew mibgħuta ma 'dan paġna, affarijiet differenti bħal dik. U se jkun ukoll potenzjalment mtennija permezz ringieli ta 'dan il-ħaġa. Fil funzjoni differenti, query ma jirritornaw din array doppja. U jekk ikun hemm aktar minn wieħed ringieli fiha, jekk are-- hemm iva, jekk ikun hemm huma aktar minn ringieli fiha, imbagħad se jkun tabella. U inti tista 'tixtieq li jtenni permezz tal-ringieli ta 'dan array li jużaw il-linja foreach li aħna deskritti. Mela jekk inti tagħmel foreach fuq double firxa, dak se-word-- hawn, I ser attwalment tiktibha. I ser tikteb malajr hawn. Jekk għandna foreach ta 'ringieli kif ringiela, x'inhu l-tip ta 'ringiela? Hawn xi ħadd jaf? You ltqajna? Allura ringieli huwa firxa doppja. Allura x'inhu foreach se jiddeduċi li rridu minn dan array doppja jekk aħna qed jiġu mtennija fuqha? Aħna bażikament jista 'jassumi li li għaddej biex jkunu jew elementi, jew ringieli, jew kolonni, bażikament. U hekk ringieli u kolonni aħna jista 'jikkura bħala l-istess ħaġa. Bażikament dak li l-loop foreach va tagħmel huwa li għaddej biex jirritornaw ringieli. ringiela se tkun ta 'ringiela tip, billi ringieli huwa firxa doppja. Mela jekk inti tagħti foreach firxa doppja, huwa mhux se jtenni aktar minn livell wieħed fond. Liema hija bażikament jiġifieri meta jeżisti tmien ċelloli f'dan table-- 1,2, 3 4, 5, 6, 7, 8-- il loop foreach mhuwiex se jmorru permezz ta kull wieħed minn dawn iċ-ċelluli. X'inhu l-loop foreach se tagħmel kien se jmorru permezz ta 'dan filliera, jagħtik din il-filliera kollu. U allura dan ser jgħaddu dik filliera. Għalhekk itenni biss livell wieħed fond. Jekk inti żid nested loop foreach, allura inti jista 'jikkura kull ringiela lura minn ringieli, inti tagħmel ringiela foreach bħala element, ejja ngħidu. U allura inti tista 'eku l-element. Allura dak fil-qosor ftit aġġornament dwar kif inti tista 'tuża foreach linji fil-kuntest ta 'mistoqsija. Hemm xi mistoqsijiet dwar PHP? Xejn affattu qabel we jimxu fuq jitkellem dwar SQL u l-gost ta 'database? Tħossok tajjeb? Tħossok tajjeb. Kull dritt. Ejja jimxu fuq lura lill- PowerPoint, li inti probabilment titlef. SQL, yay. Nies li huma fis-sezzjoni tiegħi tipikament se jkun jaf li subintestaturi tan akronimi huma dejjem biss l-ewwel kliem I think ta 'dak jaqblu li algorithm-- li akronimu. Mhuwiex algoritmu. Allura SQL hija database. Huwa lingwa li jaħdem ma 'databases. U databases kollha huma hija tabelli, għall-inqas fil-mod li SQL tirrappreżentahom. Mod ieħor biex jaħsbu dwar databases hija databases huma sett ta 'ċwievet u valuri bażikament. Inti tista 'taħseb dwar database bħala dizzjunarju u wkoll bħala tabella. Bażikament huwa mod biex jassoċjaw data differenti ma 'data oħra, spiss permezz ringieli u kolonni. U li l-mod li l-SQL xogħlijiet aħjar. Allura dan huwa eżempju wieħed ta 'tabella. Stajt ltqajna ftit eżempji ta ' nies fit-taqsima tiegħi, li I ma kellhomx żmien għall-bidla. Iżda aħna ltqajna affarijiet simili ID, isem, superpotenza, u Hometown. I do not know fejn kulħadd huwa minn f'sezzjoni tiegħi, hekk jien biss ser jassumi kulħadd minn New York City għaliex għandi għolja statistika probabbiltà li tkun korretta. SQL se tieħu awtomatikament kura tal-kolonna ID għalik. Jekk inti daħħal ringiela ġdida f 'database SQL, se inkrement li Numru ta 'identifikazzjoni u biss bażikament stick bħall ħames ismijiet, superpotenza, Hometown, min fuq it-tmiem ta 'dik it-tabella. Allura ID hija kolonna inti ser qatt ma jkollhom għalfejn tinkwieta dwar. Imma, bħal fil-każ tal login.php, meta aħna kienu jkollna s-sessjoni ID minn mejda u biss bl-użu ID, ID huwa mod biex jidentifika unikament element ta 'database. Mela jekk kellna tnejn SAMS, it-tnejn li mgħallma CS50, u t-tnejn li kienu minn Milwaukee, dawk kieku għad għandhom numri ta 'identifikazzjoni distinti u b'hekk tkun distinta kuntest tat-tabella. Allura dan huwa dak SQL qed jittratta ma, li jaħdmu ma fl-aħħar lura. Issa dawn huma l-erba 'kmandi li ghandek bzonn biex jaħdmu ma SQL. U jien threw minnhom kollha up fuq slide waħda. Iżda aħna qed tmur biex jgħaddu kollha individwalment. L-ewwel kmand huwa AĠĠORNAMENT, li ma dak li inti tista 'tistenna. Tgħid li inti għandek xi data fil il tabella li l-skadut. Bħal jekk int żamma rekord ta 'ismijiet tan-nies u etajiet, jekk xi ħadd huwa akbar fl-età, allura int tmur jridu jmorru fi u taġġorna età biss dik il-persuna. Per eżempju li jaħdem bl-ewwel table-- tagħna ma joqogħdu jinkwetaw dwar kitba kollha dawn il-kmandijiet fl-istess ħin. Imma jekk inti ħadthom ltqajna aġġornament isfel, li ser tkun tajba għal din il-parti, għaliex aħna qed tmur biex mur lura għall-mejda. Mela jekk immorru lura għall-mejda, ejja ngħidu xi ħaġa li ġara kien kien hemm terremot jew linja tort li taqsam direttament permezz New York City. U aħna riedu li taġġorna kulħadd li għexu fi New York City. Huma kollha kellhom jimxu lejn Pennsylvania. Li mhux Hometown. Huma kollha kellhom jimxu lejn New Haven. Hemm immorru. Allura kulħadd fi New York jiċċaqlaq lejn New Haven. U hekk dan huwa xi ħaġa li editjar tliet ringieli f'din it-tabella. Iżda fil SQL, inti tista 'tagħmel li fi ftit dikjarazzjoni waħda. Allura immorru lura biex taġġorna. Let me quick litħassar dan il-bord mill-ġdid. Meta aħna qed jitkellem dwar aġġornament, hemm ftit partijiet tal-sintassi li huma essenzjali. Well, kollha tal-sintassi hija essenzjali. Iżda l-għalf fl-aħdar huwa fakultattiv. Il abjad huma meħtieġa, ismijiet stabbiliti minn qabel bħal. U l-dawl blu huma affarijiet li jvarjaw skond il-mejda. Allura dak hu li għaddej bl l-iskema ta 'kulur hawn, up hemm. Mela jekk irridu li taġġorna biss dawk ringieli tal-persuni li jgħixu fi New York, hekk dak li se tagħmel jekk għidna AĠĠORNAMENT? Allura tabella hija fejn npoġġux l-isem tal-mejda tagħna. Ejja ngħidu biss l-isem tal-mejda tagħna huwa tabella waħda. Allura irridu li taġġorna tabella waħda. U rridu li set-- dak li irridu nistabbilixxu? Well irridu ngħidu, PHP hekk column-- tittratta ringieli bħala identifikaturi uniċi. U allura kolonni huma l-oqsma differenti ta 'dawk l-elementi tad-database. Allura l-ewwel element tad-database għandha isem ta 'Sam, superpotenza ta CS50, u Hometown ta Milwaukee. Allura jekk aħna qal stabbiliti, ejja nħarsu lejn il-parametri għal darb'oħra dak is-sett jieħu. Għandna kolonna ugwali valur. Allura irridu ngħidu xi column-- li tiftakar huwa field-- irridu naraw qasam ugwali għal xi ħaġa ġdida. Allura jekk aħna biss qal aġġornament tabella 1, l-isem stabbilit ugwali Elliot. Get xi nies mill- taqsima ġdida fil dwar dan. Imma jekk aħna biss ma aġġornament tabella 1 isem elenkat ugwali Elliot, dak li il-ħarsa tabella bħal wara dik? In-nies għandhom xi idea? Yeah. UDJENZA: Kollox f'dak ringiela ssir Elliot. SPEAKER: Kollox fejn filliera? UDJENZA: Fl-ewwel filliera. SPEAKER: Fl-ewwel filliera? Għaliex l-ewwel ringiela? I ma jfissirx li jittellgħu fuqek. UDJENZA: Forsi kollox fit-tabella kollu? SPEAKER: Kollox fil il tabella kollu, iva. U dan huwa eżattament id-dritt I because-- kien biss tgħinek out ftit there-- għaliex aħna jitħalla barra il-klawsola mhux obbligatorja FEJN. Jekk inti ma għandekx il-FEJN klawsola, liema dan il-kmand se tagħmel huwa dan ser taħdem ma 'kull ringiela waħda fit-tabella. Isem ta 'kulħadd se jsiru Elliott, bażikament, li Elliot huwa kuntent ħafna dwar. Jew Yanni, wieħed miż-żewġ. Iżda isem kulħadd se jinbidlu. Allura l-mod li bih nużaw il-FEJN clause-- u dan japplika għall kollha tal-Billi d li huma f'kull wieħed dawn l-affarijiet differenti. Allura inti ser ikollok avviż li SET għandu valur ugwali kolonna. U għalhekk ma FEJN. Iżda dawn huma differenti tipi ta 'dikjarazzjonijiet. Allura l-kolonna hija daqs valur fil SET huwa assenjazzjoni. Simili aħna qed tgħid li rridu li jiġu stabbiliti isem ugwali għal Elliot. Iżda fil-klawżoli fejn, dawn huma dikjarazzjonijiet ta 'ugwaljanza. Mela ejja ngħidu aħna biss riedu bidla fl-isem tal-persuna li Elliot jekk l-isem tagħhom kien Ryan, ejja ngħidu. Allura meta ngħidu FEJN isem ugwali Ryan, li kieku b'suċċess unika bidla l name-- dan iwassal biss jibdlu l-qasam isem fir-ringieli fejn l-qasam isem huwa ugwali għal Ryan. Mela jekk kellna nies multipli jismu Ryan, kollha ta 'l-ismijiet tagħhom se tinbidel biex Elliot. Dan huwa simili għall-eżempju ta jekk linja tort qasmiet New York City u kulħadd għandu jimxu lejn New Haven, il-mod nistgħu tagħmel dan fid-dikjarazzjoni waħda hija AĠĠORNAMENT Hometown SET Tabella 1 = New Haven fejn Hometown ugwali New York City. Dan huwa l-qawwa ta ' id-dikjarazzjoni AĠĠORNAMENT. Aħna jistgħu jagħżlu kwalunkwe numru ta ' ringieli permezz stqarrijiet veri dwar l-oqsma f'dawk ringieli. Ma nistgħux ngħidu sett Tabella 1 AĠĠORNAMENT isem = Elliot FEJN ringiela = 1, ħlief li nistgħu jekk ngħidu ID = 1. Allura aħna qed tmur biex tkun ħidma ma 'l-ugwaljanza ta 'oqsma, l-ugwaljanza ta' kolonni. Iżda bl-użu tal-qasam ID huwa mod biex tagħżel ringieli individwali speċifiku, minħabba li l-qasam ID huwa uniku identifikatur f'database SQL. Allura bħal aġġornament ringiela waħda, ID ugwali 1. Aġġornament ringiela tnejn, biss bidla li numru ta 'identifikazzjoni. Iżda l-qawwa tal- FEJN id-dikjarazzjoni hija li aħna tista 'taġġorna l-affarijiet ibbażati fuq dak tagħhom valuri kurrenti ta 'ċerti affarijiet huma. Iva Elliot? UDJENZA: U jekk dak li trid to-- għal darb'oħra, dan huwa kwistjoni oħra. Iżda l-ewwel domanda tiegħi kien, fejn qed jiġri dan? Fejn am I aġġornament dan? Huwa dan f'kodiċi PHP? SPEAKER: Fejn inti aġġornament, iva. Aħna qed tmur biex jitkellmu dwar fejn kollha ta 'dan jiġri tip ta 'darba immorru permezz l-kmandi. Imma dak li għandek bżonn taf għal issa hija bażikament dik id-database SQL tiegħek teżisti bħala xi ħaġa li jiġu aċċessati mill-mistoqsija funzjoni, li CS50 jiddefinixxi. Mela jekk inti tuża l-funzjoni mistoqsija, inti tista 'aċċess din it-tabella. Allura inti se tkun qed tibgħat dawn jikkmanda għall-mejda tiegħek fil-fajls PHP permezz tal-funzjoni mistoqsija. Tista 'wkoll play madwar mal-mejda tiegħek direttament. U dan huwa l-aħjar mod biex jittestjaw dawn it-tipi ta 'kmandi. U aħna ser jgħaddu eżattament kif biex tagħmel dan fi ftit ftit. Allura dak kmand AĠĠORNAMENT. U l-bqija tal-kmandi ser ikunu tip ta 'simili, jaħdmu fuq affarijiet simili. Il FIS DAĦĦAL huwa probabbilment l-aktar differenti minn AĠĠORNAMENT. Jien ser jitilqu li up hemm għal biss ftit u x-xogħol minn hawn. Allura ddaħħal fil, tkun taf tara dik it-tabella għadu l-istess. Inti tixtieq li ddaħħal fil. Il-kapitalizzazzjoni, SQL huwa każ insensittiva. Allura inti ma għandekx kapitalizzazzjoni dawn l-affarijiet. Skont il-konvenzjoni, il-kliem fl-abjad huma kkapitalizzati. I iżda wkoll color kodifikati minnhom. L-unika raġuni li inti kapitalizzazzjoni dawk meta int ittajpjar minnhom huwa biss biex jenfasizzaw li dawk huma kostanti. U għalhekk inti tista 'jew tħares lejn il-kapitalizzazzjoni jew il-fatt li stajt kkulurita b'mod differenti. Allura konna ltqajna DAĦĦAL FIS, ejja jagħmlu Tabella 1 darb'oħra. Din hija kollha fuq linja waħda. Jien biss li tisseparaha mill id-dikjarazzjonijiet differenti. Allura ma joqogħdu jinkwetaw dwar il-fatt li Tabella 1 għamilha fuq il-tieni linja. Allura irridu li daħħal FIS Tabella 1 xi valuri. U tkun taf avviż-fakultattiv bit, li jiena ser tingħata fit-tieni. Allura konna ltqajna VALURI. Mela ejja ngħidu aħna tixtieq iżżid Andi għall-mejda tagħna, għax aħna miss Andi. Andi huwa marid. Mela ejja żid Andi għall-mejda tagħna. Ftakar li n-numru ID huwa aġġornat awtomatikament. Allura l-uniċi oqsma we bżonn ninkwetaw dwar huma l-isem, superpotenza, u Hometown. U għalhekk l-mod li nagħmlu dan, tħares lejn sintassi tagħna, huwa konna biss ltqajna parentesi, bil-virgola Valuri separati, li kull wieħed minnhom hija valur. Mela jekk ridna li daħħal Andi fis tagħna tabella, kollha għandna nagħmlu huwa dritt Andi. X'hemm superpotenza Andi, l nies fit-taqsima Andi ta? Hi simili titjira, jew simili veloċità, jew xi ħaġa. What do diġà għandna up hemm? Għandna CS50, titjira, veloċità, u s-saħħa. UDJENZA: ivvjaġġar Time. SPEAKER: ivvjaġġar Time, aqwa. Allura konna ltqajna Andi, il-ħin ivvjaġġar, u Hometown tagħha. Li l-kwistjoni verament tajba. New York City, sakemm xi ħadd jaf. Kulħadd minn New York hija l- lezzjoni għal take away mil-lum. Allura din id-dikjarazzjoni kieku daħħal, bħala l-ħames filliera, mal-ivvjaġġar ta 'żmien superpotenza u Hometown ta 'New York City. Iżda l-field fakultattiv hija bażikament mod li tispeċifika eżattament liema kolonni inti tixtieq li daħħal l-affarijiet in. Il-mod li aħna qed tagħmel dan issa, Andi, l-ivvjaġġar ħin, New York City, li qed jiġri fl-ordni eżatt ta 'tagħna isem table--, superpotenza, Hometown. U jekk inti riedu jagħmlu xi ħaġa oħra għajr li, bħal ngħidu li inti ma taf superpotenza 'xi ħadd, simili kif I ma kinitx taf li Andi superpotenza fil-bidu. Allura kull kont naf kien tagħha isem u Hometown tagħha. What I tista 'tagħmel huwa li stajt do-- I ser iħassar din malajr. Irrid li biss taġġorna l-kolonni. U dan huwa fejn l-fakultattiv lista f'kolonna tidħol fis-play. I biss tixtieq li taġġorna l-isem u Hometown. U mbagħad I se ngħid VALURI. I ser tagħmel Andi u New York City. Jekk kelli naqset il-lista tal-kolonni u biss isir dawn iż-żewġ affarijiet, fejn ikun New York City marru? Il-kolonna se New York Belt li tqiegħdet? In-nies għandhom xi idea? Superpotenza, eżattament. Allura dan se biss jmorru fl-ordni. U ladarba jasal fl-aħħar tal- lista, dan ser biss tieqaf mili affarijiet. U l-valuri li dan ser twaħħal fil l-kolonni se jkun biss NULL. Allura għaliex aħna speċifikat isem u Hometown, aħna qed tmur biex ikollhom ID 5, isem Andi, NULL superpotenza. Allura superpotenza huwa valur uninitialized. Inti mhux se neċessarjament tikseb l- Żbalji Valgrind istess jekk inti tipprova u jkollhom aċċess għaliha. Kollox se jkun ażżerat nicely out, għaliex NULL huwa valur fih SQL. Din hija kostanti. U mbagħad Hometown se jkun New York City. Allura dak l-INSERT FIS kmand. Qabel nimxu, hemm żewġ jikkmanda aktar. In-nies xi mistoqsijiet dwar AĠĠORNAMENT, dwar DAĦĦAL FIS, dwar SQL Ġeneralment qabel nimxu fuq bits finali tagħna? Nies iħossuhom tajjeb, kbira. Imħabba tiegħu. Mela ejja nitkellmu dwar SELECT. Going foss AĠĠORNAMENT hawn. U tagħżel se tkun simili ħafna. L-għan ta 'SELECT, Iskop TAGĦŻEL fil-ħajja huwa li jagħtuk mazz ta 'kolonni li jissodisfaw ċerti kundizzjonijiet. U meta ngħid jissodisfaw ċerti kondizzjonijiet, moħħok jista immedjatament mur lura għal dak FEJN klawsola li ħarāu fl AĠĠORNAMENT. U din il-klawżola hija eżattament hemm fil SELECT. Jekk aħna ma tpoġġi l-FEJN il-klawsola u ngħidu isem SELECT, Hometown spelt li ftit isem wrong--, Hometown MILL Tabella 1. Jekk aħna biss jgħidu li, dak TAGĦŻEL huwa ser jagħti lilna huwa ser tagħtina double-- tabella, pjuttost. Firxa doppju jekk aħna qed jaħsbu dwar fil-PHP sensi. Iżda huwa biss se tagħtina firxa doppju ta 'tnejn isem columns--, u Hometown. U se jinjora ID. U se jinjora superpotenza. U inneħħu biss tagħtina kull ringiela waħda ta 'dik it-tabella. Allura jekk aħna biss inserit Andi, aħna ser ikollhom Andi. U aħna ser ikollhom l-erba oriġinali. Jekk dawn ħadthom ġew aġġornati, li se ikunu riflessi, eċċetera, eċċetera. Allura dan huwa għaliex aħna ma użatx l-klawsola FEJN. Iżda nistgħu nużaw eżattament fl- istess mod aħna użati fil AĠĠORNAMENT. Jekk aħna biss tixtieq tabella ta 'l-ismijiet u super-poteri ta 'nies li jgħixu fi New York, nistgħu tesegwixxi dikjarazzjoni bħall-isem TAGĦŻEL, superpower-- Jien biss ser jitilqu that-- MILL Tabella 1 FEJN Hometown = New York City. Allura dan tmur biex turi li inti tista ' jiksbu kolonni totalment differenti, u mbagħad iwettqu kolonni li int mhux anki jkollna lura fil-klawsola FEJN. Aħna ma saħansitra jridu l Hometown ta 'kulħadd. Imma irridu l-isem u l superpotenza ta 'nies Hometown tagħhom hija New York City. Allura li xi ħaġa aħna tista 'tagħmel ma' l-FEJN klawsola nistgħu jittrattaw kolonni li aħna ma neċessarjament jixtiequ lura. Bl-istess mod fl AĠĠORNAMENT, nistgħu jittrattaw bil-kolonni li nagħmlu mhux bilfors tixtieq li taġġorna. Aħna tista 'taġġorna l-belt ta' kulħadd li l-isem huwa Sam, per eżempju. Aħna tista 'taġġorna l-belt ta' kulħadd li ID numru huwa 2. Hekk biss taġġorna l- belt tat-tieni ringiela fejn aħna ma jkollhomx għalfejn jinnegozjaw ma meħtieġ il-kwistjoni komuni. U ħassar hija, kif youd jistennew, iħassru mir Tabella 1. U allura konna ltqajna klawsola ieħor FEJN. Allura nistgħu ngħidu FEJN ID = 1. Ħassar l-ewwel ringiela. U ħassar dejjem se tħassar filliera, jew se tħassar xi numru ta 'ringieli. Ħassar MINN FEJN tabella Hometown = New York City se tħassar kulħadd fi New York City. Li kieku kien hemm pesta traġiku f'daqqa u inti biss riedu biex jitneħħew kulħadd mit-tabella li għexu fil-belt partikolari li ntlaqtet mill-pesta. Ma jistgħu mistrieħ fil-paċi. Dawn huma l-erba jikkmanda SQL li ser ikollok bżonn tuża. Inti tista 'ma anki ħtieġa jużawhom kollha. Iżda dawn huma l-erba li CS50 jistenna li inti li tkun komda ma nidħlu kemm kwizz 1 u wkoll pset7 u pset8. Hemm biss dik it-tabella ġdid. F'dan il-wieħed, superpotenza Roy għandha ġew aġġornati biex raġġi tal-laser, li huwa eżempju I ma użatx. I do not know liema waħda Roy jippreferi, iżda s-saħħa. Roy għandha superpotenza ta 'saħħa. Katherine ma jagħmluhiex llum. Li ħasra. Iżda hi għandu veloċità super. Ukoll li kien PHP. Qabel nitkellmu dwar MVC, ma ħadd xi mistoqsijiet dwar PHP? Issa SQL, PHP jew jekk f'daqqa waħda għandek toħroġ bi xi mistoqsija dwar PHP? Great. Kull dritt, aħna qed kollha stabbiliti imbagħad. Allura tkellem ftit dwar kontrolluri ħsieb mudell, ejja mmorru lura għal xi tal-għalf fl pset7. Allura dak fehma mudell kontrollur is-- M'inix ser jiffranka bidliet tiegħi login minħabba I totalment butchered dan. Imma bażikament għandna żewġ affarijiet separati għaddejjin. Għandna pubbliku direttorju li fih il-kodiċi li għaddej biex jiġu eżegwiti u l-paġni web li se ssirilhom żjara. U għandna wkoll dan id-direttorju fehmiet. U l-fehmiet fih templates. Dan huwa dak li l-funzjoni render-- rajna l jirrendu funzjoni mazz tal-kodiċi PHP li CS50 diġà bil-miktub għalik, li jieħu f'ċerti parametri. Dak li qed tagħmel Kodiċi huwa li għaddej fis fehmiet, li huma settijiet ta 'prodotti simili HTML code prewritten, u huwa ddaħħal valuri f'ċerti postijiet. Dan huwa kif meta inti jmorru fil CS50 Finanzi, l-istess header huwa fuq kull paġna. L-istess footer huwa fuq kull paġna. Dan huwa minħabba l-mod li tirrendi xogħlijiet hija inneħħu garża awtomatikament f'dik header u telespettatur li tistgħu ssibu fil-fehmiet. Aħna fil-fatt tista 'tmur fil header, u tħares, huwa fajl HTML b'ras. Huwa ltqajna xi stylesheets. Inti ma għandekx bżonn li nħarsu lejn CSS għall pset7 jekk inti ma tridx. Iżda int tista 'timmodifika jekk trid, tagħmel Finanzi tiegħek tfittex ftit differenti. Huwa ltqajna xi PHP fil l-header ftit biex tara jekk ikun hemm f'titolu differenti għandu jitqiegħed f'dan header. Iżda biss xi skripts oħra, u links, u affarijiet oħra. Truf, korp jibda, u oops, għandna dan stramb aħħar ftit. U hemm div, bħad tip formless ta element li għandu idea ta 'nofs. U mbagħad meta naraw footer, aħna għandna l-aħħar ta 'div. Għandna qiegħ, li hija fejn it-test footer huwa. Tmiem tad div, tmiem tal-ġisem, tmiem ta 'HTML. Allura dak li jagħmlu huwa jagħmlu qed jagħmlu huwa tip tal patching up header, a fajl PHP differenti li se jkun fiha l-affarijiet attwali li inti ser tara, bħal mejda tiegħek ta 'ħażniet jekk tkun qed tixtri jew bejgħ ħażniet. U allura dan ser żid fil-footer. U l-fehma mudell idea kontrollur hija li aħna tixtieq li tissepara kif affarijiet jidhru mill-kodiċi. Huwa irridu li tissepara l-frontend u l-backend, fejn il-frontend hija l-għalf li l-utent jara, il-sbieħ visuals-- HTML, CSS, affarijiet bħal dik, immaġini, eċċetera. U l-backend hija PHP. Dan huwa kodiċi li tikteb. Dan huwa fejn l-kodiċi thats tagħmel operazzjonijiet attwali. Dan huwa meta int żżid stokk għall-mejda tiegħek, meta inti qed jixtru u bejgħ, li l-backend. U nistgħu, kif inti raw, inkluż PHP direttament fl HTML. Allura dak li stajna għamilna għal Din il-ħidma hija biss kellhom fajl HTML għal kull paġna, bħal login. U mbagħad fuq dik il-paġna, biss kellhom blokk enormi ta 'kodiċi PHP, inklużi dawn kollha kodiċi li dik il-paġna speċifikament jeħtieġu. U allura jista 'jkollna għamlu dan għall-portafoll. Aħna setgħet għamlet kollha mill-xiri u l-bejgħ fi ħdan il-paġni individwali. Iżda għaliex aħna qed tirrendi separatament minn fejn aħna qed tikteb l-backend kodiċi, nistgħu faċilment bidla kif affarijiet jidhru mingħajr jinbidlu kull fajl waħdieni. We do affarijiet simili żid ftit a div ġdid lejn il-qiegħ of-- Hello I immodifika l-footer. Inti tista 'biss tagħmel għalf bħal dik. Iżda wkoll, tista 'tbiddel it-tqassim viżwali kollu mingħajr ma jaffettwa x'hemm sejrin fid-backend. U tista 'tbiddel l- backend kollu u xorta għandhom dan tfittex biss bħal għamlet quddiem. Dan Hija l-idea ta 'kontrollur fehma mudell. U huwa attwalment paradigma imposta f'xi wħud mill-lingwi ta 'programmar inti tista 'tixtieq li tuża għal proġetti finali. Jekk inti tagħmel l-iżvilupp IOS, huma għandhom fehmiet, li huwa dak li tara fuq l-iPhone, u imbagħad Backend bħala bħal ħaġa separata. Inti tista 'taħseb dwar xi ftit. Hemm ħafna ta 'binaries fil xjenza tal-kompjuter, li hija umoristiċi, għaliex kollox huwa fl binarja. I ma pjan dan. Dan kien pun mhux intenzjonat. Iva, pun mhux maħsuba. Iżda bħal fajls .h u fajls .c, hemm ħafna jissepara affarijiet li aħna ma bżonn. Allura nistgħu biss jeditjaw il-fajls h, jew xi ħadd jista 'biss tara fajl .h u jafu eżattament il-funzjonijiet li huma fil- fajl .c mingħajr ma neċessarjament jafu implimentazzjoni tagħhom. Din l-idea ta 'komponenti li jisseparaw li jiddependu fuq xulxin iżda jista 'tip ta' aċċess xulxin permezz ta 'kanali differenti, li jgħaddi ta 'varjabbli, just jinkludu dikjarazzjonijiet, affarijiet bħal dik, dan il-prinċipju tgħin biex jinħolqu applikazzjonijiet li tista 'tkun aktar faċilment editjat minn nies multipli, jista 'jinbidel b'mod aktar faċli jew immodifikati fuq skala kbira, u huma aktar faċli biex debug fil-lott ta 'modi. Tassew mgħaġġla, għandi ftit tips għall pset7, li jiena ser tagħmel full screen sabiex inti ma biss tħares lejn the-- tippee ponta ponta. M'hemmx li ħafna tips. Imma semmejt PHP huwa diffiċli li debug. Doppji u trippli check. Jekk il-kodiċi tiegħek huwa biss mhux juri fuq il-paġna, huwa probabbilment żball PHP, sorry. Inti qatt ma jeħtieġ li nħarsu lejn CSS jekk inti ma tridx. Imma ladarba int lest, jista 'jkun ħaġa ftit gost sbieħ li jmorru biss fil u mess mal-parametri CSS. CSS u HTML huma eżempju ta 'mudell ħaġa wisq, id-dritt stil kontrollur fehma? Jista 'jkollok tags stil ġewwa ta 'elementi HTML. Imma jekk inti tip ta ' esternalizzazzjoni biex CSS, dawn qed faċli biex jeditjaw, u play madwar ma ', u jieħdu pjaċir bil. Ittratta helper CS50 jiffunzjona bħala kaxxi suwed. Inti ma għandekx bżonn tkun taf eżattament dak jirrendu qed jagħmel, iżda trust huwa li dejjem tagħmel il-lemin ħaġa jiddependi fuq dak li tgħaddiha, affarijiet bħal dan. U jien nirrakkomanda jaraw walkthrough David, għaddejjin kollha permezz tal- Jittieħed, mhux biss il-todos, imma int verament tista 'tittratta dawn il-kaxxi kif suwed. Ma jmorrux lejn dawn funzjonijiet tfittex bugs. U jilqgħu r-ritorn tal Zamyla Overlord tagħna. Great. Hemm xi mistoqsijiet finali qabel aħna tip ta 'bounce għall-ġurnata? Am I għadhom jgħixu? Great. Nies LiveStream Hi. Great. Hemm aktar mistoqsijiet? Nru? U mbagħad I think we qed tajba biex tmur għal-lum. I ser twaħħal madwar ftit afterward jekk in-nies kellhom mistoqsijiet kienu jibżgħu li jistaqsu fuq in-nixxiegħa. Iżda altrimenti, kellux ġurnata tajba.