1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Dobrodošli Odjeljak za ovaj tjedan. 3 00:00:08,440 --> 00:00:10,040 Nisam Andi. 4 00:00:10,040 --> 00:00:14,590 Andi je pao bolestan taj dan, a ja su vrsta pozvan u zadnji tren 5 00:00:14,590 --> 00:00:15,700 preuzeti. 6 00:00:15,700 --> 00:00:20,920 To je sezona gripe, kako bi bili sigurni da ste boravite čisti, pranje ruku, 7 00:00:20,920 --> 00:00:24,800 i zdrave prehrane, tako da što, također, nisu prikovan za krevet. 8 00:00:24,800 --> 00:00:26,870 >> No, bez daljnjeg ado, neka je početi. 9 00:00:26,870 --> 00:00:29,970 Danas ćemo razgovarati PHP malo bit-- kako 10 00:00:29,970 --> 00:00:33,900 PHP odnosi u HTML, kako ga odnosi na CSS, a neki webu 11 00:00:33,900 --> 00:00:36,100 stvari koje je učinio na zadnje dodjele. 12 00:00:36,100 --> 00:00:37,930 Idemo pričati malo o SQL 13 00:00:37,930 --> 00:00:41,360 i kako možete raditi s bazama podataka, što je prilično ključna komponenta P 14 00:00:41,360 --> 00:00:43,650 postavljen 8-- P set 7. 15 00:00:43,650 --> 00:00:44,480 P set 7. 16 00:00:44,480 --> 00:00:48,400 >> A onda ćemo pričati malo malo o tome kako pregledavati kontroleri rade 17 00:00:48,400 --> 00:00:54,640 i zašto to je filozofija iza nekih Moderne web stranice i različiti dizajn. 18 00:00:54,640 --> 00:00:58,760 Prilično mnogo mnogo vrsta aplikacija i aplikacije možda brod 19 00:00:58,760 --> 00:01:01,120 koristite ovaj model, Okvir kontroler pregled, 20 00:01:01,120 --> 00:01:02,890 da ćete biti koristeći P set 7, pa ću 21 00:01:02,890 --> 00:01:05,220 razgovarati malo o tome zašto da je postao 22 00:01:05,220 --> 00:01:07,970 popularan, zašto je važno i lijepo. 23 00:01:07,970 --> 00:01:12,052 A onda ću napokon prešli na neki savjeti rješavanju P set 7. 24 00:01:12,052 --> 00:01:13,760 I ako imamo vremena lijevo preko na kraju, 25 00:01:13,760 --> 00:01:17,320 zapravo možemo učiniti nešto raditi na tome zajedno. 26 00:01:17,320 --> 00:01:20,380 >> Dakle, PHP. 27 00:01:20,380 --> 00:01:23,790 Zapravo, možda ste primijetili this-- ti stvarno ne moraju zaroniti u it-- 28 00:01:23,790 --> 00:01:27,880 ali P postaviti 6 imao neke PHP kod koje se događa. 29 00:01:27,880 --> 00:01:34,710 I zato PHP je C-kao jezik, PHP, za razliku od HTML i CSS, 30 00:01:34,710 --> 00:01:39,030 je programski jezik, dok je HTML i CSS su statični. 31 00:01:39,030 --> 00:01:44,050 Oni su jezici koji se bave sa stilom i vizualnim izgledom. 32 00:01:44,050 --> 00:01:46,230 PHP je pravi posao. 33 00:01:46,230 --> 00:01:51,590 >> PHP ima petlje, to je conditions-- sve to da je zabavno o C. 34 00:01:51,590 --> 00:01:56,190 Ima nekoliko stvari koje su malo malo bolji od C, što ćemo vidjeti, 35 00:01:56,190 --> 00:01:59,760 ali mislim da je najlakši način za razgovor o PHP je samo roniti u. 36 00:01:59,760 --> 00:02:04,087 Tako ću ići pravo u IDE u ovom trenutku. 37 00:02:04,087 --> 00:02:06,170 Prva stvar koju ćemo učiniti je zapravo izgledaju 38 00:02:06,170 --> 00:02:10,169 malo na neke od PHP kod koji je u P set 6. 39 00:02:10,169 --> 00:02:13,600 Dakle, način na koji radimo that-- prije, na način na koji smo bili trčanje 40 00:02:13,600 --> 00:02:18,550 poslužitelj za aparat je da ćemo morati type-- 41 00:02:18,550 --> 00:02:21,750 koristite ili provedbu ili provedba Osoblje je 42 00:02:21,750 --> 00:02:27,059 od server.c odlaskom u imeniku i trčanje server.c s bilo ni 43 00:02:27,059 --> 00:02:30,100 arguments-- tako jednostavno nazvati na lokalni domaćin, što je ono što vjerojatno 44 00:02:30,100 --> 00:02:31,849 učinio većinu time-- a zatim ga hranjenja 45 00:02:31,849 --> 00:02:35,380 directory-- s koji se koriste kao svoj korijen 46 00:02:35,380 --> 00:02:38,310 gdje web stranice će se pokrenuti, zapravo. 47 00:02:38,310 --> 00:02:42,180 >> Ovaj tjedan za P postavljena 7, kao što je velika kao naš kod za server.c 48 00:02:42,180 --> 00:02:47,580 je, postoje ljudi koji su već napisao ove fine stvari više na CS50 49 00:02:47,580 --> 00:02:49,630 da imaju malo više funkcionalnosti, 50 00:02:49,630 --> 00:02:52,920 server program koji je sposoban suočavanja s malo više 51 00:02:52,920 --> 00:02:56,350 od zamršenosti da ćemo vidi u oba P postavili 7 i P postaviti 8. 52 00:02:56,350 --> 00:03:01,410 A način na koji ste započeli gore poslužitelj je tako da upišete "apache50." 53 00:03:01,410 --> 00:03:03,960 >> I prije nego što učiniti ništa, želite biti sigurni 54 00:03:03,960 --> 00:03:06,070 da Apache 50 nije već pokrenut kao što je to 55 00:03:06,070 --> 00:03:08,130 na moj stroj, što sam učinio da ga testirati. 56 00:03:08,130 --> 00:03:10,320 A ti to pozivom apache50. 57 00:03:10,320 --> 00:03:14,070 Prestanite, i vidjet ćete da je to zaustavljanje web poslužitelj, ako možete gledati tamo 58 00:03:14,070 --> 00:03:16,340 na dnu terminala prozora. 59 00:03:16,340 --> 00:03:21,090 I onda samo za početak, mi smo nazvati "apache50 početak." 60 00:03:21,090 --> 00:03:23,150 A onda ćemo ga hraniti imenik. 61 00:03:23,150 --> 00:03:26,950 >> Sada, jer želimo gledati na neke od P postaviti 6 šifru 62 00:03:26,950 --> 00:03:32,850 da smo provodi, zapravo sam kopirati malo P 63 00:03:32,850 --> 00:03:37,090 set 6 kod u mojoj mapi, koje možete vidjeti na lijevoj tamo. 64 00:03:37,090 --> 00:03:40,170 To se zove "SECTION8" u svim velikim slovima 65 00:03:40,170 --> 00:03:44,510 jer sam samo tako uzbuđena se prenositi uživo danas. 66 00:03:44,510 --> 00:03:47,330 >> Dakle, ako smo pokrenuti to, što bi trebao svi rade prilično učinkovito. 67 00:03:47,330 --> 00:03:52,350 Ona kaže, u redu, naš site je sada dostupan na adresi IDE, 68 00:03:52,350 --> 00:03:57,710 osnovi, što je ono što su pomoću baš kao što je bio u P postaviti 7-- P set 6. 69 00:03:57,710 --> 00:04:00,899 Svi moji indeksi su jedan indeks danas. 70 00:04:00,899 --> 00:04:02,940 Dakle, možemo ići na to adresu, ako ćete se sjetiti, 71 00:04:02,940 --> 00:04:05,710 samo klikom ova mala gumb u gornjem desnom kutu. 72 00:04:05,710 --> 00:04:14,200 >> A vi ćete se sjetiti ovog zakona, koji dogodilo kada je otišao u hello.php. 73 00:04:14,200 --> 00:04:18,000 A što kod je osmišljen kako bi to je kad ste upisali u ime 74 00:04:18,000 --> 00:04:20,550 here-- ako kažeš Sam jer to je moja name-- 75 00:04:20,550 --> 00:04:23,620 i ja kliknite pozdraviti, kada smo otišli na sljedeću stranicu, 76 00:04:23,620 --> 00:04:25,270 to ime je trebao biti prikazan. 77 00:04:25,270 --> 00:04:28,550 To će reći: "Zdravo, Sam" ili "Pozdrav", što god ti ime 78 00:04:28,550 --> 00:04:32,470 stavite u nju, iako smo otišli na posve novu web stranicu. 79 00:04:32,470 --> 00:04:36,610 >> A to je vrsta stvar da PHP može učiniti za vas. 80 00:04:36,610 --> 00:04:42,840 PHP je u stanju proći podataka između dvije web stranice. 81 00:04:42,840 --> 00:04:44,390 To je potpuno drugačiji stranica. 82 00:04:44,390 --> 00:04:46,990 Vidjet ćete naslov je "zdravo" ovdje. 83 00:04:46,990 --> 00:04:49,080 Zapravo, oni imaju isti naslov, ali ja 84 00:04:49,080 --> 00:04:52,560 Obećavam da su različiti web Stranice ako gledamo na izvoru. 85 00:04:52,560 --> 00:04:55,890 A možete proći podataka koji je ušao u ovom tekstnom polju, 86 00:04:55,890 --> 00:04:59,830 što ga pošaljete na sljedeću stranice koja se zove gore, 87 00:04:59,830 --> 00:05:02,490 a zatim da se podaci u stanju biti tamo u sadašnjem obliku. 88 00:05:02,490 --> 00:05:04,810 >> Sada još nismo provode to se, što 89 00:05:04,810 --> 00:05:08,710 je ono što ćemo učiniti upravo sada sortirati dobili okus za koliko PHP radi, 90 00:05:08,710 --> 00:05:15,070 ali ključ ideja je da PHP-- možete vrsta mislim o tome kao funkciju. 91 00:05:15,070 --> 00:05:18,570 Nešto što PHP može pustiti nemojte se može uzeti parametre 92 00:05:18,570 --> 00:05:24,710 da unesete u HTML stranicu korištenjem PHP i oblika, 93 00:05:24,710 --> 00:05:29,960 i to može proći oni kao parametri na sljedeću stranicu koja se učitava gore. 94 00:05:29,960 --> 00:05:35,110 >> U ovom slučaju, mi smo se učitava ovo stranica sa "pozdraviti" gumb. 95 00:05:35,110 --> 00:05:38,960 Ali za sada, ja zapravo izbrisan dio tog koda 96 00:05:38,960 --> 00:05:44,850 u hello.php da je se pokrenuti koji je zapravo bio prikazivanja "Pozdrav, 97 00:05:44,850 --> 00:05:49,680 svijet "ili" Pozdrav, Sam ", ili "Hello", što god je samo ulaz. 98 00:05:49,680 --> 00:05:53,620 Dakle, za sada, mi smo će to učiniti, zapravo. 99 00:05:53,620 --> 00:05:56,570 Idemo ponovno to i također dodati neke više funkcionalnosti, 100 00:05:56,570 --> 00:06:00,210 učiniti malo više s njim, vidi ono PHP stvarno sposoban. 101 00:06:00,210 --> 00:06:04,870 >> Tako je prvi, pričajmo o Ova datoteka, hello.php. 102 00:06:04,870 --> 00:06:07,440 Dakle, ako smo povećali u Malo bit-- i sad sam 103 00:06:07,440 --> 00:06:10,520 vrsta pokušava pronaći sve način around-- tamo idemo. 104 00:06:10,520 --> 00:06:14,220 Vidjet ćete da se zove hello.php, ali sintaksa njega 105 00:06:14,220 --> 00:06:16,880 Izgleda kao HTML datoteku. 106 00:06:16,880 --> 00:06:20,380 To je zato što je Stvarni PHP u ovoj datoteci 107 00:06:20,380 --> 00:06:25,220 sve je zaglavi između njih Upitnik-znak za umetanje blokova. 108 00:06:25,220 --> 00:06:28,610 Sve ovdje smatra PHP kod. 109 00:06:28,610 --> 00:06:32,040 >> A vi ćete primijetiti da kad sam komentar, 110 00:06:32,040 --> 00:06:35,320 vidjet ćete poznati dvije kose crte. 111 00:06:35,320 --> 00:06:38,440 A ako ćete se sjetiti, u HTML, ako upišete komentar, 112 00:06:38,440 --> 00:06:42,540 to izgleda nešto bliže to, što je komentar u HTML. 113 00:06:42,540 --> 00:06:46,570 Pa stvarno je sve između ove dvije zgrade se 114 00:06:46,570 --> 00:06:50,060 Sada je PHP kod, koji se ogleda se u činjenici 115 00:06:50,060 --> 00:06:53,270 da je ovaj mali komentar simbol pretvara se u komentaru. 116 00:06:53,270 --> 00:06:58,420 >> Dakle, svaki put pišete PHP kod, čak ako nema HTML kod izvan njega, 117 00:06:58,420 --> 00:07:02,720 uvijek će biti zatvoren u tim kutnika 118 00:07:02,720 --> 00:07:04,080 s upitnicima. 119 00:07:04,080 --> 00:07:08,260 Možete vrsta razmišljati o tome kako sve it-- koda koji se protezao u C programa 120 00:07:08,260 --> 00:07:13,950 bio zatvoren u int main, prazninu, kovrčava braće, kraj kovrčava braće priopćenju. 121 00:07:13,950 --> 00:07:17,100 I vidjet ćete vitičastih zagrada u PHP, previše, ali to je vrsta 122 00:07:17,100 --> 00:07:20,490 kao glavne metode PHP. 123 00:07:20,490 --> 00:07:25,630 >> Tako sada, kako ćemo učiniti sve u PHP-u? 124 00:07:25,630 --> 00:07:29,190 Sada, PHP je programski jezik koji je vrlo C-poput, 125 00:07:29,190 --> 00:07:30,970 ali to djeluje na webu. 126 00:07:30,970 --> 00:07:33,270 Dakle, jedna stvar koja ćete immediately-- jedan 127 00:07:33,270 --> 00:07:38,130 od prvih stvari koje doista s C je li tiskan stvari van, zar ne? 128 00:07:38,130 --> 00:07:42,290 Tako je u C smo učinili s funkcijom printf. 129 00:07:42,290 --> 00:07:46,430 Dali smo niz, vjerojatno s novom linijom, 130 00:07:46,430 --> 00:07:49,850 a onda mi prestaje to sa zarezom. 131 00:07:49,850 --> 00:07:53,790 >> Dakle, način na koji ćemo to učiniti u PHP-- jer to nije sasvim printf. 132 00:07:53,790 --> 00:07:55,940 To je malo drugačiji sintakse. 133 00:07:55,940 --> 00:08:02,580 Način na koji smo ispisali stvari u PHP je možemo reći: "echo Hello" 134 00:08:02,580 --> 00:08:04,180 ili "echo" bilo riječ. 135 00:08:04,180 --> 00:08:09,830 I koji ima učinak radi printf s nizom "Halo." 136 00:08:09,830 --> 00:08:11,990 I dodaje novu liniju za njega. 137 00:08:11,990 --> 00:08:16,000 >> Tako ćemo sada napraviti sure-- Ja ću smanjivanje opet malo bit-- 138 00:08:16,000 --> 00:08:18,250 ćemo biti sigurni da da kod radi 139 00:08:18,250 --> 00:08:21,030 jer možda postoji vrlo dobro biti bug u ovom kodu 140 00:08:21,030 --> 00:08:22,880 da ćemo morati uhvatiti u koštac. 141 00:08:22,880 --> 00:08:25,860 Dakle poslužitelj već pokrenut. 142 00:08:25,860 --> 00:08:30,630 Dakle, ako mi pomaknite natrag dolje na dnu, Yup, poslužitelj još uvijek radi. 143 00:08:30,630 --> 00:08:34,510 Dakle, ako mi samo dodirnite ovu Malo pravo here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- trebamo get-- super. 145 00:08:37,620 --> 00:08:39,930 >> Još uvijek smo s upoznati "pozdravi" dijalog, 146 00:08:39,930 --> 00:08:45,750 ali kad sam upisati "Bok", vidjet ćemo da je tekst "Hello" je doista 147 00:08:45,750 --> 00:08:50,080 ispisati, što je točno onako kako smo očekivali jer je jeka u PHP 148 00:08:50,080 --> 00:08:53,190 je baš kao i izjave printf. 149 00:08:53,190 --> 00:09:01,410 Dakle, natrag na kodu, kako u P postaviti 6 učinio raspodjela kôd koju pružaju 150 00:09:01,410 --> 00:09:05,920 čine ga tako da bi PHP Izlaz stvar koja vas 151 00:09:05,920 --> 00:09:07,920 upisali u na prethodni zaslon? 152 00:09:07,920 --> 00:09:10,350 >> I da nekako ispitati zašto se to dogodi, mi smo 153 00:09:10,350 --> 00:09:15,510 ići u index.html, koji je izvorna datoteka, datoteka koje 154 00:09:15,510 --> 00:09:18,710 prikazuje se na zaslonu s "pozdraviti" gumb. 155 00:09:18,710 --> 00:09:20,950 Možete primijetiti da postoji sve klasične stvari 156 00:09:20,950 --> 00:09:26,910 mi smo došli da očekujete od HTML takve kao tim stvarima, ove oznake u prilogu 157 00:09:26,910 --> 00:09:31,080 u zagrade, kao što su PHP ali bez upitnike, 158 00:09:31,080 --> 00:09:34,650 što ukazuje na posebnu stvar u HTML. 159 00:09:34,650 --> 00:09:36,895 Imamo naslov, što je "zdravo". 160 00:09:36,895 --> 00:09:41,010 A vi ćete primijetiti da kao što smo vidjeli, naslov je "Hello" u oba slučaja. 161 00:09:41,010 --> 00:09:43,260 Idemo promijeniti ovaj jedan da "reći" samo tako ćemo 162 00:09:43,260 --> 00:09:48,170 može se razlikovati gdje smo. 163 00:09:48,170 --> 00:09:49,600 >> Ali mi imamo tijelo. 164 00:09:49,600 --> 00:09:52,690 A onda je zanimljivo malo je malo da se prikazuje u HTML, 165 00:09:52,690 --> 00:09:54,530 je ovaj oblik elementa. 166 00:09:54,530 --> 00:09:56,370 I tako smo dobili oblik. 167 00:09:56,370 --> 00:09:58,330 I to je ključ. 168 00:09:58,330 --> 00:10:00,530 Ovo je način kako mi radimo s PHP. 169 00:10:00,530 --> 00:10:05,790 Djelovanje parametar Obrazac kaže da hello.php 170 00:10:05,790 --> 00:10:09,310 je ono što ćemo poslati vrijednosti u ovom obliku u. 171 00:10:09,310 --> 00:10:13,830 To je mjesto gdje smo prolazu parametri, da se tako izrazim. 172 00:10:13,830 --> 00:10:18,680 >> Primijetit ćete još jednu stvar ovdje je da je metoda "dobiti". 173 00:10:18,680 --> 00:10:24,450 Postoje dva primarna Način na koji će se 174 00:10:24,450 --> 00:10:28,750 biti koristeći PHP proći podataka između websites-- web stranicama, 175 00:10:28,750 --> 00:10:30,500 rather-- u ovom zadatku. 176 00:10:30,500 --> 00:10:34,070 I oni su metode "dobiti" i "dužnost". 177 00:10:34,070 --> 00:10:37,010 Postoje neke suptilne razlike između GET i POST 178 00:10:37,010 --> 00:10:40,520 da ćemo dobiti into-- smo će "dobiti" u, ako hoćete. 179 00:10:40,520 --> 00:10:44,030 >> No, za sve namjere i svrhe, dobili i post 180 00:10:44,030 --> 00:10:47,120 su samo načini na koje prođe parametre 181 00:10:47,120 --> 00:10:49,500 s malo različitim pogubljenja. 182 00:10:49,500 --> 00:10:53,500 Za sada ćemo koristiti dobiti jer dobiti je ono što se koristi izvorno 183 00:10:53,500 --> 00:10:57,340 u PHP datoteci P postaviti 6. 184 00:10:57,340 --> 00:11:00,850 A zapravo, ako ćemo ići i tražiti Prije nego što smo uredili ništa drugo, 185 00:11:00,850 --> 00:11:03,090 Idem pozdraviti to-- što je vaše ime? 186 00:11:03,090 --> 00:11:03,812 >> PUBLIKA: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: O, Bože. 188 00:11:04,770 --> 00:11:05,600 Ne znam kako da čarolija da. 189 00:11:05,600 --> 00:11:06,766 Možete li čarolija koja za mene? 190 00:11:06,766 --> 00:11:08,710 PUBLIKA: E-L-L-I-O-T. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> PUBLIKA: Da. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Savršeno. 194 00:11:10,960 --> 00:11:11,210 U REDU. 195 00:11:11,210 --> 00:11:12,751 Mislim da sam znao kako se pišu da je. 196 00:11:12,751 --> 00:11:13,510 Ispričavam se zbog toga. 197 00:11:13,510 --> 00:11:16,560 Ali ako kažemo "pozdraviti", to nije to neće pojaviti na zaslonu 198 00:11:16,560 --> 00:11:18,476 Još jer smo modificirati kod malo. 199 00:11:18,476 --> 00:11:21,290 Ali ako mi ne "Pozdravite" - U redu, tako da "Hello" je ovdje. 200 00:11:21,290 --> 00:11:24,137 Ali ako uzmemo bliže pogledajte samog URL, 201 00:11:24,137 --> 00:11:26,220 vidjet ćemo kako to završava s hello.php? name = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Dakle, to je način komuniciranje na sljedeću web stranicu 204 00:11:37,180 --> 00:11:39,240 parametri koje smo prolazili. 205 00:11:39,240 --> 00:11:40,870 Rekli smo name = Elliot. 206 00:11:40,870 --> 00:11:46,290 I to je u konačnici kako P postaviti 6 pristupiti varijablu koje smo prošli u 207 00:11:46,290 --> 00:11:47,520 putem obrasca. 208 00:11:47,520 --> 00:11:51,470 A to je nešto što je svojstven GET zahtjev. 209 00:11:51,470 --> 00:11:57,480 GET zahtjev čini parametre poznat u URL web stranice. 210 00:11:57,480 --> 00:12:01,190 >> A vi ćete se sjetiti, također, P set 6 da vas 211 00:12:01,190 --> 00:12:04,450 morao napisati funkciju koja se bavila time 212 00:12:04,450 --> 00:12:09,700 da ovaj niz upita može postojati nakon datoteku. 213 00:12:09,700 --> 00:12:14,684 Tu bi mogao biti upitnik slijedi strane u osnovi bilo koji broj znakova. 214 00:12:14,684 --> 00:12:16,350 A to je upravo ono što se ovdje događa. 215 00:12:16,350 --> 00:12:21,280 A razlog zbog kojeg je morao analizirati kako u svom provedbu server.c u P 216 00:12:21,280 --> 00:12:27,570 set 6 je tako da bi mogao reći PHP kod koji name = Elliot. 217 00:12:27,570 --> 00:12:30,460 Trebali ste biti u mogućnosti analizirati kako iz URL 218 00:12:30,460 --> 00:12:35,900 tako da je PHP datoteku u pitanju znao što je to bio bave. 219 00:12:35,900 --> 00:12:39,350 >> Dakle, nadamo se to daje motivacija za server.c 220 00:12:39,350 --> 00:12:43,900 sad da smo se kreće na izvan C u PHP. 221 00:12:43,900 --> 00:12:48,240 Tako ćemo se usredotočiti zapravo o pristupu stvari prošli kroz GET zahtjev sada 222 00:12:48,240 --> 00:12:48,880 u ovom trenutku. 223 00:12:48,880 --> 00:12:50,157 Idem spasiti ovo. 224 00:12:50,157 --> 00:12:51,240 Nismo ništa promijeniti. 225 00:12:51,240 --> 00:12:56,080 Izgleda da smo dobili polje za unos. 226 00:12:56,080 --> 00:12:58,550 >> Mi smo postavljanje neka svojstva, kao što možemo učiniti HTML. 227 00:12:58,550 --> 00:12:59,550 To su jednostavne stvari. 228 00:12:59,550 --> 00:13:00,580 Ne treba nam to. 229 00:13:00,580 --> 00:13:03,750 Ali mi imamo samodovršetak off, koji je u osnovi says-- znate, 230 00:13:03,750 --> 00:13:05,710 kad upišete stvari u webu, ponekad 231 00:13:05,710 --> 00:13:07,355 pokušava ispuniti da za vas. 232 00:13:07,355 --> 00:13:08,230 Dakle, to je lijepa stvar. 233 00:13:08,230 --> 00:13:11,700 Želimo isključiti tu svrhu. 234 00:13:11,700 --> 00:13:13,970 To je CS50 odluka. 235 00:13:13,970 --> 00:13:15,640 Tako možemo izbrisati, ako smo htjeli. 236 00:13:15,640 --> 00:13:19,510 >> Autofokus samo drži pokazivač u formi na početku. 237 00:13:19,510 --> 00:13:21,060 Opet, ne previše važno. 238 00:13:21,060 --> 00:13:26,220 >> No name = "ime" - to je malo lukav jer je to ime i ime. 239 00:13:26,220 --> 00:13:28,730 Ali mi je mogao mijenjati to nešto drugo. 240 00:13:28,730 --> 00:13:30,563 A u stvari, to je Što ćemo učiniti upravo sada. 241 00:13:30,563 --> 00:13:34,830 Mi ćemo reći "osobu", koja je vrsta kao što su ime 242 00:13:34,830 --> 00:13:36,790 ako osoba je definirana svojim imenom. 243 00:13:36,790 --> 00:13:41,480 >> Tako ćemo zatvoriti ovaj, ponovno našu web stranicu 244 00:13:41,480 --> 00:13:46,110 jer naš poslužitelj i dalje radi Apache 50, a mi ćemo reći hello, evo 245 00:13:46,110 --> 00:13:47,200 Elliot opet. 246 00:13:47,200 --> 00:13:48,460 Zašto ne? 247 00:13:48,460 --> 00:13:49,220 Bok. 248 00:13:49,220 --> 00:13:52,880 A ako ćemo ići ovdje, vidjet ćemo onda umjesto imena = Elliot, 249 00:13:52,880 --> 00:13:55,200 što kaže osoba = Elliot. 250 00:13:55,200 --> 00:14:00,060 I to je izravna posljedica činjenice da smo samo promijenili ime = "osobu." 251 00:14:00,060 --> 00:14:06,840 >> Tako je u ulazni element HTML oblik, polje imena 252 00:14:06,840 --> 00:14:10,590 je identifikator za parametar koji je se prošlo. 253 00:14:10,590 --> 00:14:14,250 To je kao da ste stvaranje funkciju "dodati" koji je u dva brojeva 254 00:14:14,250 --> 00:14:16,670 a ti rekao int A i int b. 255 00:14:16,670 --> 00:14:22,680 To bi bilo ime koje je, a ako ste htjeli drugi oblik koji 256 00:14:22,680 --> 00:14:27,800 možemo učiniti samo kopiranje i lijepljenje, onda bi naziv b. 257 00:14:27,800 --> 00:14:31,030 >> Dakle, sada ćemo imati dva parametra koji se prošli kroz 258 00:14:31,030 --> 00:14:36,970 doći do sljedeću website-- sljedeća web stranica, hello.php. 259 00:14:36,970 --> 00:14:39,770 A zapravo možemo vidjeti opet, ako želimo. 260 00:14:39,770 --> 00:14:44,830 Ovo je najlakši način da se bave web broj u IDE, zapravo. 261 00:14:44,830 --> 00:14:47,940 Možete pokrenuti poslužitelj, preuzmite ga trčanje, a zatim svaki put kad 262 00:14:47,940 --> 00:14:50,649 napraviti neke promjene, samo u blizini tu datoteku samo da bude siguran. 263 00:14:50,649 --> 00:14:52,440 Pritiskom na tipku natrag je malo lukav 264 00:14:52,440 --> 00:14:55,800 jer to može učitati ranije verzija, nije najnovija jedan. 265 00:14:55,800 --> 00:14:59,200 >> I onda samo kliknite Tipka jednom, pop pravo up-- oh, 266 00:14:59,200 --> 00:15:00,510 a sada postoje dva oblika. 267 00:15:00,510 --> 00:15:10,440 I tako, ako upišete jedno u svaku one-- "Jason Hirshhorn" za instance-- 268 00:15:10,440 --> 00:15:11,590 možemo pozdraviti. 269 00:15:11,590 --> 00:15:12,840 Gledamo se u našim parametrima. 270 00:15:12,840 --> 00:15:18,910 Izgleda da smo dobili, kao što je Očekuje se, a = b = Jason i Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 što predstavlja dva parametra koje smo prošli na ovu funkciju. 272 00:15:23,760 --> 00:15:27,900 >> Dakle, sada ćemo zapravo dobiti provedbu tog funkcionalnosti koje smo 273 00:15:27,900 --> 00:15:30,840 imao u P set 6. 274 00:15:30,840 --> 00:15:32,490 Dakle, sada smo samo ponavljajući pozdrav. 275 00:15:32,490 --> 00:15:34,310 I to nije vrlo korisno. 276 00:15:34,310 --> 00:15:38,530 Želimo jeka neke varijable koji je prošao na nas. 277 00:15:38,530 --> 00:15:40,320 A znamo ime ove varijable. 278 00:15:40,320 --> 00:15:41,770 Imamo i mi smo b. 279 00:15:41,770 --> 00:15:43,500 Tako bismo mogli izabrati da odjekuju ni jedan. 280 00:15:43,500 --> 00:15:45,470 >> No, kako ćemo joj pristupiti? 281 00:15:45,470 --> 00:15:48,820 Pa, postoje određene globalne varijable u PHP. 282 00:15:48,820 --> 00:15:51,240 I ja ću napisati ih u komentarima ovdje. 283 00:15:51,240 --> 00:15:59,910 Dvije najvažnije su GET i post za naše potrebe sada. 284 00:15:59,910 --> 00:16:05,350 To su nizovi ili, Tehnički, rječnici 285 00:16:05,350 --> 00:16:10,540 gdje su naši varijable koje smo prolazi na sljedeću web stranicu žive. 286 00:16:10,540 --> 00:16:14,520 I mi ćemo uskoro vidjeti kako ih koristiti. 287 00:16:14,520 --> 00:16:19,720 >> Još jedna kratka napomena o PHP koda i neke specifičnosti it-- u C, 288 00:16:19,720 --> 00:16:23,260 proglasiti varijablu ili da koristite varijable, 289 00:16:23,260 --> 00:16:24,570 prvi put je morao ih objaviti. 290 00:16:24,570 --> 00:16:30,860 A ono što je morao učiniti kada proglasio ih je reći int a ili char b. 291 00:16:30,860 --> 00:16:35,630 Morao si proglasiti vrste tih varijable prije nego što ih je stvorio. 292 00:16:35,630 --> 00:16:38,800 PHP-- ne morate učiniti bilo što od toga. 293 00:16:38,800 --> 00:16:42,522 PHP ne traži tip varijable. 294 00:16:42,522 --> 00:16:44,480 A način na koji vas stvoriti variable-- a 295 00:16:44,480 --> 00:16:49,930 nego govori int, char, string-- što je stvarno char *, kao što smo know-- 296 00:16:49,930 --> 00:16:52,180 nego radi sve da, jer sve 297 00:16:52,180 --> 00:16:54,620 je istog tipa, typeless, možemo samo 298 00:16:54,620 --> 00:16:59,210 koristiti jedan znak, koji je znak za dolar. 299 00:16:59,210 --> 00:17:03,700 I vidjet ćete da je već iskakanje gore, malo samodovršetka stvari. 300 00:17:03,700 --> 00:17:11,380 I to govori da _GET i _POST dvije opcije koje sam na raspolaganju 301 00:17:11,380 --> 00:17:11,900 meni. 302 00:17:11,900 --> 00:17:16,430 Neke od tih stvari su ostale druge globalne varijable u PHP 303 00:17:16,430 --> 00:17:18,430 da ćete biti koristeći više tijek P set 7. 304 00:17:18,430 --> 00:17:20,569 Za sada ćemo usredotočiti na GET i POST. 305 00:17:20,569 --> 00:17:22,910 No, to je korisno Ono što je IDE radi 306 00:17:22,910 --> 00:17:24,980 gdje nakon što ste upisali u tom znak za dolar, 307 00:17:24,980 --> 00:17:28,760 to će početi punjenje u globalnim varijablama ili varijable koje ste već definirano. 308 00:17:28,760 --> 00:17:34,360 >> Dakle, ako ste htjeli definirati varijabla zove "niz" 309 00:17:34,360 --> 00:17:38,290 možete jednostavno podesiti da jednak "Bok." 310 00:17:38,290 --> 00:17:40,100 I to je u osnovi kao jednostavan kao taj. 311 00:17:40,100 --> 00:17:44,720 A onda smo mogli učiniti nešto poput "echo $ string." 312 00:17:44,720 --> 00:17:48,524 IDE treba bacati neke pogreške ako ja radim nešto krivo, 313 00:17:48,524 --> 00:17:50,190 pa nadam se da radim sve što je pravo. 314 00:17:50,190 --> 00:17:52,060 No, greške se uvijek ne javljaju. 315 00:17:52,060 --> 00:17:56,670 >> Još lukav stvar o PHP je da to nije sastavio. 316 00:17:56,670 --> 00:18:00,640 Tako je s C programa, što će učiniti dnevnu rutinu of-- osnovi, 317 00:18:00,640 --> 00:18:02,710 ti bi uređivati Vaš kod, ti bi ga spremiti, 318 00:18:02,710 --> 00:18:04,460 i onda bi čine ga, gdje je make 319 00:18:04,460 --> 00:18:08,830 korak koji se zove prevodilac, jeka, da bi svoj kod, ovaj tekst 320 00:18:08,830 --> 00:18:10,570 podnijeti, u izvršnu. 321 00:18:10,570 --> 00:18:15,550 PHP je C-kao, ali to je izvršiti u letu vašem web pregledniku. 322 00:18:15,550 --> 00:18:17,640 Dakle, ne postoji način da se zna. 323 00:18:17,640 --> 00:18:19,790 >> Napravite bi baciti one korisne pogreške, zar ne? 324 00:18:19,790 --> 00:18:22,190 To bi bilo kao, ne proglasi ovu varijablu 325 00:18:22,190 --> 00:18:23,320 prije nego što je pokušao da ga upotrijebite. 326 00:18:23,320 --> 00:18:29,120 Učinili ste sve ovo loše stuff-- segfault, segfault, sve to vrsta zabave puta 327 00:18:29,120 --> 00:18:31,000 koji je došao s make. 328 00:18:31,000 --> 00:18:33,920 PHP je dvosjekli mač jer nećete dobiti te pogreške, 329 00:18:33,920 --> 00:18:37,770 ali to također znači da nećete znati stvarno što nije u redu sa svojim programom 330 00:18:37,770 --> 00:18:39,840 ako samo ga pokrenuti, a to ne radi. 331 00:18:39,840 --> 00:18:45,130 Ali debugger treba istaknuti neki nadamo korisne sitnice 332 00:18:45,130 --> 00:18:47,950 sintaktički da možete popraviti. 333 00:18:47,950 --> 00:18:52,850 >> Pa sad, ako ćemo ići preko to-- kažu, neka je zatvoriti to. 334 00:18:52,850 --> 00:18:54,522 Ponovo otvoriti. 335 00:18:54,522 --> 00:18:55,480 I mi smo natrag ovdje. 336 00:18:55,480 --> 00:18:57,210 Dakle, imamo varijablu i varijabilnu b. 337 00:18:57,210 --> 00:18:58,626 A to neće u konačnici važno. 338 00:18:58,626 --> 00:19:01,850 Mi ćemo ih nazvati hi g bez posebnog razloga. 339 00:19:01,850 --> 00:19:03,120 >> A mi pozdravi. 340 00:19:03,120 --> 00:19:07,480 Sada to izgleda kao naš nizu "Bok" je doista tisak. 341 00:19:07,480 --> 00:19:10,460 Stvorili smo varijablu nazvanu "niz", postavljen je jednaka "Bok." 342 00:19:10,460 --> 00:19:15,520 Obavijest da nismo morate učiniti malloc ili napraviti znakova niz. 343 00:19:15,520 --> 00:19:19,110 >> U PHP, jer varijabli su typeless, niz 344 00:19:19,110 --> 00:19:22,230 je ista kao za char sve namjere i svrhe. 345 00:19:22,230 --> 00:19:23,570 To bi mogao biti "Bok." 346 00:19:23,570 --> 00:19:26,340 To može biti samo znak k. 347 00:19:26,340 --> 00:19:29,290 To može biti broj 1. 348 00:19:29,290 --> 00:19:30,300 I to ne brine. 349 00:19:30,300 --> 00:19:33,560 PHP ne brine o tip vaše varijable. 350 00:19:33,560 --> 00:19:34,390 Ili, to ne brine. 351 00:19:34,390 --> 00:19:36,240 To brine kada pokušate i činiti stvari s njom, 352 00:19:36,240 --> 00:19:38,790 ali to ne brine u deklaracija korak. 353 00:19:38,790 --> 00:19:46,960 >> I baš kao što možete u C, možete izjavljujem žice na hrpu kao što je ovaj 354 00:19:46,960 --> 00:19:51,130 iako kaže "hrpu" je malo Malo potencijalnog pogrešan naziv kada je 355 00:19:51,130 --> 00:19:52,230 govorimo o PHP. 356 00:19:52,230 --> 00:19:54,020 Ali ne moramo brinuti o tome. 357 00:19:54,020 --> 00:19:55,936 Tako smo dobili niz "Bok", a mi odjekuju string. 358 00:19:55,936 --> 00:19:58,880 Dakle, sada smo razgovarali varijable. 359 00:19:58,880 --> 00:20:06,060 Tako sada moramo razgovarati o get a objaviti i obaviti konačnu stvar koja je 360 00:20:06,060 --> 00:20:12,660 potrebno da se stvarno dobili ovaj kopiju na funkcionalnost P postavljen 6. 361 00:20:12,660 --> 00:20:14,990 Dakle, sada smo ponavljajući niz, ali mi 362 00:20:14,990 --> 00:20:17,080 nemam te varijable dobiti i post. 363 00:20:17,080 --> 00:20:19,430 I zato što smo pomoću način dobiti, to 364 00:20:19,430 --> 00:20:24,810 Čini se prirodnim da je naša varijabla koja mi smo zainteresirani, A i B, 365 00:20:24,810 --> 00:20:29,870 nalazit će se u nizu ili rječnik, tehnički dobiti. 366 00:20:29,870 --> 00:20:33,510 >> Dakle, ako smo postavili ovakav s groups-- sam pritisnuo ući 367 00:20:33,510 --> 00:20:36,770 i nije it-- sviđa ali ovdje imamo dobili. 368 00:20:36,770 --> 00:20:38,000 I tako dobili već postoji. 369 00:20:38,000 --> 00:20:41,380 Dakle, već možemo početi pristup neke od elemenata dobiti. 370 00:20:41,380 --> 00:20:45,000 Ako ne dobijete, to sintaksa za polja u PHP je vrlo C slično. 371 00:20:45,000 --> 00:20:47,900 Mi imamo dvije uglate zagrade. 372 00:20:47,900 --> 00:20:53,440 >> Dakle, ako kažemo doći u normalan niz, mogli bismo pristupiti 373 00:20:53,440 --> 00:20:55,600 indeks 0., prvi indeks. 374 00:20:55,600 --> 00:20:56,840 PHP je nula indeks. 375 00:20:56,840 --> 00:21:00,550 Mogli bismo reći nula, jedan, two-- stvari kao što je ovaj. 376 00:21:00,550 --> 00:21:03,420 A ja sam rekao da dobijete je tehnički rječnik. 377 00:21:03,420 --> 00:21:08,290 Pa što PHP radi ispod haube, što je malo ljepši od C, 378 00:21:08,290 --> 00:21:12,760 to je već dajući vam neke rječnik funkcionalnost, koja 379 00:21:12,760 --> 00:21:16,240 stvarno hash tablica, ili pokušava, navodno. 380 00:21:16,240 --> 00:21:19,360 Ili, tehnički mogao biti probati kao dobro. 381 00:21:19,360 --> 00:21:25,500 Ali PHP provodi hash tablicu, koji čini učinkovitu rječnika. 382 00:21:25,500 --> 00:21:28,400 >> I tako znamo ime naše varijable, zar ne? 383 00:21:28,400 --> 00:21:32,440 To se prošlo u upit niz PHP. 384 00:21:32,440 --> 00:21:37,290 Imamo = H i B = g gdje i b su imena varijabli. 385 00:21:37,290 --> 00:21:41,580 Dakle, način na koji možemo pristupiti Vrijednost koja odgovara ključu 386 00:21:41,580 --> 00:21:45,055 u našem rječniku je Samo rekavši _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Tako sada imamo _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 A ako smo samo zamijenite u naš odjek, ako echo _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 pa ćemo vidjeti ako ispravljanje pogrešaka baca greške oko this-- 391 00:22:02,410 --> 00:22:05,620 ćemo spasiti i zatvoriti ovo. 392 00:22:05,620 --> 00:22:07,130 Otvorite ga. 393 00:22:07,130 --> 00:22:10,390 Dakle, mi samo radimo pravo sada, pa ne bi trebalo b važno. 394 00:22:10,390 --> 00:22:12,980 "njoj" i "njega" - "pjevušiti." "njoj" i "Hum". 395 00:22:12,980 --> 00:22:14,810 Zvuči dobro. 396 00:22:14,810 --> 00:22:18,040 >> I to ispisati "ju", što je suludo. 397 00:22:18,040 --> 00:22:21,920 Ali to je upravo ono se događa u P set 6. 398 00:22:21,920 --> 00:22:27,240 Uglavnom, ono P postaviti 6 Bio doing-- odjek Pozdrav, 399 00:22:27,240 --> 00:22:31,580 name-- gdje je imao ime varijable i to samo 400 00:22:31,580 --> 00:22:35,520 traži da upišete u tom malo teksta. 401 00:22:35,520 --> 00:22:37,380 Bilo je i nekih dodatni broj gdje 402 00:22:37,380 --> 00:22:40,550 je uključen ako izjave, što možemo učiniti upravo sada. 403 00:22:40,550 --> 00:22:50,120 >> Možemo reći, ako postoji, koji se je funkcija u PHP, 404 00:22:50,120 --> 00:22:55,110 _GET S crticom, "ime" - koji je u osnovi govoreći, 405 00:22:55,110 --> 00:22:58,760 "Ako je ime popunjena", jer mogli smo jednostavno kliknuli na gumb 406 00:22:58,760 --> 00:23:02,580 dostaviti obrazac, bez upisivati ​​ništa u tom području. 407 00:23:02,580 --> 00:23:07,760 A mi zamotajte da u našem prijateljski vitičastih zagrada. 408 00:23:07,760 --> 00:23:09,175 Možemo imati izjavu drugo. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 I to je sve u PHP kuta nosač, upitnik, kut zagrada, 411 00:23:18,820 --> 00:23:20,040 ako hoćete. 412 00:23:20,040 --> 00:23:21,750 >> A sada ćemo vidjeti ako to radi. 413 00:23:21,750 --> 00:23:26,300 Stalno čekati da debug i sranje na mene, u osnovi, 414 00:23:26,300 --> 00:23:28,410 ali to još nije. 415 00:23:28,410 --> 00:23:30,830 Možda će se sada jer razgovarao sam o tome. 416 00:23:30,830 --> 00:23:31,330 Da. 417 00:23:31,330 --> 00:23:32,510 To je, u stvari. 418 00:23:32,510 --> 00:23:34,610 Dakle, ništa se ne prikazuju. 419 00:23:34,610 --> 00:23:38,750 To je zato što nešto krivo koje sam napisao u PHP koda. 420 00:23:38,750 --> 00:23:42,844 I sam spomenuo ispravljanje pogrešaka je lukav jer u PHP-u, mi 421 00:23:42,844 --> 00:23:45,260 nije to sastaviti unaprijed a prevodilac ne sviđa, 422 00:23:45,260 --> 00:23:46,710 evo gdje vaše pogreške. 423 00:23:46,710 --> 00:23:49,690 >> No, ono što možemo učiniti is-- to ljudi pamte 424 00:23:49,690 --> 00:23:57,010 kako gledati na drugu mrežu zahtjevi koji PHP-- ili da web stranice 425 00:23:57,010 --> 00:23:57,620 poslati? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] To učinio u predavanje jednom ili dvaput. 427 00:24:00,290 --> 00:24:05,830 Vi sjetiti gdje idemo naći različite dugovi i 200 Oks, 428 00:24:05,830 --> 00:24:09,780 svi ti kodovi koji se šalju putem HTTP od web stranice na web stranici? 429 00:24:09,780 --> 00:24:12,514 Se bilo tko sjetiti gdje smo ići na to? 430 00:24:12,514 --> 00:24:13,787 >> PUBLIKA: Izvor stranice. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: Izvor stranicu. 432 00:24:14,870 --> 00:24:15,890 Točno. 433 00:24:15,890 --> 00:24:19,230 Ako idete na stranicu Source-- Perfect. 434 00:24:19,230 --> 00:24:21,630 Dakle Stranica Izvor vuče inspektora. 435 00:24:21,630 --> 00:24:23,140 >> I ja sam koristeći Safari. 436 00:24:23,140 --> 00:24:25,790 Puno ćete vjerojatno se pomoću Chrome ili Firefox. 437 00:24:25,790 --> 00:24:27,750 No, koliko god da si u svakom modernom browser-- 438 00:24:27,750 --> 00:24:29,500 i slobodno slijedite zajedno, ako želite. 439 00:24:29,500 --> 00:24:32,560 Možete upisati ovaj kod ili pogledajte samo unutar P set 6 440 00:24:32,560 --> 00:24:35,820 katalog za neke slične stvari. 441 00:24:35,820 --> 00:24:41,020 hello.php je ono što smo trenutno radi na oponašanje. 442 00:24:41,020 --> 00:24:42,476 >> Dakle, postoje razne karticama. 443 00:24:42,476 --> 00:24:43,850 Možemo pogledati sve resurse. 444 00:24:43,850 --> 00:24:45,810 Možemo vidjeti izvorni kod. 445 00:24:45,810 --> 00:24:49,900 Dakle, izgleda kao da nije otarasiti tijela na kraju. 446 00:24:49,900 --> 00:24:54,890 Utvrđeno je greška u PHP i njega zaustavljen učitavanja cijelu web stranicu. 447 00:24:54,890 --> 00:24:58,320 Mi čak ne imati kraj oznaka za HTML ili bilo što. 448 00:24:58,320 --> 00:25:07,189 >> A ako gledamo na mreži, možemo vidim da smo se uputili zahtjev. 449 00:25:07,189 --> 00:25:07,980 To je domena. 450 00:25:07,980 --> 00:25:09,270 Ovo je adresa. 451 00:25:09,270 --> 00:25:10,070 To je dokument. 452 00:25:10,070 --> 00:25:14,310 Mi smo se metodom dobiti. 453 00:25:14,310 --> 00:25:15,760 >> I to je crveno. 454 00:25:15,760 --> 00:25:19,030 Ili, da je crveno kad sam nije ga odaberete. 455 00:25:19,030 --> 00:25:22,680 Kako sam ga poništite odabir? 456 00:25:22,680 --> 00:25:23,980 Pa, bilo je crveno. 457 00:25:23,980 --> 00:25:25,201 Dopustite mi osvježiti. 458 00:25:25,201 --> 00:25:25,700 Tu je. 459 00:25:25,700 --> 00:25:26,640 Sada je crveno. 460 00:25:26,640 --> 00:25:30,530 >> Tako da je crveno, što znači što nije, što je loše. 461 00:25:30,530 --> 00:25:32,280 Tako ćemo ispitati zašto je uspjeti. 462 00:25:32,280 --> 00:25:37,070 Dakle, sve da je izvor stranice mogu zapravo reći da je vaša stvar 463 00:25:37,070 --> 00:25:38,720 ne rade, što već možemo vidjeti. 464 00:25:38,720 --> 00:25:42,100 Dakle, idealno bi bilo biti više koristan alat. 465 00:25:42,100 --> 00:25:45,710 A tu su i neke ekstenzije preglednik koje vam omogućuju ispravljanje PHP, 466 00:25:45,710 --> 00:25:50,490 ali mi se ne ide na pisati tonu PHP, 467 00:25:50,490 --> 00:25:53,190 tako da je vjerojatno samo najbolji gledati kroz kodu 468 00:25:53,190 --> 00:25:56,760 pažljivo i samo bi bili sigurni da ne radi ništa drugo. 469 00:25:56,760 --> 00:26:03,876 >> Dakle, neka je vidjeti ako je format ovo Ako je izjava gdje je problem. 470 00:26:03,876 --> 00:26:07,420 Želim da ponovno učitati ovdje. 471 00:26:07,420 --> 00:26:09,830 Zdravo bok. 472 00:26:09,830 --> 00:26:11,350 Dakle, postoji problem postoji. 473 00:26:11,350 --> 00:26:15,130 >> Dakle, za ispravne sintakse PHP, PHP će 474 00:26:15,130 --> 00:26:17,369 da se C-kao u koji ćete vidjeti petlje. 475 00:26:17,369 --> 00:26:18,410 Vidjet ćete, ako izjave. 476 00:26:18,410 --> 00:26:20,920 Vidjet ćete sve te prijatelje da ste upoznati 477 00:26:20,920 --> 00:26:24,820 s tijekom ove CS50 semestra. 478 00:26:24,820 --> 00:26:29,960 No, najbolji način za shvatiti kako učiniti nešto u PHP je da ga google 479 00:26:29,960 --> 00:26:33,170 ili pogledati neke primjere PHP koda jer znate funkcionalnost. 480 00:26:33,170 --> 00:26:35,080 >> Znaš što možeš učiniti s programom. 481 00:26:35,080 --> 00:26:35,976 Možete petlje. 482 00:26:35,976 --> 00:26:37,600 Možete petlje onoliko puta koliko želite. 483 00:26:37,600 --> 00:26:39,433 Možete petlja u sve vrste različitih načina. 484 00:26:39,433 --> 00:26:40,700 Možete stvoriti funkcije. 485 00:26:40,700 --> 00:26:43,241 Možete stvoriti funkcije koje pozvati druge funkcije, dužnosti 486 00:26:43,241 --> 00:26:44,150 koji sebe nazivaju. 487 00:26:44,150 --> 00:26:45,733 A imate imena za tih pojmova. 488 00:26:45,733 --> 00:26:49,860 Imaš rekurzija, petlje, ako je, drugi kontrola tijekova. 489 00:26:49,860 --> 00:26:51,300 I tako Google je tvoj najbolji prijatelj. 490 00:26:51,300 --> 00:26:53,540 Čak kažu, "ako PHP izjava "i bit 491 00:26:53,540 --> 00:26:57,740 biti tona postova s Odgovori na druge ljude 492 00:26:57,740 --> 00:27:02,090 koji su imali slična pitanja za vas, koji se tek počinje s PHP 493 00:27:02,090 --> 00:27:03,820 te su znatiželjni o sintakse stvar. 494 00:27:03,820 --> 00:27:08,480 >> Budući da imamo luksuz da bude mogućnosti, pogledajte u P kôd set 6, 495 00:27:08,480 --> 00:27:14,980 mi zapravo ga podići i vidjeti da OK, ovdje je nešto zanimljivo. 496 00:27:14,980 --> 00:27:18,070 Dakle, to je ono što ga zapravo Izgledalo je kao u P set 6. 497 00:27:18,070 --> 00:27:20,340 Dakle, ako ćemo ići kroz to, možemo vidjeti da imamo 498 00:27:20,340 --> 00:27:27,150 dobio nekoliko njih malo PHP-kao upitnik bita. 499 00:27:27,150 --> 00:27:29,050 >> I ne postoje vitičastih zagrada. 500 00:27:29,050 --> 00:27:30,250 Postoji dvotočke. 501 00:27:30,250 --> 00:27:32,340 A tu su i kovrčava aparatić u PHP-u, ali to 502 00:27:32,340 --> 00:27:38,700 je oblik i način obavljanja PHP koji dobro radi s HTML 503 00:27:38,700 --> 00:27:43,830 jer kao što ćete vidjeti, mi smo zatvaranja s tih PHP bits-- drukčije 504 00:27:43,830 --> 00:27:49,770 i IFS i sve that-- a zatim mi smo ispreplićući HTML unutar njih 505 00:27:49,770 --> 00:27:54,640 dok je još slijedeći Kontrola protoka krenuo PHP. 506 00:27:54,640 --> 00:27:58,480 >> Pa ja sam samo ide brza šetnja kroz to 507 00:27:58,480 --> 00:28:01,740 jer je puno isto koncepti koje smo radili prije. 508 00:28:01,740 --> 00:28:07,280 Moramo, ako ne i prazna, zagrade, _GET_GET ["ime"]. 509 00:28:07,280 --> 00:28:08,500 To je sve isto stvar. 510 00:28:08,500 --> 00:28:15,430 Mi smo pomoću _GET rječnik koji PHP šalje na zahtjev oblika, 511 00:28:15,430 --> 00:28:20,720 jer se parametri akcije, a metoda je dobiti. 512 00:28:20,720 --> 00:28:22,110 I onda da završi to. 513 00:28:22,110 --> 00:28:27,420 Debelo crijevo je označitelj samo učiniti ako je, ako izjava true. 514 00:28:27,420 --> 00:28:29,490 To je poput kovrčave braće. 515 00:28:29,490 --> 00:28:33,320 A u stvari, to je kovrčava braće u drugim jezicima kao što su Python, 516 00:28:33,320 --> 00:28:37,070 koje možete naići ako samo učiniti za svoj konačni projekt. 517 00:28:37,070 --> 00:28:40,170 >> A onda je to linija, zdravo. 518 00:28:40,170 --> 00:28:41,510 Zatim imamo čudan stvar. 519 00:28:41,510 --> 00:28:43,190 Imamo više zagrade. 520 00:28:43,190 --> 00:28:46,140 Nema HTTP there-- ili PHP, ispričavam se. 521 00:28:46,140 --> 00:28:47,250 Ali postoji znak jednakosti. 522 00:28:47,250 --> 00:28:50,625 I onda imamo funkciju, htmlspecialchars (_GEThtmlspecialchars (_GET ["ime"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 To je vrsta kao više napredna verzija odjek. 525 00:28:58,040 --> 00:29:01,450 Kao što smo odjekuju kao način ispisati stvari u PHP. 526 00:29:01,450 --> 00:29:03,890 Ova je funkcija koja je definirani u PHP da 527 00:29:03,890 --> 00:29:08,160 će se baviti još gadno likovi i byte vrijednosti 528 00:29:08,160 --> 00:29:09,540 da bi mogao proći. 529 00:29:09,540 --> 00:29:11,070 To je uvijek najsigurnije koristiti ovaj. 530 00:29:11,070 --> 00:29:14,930 No jeka će obaviti posao sasvim u redu ako nismo 531 00:29:14,930 --> 00:29:17,620 bave bilo previše gadno. 532 00:29:17,620 --> 00:29:20,340 >> I tako to ima isti Učinak osnovi, 533 00:29:20,340 --> 00:29:26,360 ove stvari između pitanje Oznake ocjenjuje PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars vraća lijep HTML tiskani vrijednost _GET_GET ["ime"], tj 535 00:29:34,490 --> 00:29:36,010 sve što smo upisali u obliku. 536 00:29:36,010 --> 00:29:40,025 A onda ću pozdraviti, zarez prostor, a onda da. 537 00:29:40,025 --> 00:29:42,910 Ta cijela stvar između ove zgrade 538 00:29:42,910 --> 00:29:47,390 zamijenit će bilo htmlspecialchars stavlja van. 539 00:29:47,390 --> 00:29:49,390 Tako da je u biti slično na ono što radimo. 540 00:29:49,390 --> 00:29:54,760 A imamo još izjavu koja je Pozdrav svijetu, što ima smisla. 541 00:29:54,760 --> 00:29:58,070 Tako sada idemo natrag u naš broj i vidjeti exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Rekao sam postoji, što nije stvar da smo htjeli napraviti. 543 00:30:02,200 --> 00:30:05,370 Htjeli smo reći nije prazan. 544 00:30:05,370 --> 00:30:10,020 >> I tako to treba raditi malo malo bolje, a ne prazna _GET_GET ["ime"]. 545 00:30:10,020 --> 00:30:12,710 I to kovrčava braće odgovara da je kovrčavu braće. 546 00:30:12,710 --> 00:30:15,210 Imamo naše vitičastih zagrada ovdje. 547 00:30:15,210 --> 00:30:17,790 echo Pozdrav _GET ["ime"]. 548 00:30:17,790 --> 00:30:19,912 Idemo vidjeti ako to radi malo bolje. 549 00:30:19,912 --> 00:30:21,350 Još uvijek radi naš poslužitelj. 550 00:30:21,350 --> 00:30:23,910 Pozdrav Jason. 551 00:30:23,910 --> 00:30:24,780 Pozdrav Jason. 552 00:30:24,780 --> 00:30:25,810 I to je radio ovaj put. 553 00:30:25,810 --> 00:30:29,860 I tako to je dokaz da možete doista 554 00:30:29,860 --> 00:30:35,180 koristiti vitičastih zagrada koje znate i ljubavi u PHP koda u HTML-u. 555 00:30:35,180 --> 00:30:41,100 PHP koda pod uvjetom da ste u pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 pruža još jedan način radi istu stvar. 557 00:30:44,760 --> 00:30:49,220 >> Tako sada imamo snagu. 558 00:30:49,220 --> 00:30:55,740 Imamo funkcionalnost za provedbu PHP kod koji smo vidjeli u pset 6 559 00:30:55,740 --> 00:30:57,390 po sebi, zapravo. 560 00:30:57,390 --> 00:31:01,350 Prije nego što sam krenuti dalje, što su neki od pitanja koja imate u ovom trenutku? 561 00:31:01,350 --> 00:31:02,066 Da [nečujan]. 562 00:31:02,066 --> 00:31:06,512 >> PUBLIKA: Tako je u verziji u pset6, kada ga pokrenete, postoji prostor. 563 00:31:06,512 --> 00:31:09,330 I ja mogu vidjeti gdje je prostor iza zareza. [Nečujan] početak 564 00:31:09,330 --> 00:31:10,700 otvorenom nosač. 565 00:31:10,700 --> 00:31:15,420 Kako se uklopiti u prostor način na koji je napisao svoje kodove? 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER: To je dobro pitanje. 567 00:31:17,910 --> 00:31:21,650 I tako ćemo shvatiti da je van. 568 00:31:21,650 --> 00:31:24,450 Dakle, to je stvarno dobro pitanje i jedan koji nisam u obzir. 569 00:31:24,450 --> 00:31:25,950 Ali neka to učiniti zajedno. 570 00:31:25,950 --> 00:31:30,280 >> Dakle, prije svega, što Radim sa odjekom 571 00:31:30,280 --> 00:31:33,690 je kad smo samo jeka Pozdrav, izlazi zdravo. 572 00:31:33,690 --> 00:31:41,310 Ako jeka sada to dobiti na poseban crta, neka je ispitati što se događa. 573 00:31:41,310 --> 00:31:43,740 Tako smo kliknite ovaj. 574 00:31:43,740 --> 00:31:45,220 Držimo govoreći, hi Jason. 575 00:31:45,220 --> 00:31:48,690 Pa opet, nemamo taj prostor. 576 00:31:48,690 --> 00:31:53,090 >> A to je zato što, u PHP, kad smo jeka, 577 00:31:53,090 --> 00:31:55,820 bez obzira koliko spaces-- Nope, ne V-- 578 00:31:55,820 --> 00:32:01,770 bez obzira koliko prostora smo stavili u here-- ako mi sad učitati da se opet, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Da, vidiš, svi oni dobio prostori pojeli. 581 00:32:05,770 --> 00:32:08,020 I to je nešto što jeka funkcija radi. 582 00:32:08,020 --> 00:32:11,110 >> Dakle, da se brine o da je prostor, a to je 583 00:32:11,110 --> 00:32:14,960 jedan od razloga zašto ne koristiti odjek 584 00:32:14,960 --> 00:32:18,200 a vi koristite htmlspecialchars umjesto. 585 00:32:18,200 --> 00:32:22,140 Ja sam znatiželjan što bi dogoditi ako je to učinio 586 00:32:22,140 --> 00:32:26,700 gdje smo zatvara prostor u nizu. 587 00:32:26,700 --> 00:32:29,720 Ja iskreno ne znam što će se dogoditi kada sam to učiniti. 588 00:32:29,720 --> 00:32:30,790 >> Dakle, to je jedan od načina. 589 00:32:30,790 --> 00:32:32,210 To je jedan od načina da se brine o njemu. 590 00:32:32,210 --> 00:32:34,840 Ako zamotajte prostor u niz, onda prostor 591 00:32:34,840 --> 00:32:36,920 će biti izlaz lijepo od jeke. 592 00:32:36,920 --> 00:32:41,930 Najsigurnije stvar za učiniti je učiniti htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 To je uvijek siguran kladiti. 594 00:32:43,800 --> 00:32:47,050 Ali sada imamo način da to učinite to s jeka ako je potrebno. 595 00:32:47,050 --> 00:32:50,700 A na sličan način, možemo echo novih linija, sve vrsta 596 00:32:50,700 --> 00:32:53,550 stvari ste upoznati radi u PHP. 597 00:32:53,550 --> 00:32:57,460 >> Bilo tko drugi, što su više pitanja koja drugi ljudi imaju 598 00:32:57,460 --> 00:33:01,090 u ovom trenutku o PHP-u? 599 00:33:01,090 --> 00:33:04,620 Ako ljudi se pojavilo malo kasno, Ja sam sretan da ostanu nakon malo 600 00:33:04,620 --> 00:33:06,420 i razgovarati o nekim od početka. 601 00:33:06,420 --> 00:33:10,380 I to je također sve livestreamed, i arhiviran, što je suludo. 602 00:33:10,380 --> 00:33:13,960 >> U svakom slučaju, tako da sada učinimo neke više naprednih stvari s PHP. 603 00:33:13,960 --> 00:33:18,790 A jedan od prvih stvari koje uvedeni su u C je za petlje. 604 00:33:18,790 --> 00:33:24,060 A PHP ima snažniji za petlje zove foreach petlju. 605 00:33:24,060 --> 00:33:37,940 I to izgleda kao this-- za svaku prazna kao prazne, vitičastim zagradama, učinite nešto. 606 00:33:37,940 --> 00:33:41,500 Dakle, ovo je u osnovi stenogram. 607 00:33:41,500 --> 00:33:45,380 >> Vidi, za petlju u obliku sintaktička konstrukcija 608 00:33:45,380 --> 00:33:50,590 je smišljen u C i okupljanja jezik i stvari vole. 609 00:33:50,590 --> 00:33:56,300 Izmislili u C, upravo, kao stenogram za puno tipova petlji 610 00:33:56,300 --> 00:33:57,750 da će ljudi vidjeti. 611 00:33:57,750 --> 00:34:01,230 Kao kad je napisao petlju, postoji je često inicijalizacije korak 612 00:34:01,230 --> 00:34:04,700 izvršiti odmah na početku, a stanje u kojem se petlja bi stop-- 613 00:34:04,700 --> 00:34:07,030 i to je značajka to je samo u while petlji, 614 00:34:07,030 --> 00:34:10,040 ili da se, dok ima točno upravo to feature-- a zatim 615 00:34:10,040 --> 00:34:12,320 incrementation korak na kraju. 616 00:34:12,320 --> 00:34:16,489 I tako ćeš često pronaći sebe pisanje koda ovako. 617 00:34:16,489 --> 00:34:19,780 Idem izbrisati neke od ovoga. 618 00:34:19,780 --> 00:34:23,850 >> Ali, ako smo iterating kroz znakova u nizu, 619 00:34:23,850 --> 00:34:26,960 Na primjer, kao da smo dobio niz znakova. 620 00:34:26,960 --> 00:34:29,400 Žao nam je vratiti C. znam, ste mislili da su učinili. 621 00:34:29,400 --> 00:34:31,900 Ali to je samo u svrhu učenje PHP, obećavam. 622 00:34:31,900 --> 00:34:38,880 Dakle, ako imaš char str duljine 8, i neka je 623 00:34:38,880 --> 00:34:46,760 kažu da kaže Hellooo s prateći null. 624 00:34:46,760 --> 00:34:48,270 Veliki, tako da je naš niz. 625 00:34:48,270 --> 00:34:51,469 >> I onda smo imali for petlje. 626 00:34:51,469 --> 00:34:53,730 Imamo int ja jednak 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 I želimo izlaz kada STR od ja jednako nije jednak null, 629 00:35:09,110 --> 00:35:11,590 jer smo izašli kad je jednak nuli. 630 00:35:11,590 --> 00:35:19,170 I onda mi i ++ na svakoj točka u for petlji. 631 00:35:19,170 --> 00:35:30,480 Radiš nešto sa str od i. 632 00:35:30,480 --> 00:35:34,950 >> Dakle, osnovna formula, imali smo ovaj niz koji smo 633 00:35:34,950 --> 00:35:37,910 htio tretirati kao zasebne elemente. 634 00:35:37,910 --> 00:35:45,170 No, ono što smo morali učiniti je da smo morali osnovi stvoriti zaseban cijeli broj 635 00:35:45,170 --> 00:35:50,530 varijablu koja se računaju se svako Vrijeme smo išli kroz petlju. 636 00:35:50,530 --> 00:35:55,240 A onda ćemo morati nazovite strstr [i] kad ono što smo stvarno htjeli napraviti 637 00:35:55,240 --> 00:35:57,280 je samo ići karakter po karakteru, zar ne? 638 00:35:57,280 --> 00:36:00,185 Mi ne želimo povećajte broj, a zatim koristiti taj cijeli broj 639 00:36:00,185 --> 00:36:02,780 pristupiti svaki lik pojedinačno. 640 00:36:02,780 --> 00:36:04,410 Mi zaista znak po znak. 641 00:36:04,410 --> 00:36:08,600 >> I tako za svaku inteligentno izračunao da za nas. 642 00:36:08,600 --> 00:36:11,875 Ako imamo niz koji možemo proglasiti u PHP 643 00:36:11,875 --> 00:36:15,900 kao just-- ako imamo varijablu zove, nazovimo ga niz. 644 00:36:15,900 --> 00:36:19,840 Čuda bez tipkanja, to je baš kao i bilo koje druge varijable. 645 00:36:19,840 --> 00:36:20,730 To je samo niz. 646 00:36:20,730 --> 00:36:26,890 I mi smo malo [nečujan] kao 1, 2, 3, samo neka vrsta inicijalizacije polje. 647 00:36:26,890 --> 00:36:29,680 To je u redu, ne sviđa mi foreach. 648 00:36:29,680 --> 00:36:33,120 >> Ali ako mi ne foreach-- zapravo Ja upisali da malo krivo. 649 00:36:33,120 --> 00:36:34,840 Postoje dva načina da to učinite je foreach petlju. 650 00:36:34,840 --> 00:36:37,400 Tu je u sintaksu i kao sintaksa. 651 00:36:37,400 --> 00:36:40,580 I mi ćemo učiniti u sintaksi prvo, ne kao. 652 00:36:40,580 --> 00:36:41,780 To je moja pogreška. 653 00:36:41,780 --> 00:36:53,785 >> Tako foreach num u nizu, jeka num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 PHP je vikao na mi iz nekog razloga. 656 00:36:59,500 --> 00:37:03,520 To je nalaz neočekivani u nešto, 657 00:37:03,520 --> 00:37:05,820 što je malo smetaju. 658 00:37:05,820 --> 00:37:09,105 No, mi ćemo shvatiti zašto je to u ovom trenutku. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Tako se ne sviđa. 661 00:37:13,610 --> 00:37:15,040 Pokušajmo pomoću kao. 662 00:37:15,040 --> 00:37:17,310 Ona voli kao sintaksa je čini. 663 00:37:17,310 --> 00:37:22,550 Tako ćemo napraviti foreach lepezu kao num. 664 00:37:22,550 --> 00:37:24,520 >> Dakle, malo objašnjenje onoga što se upravo dogodilo 665 00:37:24,520 --> 00:37:30,670 je kao sintaksa saying-- dobro prvo, Pogledajmo što to ispisuje. 666 00:37:30,670 --> 00:37:32,260 Tako smo otvorili našu IDE. 667 00:37:32,260 --> 00:37:33,110 Idemo ovdje. 668 00:37:33,110 --> 00:37:35,845 Kažemo, Pozdrav Jason. 669 00:37:35,845 --> 00:37:41,390 I to učinio 123, koji su bili sadržaj od niza koje smo stvorili do vrha. 670 00:37:41,390 --> 00:37:45,500 >> Dakle, ronjenje u ovom foreach petlje, imamo varijablu naziva niz 671 00:37:45,500 --> 00:37:47,470 koji je niz od tri broja. 672 00:37:47,470 --> 00:37:52,120 A onda radimo foreach Niz kao num, jeka num. 673 00:37:52,120 --> 00:37:54,990 I to je više intuitivno nego za klempave. 674 00:37:54,990 --> 00:38:02,380 Mi tvrdimo, liječenje svakog od stvari u nizu kao NUM, 675 00:38:02,380 --> 00:38:05,180 Želim da mi date num. 676 00:38:05,180 --> 00:38:06,640 A to je upravo ono što se radi. 677 00:38:06,640 --> 00:38:12,000 >> PHP je izračun da kada kažeš foreach niz, 678 00:38:12,000 --> 00:38:16,080 a ti se bavi nizom, što ti si idući u ištanje to ponoviti više 679 00:38:16,080 --> 00:38:19,950 je likovi u tom nizu, je Ints u tom nizu, 680 00:38:19,950 --> 00:38:21,920 je elemenata u tom nizu. 681 00:38:21,920 --> 00:38:26,110 A to ste vi pohraniti one varijable num, 682 00:38:26,110 --> 00:38:29,360 i onda samo izlaz num Odmah umjesto govoreći, 683 00:38:29,360 --> 00:38:34,090 Imam varijablu Zvao sam te onda želim izlazne strstr [i]. 684 00:38:34,090 --> 00:38:39,130 >> I tako da omogućuje nam da napraviti cool stvari. 685 00:38:39,130 --> 00:38:43,330 Kao u osnovi ne moramo stvoriti ove varijable kao što sam je i učiniti sve 686 00:38:43,330 --> 00:38:45,090 ovo incrementation stvari na kraju. 687 00:38:45,090 --> 00:38:48,290 PHP brine sve to za vas. 688 00:38:48,290 --> 00:38:54,470 >> Dakle, sada ćemo govoriti o foreach kao to se odnosi na naš _GET rječnik. 689 00:38:54,470 --> 00:38:57,170 Tako ćemo komentirati ovo brzo. 690 00:38:57,170 --> 00:39:02,030 Dakle, mi imamo _GET niz. 691 00:39:02,030 --> 00:39:04,361 Imamo tu varijablu. 692 00:39:04,361 --> 00:39:05,610 I to je dobio neke stvari u njemu. 693 00:39:05,610 --> 00:39:10,275 >> Upravo sada, imamo samo jednu varijablu šalje se to, što je ime. 694 00:39:10,275 --> 00:39:13,420 Ali ako pritisnemo Enter, sada možemo imati dvije varijable. 695 00:39:13,420 --> 00:39:17,910 Možemo imati ime i dob, primjerice, ako želimo dobiti dob i 696 00:39:17,910 --> 00:39:20,960 ime osobe, funnily dovoljno. 697 00:39:20,960 --> 00:39:25,690 >> Tako sada _GET će biti rječnik s dva elementa, 698 00:39:25,690 --> 00:39:27,980 s dva ključna parova vrijednosti. 699 00:39:27,980 --> 00:39:33,490 I prvi key-- ću napisati ovaj jedan gore na brodu previše. 700 00:39:33,490 --> 00:39:37,136 Imamo naš rječnik je _GET. 701 00:39:37,136 --> 00:39:39,520 Nažalost, to je malo teško vidjeti. 702 00:39:39,520 --> 00:39:46,690 No, u našem rječniku smo ime, koje će biti nešto 703 00:39:46,690 --> 00:39:47,680 da smo dali. 704 00:39:47,680 --> 00:39:53,040 I mi ćemo imati starost, što je također će biti nešto što smo dobili. 705 00:39:53,040 --> 00:39:56,020 A to je cjelina naše rječnik. 706 00:39:56,020 --> 00:39:57,730 >> Dakle, to je dobio dva elementa u njoj. 707 00:39:57,730 --> 00:40:01,310 I zato foreach petlje su pametni, mi 708 00:40:01,310 --> 00:40:04,900 možda misle, i ispravno možda misle da foreach 709 00:40:04,900 --> 00:40:08,080 može ponoviti kroz to rječnik, ispis 710 00:40:08,080 --> 00:40:10,850 vrijednosti dao ime i dob. 711 00:40:10,850 --> 00:40:14,510 >> Tako ćemo u stvari učiniti upravo to. 712 00:40:14,510 --> 00:40:17,520 Ajmo izgraditi foreach petlju. 713 00:40:17,520 --> 00:40:23,351 I mi ćemo učiniti za _GET kao. 714 00:40:23,351 --> 00:40:24,850 I mi ćemo učiniti sljedeće. 715 00:40:24,850 --> 00:40:34,186 Tako ćemo vidjeti što će se dogoditi ako smo tip Samo riječ, a onda kažu echo riječ. 716 00:40:34,186 --> 00:40:40,540 Mi također će odjek novu liniju samo da bi ga malo jasnije, 717 00:40:40,540 --> 00:40:41,260 što se događa. 718 00:40:41,260 --> 00:40:42,890 >> Tako ćemo vidjeti. 719 00:40:42,890 --> 00:40:44,390 Nije da mi sve pogreške. 720 00:40:44,390 --> 00:40:46,810 A mi ćemo zatvoriti to. 721 00:40:46,810 --> 00:40:51,020 Na našoj web stranici, ti si idući u biti događaj puno toga tijekom pset7. 722 00:40:51,020 --> 00:40:53,890 Tako bismo mogli reći moje ime je Sam. 723 00:40:53,890 --> 00:40:58,560 Moja dob je 45. 724 00:40:58,560 --> 00:41:01,060 Nije. 725 00:41:01,060 --> 00:41:05,640 Ali to ispisuje, kako se i očekivalo, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> I tako ćete primijetiti da što foreach petlje did-- ovdje 727 00:41:08,930 --> 00:41:12,360 vratimo na to pa je na board-- smo dobili _GET kao riječ. 728 00:41:12,360 --> 00:41:15,130 A tu su četiri stvari _GET. 729 00:41:15,130 --> 00:41:17,410 Ali to je samo ispisati dvije stvari. 730 00:41:17,410 --> 00:41:21,290 foreach, kao svoju inteligenciju samouprave, Pretpostavlja se da je ono što smo htjeli 731 00:41:21,290 --> 00:41:24,100 je vrijednosti, a ne ključeve. 732 00:41:24,100 --> 00:41:27,800 >> Ali postoji način da bismo mogli ispisati iz tipki kao i, ako smo htjeli. 733 00:41:27,800 --> 00:41:30,810 Ako smo htjeli i znali što ove varijable su pozvani, 734 00:41:30,810 --> 00:41:33,540 postoji način da se mogu pristupiti to kao dobro. 735 00:41:33,540 --> 00:41:36,840 A način da nekako to, pa možemo reći, omogućuje stvarno 736 00:41:36,840 --> 00:41:39,485 Split je u ključnim parova vrijednosti. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Tako ćemo vidjeti što će se sada dogoditi. 739 00:41:47,580 --> 00:41:50,550 >> Dakle, imamo ključ. 740 00:41:50,550 --> 00:41:52,290 Imamo vrijednost. 741 00:41:52,290 --> 00:41:56,650 Imamo još jedan novi linija za čitljivost. 742 00:41:56,650 --> 00:42:00,540 I da vidimo što se događa kad smo to učiniti sada. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Ne znam koliko je stara Jason je. 745 00:42:06,720 --> 00:42:09,180 Jason je 15. 746 00:42:09,180 --> 00:42:11,650 Tako imamo ime je Jason, dob 15. 747 00:42:11,650 --> 00:42:15,830 Dakle, bili smo u mogućnosti pristupiti na tipku i vrijednost pari ovog rječniku 748 00:42:15,830 --> 00:42:18,590 Samo rekavši kako je ključnih točaka za vrijednosti. 749 00:42:18,590 --> 00:42:23,350 I to je foreach sintaktička šećer malo koja omogućuje 750 00:42:23,350 --> 00:42:25,960 pristup na stvari u rječniku. 751 00:42:25,960 --> 00:42:31,190 >> Dakle, nadamo se ova vrsta ističe moć foreach petlje. 752 00:42:31,190 --> 00:42:35,690 Možete ljepušan velik bacanje sve što iterable čini, 753 00:42:35,690 --> 00:42:38,922 kao i sve što ima više Elementi poput niza, 754 00:42:38,922 --> 00:42:41,880 poput dictionary-- to su dva primarne stvari koje ćete raditi sa 755 00:42:41,880 --> 00:42:45,630 kako u životu i pset 7. 756 00:42:45,630 --> 00:42:49,350 Tako možete baciti te stvari na to, a to će shvatiti 757 00:42:49,350 --> 00:42:51,030 ono što želite učiniti s njom. 758 00:42:51,030 --> 00:42:54,250 To će reći, u redu, ja ću doći te stvari iz podataka koje 759 00:42:54,250 --> 00:42:55,680 donesen na mene. 760 00:42:55,680 --> 00:43:02,470 A to je nešto što ste će se koristiti puno u pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Idem brzo dođite dolje samo vidjeti gdje sam u. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Nemojte ljudi imaju pitanja u ovom trenutku? 764 00:43:13,070 --> 00:43:13,778 Pitanja uopće? 765 00:43:13,778 --> 00:43:14,400 Da? 766 00:43:14,400 --> 00:43:18,320 >> PUBLIKA: Pa s ključem i vrijednosti, mogli nazvati ga bilo što drugo 767 00:43:18,320 --> 00:43:20,507 i to će i dalje raditi? 768 00:43:20,507 --> 00:43:21,090 SPEAKER: Ups. 769 00:43:21,090 --> 00:43:22,820 Wow, ja potpuno izbrisana cijelu liniju. 770 00:43:22,820 --> 00:43:23,380 Dobar posao. 771 00:43:23,380 --> 00:43:26,502 Dakle, a. 772 00:43:26,502 --> 00:43:30,109 Ključ i vrijednost je samo konvencija. 773 00:43:30,109 --> 00:43:30,650 To je korisno. 774 00:43:30,650 --> 00:43:34,010 Ti bi dobiti neki dizajn bodova, možda neki stil bodova 775 00:43:34,010 --> 00:43:36,970 za taj događaj, jer to stvarno prenosi namjeru. 776 00:43:36,970 --> 00:43:39,650 Ali mi kažu da je i yarp. 777 00:43:39,650 --> 00:43:42,476 >> PUBLIKA: Vi ne morate promijeniti ništa u HTML datoteku 778 00:43:42,476 --> 00:43:43,607 kako bi se odražavaju to? 779 00:43:43,607 --> 00:43:44,440 SPEAKER: Uopće ne. 780 00:43:44,440 --> 00:43:47,260 PUBLIKA: I to samo zna da jer je jednako veće than-- 781 00:43:47,260 --> 00:43:47,801 SPEAKER: Da. 782 00:43:47,801 --> 00:43:49,489 PUBLIKA: --that pokazatelj da that's-- 783 00:43:49,489 --> 00:43:50,030 SPEAKER: Da. 784 00:43:50,030 --> 00:43:52,260 To je foreach sintaksa, ali da. 785 00:43:52,260 --> 00:43:53,720 >> PUBLIKA: Ne postoje vrste. 786 00:43:53,720 --> 00:43:57,230 Pa što ako ste htjeli dob za samo jedan broj? 787 00:43:57,230 --> 00:43:59,510 Da li postoji način za to? 788 00:43:59,510 --> 00:44:04,550 >> SPEAKER: Postoje načini da biste provjerili varijable u skladu s određenim vrstama. 789 00:44:04,550 --> 00:44:08,482 Dakle, PHP pita malo više od ti, jer ne postoje tipovi u. 790 00:44:08,482 --> 00:44:09,440 Neki od načina da traži manje. 791 00:44:09,440 --> 00:44:11,070 Na neki način to traži više. 792 00:44:11,070 --> 00:44:13,320 Zato, ako imate samo nešto u varijablu, 793 00:44:13,320 --> 00:44:14,960 nemate pojma što tip je to. 794 00:44:14,960 --> 00:44:19,310 Ali, ako ste pametni o varijablama koji dodijelite vrste u i uvjerite se 795 00:44:19,310 --> 00:44:22,750 da je samo funkcija vam return-- Želite funkcije za samo povratak 796 00:44:22,750 --> 00:44:26,210 jedna vrsta vrijednosti tako da možete osnovi 797 00:44:26,210 --> 00:44:31,090 Očekujemo da će varijabla li dobiti natrag od funkcija će biti tipa 798 00:44:31,090 --> 00:44:32,780 da mislim da će biti, u osnovi. 799 00:44:32,780 --> 00:44:36,550 >> Ali postoje neke metode kojim možete provjeriti. 800 00:44:36,550 --> 00:44:39,801 Ja ih se ne sjećam off vrhu moje glave. 801 00:44:39,801 --> 00:44:43,300 Čekam da poplaviti. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 Postoje metode izgrađen u PHP koji mogu 805 00:44:52,000 --> 00:44:54,440 provjeriti tip varijable za vas. 806 00:44:54,440 --> 00:44:58,250 Ali ako dodijelite varijabli pametno, da ne bi trebali 807 00:44:58,250 --> 00:45:01,330 morate to učiniti previše u pset 7. 808 00:45:01,330 --> 00:45:02,780 No, ne postoje te metode. 809 00:45:02,780 --> 00:45:06,704 I to je nešto što u samom jeziku. 810 00:45:06,704 --> 00:45:08,370 I ne sjećam se precizno sintaksu. 811 00:45:08,370 --> 00:45:09,930 Čak smo mogli pogledati. 812 00:45:09,930 --> 00:45:11,974 No, vrijeme je u sustini. 813 00:45:11,974 --> 00:45:13,890 ima li tko drugi imate još pitanja? 814 00:45:13,890 --> 00:45:14,660 Da. 815 00:45:14,660 --> 00:45:15,951 >> PUBLIKA: Imam samo još jedan. 816 00:45:15,951 --> 00:45:19,050 Dakle, spomenuti postupak bi, ali nisi spomenuo metodu POST. 817 00:45:19,050 --> 00:45:20,500 Jesmo vraća na to? 818 00:45:20,500 --> 00:45:21,540 >> Govornik: Da, mi ćemo se vraćati na to. 819 00:45:21,540 --> 00:45:24,840 To je upravo ono što sam tražio na moj telefon, a sada je pao u san, 820 00:45:24,840 --> 00:45:26,960 ali ja ću ga pronaći. 821 00:45:26,960 --> 00:45:30,680 Samo pazeći smo hit sve PHP bilješke. 822 00:45:30,680 --> 00:45:35,640 Da, nema debugging verzija. 823 00:45:35,640 --> 00:45:41,940 Da, imamo još nekoliko stvari koje želimo sada u ovom trenutku. 824 00:45:41,940 --> 00:45:45,980 >> Dakle, govorimo o POST, koje ste spomenuli, 825 00:45:45,980 --> 00:45:49,630 jedina razlika između GET i POST je 826 00:45:49,630 --> 00:45:53,150 da sjećam se kad smo pogledali na ovom URL i vidjeli smo, oh, 827 00:45:53,150 --> 00:45:58,270 Ime je jednako i dob jednako yarp su pravo u URL tu za nas. 828 00:45:58,270 --> 00:46:03,300 POST je malo više tajnovit sa donošenja informacija. 829 00:46:03,300 --> 00:46:08,090 >> Dakle, ako ne želite korisnika znati, na primjer, 830 00:46:08,090 --> 00:46:11,160 nije želio korisničko ime i lozinku osobe 831 00:46:11,160 --> 00:46:15,080 Trenutno prijavljeni kako se prikazuje u URL, što je razumna stvar 832 00:46:15,080 --> 00:46:17,770 ne želim u URL, jer netko može vidjeti. 833 00:46:17,770 --> 00:46:21,520 Ako se povezati nekoga na stranici, Ne žele da im URL ožbukani tamo, 834 00:46:21,520 --> 00:46:27,850 jer bi to omogućilo ljudima da prijavu samo s umjesto na lijepljenje na URL 835 00:46:27,850 --> 00:46:29,670 od stvari ispunjavanjem obrasca. 836 00:46:29,670 --> 00:46:31,710 POST je malo više tajnovit. 837 00:46:31,710 --> 00:46:34,150 >> A jedino što ćemo morati mijenjati 838 00:46:34,150 --> 00:46:38,550 su ova metoda, promjene iz dobiti za postavljanje. 839 00:46:38,550 --> 00:46:42,367 A onda unutar HTTP, umjesto pristupa polja _GET, 840 00:46:42,367 --> 00:46:43,950 ćemo pristupiti polja _POST. 841 00:46:43,950 --> 00:46:48,600 >> A mi ćemo primijetiti da, ako ćemo otvoriti ovo natrag gore opet, 842 00:46:48,600 --> 00:46:51,910 Jason polako opada u starosti. 843 00:46:51,910 --> 00:46:53,230 ime Jasona, godine 14. 844 00:46:53,230 --> 00:46:54,280 Ista stvar iskoči. 845 00:46:54,280 --> 00:46:57,190 No, idemo na URL i te varijable ne postoji. 846 00:46:57,190 --> 00:47:00,540 >> A način na koji POST passes-- pa ne zaboravite 847 00:47:00,540 --> 00:47:02,750 kako gledati na izvor stranice. 848 00:47:02,750 --> 00:47:04,570 Idemo na mrežu. 849 00:47:04,570 --> 00:47:06,920 Mi osvježiti. 850 00:47:06,920 --> 00:47:10,690 A to je još jedna stvar koja NAKON će vam dati upozorenja o. 851 00:47:10,690 --> 00:47:15,050 Možda ste vidjeli kutiju, tekst okvir kao što je ovaj u pregledniku. 852 00:47:15,050 --> 00:47:18,170 Jeste li sigurni da želite poslati obrazac opet? 853 00:47:18,170 --> 00:47:21,170 POST je što se slanje tih oblika. 854 00:47:21,170 --> 00:47:24,680 >> Jer u osnovi, ako ste poslali podatke o kreditnoj kartici za nekoga, 855 00:47:24,680 --> 00:47:26,350 to se neće pojaviti u URL. 856 00:47:26,350 --> 00:47:28,180 To će biti zahtjev POST. 857 00:47:28,180 --> 00:47:32,905 Dakle, kada osvježite stranicu, to je ponovno poslati toj dužnosti zahtjev. 858 00:47:32,905 --> 00:47:35,530 Dakle, sada smo želite poslati formirati ponovo jer to neće 859 00:47:35,530 --> 00:47:37,340 stvoriti bilo dvostruke kupnje. 860 00:47:37,340 --> 00:47:41,160 >> A mi ćemo primijetiti da ovdje, metoda mi koristimo je POST. 861 00:47:41,160 --> 00:47:43,065 I doista prenijeti bajtova. 862 00:47:43,065 --> 00:47:45,460 Ona prenosi 401 od njih. 863 00:47:45,460 --> 00:47:47,190 Program je prilično malen. 864 00:47:47,190 --> 00:47:51,600 No, tu je nigdje da možemo vidjeti vrijednosti koje su prolazili. 865 00:47:51,600 --> 00:47:59,540 Web stranice i sami možete vidjeti, ali mi kao korisnici nisu mogli vidjeti, 866 00:47:59,540 --> 00:48:01,650 ako nisi haker. 867 00:48:01,650 --> 00:48:05,340 Ako si dobar haker, možete pogledati. 868 00:48:05,340 --> 00:48:09,360 >> Ako znate osnovni Format HTML, 869 00:48:09,360 --> 00:48:11,790 vrijednosti će jave na stranicama. 870 00:48:11,790 --> 00:48:13,160 Vi ćete biti u mogućnosti vidjeti. 871 00:48:13,160 --> 00:48:16,720 Vrijednosti će biti tamo, oni su Samo malo manje očito za vas 872 00:48:16,720 --> 00:48:19,522 pristup, u osnovi. 873 00:48:19,522 --> 00:48:23,620 >> Imamo li više pitanja o GET, POST 874 00:48:23,620 --> 00:48:26,800 before-- što ćemo sljedeće učiniti je zapravo pogled na neke od koda 875 00:48:26,800 --> 00:48:30,837 da ste davanje u pset 7, govoriti o kako se koristi neki od tih pojmova, 876 00:48:30,837 --> 00:48:32,670 i razgovarati o stvari koje ćete 877 00:48:32,670 --> 00:48:35,090 morati napraviti malo u pset 7. 878 00:48:35,090 --> 00:48:36,760 Još pitanja prije toga? 879 00:48:36,760 --> 00:48:38,047 Više pitanja vi imate? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Veliki. 882 00:48:41,840 --> 00:48:45,370 >> U redu, pogledajmo malo po pset 7, 883 00:48:45,370 --> 00:48:49,530 Nema sumnje da je ono što ste sve najviše uzbuđen o tome. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Mislim, to je nešto što David prolazi kroz malo. 886 00:48:54,750 --> 00:49:00,890 No, mi ćemo imati tri direktorije na vrh, kao i konfiguracijske datoteke. 887 00:49:00,890 --> 00:49:04,650 To je za baze podataka, koje ćemo govoriti o oko pet minuta. 888 00:49:04,650 --> 00:49:07,220 Uključuje, nikada ne trebate gledati u ovaj direktorij 889 00:49:07,220 --> 00:49:12,480 ako ne želite, ali je lijepo znamo da su sve vrste pomagača. 890 00:49:12,480 --> 00:49:14,210 Pomagači je kao korisne funkcije. 891 00:49:14,210 --> 00:49:18,120 I onda imamo config, koji postavlja neke stvari gore. 892 00:49:18,120 --> 00:49:24,590 >> Postoje neke funkcije koje CS50 ima zapisano da su u pomagača i config. 893 00:49:24,590 --> 00:49:27,250 A neki od PHP koji već izlazi u datotekama 894 00:49:27,250 --> 00:49:30,880 će učiniti mnogo za više vrsta od tupe nogu raditi za vas. 895 00:49:30,880 --> 00:49:35,250 Kao, ako idemo u javnost login.php, što je ono 896 00:49:35,250 --> 00:49:38,350 pokazuje se u pravu kada odete u pset 7. 897 00:49:38,350 --> 00:49:40,580 Mi ćemo vidjeti da postoji to zahtijevaju izjavu. 898 00:49:40,580 --> 00:49:43,420 I to vrsta poput oštro su, hashtag 899 00:49:43,420 --> 00:49:46,850 su ako ste na noviju generaciju. 900 00:49:46,850 --> 00:49:49,740 No, to zapravo kaže da trebam pristup 901 00:49:49,740 --> 00:49:52,260 svim funkcijama u config.php. 902 00:49:52,260 --> 00:49:55,290 A ti bi mogao imati zahtijevaju za sve vrste drugih stvari. 903 00:49:55,290 --> 00:49:59,670 >> config zapravo zahtijeva pomagače. 904 00:49:59,670 --> 00:50:02,490 Dakle, kad god vam je potrebna config, ti si također 905 00:50:02,490 --> 00:50:05,660 uključujući i zahtijevaju pomagače, kao dobro. 906 00:50:05,660 --> 00:50:09,590 Tako da vam daje pristup svim kul funkcije koje ćemo se koristiti, 907 00:50:09,590 --> 00:50:10,420 stvari kao što čine. 908 00:50:10,420 --> 00:50:13,490 Ja sam zapravo ide za ublažavanje ovo dolje malo. 909 00:50:13,490 --> 00:50:16,280 Tako funkciji onda smo će prošetati 910 00:50:16,280 --> 00:50:22,380 Samo prije nego što smo prešli na SQL malo malo je funkcija login.php, samo 911 00:50:22,380 --> 00:50:26,586 jer se koristi neke od tema da smo samo razgovarali o u PHP. 912 00:50:26,586 --> 00:50:30,840 >> Vidite prva stvar je ako je $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Ovo je još jedna globalna varijabla koja ti si idući u biti bave. 914 00:50:34,500 --> 00:50:38,460 To je kao _GET i _POST, ali što poslužitelj sadrži se to može vas pustiti 915 00:50:38,460 --> 00:50:42,730 Znaš li metoda zahtjev bio GET ili POST. 916 00:50:42,730 --> 00:50:47,250 Kao što je ranije su radimo je samo u našem kodu da smo pisali, 917 00:50:47,250 --> 00:50:51,880 smo bili samo mijenjaju da bude GET i NAKON ovisno o tome što je HTML. 918 00:50:51,880 --> 00:50:55,120 No, postoje stranice koje mogu biti pristupiti s obje vrste zahtjeva. 919 00:50:55,120 --> 00:50:57,410 A možda želite učiniti različite stvari, ovisno 920 00:50:57,410 --> 00:50:59,740 o vrsti zahtjeva, baš kao prijavu radi. 921 00:50:59,740 --> 00:51:04,400 >> Tako možete provjeriti taj zahtjev Metoda kroz pristupaju tipki, 922 00:51:04,400 --> 00:51:08,630 putem pomoću ključa i dobivanje vrijednost nečega u rječniku 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Dakle, to je još jedna globalna varijabla kao _GET i _POST. 925 00:51:13,800 --> 00:51:16,990 >> Ako je dobiti, želimo uzvratiti obrazac za prijavu. 926 00:51:16,990 --> 00:51:21,920 Render je funkcija koja osnovi Samo postavlja odgovarajući HTML 927 00:51:21,920 --> 00:51:24,500 i prolazi ga neke parametre. 928 00:51:24,500 --> 00:51:28,740 Ovaj naslov je parametar koji je koristi u prikazivanje, začudo dosta, 929 00:51:28,740 --> 00:51:32,670 naslov stranice u Pitanje je stvar ovdje, 930 00:51:32,670 --> 00:51:34,850 reći ili pozdraviti u našem prethodnom primjeru. 931 00:51:34,850 --> 00:51:36,100 Sada imamo drugu stvar. 932 00:51:36,100 --> 00:51:38,570 Inače, ako je to POST smo učiniti neke druge stvari. 933 00:51:38,570 --> 00:51:40,790 Mi koristimo tu metodu prazna. 934 00:51:40,790 --> 00:51:42,750 Nije postoji, to je prazna. 935 00:51:42,750 --> 00:51:45,440 A vidjeli smo i prije, PHP ima dosta izgrađena 936 00:51:45,440 --> 00:51:52,370 u postupcima koje je David will-- ako postoji metode koje su korisne za vas, 937 00:51:52,370 --> 00:51:55,560 oni će biti upozoreni na vas u šetnji David 938 00:51:55,560 --> 00:51:59,770 daje na početku pregledu, i Zamyla a korisne bita. 939 00:51:59,770 --> 00:52:01,040 Vratila se svima. 940 00:52:01,040 --> 00:52:03,100 Mi svi možemo radovati. 941 00:52:03,100 --> 00:52:06,530 Ispričavamo je podesno zove funkcija da samo u osnovi ispisuje 942 00:52:06,530 --> 00:52:10,130 neke poruke o pogreškama, jer CS50 vrlo pristojno. 943 00:52:10,130 --> 00:52:14,770 >> A sada ovo, ovo je lukav malo, jer je ova 944 00:52:14,770 --> 00:52:16,697 gdje smo upite baze podataka. 945 00:52:16,697 --> 00:52:18,280 Sada nismo razgovarali o bazama podataka. 946 00:52:18,280 --> 00:52:22,220 I idemo u sljedeći pet minuta ili tako, maksimalno. 947 00:52:22,220 --> 00:52:24,980 No, to je funkcija da CS50 je napisao 948 00:52:24,980 --> 00:52:38,050 dobiti stol u osnovi iz baze podataka da radimo s u pset 7. 949 00:52:38,050 --> 00:52:40,860 Ja sam jako loše s mojim nula indeksiranje danas. 950 00:52:40,860 --> 00:52:42,060 Ali da, to je 7. 951 00:52:42,060 --> 00:52:46,340 >> Pa upita on će vraćati polje, u osnovi je bitni ključ. 952 00:52:46,340 --> 00:52:54,130 A budući da te stvari ne moraju tipkanje, pa redovima je niz polja. 953 00:52:54,130 --> 00:52:59,480 Jer kada smo razmišljati o stol, što ćemo učiniti 954 00:52:59,480 --> 00:53:04,830 je, kao što ste naučili u psets kao igra 15, svejedno 955 00:53:04,830 --> 00:53:06,990 gdje ste morali koristiti bračni polje, mi u osnovi 956 00:53:06,990 --> 00:53:15,210 ima niz drugih nizovi čini stol. 957 00:53:15,210 --> 00:53:18,150 A ti imaš retke i stupce. 958 00:53:18,150 --> 00:53:24,450 I onda možete im pristupiti kao [0] [1], dobivate [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Osnovne stvari kao što je to. 960 00:53:26,900 --> 00:53:29,380 >> Dakle, ono što mi radimo ovdje u ovoj funkciji, 961 00:53:29,380 --> 00:53:35,070 tražimo baze podataka ako korisnik to 962 00:53:35,070 --> 00:53:40,200 Pokušavam se prijaviti na stranicu, to će biti Poslali metodom POST. 963 00:53:40,200 --> 00:53:43,950 Vidjet ćemo mi dobiti korisničko ime iz _POST. 964 00:53:43,950 --> 00:53:46,900 Oni će Poslali, korisniku ili će poslati vrijednost 965 00:53:46,900 --> 00:53:50,750 putem obrasca putem POST jer to je ime i lozinku stvari. 966 00:53:50,750 --> 00:53:54,830 Mi provjeru korisničko ime vidjeti, je li to u tablici? 967 00:53:54,830 --> 00:53:58,070 Jer ako je korisnik prijavite u, onda se korisničkim imenom 968 00:53:58,070 --> 00:54:03,320 treba čuvati u tablici Korisnici koji postoje za tu stranicu. 969 00:54:03,320 --> 00:54:09,360 Tako je u osnovi, ako je Korisnik je u bazi podataka, 970 00:54:09,360 --> 00:54:16,400 upit će vratiti to red, što je niz. 971 00:54:16,400 --> 00:54:24,560 >> No, lukav dio je da ako čak i ako dvostruki niz je samo jedan redak, 972 00:54:24,560 --> 00:54:31,900 čak i ako je jedan red array-- kao što imaš basically-- 973 00:54:31,900 --> 00:54:36,900 Ako imate veličine jedan niz koji drži drugi niz, 974 00:54:36,900 --> 00:54:38,940 ste stvarno bave jednom stupcu. 975 00:54:38,940 --> 00:54:41,420 Ali to je još uvijek liječi poput dvostrukog niza. 976 00:54:41,420 --> 00:54:44,560 >> I ovo je mjesto gdje se ponekad može dobiti lukav, jer imamo retke ovdje. 977 00:54:44,560 --> 00:54:46,440 Naš varijabla redaka. 978 00:54:46,440 --> 00:54:48,590 I onda mi stvaramo nova varijabla zove red 979 00:54:48,590 --> 00:54:51,450 i postavljanje jednak prvi red redova. 980 00:54:51,450 --> 00:54:55,150 A vi ćete primijetiti da komentar kaže da je to prvi i jedini redak. 981 00:54:55,150 --> 00:54:57,080 >> Dakle, ovo je lukav dio gdje sada djeluje 982 00:54:57,080 --> 00:54:59,660 može vratiti polja vrlo jednostavno. 983 00:54:59,660 --> 00:55:01,270 Nema mallocs. 984 00:55:01,270 --> 00:55:02,280 Nećete vidjeti mallocs. 985 00:55:02,280 --> 00:55:03,940 Tako nećete vidjeti SEG greške. 986 00:55:03,940 --> 00:55:08,380 No, funkcija i dalje će biti prolazi oko polja i podataka u skupinama. 987 00:55:08,380 --> 00:55:12,250 I morate biti oprezni što upravo vaši funkcije će se vratiti. 988 00:55:12,250 --> 00:55:15,160 A čak i ako je jedno Kolona ovako upit 989 00:55:15,160 --> 00:55:17,520 još će se vratiti dvostruku polje. 990 00:55:17,520 --> 00:55:21,390 Dakle, pristup koji column-- ili mogu misliti na sve to, kao obrnut 991 00:55:21,390 --> 00:55:22,870 jer govorimo o redovima. 992 00:55:22,870 --> 00:55:26,810 Ali za pristup taj jedan redak, ne možete samo reći redaka. 993 00:55:26,810 --> 00:55:31,540 Iako je jedan redak, morate Ne rowsrows [0] da biste vrsta eliminirati ovaj 994 00:55:31,540 --> 00:55:37,360 Vanjski malo polja i imaju samo svoj jedan red. 995 00:55:37,360 --> 00:55:38,342 >> Da li neke druge stvari. 996 00:55:38,342 --> 00:55:40,050 Postoji funkcija zove password_verify 997 00:55:40,050 --> 00:55:42,980 koji provjerava lozinku koja je objavljena. 998 00:55:42,980 --> 00:55:48,500 A onda ćemo vidjeti još jedan globalni varijabla ovdje _SESSION. 999 00:55:48,500 --> 00:55:51,340 Uglavnom ID sesije kako ste pratiti 1000 00:55:51,340 --> 00:55:53,990 od ako netko prijavljen ili ne. 1001 00:55:53,990 --> 00:55:58,590 Dakle, sada s login.php, mi smo prijavom korisnika u. 1002 00:55:58,590 --> 00:56:01,920 Dakle, ono što želimo učiniti je želimo kažu ID sesije jednaka retka 1003 00:56:01,920 --> 00:56:05,890 ID, koji je upravo zbog toga ima smisla svaki red će imati drugačiji id 1004 00:56:05,890 --> 00:56:07,239 Broj sklopu tablice. 1005 00:56:07,239 --> 00:56:09,280 Mi ćemo ući u SQL u drugo, tako da ako bilo koji od ova 1006 00:56:09,280 --> 00:56:13,500 Čini se pomalo kao bla, onda će sve biti uklonjena. 1007 00:56:13,500 --> 00:56:18,450 Ali ćemo postaviti id jednak pravu stvar, prijavite korisniku u. 1008 00:56:18,450 --> 00:56:20,530 Ispričavam se ako nešto pođe po zlu. 1009 00:56:20,530 --> 00:56:27,600 I to je svrha prijave života kao profesor Malan bi rekao. 1010 00:56:27,600 --> 00:56:29,130 >> Tako da je login.php. 1011 00:56:29,130 --> 00:56:33,750 I puno PHP koda pišete u pset 7, oni će biti malo. 1012 00:56:33,750 --> 00:56:36,470 Ne zaboravite da chmod odgovarajuće dozvole. 1013 00:56:36,470 --> 00:56:40,180 Tu će biti malo o da na početku spec. 1014 00:56:40,180 --> 00:56:46,382 >> Ali PHP da ste pisanje će biti 1015 00:56:46,382 --> 00:56:47,840 rade stvari koji je sličan ovome. 1016 00:56:47,840 --> 00:56:49,715 Ti ćeš biti Pristupom neke stvari koje 1017 00:56:49,715 --> 00:56:52,760 su tebi u globalne varijable PHP koji 1018 00:56:52,760 --> 00:56:56,105 se bave struje prijavljeni korisnik, postoje li 1019 00:56:56,105 --> 00:57:00,460 ima bili zahtjeve poslane na ovu stranica, različite stvari kao što je to. 1020 00:57:00,460 --> 00:57:05,790 I to će također biti potencijalno iterating kroz redove ove stvari. 1021 00:57:05,790 --> 00:57:09,010 >> U različita, upit ne vraća ovaj dvostruki niz. 1022 00:57:09,010 --> 00:57:11,450 A ako postoji više od jednog reda u njemu, 1023 00:57:11,450 --> 00:57:15,080 ako postoji are-- da, ako postoji više od jednog reda u njemu, 1024 00:57:15,080 --> 00:57:16,870 onda će biti stol. 1025 00:57:16,870 --> 00:57:20,500 A možda želite ponoviti kroz redove tog polja koriste 1026 00:57:20,500 --> 00:57:22,860 foreach petlje koje smo opisali. 1027 00:57:22,860 --> 00:57:30,270 >> Dakle, ako radite foreach na dvostruko niz, što će word-- ovdje 1028 00:57:30,270 --> 00:57:31,909 Ja ću zapravo pisati. 1029 00:57:31,909 --> 00:57:32,950 Ja ću ga pisati brzo ovdje. 1030 00:57:32,950 --> 00:57:44,280 >> Ako imamo foreach redaka kao zaredom, što je vrsta reda? 1031 00:57:44,280 --> 00:57:45,390 Zna li netko? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Shvatio si? 1034 00:57:54,500 --> 00:57:57,110 Dakle redaka je dvostruki niz. 1035 00:57:57,110 --> 00:58:02,810 Dakle, ono što je foreach će zaključiti što želimo od ovog dvostrukog niza 1036 00:58:02,810 --> 00:58:04,280 ako smo iterating preko nje? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Mi u osnovi može pretpostaviti da to će biti ili elementi, 1039 00:58:10,770 --> 00:58:14,970 ili redaka ili stupaca, u osnovi. 1040 00:58:14,970 --> 00:58:18,740 I tako redaka i stupaca mi može tretirati kao isto. 1041 00:58:18,740 --> 00:58:23,880 >> Uglavnom ono što je foreach petlje ide učiniti je da će se vratiti redaka. 1042 00:58:23,880 --> 00:58:28,500 red će biti tipa zaredom, dok redaka je dvostruki niz. 1043 00:58:28,500 --> 00:58:32,290 Dakle, ako vam dati foreach dvostruki niz, to je 1044 00:58:32,290 --> 00:58:35,830 neće ponoviti više od jedne razine duboko. 1045 00:58:35,830 --> 00:58:44,464 Što je zapravo reći ako postoji osam stanica u to table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3. 4, 5, 6, 7, 8-- foreach petlje nije 1047 00:58:48,110 --> 00:58:51,880 ići kroz svaki od tih stanica. 1048 00:58:51,880 --> 00:58:56,390 Što foreach petlje će učiniti je da će ići kroz ovaj redak, 1049 00:58:56,390 --> 00:58:57,870 dati vam cijeli ovaj redak. 1050 00:58:57,870 --> 00:58:59,410 A onda će proći kroz taj red. 1051 00:58:59,410 --> 00:59:01,850 >> Dakle, to je samo iterira jednu razinu duboko. 1052 00:59:01,850 --> 00:59:05,310 Ako dodate ugniježđena foreach petlje, onda ste 1053 00:59:05,310 --> 00:59:16,280 može liječiti svaki redak vratio iz redaka, vi foreach red kao element, 1054 00:59:16,280 --> 00:59:17,640 recimo. 1055 00:59:17,640 --> 00:59:22,750 A onda ste mogli odjek element. 1056 00:59:22,750 --> 00:59:24,930 Tako da je kratak Malo podsjećanje na to kako 1057 00:59:24,930 --> 00:59:30,220 možda koristite foreach petlje u kontekstu upita. 1058 00:59:30,220 --> 00:59:32,840 >> Postoje li pitanja o PHP-u? 1059 00:59:32,840 --> 00:59:36,520 Bilo što, prije nego što prešli na razgovor o SQL 1060 00:59:36,520 --> 00:59:37,820 a zabava baze podataka? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Osjećam se dobro? 1063 00:59:42,110 --> 00:59:42,750 Osjećam se dobro. 1064 00:59:42,750 --> 00:59:43,470 U redu. 1065 00:59:43,470 --> 00:59:49,130 >> Prijeđimo na natrag na PowerPoint, što vjerojatno propustiti. 1066 00:59:49,130 --> 00:59:51,800 SQL, Yay. 1067 00:59:51,800 --> 00:59:57,900 Ljudi koji su u mom dijelu obično će znati da podnaslovi akronima 1068 00:59:57,900 --> 01:00:01,220 uvijek samo prve riječi Mislim na toj utakmici koja 1069 01:00:01,220 --> 01:00:02,690 algorithm-- tu kraticu. 1070 01:00:02,690 --> 01:00:04,090 To nije algoritam. 1071 01:00:04,090 --> 01:00:08,050 >> Dakle SQL je baza podataka. 1072 01:00:08,050 --> 01:00:11,060 To je jezik koji radi sa bazama podataka. 1073 01:00:11,060 --> 01:00:14,440 I sve baze podataka je stolovi, barem u načinu 1074 01:00:14,440 --> 01:00:17,220 da SQL ih zastupa. 1075 01:00:17,220 --> 01:00:23,610 >> Drugi način da mislite o bazama podataka je baze podataka komplet ključeva i vrijednosti 1076 01:00:23,610 --> 01:00:24,110 u osnovi. 1077 01:00:24,110 --> 01:00:29,530 Možete misliti o bazi podataka kao Rječnik i kao stol. 1078 01:00:29,530 --> 01:00:34,300 Uglavnom to je način povezati različitih podataka s drugim podacima, 1079 01:00:34,300 --> 01:00:36,270 Često kroz retke i stupce. 1080 01:00:36,270 --> 01:00:38,470 I to je način to je SQL radi najbolje. 1081 01:00:38,470 --> 01:00:40,880 >> Dakle, to je jedan primjer stola. 1082 01:00:40,880 --> 01:00:44,610 Imam nekoliko primjera ljudi u mom dijelu, koji 1083 01:00:44,610 --> 01:00:45,970 Nisam imao vremena za promjenu. 1084 01:00:45,970 --> 01:00:52,020 Ali mi imamo stvari kao što su ID, ime, supersila, i rodni grad. 1085 01:00:52,020 --> 01:00:54,100 Ne znam gdje je tko je od u mom dijelu, 1086 01:00:54,100 --> 01:00:56,266 pa Samo ću pretpostaviti svatko je iz New Yorka 1087 01:00:56,266 --> 01:00:59,370 Grad jer imam visok statistički Vjerojatnost da su točne. 1088 01:00:59,370 --> 01:01:04,200 >> SQL automatski će potrajati briga o ID stupca za vas. 1089 01:01:04,200 --> 01:01:07,560 Ako umetnuti novi redak u SQL bazu podataka, 1090 01:01:07,560 --> 01:01:09,700 to će prirast koji ID broj i jednostavno 1091 01:01:09,700 --> 01:01:14,890 osnovi držati kao pet imena, velesila, rodni grad, tko 1092 01:01:14,890 --> 01:01:16,430 na kraju tog stola. 1093 01:01:16,430 --> 01:01:19,160 Dakle, ID je stupac ćete nikad ne morate brinuti o tome. 1094 01:01:19,160 --> 01:01:22,770 No, kao iu slučaju od login.php, kada smo 1095 01:01:22,770 --> 01:01:26,610 su uzimajući ID sesije od stola i samo pomoću ID, 1096 01:01:26,610 --> 01:01:30,320 ID je način da se jedinstveno identificiraju element baze podataka. 1097 01:01:30,320 --> 01:01:34,980 >> Dakle, ako smo imali dva Sams, oba koji je učio CS50, a oba tko 1098 01:01:34,980 --> 01:01:39,370 bili iz Milwaukeeja, koji bi još uvijek imaju različita identifikacijski broj 1099 01:01:39,370 --> 01:01:43,420 i na taj način se razlikuje u kontekst stola. 1100 01:01:43,420 --> 01:01:48,700 Dakle, to je ono što SQL bavi s, rad s na stražnjem kraju. 1101 01:01:48,700 --> 01:01:54,160 >> Ovo su četiri naredbe da ćete morati raditi s SQL. 1102 01:01:54,160 --> 01:01:56,390 I ja sam ih sve bacio se na jedan slajd. 1103 01:01:56,390 --> 01:01:59,530 Ali ćemo proći ih sve pojedinačno. 1104 01:01:59,530 --> 01:02:03,300 >> Prva naredba UPDATE koji čini ono što bi mogli očekivati. 1105 01:02:03,300 --> 01:02:07,240 Recimo da imate neke podatke u stol koji je zastario. 1106 01:02:07,240 --> 01:02:09,470 Kao, ako ste čuvanje Staza od ljudi imena 1107 01:02:09,470 --> 01:02:13,350 i dobi, ako je netko dobi povećava, a zatim 1108 01:02:13,350 --> 01:02:18,590 idete da želite ići na i ažurirati samo da je dob osobe. 1109 01:02:18,590 --> 01:02:21,902 Na primjer da radi s našim prvim table-- 1110 01:02:21,902 --> 01:02:24,610 ne brinite o pisanju sve ove naredbe u isto vrijeme. 1111 01:02:24,610 --> 01:02:27,640 Ali ako imaš ažuriranje dolje, to će biti dobro za ovaj dio, 1112 01:02:27,640 --> 01:02:29,790 jer ćemo natrag na stol. 1113 01:02:29,790 --> 01:02:33,920 >> Dakle, ako ćemo se vratiti za stol, recimo nešto što se dogodilo 1114 01:02:33,920 --> 01:02:38,480 je došlo do potresa ili crta kriva što podijeliti izravno 1115 01:02:38,480 --> 01:02:39,920 kroz New Yorku. 1116 01:02:39,920 --> 01:02:45,130 I željeli smo da ažurirate sve koji je živio u New Yorku. 1117 01:02:45,130 --> 01:02:49,670 Svi su morali preseliti u Pennsylvaniji. 1118 01:02:49,670 --> 01:02:51,130 To nije rodni grad. 1119 01:02:51,130 --> 01:02:53,180 Svi su morali preseliti u New Havenu. 1120 01:02:53,180 --> 01:02:54,030 Idemo tamo. 1121 01:02:54,030 --> 01:02:57,630 Dakle, svatko u New Yorku seli u New Havenu. 1122 01:02:57,630 --> 01:03:01,300 >> I tako to je nešto što je uređivanje tri reda u ovoj tablici. 1123 01:03:01,300 --> 01:03:04,716 Ali u SQL, to možete učiniti da je u samo jednoj izjavi. 1124 01:03:04,716 --> 01:03:05,715 Tako smo se vratiti ažurirati. 1125 01:03:05,715 --> 01:03:09,670 Dopustite mi da brzo izbrisati ovaj forum opet. 1126 01:03:09,670 --> 01:03:14,570 Kada govorimo o obnavljanje, postoje 1127 01:03:14,570 --> 01:03:17,640 nekoliko dijelova sintakse koje su ključ. 1128 01:03:17,640 --> 01:03:19,770 Pa, sve sintakse je ključ. 1129 01:03:19,770 --> 01:03:22,210 No, stvari u zelenom je opcionalno. 1130 01:03:22,210 --> 01:03:25,680 Bijeli su potrebne, kao predefinirani imena. 1131 01:03:25,680 --> 01:03:30,750 I svjetlo plava stvari koji ovise na stolu. 1132 01:03:30,750 --> 01:03:34,640 Dakle, to je ono što se događa s Boja ovdje, tamo gore. 1133 01:03:34,640 --> 01:03:40,250 >> Dakle, ako želimo ažurirati samo one retke ljudi koji žive u New Yorku, 1134 01:03:40,250 --> 01:03:43,490 Dakle, ono što će učiniti ako mi je rekao UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Dakle stol gdje smo stavili naziv našeg stola. 1136 01:03:46,320 --> 01:03:49,170 Recimo samo ime našeg stola je stol jedan. 1137 01:03:49,170 --> 01:03:52,515 Dakle, želimo ažurirati tablicu jednu. 1138 01:03:52,515 --> 01:03:57,470 I želimo set-- Što želimo postaviti? 1139 01:03:57,470 --> 01:04:05,160 Pa želimo reći, pa column-- PHP tretira retke kao jedinstvene identifikatore. 1140 01:04:05,160 --> 01:04:07,930 A onda stupci različitim područjima 1141 01:04:07,930 --> 01:04:09,940 tih elemenata baze podataka. 1142 01:04:09,940 --> 01:04:14,210 >> Dakle, prvi element baze podataka ima ime Sam, supersila u CS50, 1143 01:04:14,210 --> 01:04:16,210 i rodni grad Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Dakle, ako smo rekli postavili, pogledajmo opet parametri koji skupa traje. 1145 01:04:20,710 --> 01:04:23,880 Imamo stupcu jednaka vrijednosti. 1146 01:04:23,880 --> 01:04:27,290 Dakle, želimo reći neke column-- koji sjećam 1147 01:04:27,290 --> 01:04:31,850 je field-- želimo vidjeti Polje jednak nešto novo. 1148 01:04:31,850 --> 01:04:42,340 >> Dakle, ako mi samo rekao ažuriranja Tablica 1, postavite naziv jednaka Elliot. 1149 01:04:42,340 --> 01:04:46,310 Dobiti neke ljude iz novi odjeljak u ovo. 1150 01:04:46,310 --> 01:04:51,540 Ali ako smo upravo učinio ažurirati tablicu 1 postavite naziv jednak Elliot, što bi 1151 01:04:51,540 --> 01:04:55,530 stol izgledati nakon toga? 1152 01:04:55,530 --> 01:04:56,410 Ljudi imaju bilo kakvu ideju? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Da. 1155 01:05:00,210 --> 01:05:03,195 >> PUBLIKA: Sve u koji red bi postali Elliot. 1156 01:05:03,195 --> 01:05:04,570 SPEAKER: Sve u kojima redu? 1157 01:05:04,570 --> 01:05:06,067 PUBLIKA: U prvom redu. 1158 01:05:06,067 --> 01:05:07,150 Govornik: U prvom redu? 1159 01:05:07,150 --> 01:05:09,724 Zašto prvi red? 1160 01:05:09,724 --> 01:05:10,890 Ne mislim da se pokupiti na vas. 1161 01:05:10,890 --> 01:05:13,287 >> PUBLIKA: Možda je sve u cijelom stolu? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER: Sve u cijeli stol, da. 1163 01:05:15,120 --> 01:05:19,520 I to je upravo pravo because-- sam upravo vam pomaže malo 1164 01:05:19,520 --> 01:05:22,650 there-- jer smo izostavili dodatni WHERE. 1165 01:05:22,650 --> 01:05:27,260 Ako nemate gdje su klauzula, što ova naredba će učiniti 1166 01:05:27,260 --> 01:05:32,240 je da će raditi sa svakim jednoredni u tablici. 1167 01:05:32,240 --> 01:05:35,430 Ime Svatko će postati Elliott, u osnovi, 1168 01:05:35,430 --> 01:05:37,360 što Elliot je vrlo sretan. 1169 01:05:37,360 --> 01:05:40,070 Ili Yanni, jedan od njih dvojice. 1170 01:05:40,070 --> 01:05:42,490 Ali svačije ime će se promijeniti. 1171 01:05:42,490 --> 01:05:47,880 >> Dakle, način na koji koristimo GDJE clause-- a to se odnosi na sve WHEREs 1172 01:05:47,880 --> 01:05:51,410 da su u svakom ove različite stvari. 1173 01:05:51,410 --> 01:05:54,380 Tako ćete primijetiti da SET ima stupca jednake vrijednosti. 1174 01:05:54,380 --> 01:05:55,190 I tako se GDJE. 1175 01:05:55,190 --> 01:06:00,040 No, to su različiti vrste izvješća. 1176 01:06:00,040 --> 01:06:04,400 Tako je kolona jednaka vrijednost U skupini je u zadatku. 1177 01:06:04,400 --> 01:06:08,320 Kao da smo govoreći želimo postaviti ime jednak Elliot. 1178 01:06:08,320 --> 01:06:15,390 No, u, gdje klauzula, to su izjave jednakosti. 1179 01:06:15,390 --> 01:06:20,410 Dakle, recimo da smo samo htjeli promijeniti ime osobe Elliota 1180 01:06:20,410 --> 01:06:23,940 ako im je ime bilo Ryan, recimo. 1181 01:06:23,940 --> 01:06:24,920 >> Dakle, kada kažemo 1182 01:06:24,920 --> 01:06:32,700 >> GDJE ime jednak Ryan, koji bi uspješno jedina promjena 1183 01:06:32,700 --> 01:06:37,440 name-- to bi samo promijenite polje ime u redovima 1184 01:06:37,440 --> 01:06:40,770 gdje je polje ime je jednaka Ryan. 1185 01:06:40,770 --> 01:06:44,430 Dakle, ako smo imali više osoba imenu Ryan, sva njihova imena 1186 01:06:44,430 --> 01:06:45,730 će promijeniti Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> To je slično primjeru odnosno ako linija pogreška dijeli 1188 01:06:48,169 --> 01:06:50,960 New York City i svatko mora preseliti se u New Havenu, na način na koji možemo 1189 01:06:50,960 --> 01:06:56,570 to u jednoj izjavi je UPDATE tablica1 SET rodni = New Haven 1190 01:06:56,570 --> 01:07:00,210 gdje rodni jednaka New Yorku. 1191 01:07:00,210 --> 01:07:03,410 To je moć izjava UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Možemo izabrati bilo koji broj Redovi putem istinitih tvrdnji 1193 01:07:10,530 --> 01:07:12,860 o područjima u tim redovima. 1194 01:07:12,860 --> 01:07:19,510 Ne možemo reći UPDATE tablica1 set name = Elliot GDJE red = 1, 1195 01:07:19,510 --> 01:07:24,820 osim da možemo ako kažemo id = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Tako ćemo biti rad s spolova 1198 01:07:29,830 --> 01:07:32,830 polja, jednakost stupaca. 1199 01:07:32,830 --> 01:07:38,030 No, pomoću ID polje je način odabrati pojedinačne retke posebno, 1200 01:07:38,030 --> 01:07:43,210 jer je ID polje je jedinstvena Oznaka u SQL bazu podataka. 1201 01:07:43,210 --> 01:07:45,860 Dakle, kao što su ažuriranje red jedan, ID jednak 1. 1202 01:07:45,860 --> 01:07:49,560 Ažuriranje retka dva, samo promijeniti taj identifikacijski broj. 1203 01:07:49,560 --> 01:07:51,610 Ali sila GDJE izjava je da smo 1204 01:07:51,610 --> 01:07:57,480 možete ažurirati stvari temelji na ono što su njihovi trenutne vrijednosti pojedinih stvari. 1205 01:07:57,480 --> 01:07:58,155 Da Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> PUBLIKA: A što ako želite to-- opet, to je drugo pitanje. 1207 01:08:02,678 --> 01:08:07,660 Ali moje prvo pitanje je, gdje se to događa? 1208 01:08:07,660 --> 01:08:09,130 Gdje sam ja to ažuriranje? 1209 01:08:09,130 --> 01:08:11,100 Je li to u PHP kodu? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER: Gdje ste ažurirali, da. 1211 01:08:13,379 --> 01:08:15,170 Idemo razgovarati o tome gdje se sve to 1212 01:08:15,170 --> 01:08:18,729 događa vrsta jednom idemo kroz sve naredbe. 1213 01:08:18,729 --> 01:08:21,130 No, ono što trebate znam za sada je u osnovi 1214 01:08:21,130 --> 01:08:26,279 da vaš SQL baze podataka postoji kao nešto 1215 01:08:26,279 --> 01:08:30,090 treba pristupiti upit funkcija koja CS50 definira. 1216 01:08:30,090 --> 01:08:33,800 Dakle, ako koristite funkciju upita, možete pristupiti ovoj tablici. 1217 01:08:33,800 --> 01:08:39,529 >> Tako ćete biti slanje tih naredbe za svoj stol u PHP datoteke 1218 01:08:39,529 --> 01:08:41,420 kroz funkciju upita. 1219 01:08:41,420 --> 01:08:45,410 Također možete poigrati sa svojim stolom izravno. 1220 01:08:45,410 --> 01:08:49,050 I to je najbolji način da se testiranje ove vrste naredbi. 1221 01:08:49,050 --> 01:08:52,720 A mi ćemo proći kroz točno kako to učiniti u samo malo. 1222 01:08:52,720 --> 01:08:54,910 >> Dakle, to je UPDATE naredbe. 1223 01:08:54,910 --> 01:08:57,939 A ostatak naredbi će biti vrsta slična, 1224 01:08:57,939 --> 01:08:59,069 radi na sličnim stvarima. 1225 01:08:59,069 --> 01:09:02,740 Umetka u vjerojatno najviše razlikuje od UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Idem ostaviti da se tamo samo malo i raditi ovdje. 1227 01:09:06,170 --> 01:09:10,215 Dakle umetnuti u, vidjet ćete da stol je uvijek isti. 1228 01:09:10,215 --> 01:09:17,010 Želite umetnuti u. 1229 01:09:17,010 --> 01:09:20,286 Kapitalizacije, SQL case sensitive. 1230 01:09:20,286 --> 01:09:22,160 Tako da ne morate iskoristiti te stvari. 1231 01:09:22,160 --> 01:09:27,960 Po dogovoru riječi u bijelom se kapitaliziraju. 1232 01:09:27,960 --> 01:09:31,590 Ali također boja ih kodiran. 1233 01:09:31,590 --> 01:09:34,390 Jedini razlog da kapitalizirati one kad ste ih upisivati 1234 01:09:34,390 --> 01:09:36,609 je samo naglasiti da oni su konstante. 1235 01:09:36,609 --> 01:09:39,189 I tako možete ili pogledajte kapitalizacija ili činjenica 1236 01:09:39,189 --> 01:09:40,740 da sam ih boje različito. 1237 01:09:40,740 --> 01:09:44,910 >> Dakle, imamo umetnuti u, ćemo napraviti tabelu 1 ponovno. 1238 01:09:44,910 --> 01:09:45,930 To je sve na jednoj liniji. 1239 01:09:45,930 --> 01:09:48,609 Ja sam samo to odvajanje od različite izjave. 1240 01:09:48,609 --> 01:09:52,399 Dakle, ne brinite o tome da tablica1 ga napravili na drugoj liniji. 1241 01:09:52,399 --> 01:09:56,130 >> Tako smo želite umetnuti NA tablica1 neke vrijednosti. 1242 01:09:56,130 --> 01:09:58,922 A vi ćete primijetiti izborni malo, što ću se u sekundi. 1243 01:09:58,922 --> 01:09:59,755 Dakle, imamo vrijednosti. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Dakle, recimo da želimo dodati Andi na naš stol, jer mi nedostaje Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi je bolestan. 1247 01:10:09,390 --> 01:10:12,490 Tako ćemo dodati Andi našem stolu. 1248 01:10:12,490 --> 01:10:15,150 Sjeti se da je ID broj automatski se ažurira. 1249 01:10:15,150 --> 01:10:17,320 Tako da je jedini poljima smo morati brinuti o 1250 01:10:17,320 --> 01:10:20,230 su ime, velesila, i rodni grad. 1251 01:10:20,230 --> 01:10:23,660 >> I tako je način na koji smo to učiniti, gledajući naše sintakse, je imamo 1252 01:10:23,660 --> 01:10:28,780 pravedan je dobio zagrade, sa zarezom odvojene vrijednosti, od kojih je svaki 1253 01:10:28,780 --> 01:10:29,890 je vrijednost. 1254 01:10:29,890 --> 01:10:35,530 Dakle, ako smo htjeli umetnuti Andi u našu stol, sve što morate učiniti je pravo Andi. 1255 01:10:35,530 --> 01:10:38,630 Što je Andi je velesila, ljudi u odjeljku Andi-a? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Ona se sviđa let, ili vole Brzina, ili nešto. 1258 01:10:47,545 --> 01:10:48,920 Što smo već tamo? 1259 01:10:48,920 --> 01:10:53,425 Imamo CS50, let, Brzina i snaga. 1260 01:10:53,425 --> 01:10:54,850 >> PUBLIKA: Vrijeme putovanja. 1261 01:10:54,850 --> 01:10:56,180 >> SPEAKER: Vrijeme putovanja, nevjerojatna. 1262 01:10:56,180 --> 01:11:04,280 Dakle, imamo Andi, vrijeme putovanja, i njezin rodni grad. 1263 01:11:04,280 --> 01:11:05,530 To je stvarno dobro pitanje. 1264 01:11:05,530 --> 01:11:09,210 New York City, osim ako netko ne zna. 1265 01:11:09,210 --> 01:11:13,600 Svatko je od New York je Pouka oduzeti od danas. 1266 01:11:13,600 --> 01:11:17,710 >> Dakle, ova izjava bi umetanje, kao peti zaredom, 1267 01:11:17,710 --> 01:11:21,900 s vremenom putovanja supersile i rodni New Yorku. 1268 01:11:21,900 --> 01:11:25,660 No izborno polje je u osnovi način 1269 01:11:25,660 --> 01:11:30,090 odrediti točno koje stupce želite umetnuti stvari. 1270 01:11:30,090 --> 01:11:33,710 >> Način na koji mi to radiš sada, Andi, putovanje kroz vrijeme, u New Yorku, 1271 01:11:33,710 --> 01:11:38,150 ide u točnom redoslijedu naše table-- ime, velesila, rodni grad. 1272 01:11:38,150 --> 01:11:42,290 A ako ste htjeli napraviti nešto drugo nego da, 1273 01:11:42,290 --> 01:11:44,970 kao što kažu niste znali nečija supersila, 1274 01:11:44,970 --> 01:11:47,660 kao i kako nisam znala Andi-a supersila na početku. 1275 01:11:47,660 --> 01:11:50,450 Dakle, sve što sam znao je bio ime i njezin rodni grad. 1276 01:11:50,450 --> 01:11:54,550 Što sam mogao učiniti je što sam mogao do-- ću izbrisati ovaj brzi. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Želim samo ažurirati stupce. 1279 01:12:00,090 --> 01:12:04,100 I ovo je mjesto gdje se izborni Popis stupcu dolazi u igru. 1280 01:12:04,100 --> 01:12:09,185 Ja samo želim ažurirati ime i rodni grad. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 A onda ću reći vrijednosti. 1283 01:12:16,480 --> 01:12:24,430 Učinit ću Andi i New Yorku. 1284 01:12:24,430 --> 01:12:28,980 >> Ako sam izostavio popis stupaca i samo učiniti ove dvije stvari, 1285 01:12:28,980 --> 01:12:32,450 gdje bi u New Yorku su otišli? 1286 01:12:32,450 --> 01:12:35,900 Koji stupac bi New York Grad su smješteni u? 1287 01:12:35,900 --> 01:12:38,950 Ljudi imaju bilo kakvu ideju? 1288 01:12:38,950 --> 01:12:40,160 Velesila, točno. 1289 01:12:40,160 --> 01:12:41,890 >> Dakle, to će samo ići u redu. 1290 01:12:41,890 --> 01:12:45,530 I nakon što dosegne kraj Popis, to će samo prestati punjenje stvari. 1291 01:12:45,530 --> 01:12:49,080 I vrijednosti da će staviti u svi stupci će samo biti NULL. 1292 01:12:49,080 --> 01:12:51,840 Pa zato što je navedeno ime i rodni grad, 1293 01:12:51,840 --> 01:12:56,110 ćemo imati ID 5, ime Andi, velesila NULL. 1294 01:12:56,110 --> 01:12:58,750 Dakle supersila je nepokrenute vrijednost. 1295 01:12:58,750 --> 01:13:01,340 Ne nužno dobiti Isti Valgrind pogreške ako pokušate 1296 01:13:01,340 --> 01:13:01,970 i pristup to. 1297 01:13:01,970 --> 01:13:05,160 Sve će biti lijepo na nulu van, jer je NULL vrijednost u SQL. 1298 01:13:05,160 --> 01:13:06,780 To je konstanta. 1299 01:13:06,780 --> 01:13:08,980 A onda rodni grad će biti u New Yorku. 1300 01:13:08,980 --> 01:13:11,860 Dakle, to je INSERT INTO naredbe. 1301 01:13:11,860 --> 01:13:13,610 Prije nego što smo premjestiti, postoji još dvije naredbe. 1302 01:13:13,610 --> 01:13:19,060 Nemojte ljudi imaju bilo kakvih pitanja o UPDATE o umetnuti u, o SQL 1303 01:13:19,060 --> 01:13:21,556 uglavnom prije nego što premjestiti na našim konačnim bita? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Ljudi se osjećaju dobro, super. 1306 01:13:26,910 --> 01:13:27,410 Volim to. 1307 01:13:27,410 --> 01:13:29,480 Dakle, pričajmo o SELECT. 1308 01:13:29,480 --> 01:13:33,445 Ide rova ​​UPDATE ovdje. 1309 01:13:33,445 --> 01:13:35,720 >> I odaberite će biti vrlo slična. 1310 01:13:35,720 --> 01:13:38,790 Cilj SELECT, Odaberite je svrha u životu 1311 01:13:38,790 --> 01:13:45,910 je da vam hrpa stupaca koje zadovoljavaju određene uvjete. 1312 01:13:45,910 --> 01:13:48,230 A kad kažem zadovoljiti određenim uvjetima 1313 01:13:48,230 --> 01:13:50,800 vaš um odmah moglo povratak na koji WHERE 1314 01:13:50,800 --> 01:13:52,090 koji je došao u ažuriranju. 1315 01:13:52,090 --> 01:13:54,880 I to je klauzula upravo tamo u SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Ako ne stavite u kojoj klauzula i kažemo SELECT ime, 1317 01:14:06,020 --> 01:14:16,490 hometown-- precizirao da malo wrong-- naziv, rodni OD tablicu1. 1318 01:14:16,490 --> 01:14:19,690 Ako mi samo reći da, ono SELECT će nam dati je da je 1319 01:14:19,690 --> 01:14:23,730 će nam dati double-- stol, a. 1320 01:14:23,730 --> 01:14:27,450 Dvostruki niz ako smo razmišljam o u PHP osjetila. 1321 01:14:27,450 --> 01:14:33,239 Ali to je samo će nam dati dvostruka niz dva columns-- ime, 1322 01:14:33,239 --> 01:14:33,780 i rodni grad. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 I to će ignorirati ID. 1325 01:14:38,130 --> 01:14:41,310 I to će ignorirati velesila. 1326 01:14:41,310 --> 01:14:44,696 I to samo će nam dati svaki jedan red od tog stola. 1327 01:14:44,696 --> 01:14:46,570 Dakle, ako smo samo umetnuta Andi, imat ćemo Andi. 1328 01:14:46,570 --> 01:14:48,605 I mi ćemo imati izvornu četiri. 1329 01:14:48,605 --> 01:14:53,720 Ako ste bili ažurirani, koji će se ogleda, i tako dalje, i tako dalje. 1330 01:14:53,720 --> 01:14:56,520 >> Dakle, to je zato što ne koristiti WHERE. 1331 01:14:56,520 --> 01:14:59,200 No, možemo ga koristiti u točno Isto tako smo ga koristili u ažuriranju. 1332 01:14:59,200 --> 01:15:05,310 Ako mi samo želimo tablicu imena i super moći ljudi žive 1333 01:15:05,310 --> 01:15:13,430 u New Yorku, možemo izvršiti izjavu poput SELECT ime, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Samo ću ostaviti that-- IZ tablica1 GDJE rodni = New Yorku. 1335 01:15:27,190 --> 01:15:33,370 >> Dakle, to pokazuje da možete dobiti potpuno različite stupce, 1336 01:15:33,370 --> 01:15:36,920 a zatim staviti stupce koji niste čak i dobivanje natrag u WHERE klauzuli. 1337 01:15:36,920 --> 01:15:39,200 Mi čak ne žele rodni svakoga. 1338 01:15:39,200 --> 01:15:41,920 Ali mi želimo naziv i supersile ljudi 1339 01:15:41,920 --> 01:15:43,817 čiji je rodni grad je u New Yorku. 1340 01:15:43,817 --> 01:15:45,650 Dakle, to je nešto što može učiniti s GDJE 1341 01:15:45,650 --> 01:15:49,112 klauzula možemo nositi sa stupcima da mi ne nužno žele natrag. 1342 01:15:49,112 --> 01:15:52,320 Na isti način na UPDATE, možemo nositi sa stupovima koji mi ne nužno 1343 01:15:52,320 --> 01:15:53,270 želite ažurirati. 1344 01:15:53,270 --> 01:15:58,890 Možemo ažurirati grad svakoga koji je ime je Sam, na primjer. 1345 01:15:58,890 --> 01:16:02,080 Možemo ažurirati grad svatko kome ID broj 2. 1346 01:16:02,080 --> 01:16:04,960 Dakle, samo ažurirati Grad drugom redu 1347 01:16:04,960 --> 01:16:08,220 gdje ne moraju nositi s Potrebno je zajednički pitanje. 1348 01:16:08,220 --> 01:16:13,264 >> I brisanje je, kao što bih očekivati, izbrisati iz tablicu1. 1349 01:16:13,264 --> 01:16:14,930 I onda imamo još jednu WHERE. 1350 01:16:14,930 --> 01:16:17,940 Tako možemo reći gdje je id = 1. 1351 01:16:17,940 --> 01:16:18,950 Izbrišite prvi red. 1352 01:16:18,950 --> 01:16:23,240 I DELETE uvijek će izbrisati redak, ili će izbrisati neki broj redaka. 1353 01:16:23,240 --> 01:16:26,990 Izbrisati iz stola gdje rodni = New Yorku 1354 01:16:26,990 --> 01:16:28,740 će izbrisati sve u New Yorku. 1355 01:16:28,740 --> 01:16:30,985 To je, ako je došlo do iznenadna tragična kuga 1356 01:16:30,985 --> 01:16:33,360 a ti samo htjela ukloniti Svatko od stola koji je 1357 01:16:33,360 --> 01:16:35,760 živjela u nekom gradu koja je pogodila kuga. 1358 01:16:35,760 --> 01:16:38,050 Neka počiva u miru. 1359 01:16:38,050 --> 01:16:43,849 >> To su četiri SQL naredbe da ćete morati koristiti. 1360 01:16:43,849 --> 01:16:45,390 Vi možda čak i ne morate ih koristiti sve. 1361 01:16:45,390 --> 01:16:47,690 No, to su četiri koja vas očekuje CS50 1362 01:16:47,690 --> 01:16:53,630 biti udoban s odlaskom u i kviz 1 i pset7 i pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Tu je samo da tablica opet. 1364 01:16:55,820 --> 01:16:58,930 U ovoj jednoj, Roy je supersila ima je ažuriran na laserske zrake koje 1365 01:16:58,930 --> 01:17:00,880 je primjer nisam koristio. 1366 01:17:00,880 --> 01:17:05,480 Ne znam koje Roy voli, ali snaga. 1367 01:17:05,480 --> 01:17:07,670 Roy ima velesilu snage. 1368 01:17:07,670 --> 01:17:09,090 Katherine nije čine ga i danas. 1369 01:17:09,090 --> 01:17:10,260 To je nesretna. 1370 01:17:10,260 --> 01:17:11,260 No, ona ima super brzine. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Pa to je PHP. 1373 01:17:14,670 --> 01:17:19,410 Prije nego što smo razgovarati o MVC, ne tko ima pitanja o PHP-u? 1374 01:17:19,410 --> 01:17:23,864 Sada SQL, PHP ili ako iznenada imate se s pitanjem o PHP-u? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Veliki. 1377 01:17:28,460 --> 01:17:29,920 U redu, svi smo postavili tada. 1378 01:17:29,920 --> 01:17:33,660 >> Dakle, govorimo malo O prikazu modela kontrolera, 1379 01:17:33,660 --> 01:17:38,770 idemo natrag u neki od stvari u pset7. 1380 01:17:38,770 --> 01:17:42,470 Pa što Pogled modela Regulator is-- nisam 1381 01:17:42,470 --> 01:17:45,660 će spremiti promjene za prijavu jer sam totalno ga kolju. 1382 01:17:45,660 --> 01:17:49,220 No, u osnovi imamo dvije odvojene stvari događa. 1383 01:17:49,220 --> 01:17:52,390 Imamo javnost katalog koji sadrži 1384 01:17:52,390 --> 01:17:56,460 kod koje će se izvršiti i web stranice koje će posjetiti. 1385 01:17:56,460 --> 01:17:58,780 I mi također imaju ovu pregleda imenik. 1386 01:17:58,780 --> 01:18:01,780 I pogleda sadrži predloške. 1387 01:18:01,780 --> 01:18:04,390 >> To je ono što je funkcija render-- smo vidjeli žbuke 1388 01:18:04,390 --> 01:18:08,240 funkcija u hrpa PHP koda da CS50 je napisao već za tebe, 1389 01:18:08,240 --> 01:18:10,550 koja se u određenim parametrima. 1390 01:18:10,550 --> 01:18:14,510 Što da radi kod se to događa u pogledima, 1391 01:18:14,510 --> 01:18:18,000 koji su skupovi poput prewritten HTML kod, 1392 01:18:18,000 --> 01:18:20,720 i to je umetanje vrijednosti u nekim mjestima. 1393 01:18:20,720 --> 01:18:23,990 Ovo je način kako kad vas ići u CS50 financija, 1394 01:18:23,990 --> 01:18:25,760 isto zaglavlje se na svakoj stranici. 1395 01:18:25,760 --> 01:18:28,130 Isto footer na svakoj stranici. 1396 01:18:28,130 --> 01:18:31,880 To je zato što je način koji čine djela je da će 1397 01:18:31,880 --> 01:18:36,720 automatski krpa u tom zaglavlju i preglednik koji možete naći u pogledima. 1398 01:18:36,720 --> 01:18:41,400 >> Mi zapravo može ići u zaglavlju, i gledaj, to je HTML datoteku s glave. 1399 01:18:41,400 --> 01:18:43,280 To je dobio neke stylesheet. 1400 01:18:43,280 --> 01:18:48,450 Ne morate da pogledate CSS za pset7 ako ne želite. 1401 01:18:48,450 --> 01:18:50,560 Ali možete mijenjati ih, ako želite, napravite 1402 01:18:50,560 --> 01:18:53,470 Vaš financije izgleda malo drugačije. 1403 01:18:53,470 --> 01:18:57,560 >> To je dobio neke PHP u zaglavlje malo vidjeti 1404 01:18:57,560 --> 01:19:01,240 ako postoji drugi naslov to bi trebalo staviti u ovom napadača. 1405 01:19:01,240 --> 01:19:04,300 No, samo neke druge skripte, i veze, i druge stvari. 1406 01:19:04,300 --> 01:19:08,700 Voditelj završava, tijelo počinje i Ups, imamo čudan malo end malo. 1407 01:19:08,700 --> 01:19:14,730 I tu je div, baš kao i bezobličan vrsta elementa 1408 01:19:14,730 --> 01:19:17,120 da ima ideju sredini. 1409 01:19:17,120 --> 01:19:22,450 >> I onda kad vidimo podnožje, imamo kraj div. 1410 01:19:22,450 --> 01:19:25,000 Imamo dno, što je gdje je podnožje tekst. 1411 01:19:25,000 --> 01:19:26,770 Kraj div, kraj tijela, kraj HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Pa što učiniti je radi se donijeti je vrsta 1413 01:19:29,070 --> 01:19:33,150 od krpanje zaglavlje, A različite PHP datoteka koje 1414 01:19:33,150 --> 01:19:37,110 će sadržavati stvarne stvari koje ćete vidjeti, kao što je vaš stol dionica 1415 01:19:37,110 --> 01:19:39,690 ako kupujete ili prodaju dionica. 1416 01:19:39,690 --> 01:19:41,480 A onda ćemo dodati u podnožje. 1417 01:19:41,480 --> 01:19:44,890 A pogled modelu Regulator Ideja je da smo 1418 01:19:44,890 --> 01:19:49,590 žele odvojiti kako stvari izgledaju iz koda. 1419 01:19:49,590 --> 01:19:53,420 To želimo odvojiti krajnji i pozadina, gdje je sučelje je 1420 01:19:53,420 --> 01:20:00,440 stvari koje korisnik vidi, lijepo visuals-- HTML, CSS, takve stvari, 1421 01:20:00,440 --> 01:20:02,320 slike, i tako dalje. 1422 01:20:02,320 --> 01:20:05,780 I pozadina je PHP. 1423 01:20:05,780 --> 01:20:07,710 To je kod koji ste napisali. 1424 01:20:07,710 --> 01:20:10,240 To je mjesto gdje se kod koji je radi stvarne operacije. 1425 01:20:10,240 --> 01:20:12,400 To je kada dodajete dioničko na svoj stol, 1426 01:20:12,400 --> 01:20:14,890 kada kupujete i prodaje, to je pozadina. 1427 01:20:14,890 --> 01:20:20,210 >> I mi možemo, kao što ste vidjeli, uključujući PHP izravno u HTML. 1428 01:20:20,210 --> 01:20:23,210 Dakle, ono što smo mogli učiniti za Ovaj zadatak je samo imao 1429 01:20:23,210 --> 01:20:26,200 HTML datoteku za svaku stranicu, kao i prijava. 1430 01:20:26,200 --> 01:20:30,260 A onda na toj stranici, jednostavno imao veliku blok PHP koda, 1431 01:20:30,260 --> 01:20:33,822 uključujući sve koda koji koja stranica će posebno trebati. 1432 01:20:33,822 --> 01:20:35,780 A onda smo mogli imati učinio za portfelj. 1433 01:20:35,780 --> 01:20:40,250 Mogli smo učinili sve kupnje i prodaje unutar pojedinih stranica. 1434 01:20:40,250 --> 01:20:43,680 >> Ali zato što smo renderiranje odvojeno od kuda 1435 01:20:43,680 --> 01:20:46,660 pišemo u backend broj, lako možemo 1436 01:20:46,660 --> 01:20:52,660 promijeniti kako stvari izgledaju bez mijenja svaki datoteku. 1437 01:20:52,660 --> 01:20:55,460 Mi radimo stvari kao što samo dodati novi div na dno 1438 01:20:55,460 --> 01:21:00,720 of-- Pozdrav sam izmijenio podnožje. 1439 01:21:00,720 --> 01:21:03,710 Vi samo možete učiniti stvari kao što je to. 1440 01:21:03,710 --> 01:21:07,250 Ali isto tako, možete promijeniti cijeli vizualni izgled 1441 01:21:07,250 --> 01:21:09,290 bez utjecaja na ono što je ide u backend. 1442 01:21:09,290 --> 01:21:12,000 A što može promijeniti Cijela pozadina i dalje 1443 01:21:12,000 --> 01:21:13,900 ga izgledaju kao što je to prije. 1444 01:21:13,900 --> 01:21:14,400 Ovaj 1445 01:21:14,400 --> 01:21:16,170 >> Je li ideja pogled modela kontrolora. 1446 01:21:16,170 --> 01:21:19,992 I to je zapravo nametnut paradigma u nekim od programskih jezika 1447 01:21:19,992 --> 01:21:21,700 možda želite koristiti za konačne projekte. 1448 01:21:21,700 --> 01:21:25,100 Ako to ne učinite iOS razvoj, imaju pogled, 1449 01:21:25,100 --> 01:21:29,120 što je ono što vidite na iPhone, i onda pozadina kao kao zasebna stvar. 1450 01:21:29,120 --> 01:21:31,260 >> Možete razmišljati o malo. 1451 01:21:31,260 --> 01:21:35,190 Postoji mnogo binaries u informatika, što je smiješno, 1452 01:21:35,190 --> 01:21:37,270 jer sve je u binarnom. 1453 01:21:37,270 --> 01:21:38,550 Nisam planirao da. 1454 01:21:38,550 --> 01:21:41,590 To je dosjetka nenamjeran. 1455 01:21:41,590 --> 01:21:43,860 Da, dosjetka nije namijenjen. 1456 01:21:43,860 --> 01:21:49,070 >> Ali kao .h datoteke i .c datoteka, postoji puno izlučivanja stvari koje smo 1457 01:21:49,070 --> 01:21:49,900 možda trebati. 1458 01:21:49,900 --> 01:21:54,330 Dakle, mi samo možemo urediti h datoteke, ili netko može samo vidjeti .h datoteku i znati 1459 01:21:54,330 --> 01:21:57,650 točno funkcije koje su u .c datoteka bez nužno znajući 1460 01:21:57,650 --> 01:21:58,870 njihovu provedbu. 1461 01:21:58,870 --> 01:22:02,800 Ova ideja odvajanja dijelova koji ovise jedni o drugima 1462 01:22:02,800 --> 01:22:06,990 ali vrsta može od pristupiti jedni druge kroz različite kanale, donošenje 1463 01:22:06,990 --> 01:22:09,310 varijabli, samo su izjave, stvari 1464 01:22:09,310 --> 01:22:14,440 kao što je to, to načelo pomaže u stvaranju aplikacija 1465 01:22:14,440 --> 01:22:17,080 da se lakše uredio više osoba, 1466 01:22:17,080 --> 01:22:20,440 može lakše mijenjati ili promjene na velikim razmjerima, 1467 01:22:20,440 --> 01:22:24,880 i lakše debug na mnogo načina. 1468 01:22:24,880 --> 01:22:28,254 >> Stvarno brzo, imam nekoliko savjeta za pset7, 1469 01:22:28,254 --> 01:22:31,420 što ću cijeli zaslon, tako da ne samo gleda na the-- Savjet Savjet tippee. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Tu se ne da mnogo savjeta. 1472 01:22:35,130 --> 01:22:38,060 >> Ali sam spomenuo PHP je teško debug. 1473 01:22:38,060 --> 01:22:39,290 Dvostruki i trostruki to provjeriti. 1474 01:22:39,290 --> 01:22:41,550 Ako je vaš broj je samo ne prikazuje se na stranici, 1475 01:22:41,550 --> 01:22:46,240 to je vjerojatno PHP greška, ispričavam se. 1476 01:22:46,240 --> 01:22:48,570 >> Vi nikada ne morate pogledati CSS ako ne želite. 1477 01:22:48,570 --> 01:22:52,150 Ali jednom kada ste završili, to može biti lijepo malo zabavna stvar samo ići u 1478 01:22:52,150 --> 01:22:54,770 i zabrljati sa CSS parametrima. 1479 01:22:54,770 --> 01:22:58,700 CSS i HTML su primjer modela Pogled kontroler stil je stvar, zar ne? 1480 01:22:58,700 --> 01:23:02,150 Možete imati stila oznake unutar HTML elemenata. 1481 01:23:02,150 --> 01:23:04,800 Ali, ako vas neka vrsta ih outsourcing CSS, 1482 01:23:04,800 --> 01:23:08,180 oni su lakše uređivati ​​i igra okolo sa i zabavite se s. 1483 01:23:08,180 --> 01:23:10,816 >> Priuštite CS50 pomagača djeluje kao crne kutije. 1484 01:23:10,816 --> 01:23:12,940 Ne morate znati upravo ono što žbuka radi, 1485 01:23:12,940 --> 01:23:16,770 ali vjerujte da to uvijek činiti pravo stvar, ovisno o tome što ste ga prođe, 1486 01:23:16,770 --> 01:23:17,690 stvari kao što je ovaj. 1487 01:23:17,690 --> 01:23:21,040 I ja bih preporučio gledajući Davida prohod, 1488 01:23:21,040 --> 01:23:24,490 prolazi kroz sve stvarima, a ne samo todos, 1489 01:23:24,490 --> 01:23:26,960 ali ti stvarno može liječiti ti kao crne kutije. 1490 01:23:26,960 --> 01:23:29,280 Nemojte ići na to Funkcije potrazi za bugove. 1491 01:23:29,280 --> 01:23:33,510 >> I dobrodošli povratak naše Overlord Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Veliki. 1493 01:23:34,010 --> 01:23:40,430 >> Postoje li posljednja pitanja prije smo vrsta odskočiti za dan? 1494 01:23:40,430 --> 01:23:42,610 Jesam li još uvijek žive? 1495 01:23:42,610 --> 01:23:44,700 Veliki. 1496 01:23:44,700 --> 01:23:47,120 Hi Livestream ljudi. 1497 01:23:47,120 --> 01:23:47,620 Veliki. 1498 01:23:47,620 --> 01:23:50,260 Ima li više pitanja? 1499 01:23:50,260 --> 01:23:50,760 Ne? 1500 01:23:50,760 --> 01:23:52,884 >> A onda mislim da smo dobar to ići za danas. 1501 01:23:52,884 --> 01:23:55,550 Ja ću ostati ovdje malo nakon toga, ako su ljudi imali pitanja 1502 01:23:55,550 --> 01:23:57,480 oni su se bojali pitati na potoku. 1503 01:23:57,480 --> 01:23:59,790 Ali inače, imaju dobar dan. 1504 01:23:59,790 --> 01:24:01,933