SAM LEVATICH: Laipni lūdzam sadaļa par šo nedēļu. Es neesmu Andi. Andi ir samazinājies slims šī diena, un es ir sava veida sauc pēdējā brīdī pārņemt. Tas ir gripas sezona, tāpēc pārliecinieties, ka jūs uzturas tīru, mazgājot rokas, un ēst veselīgi, lai arī jūs neesat pie gultas. Bet bez turpmāka ADO, pieņemsim sāktu. Šodien mēs esam gatavojas runāt par PHP nedaudz bit-- kā PHP ir saistīts ar HTML, kā to saistīts ar CSS, un daži no interneta sīkumi jūs pēdējā uzdevumā. Mēs ejam, lai runāt mazliet par SQL un kā jūs varat strādāt ar datu bāzēm, kas ir diezgan būtisks elements P noteikt 8-- P noteikts 7. P noteikts 7. Un tad mēs runāsim nedaudz bit par to, kā view kontrolieri strādāt un kāpēc tas ir filozofija aiz daži mūsdienu web lapas un atšķirīgs dizains. Diezgan daudz daudz veidu progr un programmas jūs varētu kuģis izmanto šo modeli, Skats kontrolieris sistēma, ka jums būs, izmantojot P noteikts 7, tāpēc es ņemšu runāt mazliet par to, kāpēc tas ir kļuvis populārs, kāpēc tas ir svarīgi un jauki. Un tad es beidzot pāriet uz daži padomi par risināšanā P noteikts 7. Un, ja mums ir laiks paliek pāri gada beigās, mēs faktiski var darīt dažas darbu, kas kopā. Tātad, PHP. Patiesībā, jums var būt ievērojuši this-- jums nav īsti ir nodoties it-- bet P noteikts 6 bija daži PHP kodu, kas notiek. Un jo PHP ir C-līdzīgu valoda, PHP, atšķirībā no HTML un CSS, ir programmēšanas valoda, tā kā HTML un CSS ir statisks. Viņi iezīmēšanas valodas, kas nodarbojas ar stilu un vizuālo izkārtojumu. PHP ir reāls darījums. PHP ir cilpas, tas ir conditions-- visu, kas stuff, kas ir jautri par C. Tas ir dažas lietas, kas ir nedaudz mazliet labāk nekā C, kas Redzēsim, bet es domāju, ka vienkāršākais veids, kā runāt Par PHP ir tikai nirt. Tāpēc es iešu pa labi uz IDE šajā brīdī. Pirmā lieta, ko mēs ejam to darīt, ir tiešām izskatās mazliet dažus no PHP kods, kas bija P noteikts 6. Tātad tā, ka mēs darām that-- pirms, tā, ka mēs bijām darbojas serveris par ierīces bija, ka mums būtu type-- vai nu izmantot savu īstenošanu vai personāls īstenošana no server.c ar nonākšana direktorijā un darbojas server.c ar nu nē arguments-- tik vienkārši to sauc par vietējā uzņēmēja, kas ir tas, ko jūs, iespējams, darīja lielākā daļa LAIKU_ un tad padodot to directory-- ar kuru izmantot kā tās saknes ja mājas lapa būtu palaist, būtībā. Šonedēļ P noteikts 7, kā liels kā mūsu kods server.c ir, ir cilvēki, kas ir jau rakstisks šīs smalkās lietas vairāk nekā pie CS50 kas ir mazliet vairāk funkcionalitāti, servera programma, kas ir spējīgs kas nodarbojas ar nedaudz vairāk no nianses, ka mēs redzēt gan P noteikts 7 un P noteikti 8. Un tā, ka jūs sākat up serveris ir, tikai ierakstot, "apache50." Un, pirms jūs kaut ko darīt, Jūs vēlaties pārliecināties, ka Apache 50 nav jau darbojas, kā tas ir par manu mašīnu, ko es darīju, lai pārbaudītu to. Un jūs, ka, zvanot apache50. Apstāties, un jūs redzēsiet, ka tas ir apstāšanās web serveri, ja jūs varat meklēt tur apakšā termināļa loga. Un tad tikai sākt, mēs esam dodas uz zvanu, "apache50 sākt." Un tad mēs ejam lai pabarotu to direktoriju. Tagad, jo mēs gribam izskatīties dažas no P noteikts 6 kodu ka mums bija jāīsteno, es tiešām kopēts mazliet P noteikts 6 kodu manā mapē, ko jūs varat redzēt pa kreisi tur. To sauc par "SECTION8" ar lielajiem burtiem jo es esmu tikai tik satraukti būt dzīvu noskatīties šodien. Tātad, ja mēs palaist šo, tas būtu viss strādā diezgan efektīvi. Tajā teikts, OK, mūsu vietā tagad pieejams adresi IDE, Būtībā, kas ir tas, ko jūs izmantojat tieši tā, kā tas bija noteikts P 7-- P noteikts 6. Visi mani indeksi ir viens indekss šodien. Tātad, mēs varam doties uz, ka adrese, ja jūs atceraties, , vienkārši noklikšķinot šo maz pogu, kas atrodas augšējā labajā. Un jūs atceraties šo kodu, kas notika, kad jūs iegāja hello.php. Un ko kods ir paredzēts, lai darīt, ir, kad jūs ierakstījāt nosaukuma here-- ja jūs sakāt Sam jo tas ir mans name-- un es noklikšķiniet teikt hello, kad mēs devāmies uz nākamo lapu, ka vārds bija paredzēts parādīt. Tā teiktu, "Hello, Sam" vai "Sveiki," kāds nosaukums jums laisti to, pat ja mēs devāmies lai pilnīgi jaunu mājas lapu. Un tas ir tāda veida lieta ka PHP var darīt jūsu labā. PHP spēj nodot datus starp divām tīmekļa lapās. Tas ir pilnīgi atšķirīgs lapā. Jūs redzēsiet nosaukums ir "sveiki" šeit. Patiesībā, tie ir tas pats nosaukums, bet es sola tie atšķiras web lapas, ja mēs skatāmies uz avotu. Un jūs varat nodot datus, kas ir iekļautas šajā teksta laukā, jūs iesniedzat to uz nākamo lapa, kas ir tiek izsaukts, un pēc tam, ka dati ir spējīgs tur tā pašreizējā formā. Tagad mēs esam vēl nav īstenoti Tas sevi, kas ir tas, ko mēs gatavojamies darīt tieši tagad, lai kārtot iegūt aromāts kā PHP darbojas, bet galvenais ir ideja, ka PHP-- jūs varat kārtot domā par to kā funkciju. Kaut kas, PHP var ļaut jums Vai tas var aizņemt parametrus Ka jūs ievade HTML lapā izmantojot PHP un formu, un tas var iet tiem, kā parametru uz nākamo lapu, ka tā slodze uz augšu. Šajā gadījumā, mēs esam iekraušanas up šis lapa ar pogu "Say hello". Bet tagad, es tiešām svītrots dažus no šī kodeksa šajā hello.php kas tika palaist ka faktiski izlikšana "hello, pasaule "vai" hello, Sam ", vai "sveiki", kāds bija tikai ieejas. Tāpēc tieši tagad, mēs esam gatavojas to darīt, būtībā. Mēs ejam, lai atjaunotu to un arī pievienot dažas vairāk funkcionalitāti, darīt mazliet vairāk ar to, sk ko PHP ir patiešām spēj. Tātad, pirmkārt, parunāsim par Šis fails, hello.php. Tātad, ja mēs mērogmaiņa maz bit-- un tagad es esmu kārtot mēģina ritinātu visu veids around-- tur mēs ejam. Jūs redzēsiet to sauc hello.php, bet sintakse no tā izskatās HTML failu. Tas ir tāpēc, ka Faktiskais PHP šajā failā viss ir iestrēdzis starp šiem jautājuma zīme-caret bloki. Viss tieši šeit tiek uzskatīts par PHP kodu. Un jūs pamanīsiet, ka kad man bija komentāru, jūs redzēsiet iepazinušies divi uz priekšu slashes. Un, ja jūs atceraties, kas HTML, ja es tipa komentāru, tas izskatās kaut ko tuvāk šis, kas ir piezīme HTML. Tik tiešām viss starp šīs divas leņķa kronšteini tagad PHP kods, kas atspoguļojas faktā ka šajā maz komentāru simbolu ir pārvērtusies komentāru. Tātad, katru reizi, kad jūs rakstīt PHP kodu, pat ja tur nav HTML kods ārpus tās, tas vienmēr būs liktas šīm iekavām ar jautājuma zīmēm. Jūs varat kārtot domāt par it-- kā visi koda, kas skrēja jūsu C programmās tika liktas int galvenais, spēkā neesošu, cirtaini lencēm, gala cirtaini lencēm paziņojums. Un jūs redzēsiet cirtaini bikšturi pilsētā PHP, pārāk, bet tas ir sava veida kā galveno metodi PHP. Tāpēc tagad, kā mēs kaut ko darīt PHP? Tagad, PHP ir programmēšanas valoda, kas ir ļoti C-piemēram, bet tas darbojas tīmeklī. Tik viena lieta, kas jūs immediately-- vienu no pirmajām lietām, jums tiešām ar C bija jūs drukāts sīkumi ārā, labi? Tātad C mēs darījām, ka ar printf funkciju. Mums deva tam virkni, iespējams, ar jaunu līniju, un tad mēs izbeigts tas ar semikolu. Tātad tā, ka mēs esam gatavojas darīt in PHP-- jo tas nav gluži printf. Tas ir mazliet atšķirīgu sintaksi. Tā, ka mēs drukāt lietas PHP ir, mēs sakām, "echo hello" vai "echo" jebkuru vārdu. Un kas ir šādas sekas printf ar auklu, "Hello". Un tas pievieno jaunu līniju uz to. Tātad pieņemsim tagad darīt sure-- Es tālināt atkal nedaudz bit-- pieņemsim pārliecinieties, ka ka kods darbojas jo tur varētu ļoti labi būt kļūda šajā kodeksā ka mums būs jārisina. Tātad serveris jau darbojas. Tātad, ja mēs ritinātu atpakaļ uz leju, uz leju, Yup, serveris joprojām darbojas. Tātad, ja mēs vienkārši nospiediet šo mazliet pa labi here-- welcome-- mums vajadzētu get-- lieliski. Mums joprojām ir ar tādu pazīstami "Say hello" dialogs, bet, kad es tipa "hi," mēs redzēsim ka teksts "sveiki" bija patiešām izdrukāts, kas ir tieši tā kā mēs paredzējām, jo ​​atbalss PHP ir tāpat kā printf paziņojumu. Tātad atpakaļ uz kodu, kā P noteikts 6 darīja sadales kodu, jums ir nodrošināti darīt tā, lai PHP būtu izejas lieta, kas jums drukāti uz iepriekšējā ekrānā? Un veida pārbaudīt kāpēc tas notiek, mēs esam gatavojas iedziļināties index.html, kurā ir sākotnējais fails, fails, kas parādās šajā ekrānā ar taustiņu "Say hello". Jūs ievērosiet, ka tur ir visas klasiskās lietas mēs esam ieradušies sagaidīt no HTML šāda kā šīm lietām, šie tagus slēgta leņķa iekavās, piemēram, PHP bet bez jautājuma zīmes, kas liecina īpaša lieta HTML. Mums ir īpašumtiesības, kas ir "sveiki". Un jūs pamanīsiet, ka, kā mēs redzējām, virsraksts ir "hello" abos gadījumos. Pieņemsim mainīt šo vienu uz "saka" tikai tā mēs var atšķirt sevi, kur mēs esam. Bet mēs esam ieguvuši ķermeni. Un tad interesants bit, tad bit, kas parādās uz HTML, ir šī forma elements. Un tāpēc mēs esam ieguvuši formu. Un tas ir galvenais. Tas ir veids, kā mēs strādājam ar PHP. Prasība parametrs forma saka, ka hello.php ir tas, ko mēs ejam, lai nosūtītu vērtības šajā veidlapā. Tas ir, ja mēs iet parametri, lai runāt. Jūs pamanīsiet cita lieta šeit ir tas, ka šī metode ir "get". Ir divi galvenie metodes, ar kuru būs būt izmantojot PHP nodot datus starp websites-- tīmekļa lapām, rather-- šajā uzdevumā. Un šīs metodes ir "get" un "post". Ir daži smalks atšķirības starp GET un amatu ka mēs saņemam into-- mums būs "get" uz, ja jūs. Bet visiem nolūkiem un mērķiem, saņemt un post ir gan vienkārši veidi, kas Jūs nodot parametrus ar nedaudz atšķirīgiem nāvessodiem. Tagad mēs spēsim izmantot, saņemt, jo dabūt bija kāda tika izmantota sākotnēji PHP failā P noteikts 6. Un patiesībā, ja mēs iet un meklēt pirms mēs esam rediģēts kaut kas cits, Es esmu gatavojas teikt hi kuri paredzēti, kādi ir jūsu vārds? Mērķauditorija: Elliot. SAM LEVATICH: Ak, ak Dievs. Es nezinu, kā izskaidrot to. Vai jūs varētu izskaidrot, ka par mani? AUDITORIJA: E-L-L-I-O-T. SAM LEVATICH: I-O-T? Mērķauditorija: Jā. SAM LEVATICH: Perfect. LABI. Es domāju, man bija zināt, kā izskaidrot to. Atvaino par to. Bet, ja mēs sakām "Say hello," tas nav tas nav gatavojas parādās uz ekrāna vēl, jo mēs modificēts kods mazliet. Bet, ja mēs "Say hello" - OK, tāpēc "hello" ir šeit. Bet, ja mēs tuvāk apskatīt URL pati, mēs redzam, ka tas beidzas ar hello.php? name = Elliot. Tātad, tas ir veids, kā communicating uz nākamo mājas lapā parametri, ka mēs esam izturējuši. Mēs teicām name = Elliot. Un tas, galu galā, kā P iestatīt 6 apskatīta mainīgo ka mēs nodots in caur formā. Un tas ir kaut kas ir īpaša ar GET pieprasījumu. GET pieprasījums padara parametrus pazīstama URL mājas lapā. Un jums atgādināt arī, P noteikts 6, kas jums nācās uzrakstīt funkciju kas nodarbojas ar to, ka šī vaicājuma virknes varētu pastāvēt pēc faila. Tur varētu būt jautājuma zīme, kam seko ko būtībā jebkuru rakstzīmju skaitu. Un tas ir tieši tas, kas notiek šeit. Un iemesls, jums bija izanalizēt, ka Jūsu īstenošanā server.c P komplekts 6 ir tā, ka jūs varētu pateikt PHP kodu, kas nosaukt = Elliot. Jums nepieciešams, lai spētu izanalizēt, ka no URL tā, ka PHP failu attiecīgais zināja, kas tas bija darīšana ar. Tik cerams, tas dod motivācija server.c Tagad, ka mēs esam pārvietojas uz ārpus C uz PHP. Tātad pieņemsim faktiski koncentrēties uz piekļūstot lietas laiž caur GET pieprasījumu tagad šajā brīdī. Es esmu gatavojas, lai saglabātu šo. Mēs neko nemainīja. Izskatās, ka mēs esam ieguvuši ievades lauku. Mēs esam nosakot dažas īpašības, kā mēs varam darīt HTML. Tās ir vienkāršas lietas. Mums nav vajadzīga tiem. Bet mēs esam ieguvuši autocomplete off, kas būtībā says-- jūs zināt, ja jūs tipa lietas uz web, dažreiz tā mēģina aizpildīt, ka jums. Tātad tā ir jauka lieta. Mēs vēlamies, lai to izslēgtu šim nolūkam. Tas bija lēmums CS50. Tātad, mēs varam izdzēst, ka, ja mēs vēlējāmies. Autofokuss vienkārši pielīp kursoru šādā formā labi sākumā. Atkal, nav pārāk svarīgi. Bet name = "name" - tas ir nedaudz grūts, jo tas ir vārds un nosaukums. Bet mēs varētu esam mainījušies tas uz kaut ko citu. Un patiesībā, tas ir Ko mēs darīsim tagad. Mēs sakām "persona", kas ir veida, piemēram, nosaukuma ja persona ir noteikts to nosaukumu. Tātad pieņemsim aizvērt šo, atsākt up mūsu mājas lapā jo mūsu serveris joprojām darbojas Apache 50, un mēs sakām, sveiki, šeit ir Elliot vēlreiz. Kāpēc gan nē? Sveiki. Un, ja mēs ejam uz augšu šeit, mēs redzēsim tad tā vietā, vārda = Elliot, tā saka cilvēks = Elliot. Un tas ir tieši tāpēc, ka tas, ka mēs tikko mainīts nosaukums = "persona." Tātad ieejas elements HTML forma, nosaukums lauks ir identifikators parametrs, kas ir tiek nodots. Tas ir tāpat, ja jūs veidojat funkciju "pievienot", kas notika divās veseliem skaitļiem un jūs teicāt int a un int b. Kas būtu nosaukt, un ja jūs vēlējāties citā formā, kas mēs varam darīt tikai ar kopēšanai un aplīmēšana, tad mēs būtu nosaukums b. Tāpēc tagad mums būs divi parametri kas tiek izvadīti caur nokļūtu nākamajā website-- nākamais mājas lapa, hello.php. Un mēs tiešām varam redzēt ka atkal, ja mēs gribam. Tas ir vieglākais veids, kā tikt galā ar web kodu IDE, būtībā. Startējot serveri, get it darbojas, un pēc tam katru reizi, kad veikt dažas izmaiņas, vienkārši aizvērt ka fails vienkārši, lai būtu droši. Nospiežot pogu atpakaļ ir nedaudz grūts jo tas varētu ielādēt agrāk versija, nevis jaunākā viens. Un tad jūs vienkārši noklikšķiniet uz savu pogu vēlreiz, pop tiesības up-- oh, un tagad ir divas formas. Un tāpēc, ja mēs ierakstiet vienu lietu par katru one-- "Jason hirshhorn," par instance-- mēs sasveicināties. Mēs meklēt mūsu parametriem. Izskatās, ka mēs esam ieguvuši, kā Sagaidāms, a = jason un b = hirshhorn, kas pārstāv divi parametri ka mēs nodots šai funkcijai. Tāpēc tagad pieņemsim faktiski nokļūt Īstenojot šo funkcionalitāti, ka mēs bija P noteikts 6. Tāpēc tagad mēs esam tikai atsaucoties Sveiki. Un tas nav ļoti noderīgs. Mēs vēlamies, lai atbalss kādu mainīgo kas tika nodota mums. Un mēs zinām, sauc šo mainīgo. Mums ir, un mums ir b. Tātad mēs varētu izvēlēties echo nu vienu. Bet kā mēs varam piekļūt? Nu, tur ir zināma globālie mainīgie PHP. Un es esmu gatavojas rakstīt tos komentārus šeit. Divi svarīgākie no tiem ir get un pēc mūsu mērķiem tieši tagad. Tie ir masīvi vai, Tehniski, vārdnīcas kur mūsu mainīgie, ka mēs esam iet uz nākamo mājas lapu dzīvo. Un mēs drīz redzēt, kā tos izmantot. Vēl viens īss piezīme par PHP kodu un dažas īpatnības it-- in C, deklarēt mainīgo vai izmantot mainīgos, Jūs vispirms tos deklarēt. Un kas jums bija darīt, ja jūs deklarēta viņiem bija teikt int vai char b. Jums nācās atzīt veidus šiem mainīgie pirms jūs radīja. PHP-- jums nav nepieciešams veikt kādu no tā. PHP neprasa veids mainīgo. Un tā, ka jums izveidot variable-- diezgan nekā sakot int, char, string-- kas ir patiešām char *, kā mēs know-- nevis dara visu ka, jo viss ir no tāda paša veida, typeless, mēs varam vienkārši izmantot vienu rakstzīmi, kas ir dolāra zīme. Un jūs redzēsiet tas jau popping up, maz automātiskās pabeigšanas lietas. Un tas ir saprotams, ka _GET un _POST Ir divas iespējas, kas man ir pieejams man. Dažas no šīm citām lietām ir citi globālie mainīgie PHP ka jūs izmantojat vairāk Kurss P noteikts 7. Tagad mēs ejam koncentrēties uz get un amatu. Bet tas ir noderīgs lieta, ka IDE dara kur kādreiz esat ievadījis šajā dolāra zīmi, tas būs sākums aizpildot globālo mainīgo vai mainīgie esat jau ir definēts. Tātad, ja jūs vēlaties, lai definētu mainīgs sauc par "string" jūs varētu vienkārši noteikt, ka vienāds ar "hi". Un tas būtībā tik vienkārši. Un tad mēs varētu darīt kaut kas līdzīgs "echo $ string." IDE būtu throwing daži kļūdas, ja es esmu dara kaut ko nepareizi, tāpēc, cerams, es esmu dara visu pareizi. Bet bugs vienmēr patiešām rodas. Vēl viena delikāta lieta, par PHP ir, ka tas nav apkopoti. Tātad ar C programmām, jūs darītu ikdienas rutīnas of-- būtībā, Jūs varētu veikt labojumus, lai savu kodu, jūs to saglabāt, un tad jūs varētu padarītu to, kur make bija solis, kas sauc kompilatoru, šķindēt, lai padarītu savu kodu, šis teksts failu, uz izpildāmā. PHP ir C-patīk, bet tas ir izpildīts lidot ar savu tīmekļa pārlūkprogrammu. Tātad tur nav veids, kā zināt. Padarīt varētu mest tos izpalīdzīgi kļūdas, vai ne? Tas būtu tāpat, jums nebija atzīt šo mainīgo pirms esat mēģinājuši to izmantot. Tu visu šo slikti stuff-- segfault, segfault, viss, kas veida jautri laiki kas nāca ar marku. PHP ir abpusēji griezīgs zobens jo jums nav iegūt šo kļūdu, bet tas arī nozīmē, ka jūs nezināt tiešām, kas ir nepareizi ar savu programmu ja jūs vienkārši palaist to un tas nedarbojas. Bet atkļūdotājs jānorāda daži cerams noderīgi sīkumiem sintaktiski ka jūs varat noteikt. Tāpēc tagad, ja mēs ejam pa kuri paredzēti, teikt, pieņemsim aizveriet to. Atjaunot. Un mēs esam atpakaļ pie šeit. Tāpēc mēs esam ieguvuši mainīgais un mainīgais b. Un tie netiks galā jautājums. Mēs tos saucam h un g bez īpaša iemesla. Un mēs sasveicināties. Tagad izskatās, ka mūsu string "hi" ir patiešām drukāšana. Mēs izveidojām mainīgo sauc "string", noteikti tas ir vienāds ar "hi". Ievērojiet, ka mums nebija ko darīt malloc vai veikt rakstzīmju masīvs. PHP, jo mainīgo ir typeless, string ir tāds pats kā char par visiem nolūkiem un mērķiem. Tas varētu būt "hi". Tas varētu būt tikai raksturs k. Tas var būt numurs 1. Un tas nav aprūpi. PHP nerūp veids jūsu mainīgo. Vai tas aprūpi. Tā rūpējas, kad jūs mēģināt un darīt lietas ar to, bet tas nav aprūpi deklarācija solis. Un, tāpat kā jūs varat C, varat deklarēt stīgas uz kā šis kaudze lai gan sakot "kaudze" ir nedaudz mazliet iespējamo nepareiza lietošana, kad mēs runājam par PHP. Bet mums nav jāuztraucas par to. Tātad mēs saņēmām mūsu virkni "hi", un mēs echo virkni. Tāpēc tagad mēs esam apspriests mainīgos. Tāpēc tagad mums ir jārunā par GET un post un veic galīgo lieta, kas ir nepieciešams, lai patiešām iegūtu šo atpakaļ uz augšu uz funkcionalitāti P noteikts 6. Tāpēc tagad mēs esam atsaucoties uz virkni, bet mēs darīt ir šie mainīgie saņemt un post. Un tāpēc, ka mēs esam izmantojot metode iegūt, tas šķiet dabiski, ka mūsu mainīgais ka mēs esam ieinteresēti, A un B, atradīsies masīva vai vārdnīcu, tehniski saņemt. Tātad, ja mēs izveidojām saņemt kā šis ar savu groups-- es nospiests ievadīt un tas nepatika it-- bet šeit mums ir minimāli. Un tā saņemt jau eksistē. Tātad, mēs varam jau sākt piekļuve daži no elementiem GET. Ja mēs to iegūt, tas sintakse masīvi PHP ir ļoti C līdzīgi. Mums ir mūsu divi kvadrātiekavas. Tātad, ja mēs sakām saņemt normāls masīvs, mēs varētu piekļūt 0. indekss, pirmais rādītājs. PHP ir nulle indekss. Mēs varētu teikt, nulle, viens, two-- sīkumi kā šis. Un es esmu teicis, ka nokļūt ir tehniski vārdnīca. Tātad, kas PHP dara ar kapuci, kas ir nedaudz nicer nekā C, tas jau dod jums dažus vārdnīca funkcionalitāti, kas ir patiešām hash tabulas, vai mēģina, it. Vai, tehniski to varētu būt izmēģināt, kā arī. Bet PHP īsteno hash tabulu, kas veido efektīvu vārdnīcu. Un tā mēs zinām nosaukumu Mūsu mainīgo, vai ne? Tas tiek pieņemts vaicājuma virknes ar PHP. Mums ir a = h un b = g kur un b ir nosaukumi mainīgajiem. Tātad tā, ka mēs varam piekļūt vērtība, kas atbilst atslēgu mūsu vārdnīcā ir vienkārši sakot _GET_GET ["a"]. Tāpēc tagad mums ir _GET ["a"]. Un, ja mēs vienkārši nomainīt iekšā Mūsu echo, ja mēs echo _GET_GET ["a"] - un mēs redzēsim, vai atkļūdotājs met visas kļūdas par this-- mēs ietaupītu, ka un aizvērt šo out. Atveriet to. Tātad mēs esam tikai darot tiesības tagad, lai b nevajadzētu jautājums. "viņas" un "viņu" - "hum." "viņas" un "hum." Izklausās labi. Un tas izdrukāt "viņas", kas ir traks. Bet tas ir tieši tas notiek P noteikts 6. Būtībā, ko P noteikts 6 bija doing-- echo hello, name-- kur tas bija mainīgā vārds un tas tikai lūdz jums rakstīt šajā mazliet tekstu. Bija arī daži papildu kodu, kur tas iekļauts ja apgalvojumi, ko mēs varam darīt jau tagad. Mēs varam teikt, ja pastāv, kas ir funkcionalitāte ietvaros PHP, _GET Ar pasvītrojumu, "nosaukums" - kas būtībā saka, "ja nosaukums ir aizpildīta", jo mēs varētu būt vienkārši uzklikšķināt uz pogas iesniegt veidlapu bez ierakstot nekādus šajā jomā. Un mēs wrap, ka mūsu draudzīgi cirtaini lencēm. Mēs varam būt cits paziņojumu. Un tas viss laikā PHP leņķī kronšteins, jautājuma zīme, leņķis kronšteins, ja Jums gribas. Un tagad mēs redzēsim, vai tas darbojas. Es turpinu gaida to, lai atkļūdot un crap par mani, būtībā, bet tas vēl nav noticis. Varbūt tas būs tagad jo es runāju par. Jā. Tā bija, patiesībā. Tātad, nekas rāda uz augšu. Tas ir tāpēc, ka kaut kas nav kārtībā ka es rakstīja PHP kodu. Un es pieminēju debugging ir sarežģīta, jo PHP, mēs nebija sastādīt to iepriekš un kompilators tika nepatīk, lūk kur jūsu kļūdas. Bet ko mēs varam darīt is-- cilvēki atcerēties Kā apskatīt citā tīklā prasa PHP-- vai ka tīmekļa vietnes sūtīt? [? Malin?] Izdarīja to lekciju vienu vai divas reizes. Jūs atceraties, kur mēs ejam, lai atrastu dažādi parādi un 200 OKs, Visi šie kodi, kas tiek sūtīti caur HTTP no mājas lapas uz mājas lapā? Vai kāds atceras kur mēs ejam, lai to izdarītu? Mērķauditorija: Page Source. SAM LEVATICH: Page avots. Tieši tā. Ja jūs iet uz Page Source-- Perfect. Tātad Page Source nostiepj inspektors. Un es esmu, izmantojot Safari. Daudzi no jums, iespējams, būs būt izmantojot Chrome vai Firefox. Taču, kamēr jūs esat jebkurā mūsdienu browser-- un justies brīvi, lai sekotu kopā, ja vēlaties. Jūs varat ierakstīt šo kodu vai paskatieties iekšpusē P komplektā 6 direktorija kādu līdzīgu sīkumi. hello.php ir tas, ko mēs esam pašlaik strādā atdarinot. Tātad pastāv dažādas cilnēm. Mēs varam apskatīt visus resursus. Mēs varam redzēt pirmkodu. Tātad izskatās, tā nav nokļūt pagātnē ķermeni beigās. Tā konstatēja kļūdu, PHP un tajā apstājās iekraušanas visu mājas lapā. Mums pat nav beigas tag par HTML vai neko. Un, ja mēs skatāmies uz tīklu, mēs varam redz, ka mēs esam to nosūtīja lūgumu. Tas ir domēns. Tas ir adrese. Tas ir dokuments. Mēs izmantojam GET metodi. Un tas ir sarkans. Vai tas bija sarkana, kad es netika izvēloties to. Kā es varu noņemiet to? Nu, tas bija sarkans. Ļaujiet man atsvaidzināt. Tur tas ir. Tagad tas ir sarkans. Tātad, tas ir sarkans, tas nozīmē, tas neizdevās, kas ir slikti. Tātad, pieņemsim pārbaudīt, kāpēc tā nespēj. Tātad viss, ka Page Source var būtībā pateikt jums ir jūsu lieta nestrādāja, kuru mēs jau varam redzēt. Tik ideāli Nebūtu būt vairāk noderīgs instruments. Un tur ir daži pārlūka paplašinājumi kas ļauj jums atkļūdot PHP, bet mēs nebrauksim rakstot ton PHP, tāpēc tas ir iespējams, tikai labākais skatīties caur savu kodu uzmanīgi un tikai pārliecinieties, ka tas nav darīt kaut ko citu. Tātad, pieņemsim redzēt, ja formāts šis ja paziņojums ir vieta, kur ir problēma. Es gribu, lai slodze, kas atpakaļ uz augšu šeit. Sveiki, hi. Tātad tur ir problēma tur. Tātad par pareizu sintaksi PHP, PHP notiek būt C-tāpat kā jūs redzēsiet cilpas. Jūs redzēsiet, ja pārskatos. Jūs redzēsiet visus šos draugus ka jūs esat kļuvis pazīstams ar gaitā Šīs CS50 semestrī. Bet labākais veids, lai noskaidrotu, kā darīt kaut PHP ir Google to vai to apskatīt dažus piemērus PHP kodu jo jūs zināt funkcionalitāti. Jūs zināt, ko jūs varat darīt ar programmu. Jūs varat cilpa. Jūs varat cilpa tik reižu, cik vēlaties. Jūs varat cilpa visu veidu dažādos veidos. Jūs varat izveidot funkcijas. Jūs varat izveidot funkcijas, kas zvanīt citām funkcijām, funkcijas kas sevi sauc. Un jums ir nosaukumi šiem jēdzieniem. Tev Rekursija, cilpas, ja citas kontroles plūsmas. Un tāpēc Google ir jūsu labākais draugs. Pat teikt, "PHP ja paziņojums "un tur būs būt tonnas amatu ar Atbildes uz citiem cilvēkiem kas esam bija līdzīgi jautājumi jums, kas ir tikai sākot no ar PHP un ir interese par sintakses lieta. Jo mums ir greznība būt iespēja apskatīt kodu P komplektā 6, mēs faktiski velciet to uz augšu, un redzēt, ka Labi, šeit ir kaut kas interesants. Tātad, tas ir tas, ko tas patiesībā izskatījās P noteikts 6. Tātad, ja mēs iet caur šo, mēs varam redzēt, ka mēs esam ieguva vairāki no šiem maz PHP līdzīgu jautājuma zīme biti. Un tur nav cirtaini bikšturi. Ir kolonnas. Un tur ir cirtaini breketes PHP, bet tas ir formāts un veids, kā to izdarīt PHP, kas strādā arī ar HTML jo, kā jūs redzat, mēs esam slēdzot off šiem PHP bits-- elses un IFS un visas that-- un pēc tam mēs interspersing HTML iekšpusē tām vienlaikus sekojot kontroles plūsmas izklāstīti PHP. Tāpēc es esmu tikai gatavojas quick pastaiga caur šo jo tas ir daudz par to pašu koncepcijas, ka mēs darījām pirms. Mēs esam ieguvuši, ja nav tukšs, iekavas, _GET_GET ["nosaukums"]. Tas ir viss tas pats sīkumi. Mēs esam izmantojot _GET vārdnīcu, ka PHP nosūta pēc pieprasījuma formu, jo tas ir parametri rīcība, un metode ir minimāli. Un tad, kas beidzas tā. Kols ir signifier lai tikai paveiktu ja ja paziņojums izvērtē taisnība. Tas ir tāpat kā cirtaini lencēm. Un patiesībā, tas ir cirtaini lencēm citās valodās, piemēram, Python, kas var rasties, ja jūs vienkārši darīt, ka jūsu galīgo projektu. Un tad šī līnija, sveiki. Tad mēs esam ieguvuši šo dīvaini. Mēs esam ieguvuši vairāk iekavās. Nav HTTP there-- vai PHP, sorry. Bet tur ir vienādības zīme. Un tad mums ir funkcija, htmlspecialchars (_GEThtmlspecialchars (_GET ["nosaukums"]). Tas ir veida, piemēram, vairāk uzlabotas versija atbalss. Tāpat mums bija atbalss, kā veids izdrukāt lietas PHP. Šī ir funkcija, kas ir noteikts, ka PHP tiks galā ar dažiem vairāk šķebinošs rakstzīmes un baitu vērtības ka jūs varētu nodot to. Tas vienmēr ir drošākais, lai izmantotu šo. Bet atbalss darīs darbu tikai naudas sodu, ja mēs neesam nodarbojas ar kaut ko pārāk vētraina. Un tā tas ir tāds pats efekts būtībā, šis stuff starp jautājumā zīmes tiek vērtēta ar PHP. htmlspecialchars atgriež jauku HTML drukāts vērtība _GET_GET ["nosaukums"], proti, neatkarīgi mēs drukāti formā. Un tad tas būs teikt hello, komats telpa, un pēc tam to. Tas viss starp Leņķis kronšteini tiks aizstāts ar jebkādiem htmlspecialchars liek ārā. Tātad tas ir būtībā līdzīgs to, ko mēs darām. Un mums ir cits paziņojums, kas ir hello world, kas ir jēga. Tāpēc tagad iesim atpakaļ uz mūsu kodu un redzēt exactly-- oh. Es teicu pastāv, kas nav lieta, ka mēs vēlējāmies darīt. Mēs vēlējāmies pateikt nav tukšs. Un tā tas būtu jāstrādā mazliet mazliet labāk, nav tukša _GET_GET ["nosaukums"]. Un tas cirtaini lencēm sērkociņi, ka cirtaini lencēm. Mēs esam ieguvuši mūsu cirtaini lencēm šeit. echo sveiki _GET ["nosaukums"]. Let 's redzēt, ja tas darbojas mazliet labāk. Mēs joprojām darbojas mūsu serverī. Sveiki Jason. Sveiki Jason. Un tā strādāja šoreiz. Un tā tas ir pierādījums ka jūs varat patiešām izmantot cirtaini bikšturi, kas jums zināt un mīlestība PHP kodu HTML. PHP kods sniegta Tu PSET 6-- PSET 6-- sniedz citu veidu, kā darot to pašu lietu. Tāpēc tagad mums ir spēks. Mums ir funkcionalitāte, lai īstenotu PHP kodu, ka mēs redzējām PSET 6 ar sevi, būtībā. Pirms es virzīties tālāk, kādi ir daži no jautājumi, kas jums ir šajā brīdī? Jā [dzirdams]. Mērķauditorija: Tātad redakcijā pset6, palaižot to, tur ir telpa. Un es redzu, kur telpa ir aiz komata. [Dzirdams] start atvērts kronšteins. Kā jūs iekļaut telpas kā jūs rakstīja savus kodus? SPEAKER: Tas ir labs jautājums. Un tāpēc pieņemsim izdomāt. Tātad tas ir patiešām labs jautājums un viens, ka es neuzskatīja. Bet pieņemsim to darīt kopā. Tātad vispirms, ko Es esmu dara ar atbalss ir tad, kad mēs tikko atbalss sveiki, tā rezultāti sveiki. Ja mēs echo tagad šis saņemt par atsevišķu line, pieņemsim pārbaudīt, kas notiek. Tātad mēs noklikšķiniet šis. Mēs pastāvīgi sakot, hi Jason. Tātad atkal, mums nav šo telpu. Un tas ir tāpēc, ka, PHP, kad mēs esam atbalss, nav svarīgi, cik daudz spaces-- Nē, ne V-- nav svarīgi, cik daudz vietas mēs ieliekam here-- ja mēs tagad slodze, ka atkal, hi Jason. Jā, skat, visiem tiem, atstarpes got ēst up. Un tas ir kaut kas atbalss funkcija dara. Tātad, lai rūpēties par ka telpa, un tas ir viens no iemesliem kāpēc jūs neizmantojat atbalss un jūs izmantojat htmlspecialchars vietā. Es esmu ziņkārīgs, ko būtu notiktu, ja mēs to darījām kur mēs slēgta telpa, string. Es esmu godīgi nav pārliecināts, ko notiks, kad es to izdarītu. Tātad tas ir viens no veidiem. Tas ir viens veids, kā rūpēties par to. Ja jūs wrap telpu string, tad telpa būs produkciju labi ECHO. Drošākais lieta darīt, ir darīt htmlspecialchars. Tas vienmēr ir droši bet. Bet tagad mums ir veids, kā darīt tas ar echo, ja nepieciešams. Un līdzīgā veidā, mēs varam echo jaunu līniju, visu veida sīkumi jūs esat iepazinušies dara PHP. Kāds cits, kādi ir vairāk jautājumi, ka citi cilvēki ir šajā brīdī par PHP? Ja cilvēki atnāca mazliet par vēlu, Es esmu laimīgs, lai paliktu pēc mazliet un runāt par kādu no paša sākuma. Un tas ir arī viss livestreamed, un arhivēti, kas ir traks. Anyway, tāpēc tagad pieņemsim do daži spēcīgākās sīkumi ar PHP. Un viens no senākajiem lietām, ko jūs tika iepazīstināti ar C bija cilpas. Un PHP ir daudz jaudīgāka par cilpa sauc foreach cilpa. Un izskatās, ka this-- katram tukšs kā tukšu, cirtaini iekavās, darīt lieta. Tātad tas ir būtībā stenogrāfija. Skat, uz cilpas kā sintakses būvniecība tika izstrādāta C un montāžā valoda un lietas patīk. Izstrādāta C, precīzi, kā stenogrāfija par daudz veidu cilpas ka cilvēki varētu redzēt. Tāpat, ja jūs rakstījāt cilpu, tur bija bieži inicializācijas solis izpildīts labi sākumā, a stāvoklis, kad cilpa varētu stop-- un tas ir līdzeklis tas ir tikai brītiņa cilpa, vai, ka, lai gan ir tieši tikai, ka feature-- un pēc tam incrementation solis beigās. Un tā jūs bieži atrast sev rakstot kodu, piemēram, šādi. Es esmu gatavojas dzēst kādu no šo. Bet, ja mēs esam atkārtojot cauri rakstzīmes masīva, piemēram, kā mēs esam got masīvs rakstzīmes. Atvainojiet atvest C. es zinu, jūs domāja, jūs darīts. Bet tas ir tikai, lai veiktu mācību PHP, es apsolu. Tātad, ja jums ir char str garums 8, un pieņemsim saka tā saka Hellooo ar trailing null. Lieliski, tā ka ir mūsu virkne. Un tad mums bija par cilpu. Mums ir int i ir vienāds ar 0. Un mēs gribam, lai izietu, kad str no i vienāds nav vienāds ar null, jo mēs izietu, kad tas ir vienāds null. Un tad mēs i ++ katrā punkts uz cilpas. Darot kaut ko ar str uz i. Tātad pamata formula bija, mums bija šo masīvu, ka mēs vēlējās, lai ārstētu kā atsevišķus elementus. Bet ko mums bija jādara, ir mums nācās būtībā izveidot atsevišķu skaitli mainīgais, kas tika skaitīs katru Šoreiz mēs devāmies caur cilpu. Un tad mums būtu tad zvanīt strstr [i], kad tas, ko mēs patiešām vēlējās darīt ir tikai iet raksturu pēc rakstura, vai ne? Mēs nevēlamies, lai pieauguma skaitlis un pēc tam izmantot šo skaitli piekļūt katru rakstzīmi atsevišķi. Mēs patiešām vēlamies raksturu ar raksturu. Un tā par katru gudri lēš, ka mums. Ja mums ir masīvs, kas mēs varam paziņot, PHP kā just-- ja mums ir mainīgais sauc, sauksim to masīvs. Par ne rakstīt brīnumi, tas ir tāpat kā jebkuru citu mainīgo. Tas ir tikai masīvs. Un mums ir līdzīgi 1. nedaudz [nedzirdama] 2, 3, tikai sava veida inicializēts masīvs. Tas ir OK, tas nepatīk mans foreach. Bet, ja mēs foreach-- faktiski Es drukāti ka nedaudz nepareizi. Ir divi veidi, kā darīt foreach cilpu. Tur ir sintakse un kā sintakse. Un mēs esam gatavojas darīt sintakse pirmais, ne kā. Tas ir mana kļūda. Tātad foreach num masīvā, echo num. Un PHP tiek kliedza uz man kaut kādu iemeslu dēļ. Tas ir atrast negaidītu jo kaut, kas ir mazliet uztraukties. Bet mēs izrēķināt kāpēc tas ir pēc brīža. Tātad, piemēram, ka. Pamēģināsim izmantojot kā. Tas dod priekšroku kā sintakse ir liekas. Tātad, pieņemsim darīt foreach masīvu kā num. Tik maz paskaidrojumu par to, kas tikko notika ir kā sintakse ir saying-- labi pirmkārt, aplūkosim, ko šis izdrukā. Tātad mēs atvērt mūsu IDE. Mēs ejam šeit. Mēs sakām, Hello Jason. Un tas bija 123, kas bija saturs masīva, ka mēs izveidojām up top. Tātad iegremdēšanās šo foreach cilpas, mums ir mainīga sauc masīvs kas ir masīvs trim numuriem. Un tad mēs darām foreach masīvs kā num, echo num. Un tas ir vairāk intuitīvi nekā par LOP. Mēs esam sakot, apstrādājot katrs lietas, kas masīva kā num, Es gribu, lai jūs varētu man num. Un tas ir tieši tas, ko tā dara. PHP tiek aprēķinot, ka kad jūs sakāt foreach masīvs, un jūs nodarbojas ar masīvu, ko jūs gatavojas vēlaties atkārtot vairāk ir rakstzīmes šajā masīva, ir Ints šajā masīva, ir elementi šajā masīvā. Un tas ir ļaujot jums uzglabāt šie mainīgie kā num, un tad tikai izejas num uzreiz, nevis sakot, Man ir mainīgais sauc i, un tad es gribu izejas strstr [i]. Un tā, kas ļauj mums darīt labas lietas. Tāpat kā būtībā mums nav, lai radītu Šie mainīgie, piemēram, man ir, un darīt visu Tas incrementation sīkumi beigās. PHP rūpējas par visu, kas jums. Tāpēc tagad parunāsim par foreach kā tas attiecas uz mūsu _GET vārdnīcai. Tātad mēs komentēt šo out ātri. Tātad mums ir mūsu _GET masīvu. Mums ir šo mainīgo. Un tas ir got daži sīkumi tajā. Tieši tagad, mums ir tikai viens mainīgais kas pāriet uz to, kas ir nosaukums. Bet, ja mēs nospiediet taustiņu Enter, tagad mēs varam būt divi mainīgie. Mēs varam būt vārdu un vecumu, piemēram, Ja mēs gribam, lai saņemtu vecuma un arī nosaukums personas, cik dīvaini tas būtu. Tāpēc tagad _GET ir būs vārdnīca ar diviem elementiem, ar diviem galvenajiem vērtību pārus. Un pirmais key-- es esmu gatavojas rakstīt šo vienu uz augšu uz kuģa too. Mums ir mūsu vārdnīcā ir _GET. Atvainojiet, tas ir mazliet grūti redzēt. Bet iekšā mūsu vārdnīcā mums nosaukums, kas būs kaut kas ka mēs esam dota. Un mums būs vecums, kas ir arī būs kaut kas, mēs esam dota. Un tas ir veselums mūsu vārdnīcā. Tātad tas ieguva divus elementus tajā. Un tāpēc foreach cilpas ir gudri, mēs varētu domāt, un pareizi varētu domāt, ka foreach var atkārtot, izmantojot šo vārdnīca, izdrukāšana lielumi jānorāda pēc nosaukuma un vecuma. Tātad, pieņemsim faktiski darīt tieši to. Pieņemsim būvēt foreach cilpu. Un mēs esam gatavojas darīt _GET kā. Un mēs esam gatavojas darīt šādi. Tātad, pieņemsim redzēt, kas notiek, ja mēs tips tikai vārdu, un pēc tam teikt atbalss vārdu. Mēs arī gatavojamies atbalss jaunu līniju tikai, lai padarītu to mazliet skaidrāks, kas notiek. Tātad, pieņemsim redzēt. Tas nav, kas man nekādas kļūdas. Un mēs aizvērtu šo. Mūsu mājas lapā, jūs gatavojas darīt daudz kas gaitā pset7. Tāpēc mēs sakām, mans vārds ir Sam. Mans vecums ir 45. Tas nav. Bet tas izdrukā, kā gaidīts, Sam 45. Un tā jūs pamanīsiet, ka ko foreach cilpa did-- šeit, iesim atpakaļ uz ka tāpēc tas ir atkarīgs par board-- mēs _GET kā vārda. Un tur bija četri lietas _GET. Bet tas tikai izdrukāt divas lietas. foreach, kas ir tās izlūkošanas sevi, pieņemts, ka tas, ko mēs patiešām vēlējās bija vērtības, nevis taustiņiem. Bet ir tā, ka mēs varētu drukāt out taustiņiem, kā arī, ja mēs vēlējāmies. Ja mēs vēlējāmies arī zināt, ko Šie mainīgie tika aicināti, tur ir tā, ka mēs var piekļūt, kā labi. Un veids, kā sava veida darīt, tāpēc mēs varam teikt, ļauj patiešām sadalīt to galveno vērtību pārus. Tātad, pieņemsim redzēt, kas notiek tagad. Tātad mums ir atslēga. Mums ir vērtība. Mums ir vēl viens jauns līnija lasāmību. Un pieņemsim redzēt, kas notiek Kad mēs to darām tagad. Es nezinu, cik vecs Jason ir. Jason s 15. Tāpēc mums ir nosaukums Jason, 15 vecuma. Tātad mums bija iespēja piekļūt atslēgu un vērtību pārus šajā vārdnīcā vienkārši sakot, kā galvenos punktus, lai vērtību. Un tas ir foreach sintaktisko cukurs bit, kas ļauj piekļūt lietas vārdnīcā. Tik cerams šāda veida uzsvērts spēks foreach cilpas. Jūs varat diezgan daudz mest kaut kas šķiet iterable, kā kaut kas ir vairākas elementi, piemēram, masīva, Tāpat kā dictionary-- tie ir divi primārās lietas jums tiks strādā ar gan dzīvē un PSET 7. Tātad jūs varat mest ka stuff pie tā, un tas būs izrēķināt ko jūs vēlaties darīt ar to. Tas būs teikt, OK, es esmu gatavojas saņemt šīs lietas no datiem, kas tika nodots man. Un tas ir kaut kas jūs esat būs izmantojot daudz in PSET 7. Es esmu gatavojas ātru ritināšanas leju, tikai, lai redzētu, kur es esmu pie. Vai cilvēki ir jautājumi šajā brīdī? Jautājumi vispār? Jā? Mērķauditorija: Tātad ar atslēgu un vērtību, jūs varētu nosaukt to kaut kas cits un tas joprojām darbojas? SPEAKER: Hmm. Wow, es pilnīgi svītro visu līniju. Liels darbs. Tātad, a. Key un vērtība ir tikai konvencija. Tas ir noderīgi. Jūs varētu saņemt kādu dizainu punkti, varbūt daži stila punkti lai dara, jo tas tiešām izsaka nodomu. Bet mēs teikt un yarp. Mērķauditorija: Jums nav kaut ko mainīt HTML failā lai atspoguļotu, ka? SPEAKER: Nemaz. Mērķauditorija: Un tas tikai zina, ka tāpēc, ka vienāds lielāku than-- SPEAKER: Jā. Mērķauditorija: --that rādītājs, ka that's-- SPEAKER: Jā. Tas ir foreach sintakse, bet jā. Mērķauditorija: Nav veidi. Tātad, ko tad, ja jūs vēlētos vecums, lai tikai būtu numuru? Vai ir veids, kā to darīt? SPEAKER: Ir veidi, kā pārbaudīt, vai mainīgie atbilst dažu veidu. Tātad PHP prasa nedaudz vairāk no Jūs jo nav veidi. Daži veidi, tā lūdz mazāk. Dažos veidos tā lūdz vairāk. Jo, ja jums ir vienkārši kaut kādā mainīgo, Jums nav ne jausmas, kāda veida tā ir. Bet, ja jūs esat gudri par mainīgajiem ka jūs piešķirat veidus uz un pārliecinieties kas darbojas tikai return-- jums gribu funkcijas tikai atgriešanās viens tips value tik ka jūs varat būtībā sagaida, ka mainīgais jums atpakaļ no funkciju būs tipa ka jūs domājat, ka tas būs, būtībā. Bet ir dažas metodes ar kuru jūs varat pārbaudīt. Es neatceros tos off augšpusē manu galvu. Es gaidu, lai to ieslēgtu zilu. isint? isstr? Ir metodes iebūvēta PHP, kas var pārbaudīt mainīgo rakstāt. Bet, ja jūs piešķirat mainīgie gudri, jums nevajadzētu ir to darīt pārāk daudz PSET 7. Taču šīs metodes pastāv. Un tas ir kaut kas ir pašā valodā. Un es neatceros precīzu sintaksi. Mēs pat varētu skatīties to uz augšu. Bet laiks ir būtība. ir vai kāds cits ir kādi jautājumi? Jā. Mērķauditorija: Man ir tikai viens vairāk. Tātad, jūs minējāt GET metodi, bet Jūs neminēja POST metodi. Vai mēs atgriežamies pie tā? SPEAKER: Jā, mēs nāk atpakaļ uz to. Tas ir tieši tas, ko es meklēju manu telefonu, kas tagad aizmiga, bet es to atradīsiet. Tikai pārliecinoties mēs hit visi PHP piezīmes. Yep, tur nav debugging versija. Jā, mums ir dažas vairāk lietas, kas mēs vēlamies darīt tagad šajā brīdī. Tātad runājot par POST, kuru jūs minējāt, vienīgā atšķirība starp GET un POST ir ka atceros, kad mēs skatījāmies pie šo URL, un mēs redzējām, ak, nosaukums ir vienāds ar a un vecuma vienāds yarp ir tiesības URL tur mums. POST ir nedaudz vairāk noslēpumains ar savu garām informāciju. Tātad, ja jūs nevēlaties lietotāju zināt, piemēram, jūs nevēlējās lietotājvārdu un parole no personas šobrīd pieteicies, lai parādītu URL, kas ir saprātīgs lieta to nevēlas URL, tāpēc, ka kāds var redzēt. Ja tie saiti kāds uz lapu, jūs negribu viņu URL apmestas tur, jo tas ļautu cilvēkiem, lai pieteiktos tikai ar līmēšana uz URL vietā faktiski aizpildot veidlapu. POST ir nedaudz vairāk noslēpumains. Un tikai lietas, kas mums būs jāmaina ir šī metode, maiņa no nokļūt post. Un tad iekšā HTTP, nevis piekļūt masīva _GET, mēs ejam, lai piekļūtu masīvs _POST. Un mēs pamanīsiet, ka, ja mēs atvērt šo atpakaļ atkal, Jason lēnām samazinās vecuma. nosaukt Jason, vecums 14. Tas pats sīkumi NOP augšu. Bet mēs ejam uz URL un šie mainīgie tur nav. Un tā, ka POST passes-- tāpēc atcerieties Kā apskatīt avota lapā. Mēs ejam ar tīklu. Mēs atsvaidzināt. Un tas ir vēl viena lieta, kas POST dos jums brīdinājumus par. Jums varētu būt redzējis lodziņu, teksta kaste, piemēram, tas savā pārlūkprogrammā. Vai tiešām vēlaties nosūtīt formu atkal? POST ir to, kas ir nosūtot šīs veidlapas. Jo būtībā, ja jums nosūtīt savu kredītkaršu informāciju, lai kāds, ka nav gatavojas parādās URL. Tas notiek, lai būtu POST pieprasījumu. Tātad, kad jūs atsvaidzināt lapu, tas resending šajā amatā lūgumu. Tāpēc tagad mēs vēlamies, lai nosūtītu veidot no jauna, jo tas nav dodas neradīt dublēt pirkumiem. Un mēs pamanīsiet, ka šeit lejā, metode mēs izmantojam, ir POST. Un tas patiešām nodot baiti. Tā nodota 401 no tiem. Programma ir diezgan niecīga. Bet tur ir nekur, ka mēs varam redzēt vērtības, kas tiek nodotas. Interneta lapas paši varat redzēt, bet mēs kā lietotāji nevar redzēt, ja tu esi hakeris. Ja tu esi labs hakeris, jūs varat meklēt. Ja jūs zināt, pamata formātu HTML, vērtības padarīs pieteicās lapās. Jūs varēsiet redzēt. Vērtības būs tur, viņi tikai nedaudz mazāk skaidrs par jums piekļūt, būtībā. Vai mums ir kāds vairāk jautājumi par GET, POST before-- ko mēs gatavojamies darīt tālāk faktiski apskatīt dažas kodu ka jūs dodot in PSET 7, runāt par kā tas izmanto kādu no šiem jēdzieniem, un runāt par lietas, ko jūs gatavojaties to ir jādara mazliet in PSET 7. Kādi jautājumi pirms tam? Vairāk jautājumu jums puiši ir? Liels. Labi, pieņemsim apskatīt mazliet pie PSET 7, nav šaubu, ko jūs esat visu visvairāk satraukti par. Es domāju, tas ir kaut kas David iet cauri mazliet. Bet mums būs trīs katalogi tajā tops, kā arī kā konfigurācijas failu. Tas ir par datu bāzēm, kuru mēs runāt par apmēram piecas minūtes. Ietver, jūs nekad ir nepieciešams izskatīties šajā direktorijā ja jūs nevēlaties, bet tas ir jauki zinu, ka ir visādi palīgiem. Palīgi ir kā noderīgas funkcijas. Un tad mums ir config, kas nosaka dažus stuff up. Ir dažas funkcijas, kas ir CS50 rakstīts, ka ir palīgs un config. Un daži no SVP ka jau izejām failos darīs daudz kas vairāk veida no neass kāju darbu jums. Tāpat, ja mēs iedziļināties sabiedrībai login.php, kas ir tas, ko parādās tieši tad, kad jūs iedziļināties PSET 7. Mēs redzam, ka tur ir Tas prasa paziņojumu. Un ka veida, piemēram, asas ietver, hashtag ietver, ja jūs esat par jaunāku paaudzi. Bet tas būtībā saka, ka man ir nepieciešams piekļūt visām funkcijām config.php. Un jūs varētu būt nepieciešama visa veida citām lietām. config patiesībā prasa palīgi. Tātad, ja jums ir nepieciešama config, jūs arī ieskaitot vai pieprasot palīgus, kā arī. Tā, ka ļauj piekļūt visiem atdzesē funkcijas ka mēs ejam, lai izmantotu, Lietas, piemēram, padarīt. Es esmu patiešām gatavojas, lai atvieglotu šo leju mazliet. Tātad funkcijas, tad mēs esam gatavojas staigāt cauri tieši pirms mēs pāriet uz SQL maz bit ir login.php funkcija, vienkārši jo tā izmanto dažas no tēmām ka mēs tikko runājām par PHP. Redzi pirmā lieta ir, ja $ _SERVER. Tas ir vēl viens pasaules mainīgais ka jūs esat būs darīšana ar. Tas ir tāpat kā _GET un _POST, bet ko serveris ir ir tas var ļaut jums zināt, ja pieprasījums metode bija GET vai POST. Tāpat kā iepriekš, ko mēs darām ir tikai mūsu kodu, kas mēs rakstījām, mēs bijām tikai mainot tā ir GET un POST atkarībā no tā, kāda ir HTML. Bet ir lapas, kas var būt piekļūt ar abiem pieprasījumiem. Un jūs varētu vēlēties darīt dažādas lietas atkarībā uz pieprasījuma veidu, tāpat kā login dara. Tātad jūs varat pārbaudīt šo pieprasījumu metode caur piekļūt atslēgām, izmantojot, izmantojot atslēgu un iegūt vērtība kaut ko vārdnīcā _SERVER. Tātad tas ir vēl viens pasaules mainīgs piemēram _GET un _POST. Ja tas ir GET, mēs gribam padarīt pieteikšanās formu. Padarīt ir funkcija, kas būtībā tikai izvirza atbilstošu HTML un nodod to dažus parametrus. Šis nosaukums ir parametrs, kas ir izmanto attēlot, oddly pietiekami, nosaukums lapas Jautājums, lieta šeit, teikt vai sveiki mūsu iepriekšējā piemērā. Tagad mums ir cita lieta. Cits, ja tas ir POST, mēs darīt dažas citas lietas. Mēs izmantojam šo tukšo metodi. Tas nav, tas ir tukšs. Un mēs redzējām iepriekš, PHP ir godīgi summa būvēts metodēs, ka Deivids will-- ja tur Ir metodes, kas ir noderīga, lai jums, tie tiks brīdināti ar jums jo staigāt pa šo Dāvida dod pie sākas pārskatu, un arī Zamyla ir noderīgi biti. Viņa ir atpakaļ ikvienam. Mēs visi varam priecāties. atvainoties ir trāpīgi nosaukts funkcija ka tikai pamatā izdrukā daži kļūdu ziņojumus, jo CS50 ir ļoti pieklājīgs. Un tagad tas, tas ir grūts bit jo tas ir vieta, kur mēs esam vaicājumiem datu bāzi. Tagad mēs neesam runājuši par datu bāzēm. Un mēs ejam uz nākamo piecas minūtes, vai arī tā, maksimums. Bet tas ir funkcija ka CS50 ir sarakstījis lai iegūtu tabulu būtībā no datu bāzes ka mēs strādājam ar in PSET 7. Es esmu patiešām slikti ar manu nulle indeksācija šodien. Bet jā, tas ir 7. Tātad vaicājuma tas notiek atgriezt masīvs, būtībā ir galvenais bit. Un tāpēc, ka šīs lietas nav rakstīt, tāpēc rindās ir masīvs masīvi. Jo, kad mēs esam domājot par galds, ko mēs gatavojamies darīt ir, kā jūs iemācījušies psets tāpat spēlē 15, anyway kur jums bija izmantot dubultā masīvs, mēs būtībā ir masīvs cits masīvi padara tabulu. Un tev rindas un kolonnas. Un tad jūs varat piekļūt tiem, piemēram, [0] [1], jūs saņemsiet [0] [1]. Pamata sīkumi, piemēram, ka. Tātad, ko mēs darām šeit šo funkciju, mēs esam lūdzot datubāzi ja lietotājs, kas ir mēģināt pieteikties, ka būs nosūtīts pa pastu metodi. Redzēsim mēs esam nonākuši lietotājvārds no _POST. Tie būs nosūtījāt lapu, lietotājs vai jūs, nosūtīs vērtību izmantojot veidlapu, izmantojot POST jo tas ir lietotājvārds un parole sīkumi. Mēs pārbaudot lietotājvārdu lai redzētu, ir šī tabulā? Jo, ja lietotājs ir piesakoties in, tad to lietotājvārdu jāuzglabā tabulā lietotāji, kas pastāv attiecībā uz šo vietni. Tātad, būtībā, ja lietotājs ir datu bāzē, vaicājums gatavojas atgriezties ka rinda, kas ir masīvs. Bet grūts ir tas, ka, ja arī tad, ja dubultā masīvs ir tikai vienā rindā, pat ja tā ir viena rinda array-- tāpat kā tev basically-- ja jūs esat ieguvuši izmēra viens bloks kas ir saimniecībā citu masīvs, jūs tiešām darīšana ar vienu kolonnu. Bet tas joprojām apstrādāts kā dubultā masīvs. Un tas ir, ja tas reizēm var iegūt grūts, jo mēs esam ieguvuši rindas šeit. Mūsu mainīgais ir rindas. Un tad mēs esam radot jauns mainīgais sauc rinda un nosakot to vienāds ar pirmā rinda rindas. Un jūs pamanīsiet, ka komentāru saka, ka tā ir pirmā un vienīgā rinda. Tātad šis ir grūts daļa, kurā tagad darbojas var atgriezties masīvi ir ļoti viegli. Tur nav mallocs. Jūs neredzēsiet mallocs. Tātad jūs neredzēsiet SEG kļūdas. Bet funkcijas joprojām būs garām ap masīvu un datu grupās. Un jums ir jāuzmanās no tā, ko tieši jūsu funkcijas atgriezīsies. Un pat tad, ja tas ir viens kolonna, piemēram, tas, vaicājums vēl gatavojas atgriezties dubultu masīvs. Tātad, lai piekļuve ka column-- vai jūs var domāt par visu to kā apgriezts jo mēs runājam par rindām. Bet, lai piekļūtu šo vienu rindu, Jūs nevarat vienkārši teikt rindas. Pat ja tas ir viena rinda, jums ir Vai rowsrows [0], lai veida novērstu šo ārējā mazliet masīva un ir tikai savu vienu rindu. Darīt dažas citas lietas. Tur ir funkcija sauc password_verify kas pārbauda parole, kas tika publicēta. Un tad mēs redzam citu pasaules mainīgs šeit, _SESSION. Būtībā sesijas id ir, kā jūs izsekot no tā, ja kāds ir pieteicies vai ne. Tāpēc tieši tagad ar login.php, mēs piesakoties par lietotājam. Tātad, ko mēs vēlamies darīt, ir, mēs vēlamies, lai teikt sesijas id ir vienāds ar rindu id, kas tikai loģiski, jo katrā rindā būs atšķirīgs id skaitlis, kas ir daļa no tabulas. Mēs nokļūt SQL otrkārt, tāpēc, ja kāds no šo šķiet mazliet kā blah, tad viss tiks noskaidroti. Bet mēs ejam, lai uzstādītu id vienāds ar pareiza lieta, ieejot lietotājam. Atvainojos, ja kaut kas noiet greizi. Un tas ir pieteikšanās nolūks dzīve kā profesors Malan teiktu. Tā, ka bija login.php. Un daudz PHP kodu jūs rakstīt in PSET 7, viņi būs mazliet. Neaizmirstiet chmod uz Pareizas atļaujas. Būs mazliet par ka sākumā spec. Bet PHP, ka tu esi rakstiski būs darot lietas, kas ir līdzīgs šim. Jūs esat būs piekļūt dažas lietas, kas tiek dots pie jums globālie mainīgie PHP ka ir darīšana ar pašreizējo pieteicies lietotājs, vai pastāv ir bijuši lūgumi nosūtīti uz šo lapas, dažādas lietas, piemēram, ka. Un tas būs arī potenciāli atkārtojot caur rindām šo lietu. Citā funkciju, vaicājumu tas nosūtiet šo dubulto masīvu. Un, ja ir vairāk par vienu rindu tā, ja tur are-- jā, ja tur ir vairāk nekā viens rindas to, tad tas būs tabula. Un jūs varētu vēlēties, lai atkārtot caur rindām šī masīva izmantojot foreach cilpa ka mēs aprakstīts. Tātad, ja jūs foreach uz dubultā masīvs, kāda būs word-- šeit, Es tiešām rakstīt to. Es uzrakstīšu to ātri šeit. Ja mums ir foreach rindu kā rindā, kāda ir rindas tips? Vai kāds zina? Tu saprati? Tātad rindās ir dubultā masīvs. Tātad, kas ir foreach gatavojas secināt ka mēs vēlamies no šīs dubultās masīva ja mēs esam atkārtojot pār to? Mēs varam būtībā pieņemt, ka tas būs vai nu elementus, vai rindas vai kolonnas, pamatā. Un tā rindas un mēs kolonnas var uzskatīt par vienu un to pašu. Būtībā tas, ko foreach cilpa gatavojas to darīt, ir tas gatavojas atgriezties rindas. rinda būs tipa kārtas, tā rindās ir dubultā masīvs. Tātad, ja jūs sniedzat foreach dubultā masīvs, tas ir netaisos atkārtot vairāk nekā viens līmenis dziļš. Kas būtībā ir teikt, ja tur astoņi šūnas šajā table-- 1,2, 3 4, 5, 6, 7, 8-- foreach cilpa nav , kas iet caur katru no šīm šūnām. Ko foreach cilpa darīs bija tas iet cauri šīs rindas, sniegt jums šo visu rindu. Un tad tas būs iet caur šīs rindas. Tātad, tas tikai uzsvērts, vienu līmeni dziļi. Ja jūs pievienot ligzdotu foreach cilpa, tad jūs var uzskatīt katru rindu atgriezies no rindas, jūs foreach rindu kā elements, teiksim. Un tad jūs varētu atbalss elementu. Tātad tas ir īss maz atsvaidzināšanas par to, kā Jums varētu būt, izmantojot foreach cilpas kontekstā vaicājumu. Vai ir kādi jautājumi par PHP? Jebkas vispār, pirms mēs pāriet uz runāt par SQL un jautri datu bāzē? Justies labi? Justies labi. Viss kārtībā. Pieņemsim pāriet uz atpakaļ uz PowerPoint, kas jums, iespējams, garām. SQL, Yay. Cilvēki, kas ir manā nodaļā parasti zinās, ka apakšpozīcijās ar akronīmu vienmēr ir tikai pirmie vārdi Es domāju, ka par šo spēli, ka algorithm-- šo saīsinājumu. Tas nav algoritms. Tātad SQL ir datu bāze. Tā ir valoda, strādā ar datu bāzēm. Un visas datubāzes ir ir galdi, vismaz ceļā ka SQL pārstāv tos. Vēl viens veids, kā domāt par datu bāzēm ir datubāzes ir kopums atslēgas un vērtības būtībā. Jūs varat domāt par datubāzē, kā vārdnīca un arī kā galda. Būtībā tas ir veids, kā saistīt dažādi datus ar citiem datiem, bieži izmantojot rindām un kolonnām. Un tas ir veids, kā tas ir SQL darbojas vislabāk. Tātad šis ir viens piemērs no galda. Man dažus piemērus cilvēki manā nodaļā, kas Man nebija laika, lai mainītu. Bet mēs esam ieguvuši lietas, piemēram, ID, nosaukums, lielvalsts, un dzimtajā pilsētā. Es nezinu, kur ikviens ir no manā nodaļā, tāpēc es esmu tikai gatavojas pieņemt ikvienam ir no Ņujorkas Pilsēta, jo man ir liels statistikas iespējamība ir pareizs. SQL automātiski veikt rūpēties par ID kolonnas jums. Ja jūs ievietotu jaunu rindu uz SQL datu bāzi, tā pieauguma ka ID numurs un vienkārši būtībā pielīmēt, piemēram, pieciem vārdiem, lielvara, dzimtajā pilsētā, kurš uz beigām tabulas. Tātad ID ir kolonna jums nekad nav jāuztraucas par. Bet, piemēram, attiecībā uz no login.php, kad mēs bija iegūt sesijas ID no galda un tikai izmantojot ID, ID ir veids, lai identificētu kas ir par datubāzes elements. Tātad, ja mums bija divi Sams, abi kas māca CS50, un abi PVO bija no Milwaukee, tiem būtu joprojām ir atšķirīgas ID numurus un tādējādi būtu atšķirīga konteksts galda. Tātad, tas ir tas, ko SQL ir darīšana ar, strādājot ar uz muguras beigās. Tagad šie ir četras komandas kas jums ir nepieciešams strādāt ar SQL. Un es iemeta tos visus uz augšu uz viena slaida. Bet mēs esam gatavojas iet cauri tos visus atsevišķi. Pirmā komanda ir UPDATE, kas dara to, ko jūs varētu sagaidīt. Say jums ir daži dati tabulu, kas ir novecojuši. Tāpat, ja jūs tur trase no cilvēku vārdiem un vecumu, ja kāds ir Vecums palielinās, tad jūs gatavojas vēlaties, lai iet un atjaunināt tikai, ka personas vecumu. Par piemēru, kas darbojas ar mūsu pirmo table-- nav jāuztraucas par rakstveidā visiem šīs komandas, tajā pašā laikā. Bet, ja jūs esat ieguvuši atjauninājumu uz leju, ka būs labs šajā daļā, jo mēs ejam doties atpakaļ uz galda. Tātad, ja mēs ejam atpakaļ uz galda, teiksim kaut kas noticis bija tur bija zemestrīce vai vaina līnija, kas sadala tieši caur New York City. Un mēs vēlējāmies, lai atjauninātu visus kas dzīvoja Ņujorkā. Viņi visi bija pārcelties uz Pennsylvania. Tas nav dzimtajā. Viņi visi bija pārcelties uz New Haven. Tur mēs ejam. Tātad ikviens Ņujorkā pārceļas uz New Haven. Un tā tas ir kaut kas, kas ir rediģējot trīs rindas šajā tabulā. Bet SQL, jūs varat darīt ka tikai vienā paziņojumā. Tātad mēs ejam atpakaļ, lai atjauninātu. Ļaujiet man ātri dzēst šo kuģa vēlreiz. Kad mēs runājam par atjaunināšanu, ir dažas daļas, sintaksi, kas ir galvenais. Nu, visi sintakse ir galvenais. Bet sīkumi zaļā obligāta. Baltais ir nepieciešami, piemēram, iepriekš izstrādāti nosaukumi. Un gaiši zils ir lietas ka atkarībā no galda atšķiras. Tātad tas, kas notiek ar krāsu shēma šeit, tur augšā. Tātad, ja mēs gribam, lai atjauninātu tikai tās rindas no cilvēkiem, kas dzīvo Ņujorkā, Tātad, ko mēs darītu, ja mēs teicām UPDATE? Tātad, galds ir vieta, kur mēs ieliekam nosaukums mūsu galda. Pieņemsim tikai teikt vārdu no mūsu galda ir viena tabula. Tāpēc mēs vēlamies, lai atjauninātu viena tabula. Un mēs gribam set-- Ko mēs gribam noteikt? Nu mēs gribam teikt, tāpēc column-- PHP izturas rindas kā unikālo identifikatoru. Un tad kolonnas ir dažādās jomās no šiem elementiem datu bāzē. Tātad no datubāzes pirmā elementa ir nosaukums Sam, lielvalsts no CS50, un dzimtajā pilsētā Milvoki. Tātad, ja mēs teicām noteikts, aplūkosim parametri atkal, ka kopa notiek. Mums ir kolonna vienāda vērtība. Tāpēc mēs vēlamies teikt dažus column-- kas atcerēties ir field-- mēs gribam redzēt lauks vienāds ar kaut ko jaunu. Tātad, ja mēs tikko teica update 1. tabula, kas vārds vienāds Elliot. Dabūt cilvēkus no jauna sadaļa, kas par šo. Bet, ja mēs tikko izdarījām update 1. tabulu noteikt nosaukums vienāds Elliot, ko būtu tabula izskatās pēc tam? Cilvēki ir kāda ideja? Jā. Mērķauditorija: Viss, kas rinda kļūtu Elliot. SPEAKER: Viss kuru rindu? Mērķauditorija: Pirmajā rindā. SPEAKER: Pirmajā rindā? Kāpēc pirmā rinda? Es nedomāju izvēlēties par jums. Mērķauditorija: Varbūt viss visā tabulā? SPEAKER: Viss viss galds, jā. Un tas ir tieši labi because-- I bija tikai palīdzēt jums out mazliet there-- jo mēs izlaist izvēles WHERE klauzulu. Ja jums nav kur klauzula, ko šī komanda darīs tas būs darbs ar katru vienrindas tabulā. Ikvienam ir vārds kļūt Elliott, būtībā, kas Elliot ir ļoti laimīgs par. Vai Yanni, viens no diviem. Taču ikviena nosaukums mainīsies. Tātad, kā mēs izmantojam KUR clause-- un tas attiecas uz visiem Wheres kas ir katrā no šie dažādas lietas. Tātad, jūs pamanīsiet, ka SET ir kolonnas vienāda vērtība. Un tā nav kur. Bet tie ir atšķirīgi veidi pārskatu. Tātad kolonna vienāda vērtību ZIT ir cesiju. Tāpat mēs esam sakot, mēs gribam noteikt vārdu vienāds ar Elliot. Bet, ja noteikumi, tie ir līdztiesības paziņojumi. Tātad pieņemsim, ka mēs tikai vēlējāmies mainīt personas vārdu, lai Elliot ja to nosaukums bija Ryan, teiksim. Tātad, kad mēs sakām KUR nosaukums vienāds Ryan, ka būtu veiksmīgi tikai maiņa name-- tas būtu tikai mainīt nosaukuma lauku rindās kur nosaukums lauks ir vienāds ar Ryan. Tātad, ja mums bija vairāki cilvēki nosaukts Ryan, visi viņu vārdi varētu mainīties uz Elliot. Tas ir līdzīgs piemērs no tā, ja vaina līnija sadala New York City, un ikvienam ir pārcelties uz New Haven, kā mēs varam darīt, ka vienā paziņojumā ir UPDATE table1 SET dzimtajā = New Haven kur dzimtajā vienāds New York City. Tas ir spēks UPDATE. Mēs varam izvēlēties jebkuru skaitu rindas caur patiesu pārskatu par laukiem šajās rindās. Mēs nevaram teikt, UPDATE 1.tabulā komplekts name = Elliot KUR rinda = 1, izņemot to, ka mēs varam, ja mēs sakām ID = 1. Tātad mēs ejam, lai būtu strādājot ar vienlīdzības no laukiem, vienlīdzība kolonnu. Bet, izmantojot ID lauks ir veids, kā izvēlēties atsevišķas rindas īpaši, jo ID lauks ir unikāls identifikators ar SQL datu bāzi. Tātad, piemēram, aktualizējot vienu rindu, ID ir vienāds ar 1. Atjaunināšana divas rindu, vienkārši mainīt šo numuru. Bet jauda KUR apgalvojums ir tas, ka mēs var atjaunināt lietas, pamatojoties uz to, ko viņu pašreizējās vērtības dažām lietām ir. Jā Elliot? Mērķauditorija: Un ko tad, ja jūs vēlaties, kuri paredzēti, atkal, tas ir cits jautājums. Bet mans pirmais jautājums bija, kur tas notiek? Kur es atjaunināt šo? Vai tas PHP kodu? SPEAKER: Kur jūs atjaunināt, jā. Mēs ejam, lai runātu par to, kur tas viss notiek veida reiz mēs ejam cauri visām komandām. Bet to, kas jums ir nepieciešams, lai zinu, tagad ir būtībā ka Jūsu SQL datu bāzi pastāv kā kaut ko , ir pieejams vaicājumu funkcija, kas CS50 definē. Tātad, ja jūs izmantojat vaicājumu funkciju, Jūs varat piekļūt šo tabulu. Tātad jums būs nosūtot tos komandas, lai jūsu galda PHP failus caur vaicājumu funkcijas. Jūs varat arī spēlēt aptuveni ar jūsu galda tieši. Un tas ir labākais veids, kā pārbaudīt šos veida komandas. Un mēs iet cauri, kā tieši to darīt, ka tikai mazliet. Tā ka ir UPDATE komandu. Un pārējās komandas gribam būt sava veida līdzīgs, strādā pie līdzīgas lietas. Inserts INTO ir iespējams visvairāk atšķiras no atjauninājumu. Es esmu gatavojas atstāt, ka tur augšā uz tikai nedaudz un darba nekā šeit. Tātad ievietot, jūs redzēsiet ka tabula joprojām ir tas pats. Jūs vēlaties ievietot. Kapitalizācija, SQL ir gadījums nejūtīga. Tātad jums nav kapitalizēt šīs lietas. Pēc vienošanās vārdi baltā tiek kapitalizētas. Bet es arī krāsu kodēta tos. Vienīgais iemesls, ka jums kapitalizēt tiem, kad jūs rakstāt tos ir tikai, lai uzsvērtu ka tie ir konstantes. Un tā jūs varat vai nu apskatīt kapitalizācija vai fakts ka es esmu krāsainu tos atšķirīgi. Tātad, mēs esam ieguvuši ievietot, pieņemsim do table1 vēlreiz. Tas viss ir vienā rindā. Es esmu tikai atdalot to ar dažādi paziņojumi. Tāpēc nav jāuztraucas par to, ka table1 padarīja to uz otrās līnijas. Tāpēc mēs vēlamies, lai ievietotu INTO table1 dažas vērtības. Un jūs pamanīsiet izvēles bit, ko es nopirkšu sekundē. Tātad, mēs esam ieguvuši vērtības. Tātad pieņemsim, ka mēs vēlamies, lai pievienotu Andi uz mūsu galda, jo mēs garām Andi. Andi ir slims. Tātad pieņemsim pievienot Andi uz mūsu galda. Atcerieties, ka ID numurs automātiski tiek atjaunināts. Tāpēc vienīgais jomās mums jāuztraucas par ir vārds, lielvalsts, un dzimtajā pilsētā. Un tā tā, ka mēs to darām, apskatot mūsu sintaksi, ir mēs esam tikko saņēmu iekavās ar komatu atdalītas vērtības, katrs no kuriem ir vērtība. Tātad, ja mēs vēlējāmies, lai ievietotu Andi mūsu galds, viss, kas mums jādara, ir taisnība Andi. Kas Andi ir lielvalsts, cilvēki Andi s sadaļā? Viņai patīk lidojumu, vai, piemēram, ātrums, vai kaut ko. Kas mums jau ir tur augšā? Mums ir CS50, lidojums, ātrums un spēks. Mērķauditorija: Laiks Travel. SPEAKER: Time Travel, pārsteidzošs. Tātad, mēs esam ieguvuši Andi, laiks ceļojumu, un viņas dzimtajā pilsētā. Tas ir ļoti labs jautājums. New York City, ja kāds zina. Ikvienam ir no New York ir mācība atņemt no šodienas. Tāpēc šis apgalvojums būtu ievietot, kā piektajā rindā, ar lielvalsts ceļošana laikā un dzimtajā pilsētā New York City. Bet izvēles lauks ir būtībā veids precizēt, tieši kuras slejas vēlaties ievietot lietas. Tā, ka mēs darām to tagad, Andi, ceļošana laikā, New York City, notiek precīzā secībā mūsu table-- nosaukums, lielvara, dzimtajā. Un, ja jūs vēlētos darīt kaut kas nav tā, tāpat kā teikt, jūs nezināt kāds lielvalsts, tāpat kā es nezināju Andi s lielvalsts sākumā. Tāpēc viss, ko es zināju bija viņas nosaukt un viņas dzimtajā pilsētā. Ko es varētu darīt, ir es varētu do-- Es izdzēst šo ātri. Es gribu, lai tikai atjaunotu kolonnas. Un tas ir, ja izvēles kolonna saraksts stājas play. Es tikai gribu, lai atjauninātu vārdu un dzimtajā. Un tad es teikšu vērtībām. Es darīšu Andi un New York City. Ja es būtu izlaists sarakstu kolonnu un tikko veikts šīs divas lietas, kur tad New York City ir aizgājuši? Kurš kolonna būtu New York Pilsētas ir novietoti? Cilvēki ir kāda ideja? Lielvara, tieši tā. Tātad tas būs tikai iet, lai. Un, kad tas sasniedz beigām sarakstu, tas būs tikai pārtraukt aizpildot lietas. Un vērtības, kas tas būs stick visi kolonnas būs tikai NULL. Tāpēc mēs norādīts nosaukums un dzimtajā pilsētā, mēs esam nāksies ID 5, nosaukt Andi, lielvaras NULL. Tātad lielvara ir neinicializētu vērtība. Jums nav obligāti saņemt paši Valgrind kļūdas, ja jūs mēģināt un piekļūt. Viss būs labi nulli ārā, jo NULL ir vērtība SQL. Tas ir nemainīgs. Un tad dzimtajā būs New York City. Tātad tas ir INSERT INTO komandu. Pirms mēs virzāmies, tur ir vēl divas komandas. Vai cilvēki ir kādi jautājumi par UPDATE, par ievietot, par SQL Parasti pirms mēs virzāmies uz mūsu gala bitiem? Cilvēki jūtas labi, lieliski. Mīlu to. Tātad parunāsim par SELECT. Going tranšeja UPDATE nekā šeit. Un SELECT būs ļoti līdzīgs. Par SELECT mērķis, SELECT nolūks dzīvē ir sniegt jums ķekars kolonnu kas atbilst noteiktiem nosacījumiem. Un, kad es saku apmierināt konkrēti nosacījumi, Jūsu prāts varētu nekavējoties atgriezieties ka WHERE klauzula kas nāca klajā atjauninājumu. Un tas ir klauzula tieši tur SELECT. Ja mēs nelieciet kur klauzulu un mēs sakām SELECT vārds, hometown-- uzrakstīti, ka nedaudz wrong-- nosaukums, dzimtajā NO table1. Ja mēs tikai teikt, ka tas, ko SELECT gatavojas sniegt mums ir tā gatavojas sniegt mums double-- tabulu, diezgan. Dubultā masīvs, ja mēs esam domāt par PHP sajūtas. Bet tas ir tikai gatavojas sniegt mums dubultā masīvs divu columns-- nosaukuma, un dzimtajā pilsētā. Un tas būs ignorēt ID. Un tas būs ignorēt lielvalsti. Un tas būs tikai dod mums ik vienrindas šīs tabulas. Tātad, ja mēs vienkārši ievietota Andi, mums būs Andi. Un mums būs oriģināls četri. Ja viņi ir atjaunināta, kas būs jāatspoguļo, un tā tālāk, un tā tālāk. Tātad tas ir tāpēc, ka mēs neizmantoja ja klauzulas. Bet mēs varam izmantot to tieši Tāpat mēs izmantojām to Update. Ja mēs tikai vēlamies tabulu nosaukumiem un super pilnvaras cilvēku dzīvo Ņujorkā, mēs varam izpildīt paziņojumu tāpat SELECT vārds, superpower-- Es esmu tikai gatavojas atstāt that-- NO table1 KUR dzimtajā = New York City. Tātad tas dodas, lai pierādītu, ka jūs varat iegūt pilnīgi atšķirīgas kolonnas, un tad ielieciet kolonnas, ka jūs neesat pat saņemt atpakaļ, ja klauzulas. Mums nav pat vēlas, dzimtajā pilsētā ikvienam. Bet mēs gribam nosaukumu un lielvara cilvēku kuru dzimtā pilsēta ir New York City. Tātad tas ir kaut kas mums var darīt ar kur klauzula ir, mēs varam tikt galā ar kolonnām ka mēs ne vienmēr vēlas atgriezties. Tādā pašā veidā atjauninājumu, mēs varam tikt galā ar kolonnām, ka mēs ne vienmēr vēlaties atjaunināt. Mēs varam atjaunināt pilsētu ikvienam kurš vārds ir Sam, piemēram. Mēs varam atjaunināt pilsētu Ikvienam, kura ID numurs ir 2. Tik vienkārši atjaunināt pilsētas no otrās rindas ja mums nav jātiek galā ar nepieciešams kopīgs jautājums. Un dzēst ir, kā jūs sagaida, izdzēst no table1. Un tad mēs esam ieguvuši citu, kur klauzula. Tātad, mēs varam teikt, ja id = 1. Dzēst pirmo rindu. Un DELETE vienmēr izdzēstu rindu, vai tas būs izdzēst kādu rindu skaitu. Izdzēst no galda, kur dzimtajā = New York City izdzēsīs ikvienu New York City. Tas ir, ja tur bija pēkšņs traģisks mēris un jūs vienkārši gribēja, lai novērstu ikviens no tabulas, kas dzīvoja noteiktā pilsētā kas bija skārusi nelaime. Lai viņi atpūsties mierā. Tie ir četri SQL komandas ka jums būs nepieciešams izmantot. Jūs, iespējams, nav pat nepieciešams izmantot tos visus. Bet tie ir četri ka CS50 sagaida tevi lai būtu apmierināti ar nonākšana gan viktorīna 1 un arī pset7 un pset8. Tur ir tikai, ka galds atkal. Ar šo vienu, Roy lielvalsts ir ir atjaunināts uz lāzera staru, kas ir piemērs es neizmantoja. Es nezinu, ko viena Roy dod, bet spēks. Roy ir lielvara spēka. Katherine nepieļāva to šodien. Tas ir žēl. Bet viņa ir super ātrumu. Labi, ka bija PHP. Pirms mēs runājam par MVC, dara kāds ir jautājumi par PHP? Tagad SQL, vai PHP ja jums pēkšņi ir nākt klajā ar jautājumu par PHP? Liels. Labi, mēs visi, kas pēc tam. Tātad runāt mazliet par modeli apskatiet kontrolieri, iesim atpakaļ uz kādu no stuff pset7. Tātad, ko modelis view kontrolieris is-- es neesmu notiek, lai saglabātu veiktās izmaiņas, lai pieteiktos jo es pilnīgi butchered to. Bet būtībā mums ir divi atsevišķas lietas notiek. Mums ir publiski katalogs, kas satur kods, kas būs izpildīts un interneta lapas, kas tiks apmeklētas. Un mums ir arī šī viedokļi direktorijā. Un views satur veidnes. Tas ir tas, ko funkcija render-- mēs redzējām apmetuma funkcija ķekars PHP kodu ka CS50 jau rakstīts par jums, kas notiek ar noteiktiem parametriem. Kas tas kods dara tas notiek uz viedokļiem, kas ir kopas, piemēram, iepriekš uzrakstīta HTML kods, un tas ir ievietojot vērtības uz konkrētām vietām. Tas ir kā tad, ja jūs iedziļināties CS50 Finance, pats header ir par katru lapu. Tas pats footer ir par katru lapu. Tas ir tāpēc, ka ceļu kas padara darbu ir tas būs automātiski plāksteris šajā galvenē un skatītājs, kas jūs varat atrast viedokli. Mēs tiešām varam iedziļināties galvenes, un izskatās, tas ir HTML fails ar galvu. Tas ieguva dažas stilu. Jums nav nepieciešams apskatīt CSS par pset7 ja jūs nevēlaties. Bet jūs varat mainīt viņiem, ja jūs vēlaties, padarīt Jūsu Finance izskatās mazliet atšķirīgs. Tas ir ieguvuši dažas PHP in iesākums nedaudz, lai redzētu ja tur ir atšķirīgs nosaukums tas būtu jāliek šajā galvenē. Bet tikai daži citi skripti, un saites, un citas lietas. Galvas beidzas, ķermenis sāk, un Ups, mums ir tas dīvaini maz beigu mazliet. Un tur ir div, tāpat kā bezformīgs veida elementa ka ir ideja par centru. Un tad, kad mēs redzam kājeni, mums ir beigas div. Mums ir apakšā, kas ir kur kājenes teksts ir. Beigas div, beigās ķermeņa, beigās HTML. Tātad, kas ir padarīt darot, ir padarīt ir sava no lāpīšanu up galveni A atšķirīgs PHP failu, kas saturēs faktisko lietas, jums apskatīt, piemēram, jūsu galda krājumu ja Jums ir pērkot vai pārdodot krājumus. Un tad tas būs pievienot kājenē. Un modelis skats kontrolieris ideja ir tāda, ka mēs vēlas atdalīt kā lietas izskatās no kodu. Tas ir, mēs vēlamies, lai atdalītu Frontend un aizmugure, kur Frontend ir sīkumi, ka lietotājs redz, jauka visuals-- HTML, CSS, lietām, piemēram, ka, attēlus, un tā tālāk. Un aizmugure ir PHP. Tas ir kods, kas jums rakstīt. Tas ir, ja kods, kas ir darot faktiskās darbības. Tas ir tad, kad jūs pievienojat akciju uz jūsu galda, kad jūs pērkat un tirdzniecība, kas ir aizmugure. Un mēs varam, kā redzējāt, ieskaitot PHP tieši HTML. Tātad, ko mēs varētu darīt, lai šis uzdevums ir tikko bija HTML fails par katru lapu, piemēram, pieteikšanās. Un tad šajā lapā, vienkārši bija milzīgs bloku PHP kodu, ieskaitot visus ar kodu, ko ka lapa, kas īpaši būtu nepieciešams. Un tad mēs varētu būt darīts, ka portfeļa. Mēs varētu darīt visu pirkšanu un pārdošanas ietvaros atsevišķas lapas. Bet tāpēc, ka mēs esam padarot atsevišķi no kurienes mēs esam rakstiski aizmuguri kodu, mēs varam viegli mainīt to, kā lietas izskatās bez mainās katru failu. Mēs darām lietas, piemēram, vienkārši pievienojiet jauns div uz leju of-- Sveiki Es modificēts kājeni. Jūs varat vienkārši darīt lietas, piemēram, ka. Bet arī, jūs varat mainīt viss vizuālais izkārtojums neietekmējot to, kas ir iet uz aizmuguri. Un jūs varat mainīt Visa aizmugure un vēl ir tas izskatās tāpat kā tas bija agrāk. Šis Vai ideja modelis skats kontrolieris. Un patiesībā tas ir uzspiests paradigmu daži no programmēšanas valodas jūs varētu vēlēties, lai izmantotu gala projektiem. Ja jūs iOS attīstību, tie ir ar skatu, kas ir tas, ko jūs redzat uz iPhone, un tad aizmugure kā piemēram atsevišķa lieta. Jūs varat domāt par mazliet. Tur ir daudz binaries in datorzinātnes, kas ir smieklīgi, jo viss ir bināro. Man nav plānu, ka. Tas bija pun neparedzēta. Jā, pun nav paredzēts. Bet, tāpat kā .H failus un .c failus, tur ir daudz atdalot no lietām, kas mums iespējams, nav nepieciešams. Tātad, mēs varam vienkārši rediģēt h failus, vai kāds var vienkārši redzēt .H failu un zināt tieši funkcijas, kas atrodas .c fails ne vienmēr zinot to īstenošanu. Šī ideja, kas atdala sastāvdaļām kas ir atkarīgi no otra bet var kārtot piekļūt viens otru izmantojot dažādus kanālus, iet Mainīgo, vienkārši ietvert apgalvojumus, lietas piemēram, ka šis princips palīdz veidot lietojumprogrammas kas var būt vieglāk rediģēja vairākiem cilvēkiem, var vieglāk mainīta vai izmaiņas izdarītas lielā mērogā, un ir vieglāk atkļūdot ar daudz veidos. Tiešām ātri, man ir daži padomi pset7, ko es ņemšu veikt pilnu ekrānu, lai jums nav tikai apskatot the-- tip tip Tippee. Tur nav tik daudz padomus. Bet es teicu PHP ir grūti atkļūdot. Divvietīgas un trīsvietīgas to pārbaudīt. Ja Jūsu kods ir vienkārši nav rāda uz augšu lapā, tas ir iespējams, PHP kļūdas, sorry. Jūs nekad ir nepieciešams apskatīt CSS, ja jūs nevēlaties. Bet tad, kad esat pabeidzis, tas var būt jauka maz jautri lieta, lai tikai iet un sajaukt ar CSS parametriem. CSS un HTML ir piemērs modeli view kontrolieris stila lieta pārāk, labi? Jūs varētu būt stila tagus iekšā HTML elementiem. Bet, ja jūs veida ārpakalpojumu tos CSS, viņi vieglāk labot, un play apkārt ar, un ir jautri ar. Ārstēt CS50 palīgs funkcionē kā melnās kastes. Jums nav nepieciešams zināt tieši to, ko apmetumu dara, bet ticiet to vienmēr darīt tiesības lieta atkarībā no tā, ko jūs nodot to, lietas, piemēram, šis. Un es ieteiktu skatoties Dāvida walkthrough, iet cauri visiem stuff, ne tikai todos, bet jūs tiešām var ārstēt šie kā melnās kastes. Nav iedziļināties šiem funkcijas meklē bugs. Un laipni atgriešanos Mūsu Overlord Zamyla. Liels. Vai ir kādi pēdējie jautājumi pirms mēs veida lielība par dienu? Es joprojām dzīvoju? Liels. Hi LiveStream cilvēki. Liels. Vai tur vairs jautājumi? Nē? Un tad es domāju, ka mēs esam labi iet uz šodienu. Es stick ap mazliet pēc tam, ja cilvēki bija jautājumi baidījās jautāt par straumi. Bet citādi, ir laba diena.