1 00:00:00,000 --> 00:00:10,393 >> [Prehrávanie hudby] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. Malan: Dobre. 4 00:00:12,120 --> 00:00:12,830 Vitajte späť. 5 00:00:12,830 --> 00:00:13,890 To je CS50. 6 00:00:13,890 --> 00:00:15,570 To je koniec týždňa 8. 7 00:00:15,570 --> 00:00:18,360 A ako viete, máme dosť pravidelné úradné hodiny v niekoľkých 8 00:00:18,360 --> 00:00:21,090 z jedálne, vrátane Annenberg. 9 00:00:21,090 --> 00:00:23,860 A niektorí z tímu láskavo urobili pár fotiek v poslednej dobe. 10 00:00:23,860 --> 00:00:26,230 A na počesť Halloween, mysleli sme, že by sme 11 00:00:26,230 --> 00:00:30,160 zdieľať ten, ktorý nás skôr vystihuje prekvapenie tu v sále len Annenbergovej 12 00:00:30,160 --> 00:00:31,490 v noci. 13 00:00:31,490 --> 00:00:36,300 Váš spolužiak Jacob pózovala pre Táto fotografia, ale zábavnejšie 14 00:00:36,300 --> 00:00:39,760 bola na Facebooku, nasledujúce rozhovor, čo sa stalo potom. 15 00:00:39,760 --> 00:00:43,020 >> Jeho prvý príspevok v odpovedi jeho fotografia bola táto. 16 00:00:43,020 --> 00:00:46,740 O niekoľko minút neskôr, keď sa rozhodol jeden až seba s tým. 17 00:00:46,740 --> 00:00:53,800 To išlo a potom ísť na to, a potom, ešte zábavne 18 00:00:53,800 --> 00:00:55,320 je, keď jeho mama prízvukoval. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 A potom konečne, zdá sa, to bol len 21 00:01:01,800 --> 00:01:04,860 skvelý trik pre hrať, čo sa deje. 22 00:01:04,860 --> 00:01:07,080 >> Takže ak by ste chceli vidieť Jacoba a ďalšie, 23 00:01:07,080 --> 00:01:10,880 medzi nimi Cynthia Meng, ktorý je zákulisia CS50 zóny zamestnancov, 24 00:01:10,880 --> 00:01:13,970 zamieriť na túto adresu URL a tejto hre tu. 25 00:01:13,970 --> 00:01:18,810 Takže bez ďalších okolkov, dnes pokračovať v tomto Pozrite sa na webové programovanie, 26 00:01:18,810 --> 00:01:21,810 a skutočné tvorba programov že nebeží na príkazovom riadku, 27 00:01:21,810 --> 00:01:24,080 ale namiesto toho použiť vnútri prehliadači. 28 00:01:24,080 --> 00:01:26,320 >> Pravdepodobne teraz, alebo veľmi krátko, budete 29 00:01:26,320 --> 00:01:30,200 byť uprostred vykonávania vlastný webový server, ktorý 30 00:01:30,200 --> 00:01:31,700 sa líši od webové programovanie. 31 00:01:31,700 --> 00:01:36,210 WWW server v pset6 je všetko okolo písanie softvér, ktorý vie, ako sa 32 00:01:36,210 --> 00:01:39,300 Požiadavky HTTP z webového prehliadača, alebo dokonca z vás, človek, 33 00:01:39,300 --> 00:01:42,340 s programom s názvom Telnet, a potom reagovať na tieto žiadosti buď 34 00:01:42,340 --> 00:01:48,600 by vypľul HTML súbor, alebo jpeg alebo gif, alebo dokonca .php súbor. 35 00:01:48,600 --> 00:01:52,490 >> Ale s webovým serverom, nie je to predpokladá, že stačí otvoriť súbor PHP, 36 00:01:52,490 --> 00:01:55,260 niečo, čo končí v .php, a potom vypľuť obsah. 37 00:01:55,260 --> 00:01:58,440 To má robiť čo do tohto súboru prvý? 38 00:01:58,440 --> 00:01:59,390 Aby som tak povedal. 39 00:01:59,390 --> 00:02:04,060 Nie skompilovať, sme si povedali v pondelok, ale rather-- Takže interpretovať. 40 00:02:04,060 --> 00:02:08,070 >> PHP je interpretovaný jazyk, a tak jedným z kľúčových funkcií vo Vašom webovom 41 00:02:08,070 --> 00:02:11,550 Server, aj keď vykonávaná nami, je táto schopnosť pre váš webový server 42 00:02:11,550 --> 00:02:12,490 všímať, oh. 43 00:02:12,490 --> 00:02:14,580 Jedná sa o súbor končiace .php. 44 00:02:14,580 --> 00:02:17,970 Dovoľte mi, aby som nielen poslať na Užívateľ, ako by to statický obsah, 45 00:02:17,970 --> 00:02:20,970 ale dovoľte mi, aby som ho čítal riadok po linka, zľava doprava, a interpretovať ho. 46 00:02:20,970 --> 00:02:23,030 >> A k tomu, že vás chlapci budú v podstate 47 00:02:23,030 --> 00:02:26,520 pramicu na programe v zariadení, a na mnohých počítačových systémov, 48 00:02:26,520 --> 00:02:27,500 Práve volal PHP. 49 00:02:27,500 --> 00:02:30,579 To je názov PHP Jazyk vlastný interpret. 50 00:02:30,579 --> 00:02:33,120 Tak, že kus realizujeme pre vy, a to, čo zostalo pre vás, 51 00:02:33,120 --> 00:02:35,240 nakoniec je číslo kusov, medzi ktorými 52 00:02:35,240 --> 00:02:37,960 je vykonávanie podpory pre statický obsah. 53 00:02:37,960 --> 00:02:40,180 >> Ale teraz, a problém nastaviť sedem, ste 54 00:02:40,180 --> 00:02:43,660 začnú sa prechodu na vlastne písať PHP kód 55 00:02:43,660 --> 00:02:45,970 ktorý sa interpretovať v rozhovore s back-end 56 00:02:45,970 --> 00:02:47,960 databázy, ktorá ukladá informácie. 57 00:02:47,960 --> 00:02:51,020 Tak nech je lepšie najprv pochopiť, pár týchto superglobals 58 00:02:51,020 --> 00:02:53,720 a ako moc moc vás dostať von z krabice zadarmo 59 00:02:53,720 --> 00:02:55,250 s jazykom, ako je PHP. 60 00:02:55,250 --> 00:02:57,350 Veci, ktoré nemajú realizovať sami. 61 00:02:57,350 --> 00:03:01,700 >> Takže sme videli v pondelok $ _GET, čo je superglobal, 62 00:03:01,700 --> 00:03:05,496 ktorý je práve PHP hovoriť za globálne Premenná môžete pristupovať kdekoľvek. 63 00:03:05,496 --> 00:03:06,620 A to, čo je vo vnútri $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Čo je vo vnútri tohto superglobal, čo vidíme? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Iste štatisticky na Najmenej jedna osoba vie. 68 00:03:19,020 --> 00:03:21,590 Čo je vo vnútri $ _GET? 69 00:03:21,590 --> 00:03:22,426 Jo? 70 00:03:22,426 --> 00:03:24,130 >> Divákov: Je to premenné si dať v reťazci dotazu. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. Malan: Perfect. 72 00:03:24,530 --> 00:03:26,488 Je to na vás premenné dal v reťazci dotazu. 73 00:03:26,488 --> 00:03:29,910 Takže, v našom príklade staršie reimplementing Google, keď sme mali 74 00:03:29,910 --> 00:03:34,130 URL, a potom otáznik, ktorý vymedzuje počiatok HTTP 75 00:03:34,130 --> 00:03:37,950 parametre, potom sme mali q rovné niečo, ako q sa rovná mačky, 76 00:03:37,950 --> 00:03:41,500 čo by automaticky dovnútra z toho $ _GET Super globálne pre vás, 77 00:03:41,500 --> 00:03:47,430 pretože PHP, je kľúčovým Q, a hodnoty ich mačiek. 78 00:03:47,430 --> 00:03:51,250 >> Inými slovami, $ _GET a všetci tieto veci sú asociatívne polia, 79 00:03:51,250 --> 00:03:54,530 hashovacie tabuľky druhu, že ukladať kľúče a hodnoty. 80 00:03:54,530 --> 00:03:57,980 Teraz, v roku pset5, hash Tabuľka ste mohli realizovať, 81 00:03:57,980 --> 00:04:00,220 alebo pokusu môže zaviedli, naozaj 82 00:04:00,220 --> 00:04:04,010 bol účinne asociatívne pole, dátová štruktúra 83 00:04:04,010 --> 00:04:07,220 ktorým môžete priradiť kľúče s hodnotami. 84 00:04:07,220 --> 00:04:09,690 >> Ale v pset5, hodnoty boli triviálne. 85 00:04:09,690 --> 00:04:12,430 Hodnota bola v podstate pravdivý alebo nepravdivý. 86 00:04:12,430 --> 00:04:13,900 Je slovo v slovníku? 87 00:04:13,900 --> 00:04:18,279 Takže, keď hash slovo, ako jablká aby zistil, či jablko je v slovníku, 88 00:04:18,279 --> 00:04:21,820 šek funkcie pravdepodobne vrátil true alebo false. 89 00:04:21,820 --> 00:04:24,120 Takže, to je účinne hodnota sa dostávame späť. 90 00:04:24,120 --> 00:04:26,456 >> Ale my sme videli v pondelok Stručne povedané, môžete samozrejme 91 00:04:26,456 --> 00:04:28,830 spojiť zaujímavejšie hodnoty než len true alebo false 92 00:04:28,830 --> 00:04:30,790 s kľúčmi, ako jablko. 93 00:04:30,790 --> 00:04:33,909 Dalo by sa dokonca vrátiť ľubovoľný reťazec, a naozaj, 94 00:04:33,909 --> 00:04:36,200 to je to, čo $ _GET a tieto ostatné premenné vám to. 95 00:04:36,200 --> 00:04:40,595 >> Takže $ _POST je podobný v duchu, ale ak odošlete formulár poštou, 96 00:04:40,595 --> 00:04:44,490 iný spôsob HTTP, ktorá je používa pre veci, ako je kreditné karty, 97 00:04:44,490 --> 00:04:48,410 a osobné údaje, a to aj binárne informácie, ako sú fotografie, 98 00:04:48,410 --> 00:04:51,840 tie veci, skončí vnútri $ _POST. 99 00:04:51,840 --> 00:04:53,770 A vlastne súbory ako JPEG a ktovie čo ešte, 100 00:04:53,770 --> 00:04:58,290 je tu aj iný, že to nie je sem volal $ _files rovnako. 101 00:04:58,290 --> 00:05:01,280 >> Takže servera nebudeme zaoberať príliš moc, ale to vám dáva prístup 102 00:05:01,280 --> 00:05:04,860 triediť nižších detailoch úrovni o samotný server, ktorý používate. 103 00:05:04,860 --> 00:05:07,430 Cookie a zasadnutie, aj keď, budeme skutočne vidieť teraz. 104 00:05:07,430 --> 00:05:10,940 Posledný je to, čo použiť k implementácii pojem nákupného košíka. 105 00:05:10,940 --> 00:05:14,480 Super jednoduchý, ale odvolanie že tento príklad tu mali, 106 00:05:14,480 --> 00:05:17,640 počítať, koľkokrát ste už túto stránku pred navštívili. 107 00:05:17,640 --> 00:05:20,850 >> Ale dnes, skôr než len sa pozrite na účinok tohto, poďme otvoriť 108 00:05:20,850 --> 00:05:22,640 Chrome Inspector, ktoré môžete zvyčajne 109 00:05:22,640 --> 00:05:25,740 vykonať kliknutím pravým tlačidlom myši alebo kontroly kliknutím na ľubovoľné miesto na webovej stránke, 110 00:05:25,740 --> 00:05:27,250 a potom vyberte príkaz Preskúmať prvok. 111 00:05:27,250 --> 00:05:31,600 Alebo môžete ísť cez menu ktoré popíšeme v pset6 sa spec. 112 00:05:31,600 --> 00:05:35,020 A ja idem na kartu Sieť tu, a poďme sa pozerať na chvíľu 113 00:05:35,020 --> 00:05:37,590 HTTP prevádzku, ktorý je tam a späť. 114 00:05:37,590 --> 00:05:40,929 >> Dovoľte mi, aby som najprv pokračovať a cache Zmazanie Chrome. 115 00:05:40,929 --> 00:05:43,470 Takže niektorí z vás môžu byť oboznámení s touto technikou už, 116 00:05:43,470 --> 00:05:45,790 a budeme ju používať tady účely ladenia. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Teraz sa ako počítač vedci začnú 119 00:05:50,890 --> 00:05:53,920 Pritom pre ladenie účely, pričom 120 00:05:53,920 --> 00:05:55,910 budeme vymazať vyrovnávaciu pamäť, typicky, aby sme 121 00:05:55,910 --> 00:05:57,670 Môžete sa zbaviť vecí, označované ako cookie. 122 00:05:57,670 --> 00:06:01,700 Takže ste asi všeobecne oboznámení s tým, čo sú sušienky, alebo aspoň 123 00:06:01,700 --> 00:06:04,370 že existujú, ale to, čo je vaše pochopenie z nich, 124 00:06:04,370 --> 00:06:06,920 len ako užívateľ počítača, čo je to súbor cookie? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Jo. 127 00:06:09,990 --> 00:06:14,391 >> Divákov: Je to trochu of-- dobre, nie bit v období informatiky. 128 00:06:14,391 --> 00:06:18,303 Je to údaj, že Webové stránky pošle na vás, aby 129 00:06:18,303 --> 00:06:20,209 aby bolo možné zaznamenávať štatistiky na vás. 130 00:06:20,209 --> 00:06:21,250 DAVID J. Malan: OK, dobre. 131 00:06:21,250 --> 00:06:24,980 Takže je to údaj, že servera, dá do počítača, 132 00:06:24,980 --> 00:06:28,840 a poďme zovšeobecniť, aj viac, je to kľúč value-- dobre, 133 00:06:28,840 --> 00:06:30,064 že je stále presnejšie. 134 00:06:30,064 --> 00:06:31,980 Jedná sa o kus Informácie, údaj, 135 00:06:31,980 --> 00:06:34,430 že server je schopný aby na vašom počítači 136 00:06:34,430 --> 00:06:38,592 a veľmi často, server robí to tak, ako si uvedomiť, kto ste. 137 00:06:38,592 --> 00:06:40,300 Tak napríklad, kurzy sú potom ste pravdepodobne 138 00:06:40,300 --> 00:06:42,982 prihlásený do lokalít, ako je Facebook, alebo Gmail, alebo iní pred, 139 00:06:42,982 --> 00:06:44,940 a prihláste sa pomocou svojho užívateľské meno a heslo, 140 00:06:44,940 --> 00:06:49,000 a potom po ktorej sa z nejakého počtu minút alebo hodín alebo dokonca dní, 141 00:06:49,000 --> 00:06:52,970 Server si zapamätá, že ste v skutočnosti prihlásený. 142 00:06:52,970 --> 00:06:54,600 A teraz, ako sa to vlastne deje? 143 00:06:54,600 --> 00:06:58,630 Vzhľadom k tomu, že ste rozhodne nie je prepisovanie Vaše užívateľské meno a heslo zakaždým, keď 144 00:06:58,630 --> 00:07:00,760 prejdete na inú stránku na Facebooku. 145 00:07:00,760 --> 00:07:02,570 Tak to dopadá Cookies sú odpoveďou. 146 00:07:02,570 --> 00:07:05,360 >> Cookie si môžete myslieť, as, Niečo ako, digitálny ruku 147 00:07:05,360 --> 00:07:09,200 pečiatka, ktoré môžete získať za pobavenie parku, alebo klub, ktorý v podstate 148 00:07:09,200 --> 00:07:11,740 indikuje ste tu skôr, a vy ste už 149 00:07:11,740 --> 00:07:16,070 zobrazené Vaše ID na vyhadzovača, pre inštancie, a to klub alebo park 150 00:07:16,070 --> 00:07:19,050 by teraz predpokladať, že vás boli overené už. 151 00:07:19,050 --> 00:07:21,270 Už ste boli identifikované tým. 152 00:07:21,270 --> 00:07:24,740 >> Takže s tým na mysli, poďme otvoriť čítača tu. 153 00:07:24,740 --> 00:07:27,220 Nechaj ma ísť napred, len som to urobil, a zrušte začiarknutie všetkých mojich cookies. 154 00:07:27,220 --> 00:07:29,970 A teraz, čo budem robiť, je podržte kláves Shift, len pre istotu, 155 00:07:29,970 --> 00:07:31,740 a násilne obnovte stránku. 156 00:07:31,740 --> 00:07:34,170 Shift len ​​sa uistite, že sa nič cache. 157 00:07:34,170 --> 00:07:36,850 A tu je žiadosť že išiel tam a späť. 158 00:07:36,850 --> 00:07:41,560 Takže tu máme požiadavku, a nechať me priblížiť tu, a veľa z toho 159 00:07:41,560 --> 00:07:44,710 je trochu nezaujímavé údaje pre Teraz, že prehliadač má automaticky 160 00:07:44,710 --> 00:07:47,800 poslal, ale poďme na položku Zobraziť Zdroj vidieť surové hlavičky. 161 00:07:47,800 --> 00:07:51,700 >> A ak ste skočil do pset6 už, budete určite poznať, čo 162 00:07:51,700 --> 00:07:54,990 takto, a možno niektoré týchto ďalších riadkoch, 163 00:07:54,990 --> 00:07:59,040 ale čo je ešte zaujímavejšie pre dnešný deň keď som sa posunúť dole, nie na žiadosť 164 00:07:59,040 --> 00:08:02,870 ale tzv odpoveď tento riadok pravdepodobne vyzerá povedome. 165 00:08:02,870 --> 00:08:04,977 To je dobrá vec, keď vidíte 200 OK. 166 00:08:04,977 --> 00:08:07,060 Zrejme to je dátum a čas na serveri 167 00:08:07,060 --> 00:08:08,268 a je tu veľa vecí. 168 00:08:08,268 --> 00:08:09,290 Ach, to je zaujímavé. 169 00:08:09,290 --> 00:08:13,430 >> Ukázalo sa, že pri každom použití PHP, aspoň v tomto serveri, 170 00:08:13,430 --> 00:08:16,360 Server vypľuje to, čo Verzia PHP používate. 171 00:08:16,360 --> 00:08:18,962 Čo vlastne k bezpečnosti účely, nie je dobrá vec. 172 00:08:18,962 --> 00:08:21,170 Ale budeme sa vracať k tomu inokedy možná. 173 00:08:21,170 --> 00:08:25,740 Ale teraz je to šťavnaté linka dnes, a stručne videli niektoré z nich, 174 00:08:25,740 --> 00:08:29,240 Myslím si, že sa s Facebook účtom, keď tropil okolo inšpektora v tej dobe, 175 00:08:29,240 --> 00:08:33,380 súbor cookie je to, čo je výsadba že malý kúsok informácií 176 00:08:33,380 --> 00:08:34,890 na vašom počítači. 177 00:08:34,890 --> 00:08:37,490 >> Toto je hlavička HTTP to je účinne 178 00:08:37,490 --> 00:08:39,970 rozprávanie prehliadača Chrome, IE, čokoľvek, 179 00:08:39,970 --> 00:08:44,480 hey prehliadač obchod na užívateľa pevný disk, alebo do pamäte RAM užívateľa, 180 00:08:44,480 --> 00:08:49,680 kľúč s názvom PHPSESSID, čo je skrátený zápis pre ID relácie, 181 00:08:49,680 --> 00:08:53,670 a dať mu hodnotu 0vlk8t, bodka, bodka, bodka. 182 00:08:53,670 --> 00:08:56,480 Naozaj dlho pseudo náhodný alfanumerický reťazec. 183 00:08:56,480 --> 00:08:59,480 Je to len naozaj veľké číslo, ale to je kódovaný s písmenami a číslami 184 00:08:59,480 --> 00:09:03,550 tak, aby veľkosť to môže byť dokonca väčší ako samotné čísla. 185 00:09:03,550 --> 00:09:06,947 A potom, len tak mimochodom, Path = /, že jednoducho znamená, že táto cookie mala byť 186 00:09:06,947 --> 00:09:08,780 spojené s celistvosť webových stránok, 187 00:09:08,780 --> 00:09:11,150 nielen konkrétne strana celá vec. 188 00:09:11,150 --> 00:09:12,930 Tak toto je to, že virtuálne ruku pečiatka. 189 00:09:12,930 --> 00:09:16,330 Je to, ako by sa na serveri, Facebook, alebo v našom prípade spotrebičov, 190 00:09:16,330 --> 00:09:21,140 má doslova písomného 0vlk8t a tak ďalej, na svoje ruky. 191 00:09:21,140 --> 00:09:24,360 Všimnite si, čo sa na serveri, nie robiť je, že to nie je 192 00:09:24,360 --> 00:09:27,730 ukladanie moje užívateľské meno, určite nie je ukladanie svoje heslo. 193 00:09:27,730 --> 00:09:31,710 >> Namiesto toho sa zdá byť ukladanie pseudo náhodný informácií 194 00:09:31,710 --> 00:09:35,010 tak, že nikto nemôže odhadnúť, čo moja ruka pečiatka. 195 00:09:35,010 --> 00:09:37,590 Na strane servera, Medzitým server 196 00:09:37,590 --> 00:09:40,370 bude mať na pamäti, pravdepodobne v databáze alebo tak niečo, 197 00:09:40,370 --> 00:09:46,490 že užívateľ, ktorý v budúcnosti predstavuje ručná pečiatka 0vlk8t, bodka, 198 00:09:46,490 --> 00:09:51,440 dot, dot, by mal byť spojený s týmto najmä nákupný košík, aby som tak povedal. 199 00:09:51,440 --> 00:09:55,060 Inými slovami, keď som teraz ísť sem a obnovte túto stránku 200 00:09:55,060 --> 00:09:58,020 ako sa server vedieť že som navštívil raz? 201 00:09:58,020 --> 00:10:01,730 >> Alebo ak by som to znova, ako sa na server viem, že som ho navštívil dvakrát? 202 00:10:01,730 --> 00:10:04,680 No, ak by som išiel do tejto posledná požiadavka, ktorý 203 00:10:04,680 --> 00:10:09,150 Teraz je tretia, ktorú som poslal celkom, všimnite si, moja žiadosť teraz. 204 00:10:09,150 --> 00:10:11,300 Stále je to požiadať až sem, rovnaký 205 00:10:11,300 --> 00:10:15,040 ako predtým, je tu ešte celá partia z vecí, ktoré sme ignorovali ako predtým, 206 00:10:15,040 --> 00:10:19,350 ale úplne posledný hlavičky, to čas, pretože som tu bol, 207 00:10:19,350 --> 00:10:21,980 je prezentácia tento virtuálny ručná pečiatka. 208 00:10:21,980 --> 00:10:28,957 >> Pričom táto línia tu, nie je nastavená cookie ale cookie hrubého čreva PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 to je len môj prehliadač je automatické Prezentácia tejto strane pečiatku tak, aby 210 00:10:32,040 --> 00:10:37,910 Teraz server, akonáhle si uvedomí, ooh, je to používateľ 0vlk8t dot, dot, dot, 211 00:10:37,910 --> 00:10:42,010 Teraz môžem spomenúť, kým je a reassociate s týmto užívateľom čokoľvek 212 00:10:42,010 --> 00:10:46,450 Informácie chcem, a všetci že informácie môžu byť uložené Vami, 213 00:10:46,450 --> 00:10:50,130 programátor, v $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Tak, aby bolo jasno, keď som otvoriť naozaj rýchlo v gedit, že skutočný súbor, counter.php, 215 00:10:57,170 --> 00:11:02,340 v mojej miestnej hostiteľskej verejnom zozname rovnako ako predtým, všimnite si, že skutočne 216 00:11:02,340 --> 00:11:06,860 Ja som nakoniec ukladanie $ _SESSION Citácie koniec citátu "pult" 217 00:11:06,860 --> 00:11:10,110 hodnota počítadla, ktoré predchádzajúce Mám z týchto riadkov tu, že my 218 00:11:10,110 --> 00:11:13,010 Pozrel sa na poslednú dobu plus jeden. 219 00:11:13,010 --> 00:11:14,980 Tak pod kapotou, to všetky cookies. 220 00:11:14,980 --> 00:11:17,563 Je to presne ten typ digitálne ručné pečiatka tam a späť, 221 00:11:17,563 --> 00:11:20,450 a úprimne povedané, ak otvoríte Chrome je Inšpektor na akýchkoľvek webových stránkach, 222 00:11:20,450 --> 00:11:22,580 navštíviť dnes, Super vysoká pravdepodobnosť, 223 00:11:22,580 --> 00:11:25,450 budete vidieť možno jeden, možno pol tucta sušienky 224 00:11:25,450 --> 00:11:26,650 spomína vás. 225 00:11:26,650 --> 00:11:29,500 >> A ešte horšie, ak tí, Webové stránky ste na návšteve 226 00:11:29,500 --> 00:11:32,640 všetci majú reklamy, ktoré je určite celkom bežné dnes, 227 00:11:32,640 --> 00:11:36,100 a ak tieto reklamy sa blíži z nejakého centrálneho strany, niekoho 228 00:11:36,100 --> 00:11:39,000 ako je Google alebo AdWords, ako sa zavolajte na jedno z ich produktov 229 00:11:39,000 --> 00:11:42,880 alebo iných takých predajcov, že predaj reklamy, čo je zaujímavé, 230 00:11:42,880 --> 00:11:46,510 a úprimne povedané, to, čo je trochu znepokojujúce, o tom, ako funguje HTTP, 231 00:11:46,510 --> 00:11:50,855 je, že ak máte ad vložený v Facebook.com a Google.com, 232 00:11:50,855 --> 00:11:54,240 a Harvard.edu, ľubovoľný počet webových stránok, takže je to taký 233 00:11:54,240 --> 00:11:58,130 že existuje stredná človek, ktorý si odpykáva up reklamy na všetkých troch týchto webových stránok, 234 00:11:58,130 --> 00:12:02,110 Ukazuje sa, že Cookies sú na doméne. 235 00:12:02,110 --> 00:12:05,910 >> Takže ak máte reklama pochádzajúce z Rovnaká spoločnosť na rôznych internetových stránkach, 236 00:12:05,910 --> 00:12:11,140 že spoločnosť môže účinne sledovať, kto ste na všetkých týchto webových stránok. 237 00:12:11,140 --> 00:12:13,140 Harvard možno neviete ste na návšteve Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook nemusí vedieť a ste na návšteve Harvard. 239 00:12:15,306 --> 00:12:18,160 Ale nech už ad servis Ak používajú, že je doména 240 00:12:18,160 --> 00:12:21,710 prítomný v oboch Harvard.edu webu stránky a Facebook.com webové stránky, 241 00:12:21,710 --> 00:12:26,850 tento stred muž iste vie, kto ste pretože tieto súbory cookie zdieľané 242 00:12:26,850 --> 00:12:30,910 celé, alebo skôr, že tzv prostredníka. 243 00:12:30,910 --> 00:12:33,820 >> Takže sa vrátime k tomu v bezpečnostné dôsledky z nich, 244 00:12:33,820 --> 00:12:37,170 ale je tu veľa informácií sú uložené informácie o vás, kedykoľvek budete 245 00:12:37,170 --> 00:12:40,120 navštíviť najväčšie ľubovoľnú webovú stránku na internet a je to naozaj 246 00:12:40,120 --> 00:12:42,877 redukuje na tento veľmi jednoduchý mechanizmus. 247 00:12:42,877 --> 00:12:44,710 Čo sa stane, potom, ak ste super paranoidné 248 00:12:44,710 --> 00:12:48,190 a vy sa rozhodnete ísť do Chrome alebo IE alebo čo a vypnúť súbory cookie? 249 00:12:48,190 --> 00:12:49,365 Čo sa stane? 250 00:12:49,365 --> 00:12:50,790 Jo? 251 00:12:50,790 --> 00:12:53,170 Môžete really-- si urobil toto právo? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Nie, choďte do toho. 254 00:12:55,994 --> 00:12:59,645 >> Divákov: Niektoré webové stránky nemajú funkcie bez nej, ako je Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. Malan: Yeah! 256 00:13:00,520 --> 00:13:02,311 Takže niektoré webové stránky sa jednoducho prestane fungovať. 257 00:13:02,311 --> 00:13:05,520 A vo väčšine webových stránkach v týchto dňoch ktoré zásadným spôsobom spoliehajú na cukrovinky, 258 00:13:05,520 --> 00:13:08,360 najmä ak majú sa prihlásiť v, oni len tak zlomiť. 259 00:13:08,360 --> 00:13:10,360 Vzhľadom k tomu, vziať do úvahy alternatíva, v prípade, že webové stránky 260 00:13:10,360 --> 00:13:14,480 nemá žiadny spôsob, ako si pamätať, kto ste, a preto je webový prehliadač nie je 261 00:13:14,480 --> 00:13:16,949 predstavuje s každým HTTP Požiadavka tejto strane pečiatka, 262 00:13:16,949 --> 00:13:18,740 efektívne webové stránky ako je Facebook sa deje 263 00:13:18,740 --> 00:13:22,050 mať s výzvou na prihlásiť každý sakramentsky čas 264 00:13:22,050 --> 00:13:26,200 zmeníte stránok, alebo kliknite na odkaz, ktorý je určite nijako zvlášť dobrý užívateľ 265 00:13:26,200 --> 00:13:26,920 zážitok. 266 00:13:26,920 --> 00:13:30,020 >> Tak to tam taky je Medzi kompromisy. 267 00:13:30,020 --> 00:13:34,140 Takže bez ďalších okolkov, poďme sa za samozrejmé, že sa programovanie pre web, 268 00:13:34,140 --> 00:13:37,630 v jazykoch ako PHP, môžete si uvedomiť, informácie, ako že v probléme nastavení 269 00:13:37,630 --> 00:13:41,550 sedem rokov, keď sa rozhodnete svoj vlastný E * Trade-ako webové stránky, s ktorými kúpiť 270 00:13:41,550 --> 00:13:45,710 a predávať akcie, budete pamätať presne, čo užívateľ kúpil a predal 271 00:13:45,710 --> 00:13:49,110 a ktorý on alebo ona je prostredníctvom tohto zasadnutia. 272 00:13:49,110 --> 00:13:51,110 Ale budeme potrebovať milovník spôsob, ako e-mail 273 00:13:51,110 --> 00:13:52,640 na začiatok uchovávanie informácií okolo. 274 00:13:52,640 --> 00:13:53,140 Je to tak? 275 00:13:53,140 --> 00:13:56,780 >> V pondelok sme sa rozprávali o frosh IM a ako vo verzii jedného z týchto webových stránok, 276 00:13:56,780 --> 00:14:00,250 Pred rokmi, všetko, čo sme urobili, bolo e-mailom Proctor, ktorý je 277 00:14:00,250 --> 00:14:04,250 na starosti intramurální športov programu, meno a pohlavia, 278 00:14:04,250 --> 00:14:07,330 a či alebo nie oni sú kapitán, a koľaji niekoho, kto je 279 00:14:07,330 --> 00:14:10,136 registráciu intramurálním športu. 280 00:14:10,136 --> 00:14:13,010 Takže to nie je zlé, ale on alebo ona potom musel troll cez ich e-mailu, 281 00:14:13,010 --> 00:14:16,010 vytvoriť tabuľku, alebo niečo také to, aby všetko zorganizovať. 282 00:14:16,010 --> 00:14:19,750 Tak určite my, programátorov to môže urobiť pre tento Proctor. 283 00:14:19,750 --> 00:14:22,970 A tak vstúpi v SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 ktorý bude vyzerať pekne líšia ako C a PHP, 285 00:14:26,050 --> 00:14:30,990 a budete potápať oveľa viac rúk PHP a problém nastaviť sedem, ale tiež SQL 286 00:14:30,990 --> 00:14:35,310 alebo SQL, je to jazyk, ktorý Používate hovoriť do databázy. 287 00:14:35,310 --> 00:14:36,480 >> Ale čo je to databáza? 288 00:14:36,480 --> 00:14:38,440 Dobre si myslíte, že databázy, aspoň pre túto chvíľu, 289 00:14:38,440 --> 00:14:41,750 ako len byť ako súbor programu Excel, alebo Ak ste užívateľmi čísla súborov Mac, 290 00:14:41,750 --> 00:14:44,400 alebo ak ste Google Apps užívateľ tabuľky Google, 291 00:14:44,400 --> 00:14:49,120 je to efektívne databázy, alebo naozaj konkrétne relačnej databázy. 292 00:14:49,120 --> 00:14:53,070 Relačnej databázy je len niečo, čo má riadkov a stĺpcov, 293 00:14:53,070 --> 00:14:56,440 a môžete ukladať akékoľvek Informácie uvedené v týchto riadkoch alebo stĺpcoch. 294 00:14:56,440 --> 00:15:00,480 >> Ale to, čo je pekné o SQL a o aktuálnych databázach, a to nielen 295 00:15:00,480 --> 00:15:04,910 tabuľky alebo Google tabuľky, je, že môžete použiť jazyk 296 00:15:04,910 --> 00:15:09,000 skutočne vykonávať dotazy vložiť dáta pre odstránenie dát, 297 00:15:09,000 --> 00:15:11,620 hľadať dát, a to aj čo je najdôležitejšie, a tí 298 00:15:11,620 --> 00:15:16,110 Nemusíte používať pomerne ručne Ako ste si možno bežne Google 299 00:15:16,110 --> 00:15:17,690 tabuľkový takhle. 300 00:15:17,690 --> 00:15:22,217 >> Tak v SQL, je to banda základné príkazy alebo kusy 301 00:15:22,217 --> 00:15:23,300 funkčnosti postavená v roku. 302 00:15:23,300 --> 00:15:26,450 Je tu mnoho viac než tí, ale môžete ísť na veľkú vzdialenosť 303 00:15:26,450 --> 00:15:28,620 len tým, že vedel, že tento jazyk nazýva 304 00:15:28,620 --> 00:15:30,840 SQL má aspoň štyri vyhlásenie, že môžete využiť. 305 00:15:30,840 --> 00:15:34,420 >> Odstrániť pre odstránenie dát, Vložte, pre pridávanie riadkov, 306 00:15:34,420 --> 00:15:37,340 Aktualizácie pre zmenu riadky, a výber, 307 00:15:37,340 --> 00:15:39,860 pre získanie späť riadkov a že je to naozaj to, čo robí SQL. 308 00:15:39,860 --> 00:15:43,810 Pôsobí iba na riadkoch tak že pri vložení alebo odstránení, 309 00:15:43,810 --> 00:15:47,470 alebo aktualizácie, alebo vybrať, čo ste dostať sa späť ako tzv sady výsledkov, 310 00:15:47,470 --> 00:15:49,690 ako pole riadkov. 311 00:15:49,690 --> 00:15:51,700 Banda riadkov z tabuľky. 312 00:15:51,700 --> 00:15:54,050 >> Takže späť v deň, a dokonca k tomuto dňu, 313 00:15:54,050 --> 00:15:56,560 môžete komunikovať s databázy pomocou príkazového riadku, 314 00:15:56,560 --> 00:15:59,691 ale nie je to nijako zvlášť zábavné to čierne a biele okno štýl 315 00:15:59,691 --> 00:16:02,190 a vlastne spustiť príkazy a hrabať okolo databázu. 316 00:16:02,190 --> 00:16:06,054 Grafické užívateľské rozhranie, alebo GUI, je oveľa výhodnejšie, pravdepodobne, 317 00:16:06,054 --> 00:16:08,970 a tak sa nástroj odporúčame a predinštalované na vás na spotrebiče 318 00:16:08,970 --> 00:16:10,580 sa nazýva phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Je to celkom náhoda, že Názov tejto veci má PHP v tom, 320 00:16:14,060 --> 00:16:17,430 znamená to, že ľudia, kto napísal tento program sa 321 00:16:17,430 --> 00:16:18,670 napísal v PHP. 322 00:16:18,670 --> 00:16:23,740 >> Ale je to nakoniec o správe databázový server, ako server MySQL 323 00:16:23,740 --> 00:16:26,589 že by ste mohli mať, ako áno, v CS50 spotrebiča. 324 00:16:26,589 --> 00:16:29,130 Takže tam je viac podrobností tu ako musíme sa starať o dnes, 325 00:16:29,130 --> 00:16:33,280 ale to, čo je kľúčové je, že na ľavej strane strane je zoznam databáz 326 00:16:33,280 --> 00:16:36,040 že máte na svojom počítači, na vašom CS50 spotrebiče 327 00:16:36,040 --> 00:16:40,090 alebo prísť záverečné projekty, ktoré by ste mohli mať na tretie strany, spoločnosť je 328 00:16:40,090 --> 00:16:43,415 webové stránky alebo webový server, ktorý môžete platiť za priestor. 329 00:16:43,415 --> 00:16:45,290 Takže na ľavej strane je databáz, z ktorých jedna 330 00:16:45,290 --> 00:16:48,750 je pset7, ktorý som si požičal od vedľa týždne pset, a potom na vrchole 331 00:16:48,750 --> 00:16:51,570 tam si všimnúť, že je banda kariet, z ktorých jeden 332 00:16:51,570 --> 00:16:55,150 je databáza, SQL, stav, užívatelia, export a tak ďalej. 333 00:16:55,150 --> 00:16:56,900 Takže môžete ísť dlhú spôsob, len tým, že si uvedomil, 334 00:16:56,900 --> 00:16:59,770 že väčšina z užívateľského rozhrania je v ľavom hornom stĺpci 335 00:16:59,770 --> 00:17:02,650 a cez vrchol až tam. 336 00:17:02,650 --> 00:17:04,980 Takže to, čo môžeme skutočne urobiť s tymto? 337 00:17:04,980 --> 00:17:08,609 Dobre, poďme začať vytvárať bit informácie takto. 338 00:17:08,609 --> 00:17:11,760 >> Predpokladajme, že nasledujúce situácie, ako bude za pár dní, 339 00:17:11,760 --> 00:17:14,440 Ak chcete implementovať webové stránky s názvom CS50 Financie, 340 00:17:14,440 --> 00:17:17,328 a tieto stránky vám umožní kúpiť citovať koniec citátu a predávať akcie. 341 00:17:17,328 --> 00:17:19,619 A to bude prísť na to, cena týchto akcií, 342 00:17:19,619 --> 00:17:22,380 nakoniec, ako uvidíte, tým, že hovorí do Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Ktoré nádherne, má bezplatnú službu ktorým môžete prejsť v burzovej 344 00:17:26,250 --> 00:17:29,830 ako GOOG pre Google, a to bude vám späť aktuálne zásoby spoločnosti Google 345 00:17:29,830 --> 00:17:32,250 cena v minulosti niekoľko minút najmenej. 346 00:17:32,250 --> 00:17:35,080 >> Takže budete používať, že nakoniec, predstierať, že pre užívateľov 347 00:17:35,080 --> 00:17:37,750 nakupovať a predávať skutočné zásoby pomocou virtuálnych peňazí, 348 00:17:37,750 --> 00:17:39,750 ale prvá vec, používateľ to bude vidieť 349 00:17:39,750 --> 00:17:43,850 to je prihlasovacia obrazovka, ktorá je žiada pre ich užívateľského mena a hesla. 350 00:17:43,850 --> 00:17:46,540 A tak, ako jeden z prvých výzvy pre vás pset7 351 00:17:46,540 --> 00:17:50,460 bude realizovať zadná časť databázy, tabuľky ak chcete, 352 00:17:50,460 --> 00:17:53,369 že to bude ukladať používateľské mená a heslá 353 00:17:53,369 --> 00:17:56,660 a nakoniec to, čo zásoby, ktoré vlastní, a koľko, a koľko peňazí majú, 354 00:17:56,660 --> 00:18:00,110 tak veľa ďalších vecí iné tabuľky alebo tabuľky. 355 00:18:00,110 --> 00:18:05,020 >> Takže poďme sa pozrieť na to, ako to by sa mohlo na prvý pohľad zdať. 356 00:18:05,020 --> 00:18:06,980 Chystám sa vrátiť do zariadení a ja som 357 00:18:06,980 --> 00:18:14,102 ísť na túto adresu URL tu phpMyAdmin localhost / phpMyAdmin 358 00:18:14,102 --> 00:18:16,060 a uvidíte, že to vezme ma do rozhrania 359 00:18:16,060 --> 00:18:18,520 presne tak, ako sme videli na screen shot, a tu som 360 00:18:18,520 --> 00:18:21,560 majú ďalšie databázy volal prednáška pre dnešok 361 00:18:21,560 --> 00:18:24,280 a nechaj ma ísť napred Prvý a kliknite na pset7. 362 00:18:24,280 --> 00:18:27,940 >> Zdá sa mi, že majú niekoľko možností, jeden pre nové, pre vytvorenie novej tabuľky, 363 00:18:27,940 --> 00:18:30,770 a odkaz na užívateľa, ktorý je tabuľka už som vytvoril. 364 00:18:30,770 --> 00:18:31,790 Takže to, čo je tabuľka? 365 00:18:31,790 --> 00:18:33,740 Takže ak ste použili Excel skôr, a ak ste 366 00:18:33,740 --> 00:18:37,110 použité čísla alebo Google Tabuľkové procesory, môžete otvoriť okno 367 00:18:37,110 --> 00:18:39,350 a dostanete veľa riadkov a stĺpcov, 368 00:18:39,350 --> 00:18:43,120 ale potom obvykle majú listy po dne, alebo samostatných záložkách. 369 00:18:43,120 --> 00:18:46,140 Môžete myslieť na seba list ako tabuľku 370 00:18:46,140 --> 00:18:51,150 aby databáza, v konečnom dôsledku, je kombinácia jednej alebo viacerých tabuliek, jedna 371 00:18:51,150 --> 00:18:54,064 alebo viac listov, v svet normálny tabuľky. 372 00:18:54,064 --> 00:18:55,980 Tak nechaj ma ísť dopredu a kliknite na tento liste 373 00:18:55,980 --> 00:18:59,420 že som premade, tzv užívatelia, tiež známy ako 374 00:18:59,420 --> 00:19:00,700 Databázové tabuľky. 375 00:19:00,700 --> 00:19:04,130 A keby som prejdite sem, dovoľte mi, aby som oddialiť trochu, 376 00:19:04,130 --> 00:19:08,479 To je to, čo hovorí phpMyAdmin nás je vo vnútri tejto tabuľky práve teraz. 377 00:19:08,479 --> 00:19:11,020 Je to trochu mätúce na prvý pohľad pohľad, pretože UI nie je 378 00:19:11,020 --> 00:19:15,140 najkrajšia vec na svete, ale to, čo je zaujímavé, je táto časť tu. 379 00:19:15,140 --> 00:19:17,970 ID, užívateľské meno a hash. 380 00:19:17,970 --> 00:19:20,510 >> Vopred, a budete rúk To problém nastaviť sedem, 381 00:19:20,510 --> 00:19:25,050 my vám súbor, ktorý obsahuje super malé databázové tabuľky, požičal si vlastne 382 00:19:25,050 --> 00:19:27,070 od hackera vydania o problém nastaviť dva, 383 00:19:27,070 --> 00:19:29,480 vnútri ktorej je šesť riadkov. 384 00:19:29,480 --> 00:19:32,720 Jeden pre Belinda všetky spôsob, ako sa k jednému pre Zamyla, 385 00:19:32,720 --> 00:19:35,980 a všimnite si na ľavej strane tých, používateľské mená sú jedinečné ID ako jeden, 386 00:19:35,980 --> 00:19:39,410 dva, tri, štyri, päť, šesť, celé čísla, a potom sa na pravej strane sú hodnoty hash. 387 00:19:39,410 --> 00:19:42,780 >> A ak sú šance, že si to neurobil Problém hacker vydanie nastaviť dva, 388 00:19:42,780 --> 00:19:46,560 ale hash je rovnako ako zašifrovaný Heslo s niekoľkými výhradami. 389 00:19:46,560 --> 00:19:49,470 A tak to, čo vidíte tu šifrovaná verzia všetkých šesť 390 00:19:49,470 --> 00:19:52,950 z našich hesiel z problému nastaviť dva je hacker vydanie. 391 00:19:52,950 --> 00:19:56,500 Teraz na ľavej strane je len pár GUI veci, editáciu tohto riadku, kopírovanie tento riadok, 392 00:19:56,500 --> 00:19:57,630 odstránenie tohto riadku. 393 00:19:57,630 --> 00:19:59,840 >> Ale čo je zaujímavé, Teraz je nasledujúci. 394 00:19:59,840 --> 00:20:03,810 Môžem skutočne začať experimentovanie s touto tabuľkou. 395 00:20:03,810 --> 00:20:07,330 Takže keď idem a kliknite na tlačidlo SQL karta, som si túto veľkú textové pole. 396 00:20:07,330 --> 00:20:10,190 A to nie je, ako budeme to, keď vlastne písania kódu. 397 00:20:10,190 --> 00:20:12,700 Aby bolo jasno, phpMyAdmin je len nástroj, ktorý je 398 00:20:12,700 --> 00:20:16,450 bude nám hrabať okolo databáze a dajte nám experimentovať s otázky. 399 00:20:16,450 --> 00:20:19,430 >> Tak napríklad, že Aj spustiť práve tento. 400 00:20:19,430 --> 00:20:22,820 Select, ktorý je jedným z tých, kľúčové slová som už spomenul, hviezda, 401 00:20:22,820 --> 00:20:25,900 ktorá sa podieľa stĺpca v tabuľke. 402 00:20:25,900 --> 00:20:26,820 Z toho, čo stôl? 403 00:20:26,820 --> 00:20:27,990 No, užívatelia. 404 00:20:27,990 --> 00:20:29,950 A upozornenie, že je to divný konvencie v SQL 405 00:20:29,950 --> 00:20:32,140 kde ste skutočne používať späť kliešte, typicky, 406 00:20:32,140 --> 00:20:35,940 Nie je jednoduché úvodzovky a nie dvojité úvodzovky keď hovoríte o tabuľky mien, 407 00:20:35,940 --> 00:20:38,990 takže späť citácie je vec na Horná ľavá ruka na klávesnici najviac 408 00:20:38,990 --> 00:20:39,720 pravdepodobné. 409 00:20:39,720 --> 00:20:41,850 >> Tak nechaj ma ísť napred teraz a nechaj to samo o sebe 410 00:20:41,850 --> 00:20:46,020 a prejdite nadol a kliknite na tlačidlo Prejsť, a my sme vlastne bude vidieť to isté. 411 00:20:46,020 --> 00:20:52,410 Len sme realizovali dotaze SQL hovorí vybrať všetko hviezdu 412 00:20:52,410 --> 00:20:55,610 z tabuľky s názvom užívateľa, a to, čo dostanete späť, je to. 413 00:20:55,610 --> 00:20:58,400 Nakoniec budeme môcť urobiť to isté v kóde, 414 00:20:58,400 --> 00:21:02,109 ale teraz všetko, čo som chcel to bolo vidieť, že vo svojom prehliadači. 415 00:21:02,109 --> 00:21:03,900 Tak poďme niečo urobiť trochu inak. 416 00:21:03,900 --> 00:21:08,330 Nechaj ma ísť späť na kartu SQL, a povedzme, že to, čo? 417 00:21:08,330 --> 00:21:11,520 Zamyla stratil všetko o nej peniaze, a preto je 418 00:21:11,520 --> 00:21:13,190 čas pre nás, aby ju zmazať ako užívateľ. 419 00:21:13,190 --> 00:21:14,630 Ona už nie je prihlásenie. 420 00:21:14,630 --> 00:21:18,870 >> Takže som chcel povedať zmazať from-- dobre, udržiavať kapitalizáciu 421 00:21:18,870 --> 00:21:23,080 konzistencie, vymazať od užívateľov, kde. 422 00:21:23,080 --> 00:21:25,430 A tak môžeme mať tieto predikáty, alebo tieto 423 00:21:25,430 --> 00:21:31,180 kvalifikácia, na konci svojho vyhlásenia kde a ako by som mohol zmazať Zamyla? 424 00:21:31,180 --> 00:21:34,190 Jej meno Zamyla, tak stĺpec, jeden zo stĺpcov 425 00:21:34,190 --> 00:21:37,950 bol menovaný, tak kde name = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 A tu som použiť double citácie alebo jednoduché úvodzovky, 427 00:21:40,000 --> 00:21:42,958 použiť iba zadné kliešte, kedy hovorí o menách, napríklad, 428 00:21:42,958 --> 00:21:45,130 tabuliek a polí. 429 00:21:45,130 --> 00:21:47,440 A dovoľte mi, aby som na tlačidlo nájdete tu. 430 00:21:47,440 --> 00:21:50,400 A teraz, webová stránka je byť trochu nervózny. 431 00:21:50,400 --> 00:21:53,620 >> Alebo naozaj chcete vykonať zmazať od užívateľov, kde názov zodpovedá životnosti Zamyla? 432 00:21:53,620 --> 00:21:54,680 Áno. 433 00:21:54,680 --> 00:22:01,900 Takže teraz, keď sa vrátime k môjmu stolu kliknutím na možnosť užívateľa si všimnite, že Hm. 434 00:22:01,900 --> 00:22:02,530 Podelal ja. 435 00:22:02,530 --> 00:22:04,070 A v skutočnosti, som tak trochu klikli preč tak rýchlo, 436 00:22:04,070 --> 00:22:06,195 ste ani vidieť červené chybové hlásenie, možno. 437 00:22:06,195 --> 00:22:07,649 Čo som urobil zle? 438 00:22:07,649 --> 00:22:09,690 Divákov: Nemusel si využiť jej meno. 439 00:22:09,690 --> 00:22:11,260 DAVID J. Malan: Jo, ja zarábal jej meno, 440 00:22:11,260 --> 00:22:13,770 ale jej username-- Vlastne som urobil pár chýb, nie? 441 00:22:13,770 --> 00:22:16,720 Jeden z nich, jej meno je zamyla, malé písmená Z, 442 00:22:16,720 --> 00:22:20,140 a názov stĺpca je užívateľské meno, nemenoval, tak sa poďme to urobiť znova. 443 00:22:20,140 --> 00:22:25,750 Nechaj ma ísť napred a odstrániť zo užívateľom, ak 444 00:22:25,750 --> 00:22:28,990 Užívateľské meno rovná citovať unquote "Zamyla". 445 00:22:28,990 --> 00:22:29,490 V poriadku? 446 00:22:29,490 --> 00:22:32,600 Takže to vyzerá o niečo lepšie, nech ma ísť prejdite nadol a kliknite na tlačidlo Prejsť. 447 00:22:32,600 --> 00:22:34,730 Je to stále bude kričať na mňa pre istotu. 448 00:22:34,730 --> 00:22:37,500 Aj kliknite na tlačidlo Áno, a teraz vidíme, Úprimne povedané sa to stalo, naozaj 449 00:22:37,500 --> 00:22:39,870 rýchla, menej ako jeden Druhý iste, to 450 00:22:39,870 --> 00:22:41,720 je presne dotaz, ktorý dostal popravený. 451 00:22:41,720 --> 00:22:45,617 Ak chcete potvrdiť, dovoľte mi, aby som na tlačidlo užívateľa a naozaj teraz Zamyla je preč. 452 00:22:45,617 --> 00:22:46,700 Teraz sa poďme urobiť pravý opak. 453 00:22:46,700 --> 00:22:49,320 Predpokladajme, že Gabe chce zaregistrovať na internetových stránkach. 454 00:22:49,320 --> 00:22:52,825 Čo je to SQL dotaz, čo je Príkaz by som mohol písať pridať Gabe? 455 00:22:52,825 --> 00:22:54,200 No je to celkom jednoduché. 456 00:22:54,200 --> 00:22:58,260 Vložiť do užívateľov, a teraz to je trochu tajomný. 457 00:22:58,260 --> 00:23:03,190 Musím spresniť, na server, čo poľa chcem priradiť. 458 00:23:03,190 --> 00:23:06,630 Nemám naozaj jedno, čo Gabe ID číslo, takže budem preskočiť, že. 459 00:23:06,630 --> 00:23:11,360 Ja namiesto toho chcel povedať užívateľské meno, hash, a potom 460 00:23:11,360 --> 00:23:14,960 hodnoty Chcem vložiť tam bude Gabe. 461 00:23:14,960 --> 00:23:16,800 A potom jeho hash, neviem. 462 00:23:16,800 --> 00:23:19,900 Takže teraz idem nechať to ako veľký robiť. 463 00:23:19,900 --> 00:23:21,650 Vrátime sa k že v nastavení problém 464 00:23:21,650 --> 00:23:23,390 spec, ako vlastne urobiť. 465 00:23:23,390 --> 00:23:24,630 >> Takže si všimnúť, opäť, syntax. 466 00:23:24,630 --> 00:23:28,430 Vložiť do názvu tabuľky, potom zátvorkách zoznam polí, 467 00:23:28,430 --> 00:23:30,980 stĺpce, ktoré chcete pridať hodnoty, a potom len 468 00:23:30,980 --> 00:23:34,495 rovnaký presné usporiadanie zľava priamo z hodnôt, ktoré chcete pridať, 469 00:23:34,495 --> 00:23:36,870 a to len preto, že balenie text je trochu dlhšia. 470 00:23:36,870 --> 00:23:38,520 Takže teraz mi dovoľte kliknite na tlačidlo Prejsť. 471 00:23:38,520 --> 00:23:39,830 Jeden riadok vloží. 472 00:23:39,830 --> 00:23:43,020 A teraz keď som sa vrátiť do používatelia, čo je zaujímavé 473 00:23:43,020 --> 00:23:48,960 je to, že nie je iba Gabe teraz v databázy, čo je zrejme jeho ID? 474 00:23:48,960 --> 00:23:49,820 >> No to je sedem. 475 00:23:49,820 --> 00:23:51,479 Prečo je to sedem rokov, keď som sa pridať? 476 00:23:51,479 --> 00:23:54,020 Takže aj to je jeden z funkcie, ktoré dostanete v databáze. 477 00:23:54,020 --> 00:23:55,750 Mnoho vstavaný funkčnosti. 478 00:23:55,750 --> 00:23:57,950 Ukazuje sa, že pri túto tabuľku vytvorili, 479 00:23:57,950 --> 00:24:01,390 Aj prednastavená, že je to automaticky pridelí ID takým spôsobom 480 00:24:01,390 --> 00:24:02,480 že sa zvýši. 481 00:24:02,480 --> 00:24:05,470 Takže ak ste niekedy strčil okolo, a pozrel sa na to, čo si heslo? 482 00:24:05,470 --> 00:24:09,292 číslo, v týchto dňoch je to naozaj čo robiť, ale Facebook ako API, 483 00:24:09,292 --> 00:24:11,750 Application Programming Interface, kedy môžete získať späť 484 00:24:11,750 --> 00:24:14,430 celá partia údajov o sami, o svojich priateľov, 485 00:24:14,430 --> 00:24:15,347 a vaše pripojenie. 486 00:24:15,347 --> 00:24:17,430 A čo býval druh v pohode, späť v deň, 487 00:24:17,430 --> 00:24:19,510 Bol sa pozrieť na to, čo vaše Facebook ID číslo bolo. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg je, Napríklad, je tri 489 00:24:22,390 --> 00:24:23,890 pretože on bol autorom týchto stránok. 490 00:24:23,890 --> 00:24:27,610 A ako príbeh pokračuje, on vytvoril dve testovacie účty, užívatelia jedna a dve, 491 00:24:27,610 --> 00:24:28,690 ktoré potom zmazané. 492 00:24:28,690 --> 00:24:32,780 A tak, Zuck, ako je jeho meno na Facebooku, je ID číslo tri, 493 00:24:32,780 --> 00:24:36,110 a každý z nás má moc čísel väčší ako tri v týchto dňoch. 494 00:24:36,110 --> 00:24:37,980 V skutočnosti, v určitom okamihu Facebook sa vzdialil 495 00:24:37,980 --> 00:24:42,410 zo aj pomocou int, ktorá je 32-bitová hodnota, k používaniu 496 00:24:42,410 --> 00:24:44,480 Ďalším krokom, v podstate dlhá tak dlho 497 00:24:44,480 --> 00:24:47,150 že by mohli pojať aj viac užívateľov registrácii. 498 00:24:47,150 --> 00:24:49,420 Tak trochu zábavy historický fakt. 499 00:24:49,420 --> 00:24:51,660 >> Tak to je práve Základná syntax, s ktorými 500 00:24:51,660 --> 00:24:54,470 môžeme vykonať niekoľko otázky, ale môžeme skutočne 501 00:24:54,470 --> 00:24:56,744 robiť veľa ďalších vecí s SQL. 502 00:24:56,744 --> 00:24:58,910 A uvidíte, nakoniec, v probléme nastaviť sedem 503 00:24:58,910 --> 00:25:01,034 že budete musieť vykonať Počet rozhodnutí o návrhu, 504 00:25:01,034 --> 00:25:03,290 medzi nimi bude aké typy dát použiť. 505 00:25:03,290 --> 00:25:08,240 Takže rovnako ako v C, sú údaje typy v databáze, ako je MySQL, 506 00:25:08,240 --> 00:25:12,640 a dátové typy si musíte vybrať zo tieto odvetvia tu. 507 00:25:12,640 --> 00:25:17,287 Char, varchar, Int, veľký int, decimal a dátum, čas, a mnoho ďalších. 508 00:25:17,287 --> 00:25:18,370 Takže poďme to skutočne urobiť. 509 00:25:18,370 --> 00:25:21,060 Poďme predstierať, že sme nemali ruka vám tabuľka tohto používateľa 510 00:25:21,060 --> 00:25:25,080 a nechaj ma ísť dopredu a vytvoriť pre sám, na prednáškach database-- 511 00:25:25,080 --> 00:25:31,000 vlastne nechaj ma ísť dopredu a odstráňte tabuľka mám tú už 512 00:25:31,000 --> 00:25:32,940 takže môžeme vlastne vytvoriť to. 513 00:25:32,940 --> 00:25:33,550 Jejda. 514 00:25:33,550 --> 00:25:35,970 Chystám sa tento pokles stôl, a teraz som 515 00:25:35,970 --> 00:25:38,337 ísť znovu prednáška databázy sem, 516 00:25:38,337 --> 00:25:40,420 Chystám sa vytvoriť tabuľku tzv užívateľov a poďme 517 00:25:40,420 --> 00:25:43,010 proste tri stĺpce spočiatku a kliknite na tlačidlo Prejsť. 518 00:25:43,010 --> 00:25:44,990 >> Teraz, z väčšej časti, Znova, toto je len 519 00:25:44,990 --> 00:25:48,570 pomocou tohto grafického nástroja s názvom phpMyAdmin, a to, čo robíme teraz 520 00:25:48,570 --> 00:25:49,600 je vytvorenie tabuľky. 521 00:25:49,600 --> 00:25:53,170 Takže to je ako ísť na Súbor, Nový, a vytvorenie nového súboru programu Excel. 522 00:25:53,170 --> 00:25:55,440 Takže to ma pýta, málo otázky, zľava doprava, 523 00:25:55,440 --> 00:25:58,620 to, čo je názov prvého stĺpca, a potom na názov druhého stĺpca, 524 00:25:58,620 --> 00:25:59,560 a názov tretej. 525 00:25:59,560 --> 00:26:00,518 Takže poďme znova to. 526 00:26:00,518 --> 00:26:05,460 ID, a potom meno bolo jedno, a potom hash bol iný. 527 00:26:05,460 --> 00:26:08,970 Takže to, čo by mal dátový typ byť teraz pre pole, ako je ID? 528 00:26:08,970 --> 00:26:14,470 >> Tu je celý zoznam dátových typov pre vás k dispozícii v databáze, 529 00:26:14,470 --> 00:26:16,070 a teraz poďme jednoducho ísť s int. 530 00:26:16,070 --> 00:26:18,160 32-bitová hodnota, vôbec sa mi nepáči myslieť realisticky, že som 531 00:26:18,160 --> 00:26:21,484 bude mať viac ako 4 miliardy Užívatelia v mojom účte, v mojich službách, 532 00:26:21,484 --> 00:26:23,650 takže budem držať v pohybe na ďalšiu otázku. 533 00:26:23,650 --> 00:26:25,490 Nebudem špecifikovať dĺžky alebo hodnoty, 534 00:26:25,490 --> 00:26:28,540 to neplatí pre int tu, sám o sebe. 535 00:26:28,540 --> 00:26:30,740 A teraz sa môžete určiť, Zdá sa, že východiskové 536 00:26:30,740 --> 00:26:33,970 hodnota, ktorá nebudem špecifikovať. 537 00:26:33,970 --> 00:26:36,050 Kolace, ja neviem, čo to je. 538 00:26:36,050 --> 00:26:37,290 Atribút. 539 00:26:37,290 --> 00:26:39,455 Teraz sme vlastne robiť má rozhodnutie o návrhu. 540 00:26:39,455 --> 00:26:42,580 Takže tam je niekoľko polí tu, že nie všetky ktoré sú použiteľné, ale bez znamienka 541 00:26:42,580 --> 00:26:43,380 jednoducho znamená čo? 542 00:26:43,380 --> 00:26:45,400 Že int musí byť? 543 00:26:45,400 --> 00:26:46,210 Len non-negatívne. 544 00:26:46,210 --> 00:26:48,090 Tak to musí byť 0 na hore. 545 00:26:48,090 --> 00:26:51,120 Nie, nebudem kontrolovať, pretože Chcem každý užívateľ mať ID, 546 00:26:51,120 --> 00:26:52,470 nemôže byť null. 547 00:26:52,470 --> 00:26:55,949 A potom sa dostávame k trochu viac Zaujímavý dizajn rozhodnutie, ako je tento. 548 00:26:55,949 --> 00:26:58,990 Vrátime sa k tomu vo chvíli, ale čo ďalšie funkcie databázy 549 00:26:58,990 --> 00:27:04,200 je, že môžete povedať, databázový server pokračovať 550 00:27:04,200 --> 00:27:07,100 a optimalizovať seba, svoju RAM a miesta na pevnom disku, 551 00:27:07,100 --> 00:27:11,770 tak, že vyberie a vložky, a odstráni a aktualizácie sú naozaj rýchlo. 552 00:27:11,770 --> 00:27:13,250 Porovnajme to s pset5. 553 00:27:13,250 --> 00:27:16,259 >> Ak by ste chceli hľadať niečo v hash tabuľke, ktorá 554 00:27:16,259 --> 00:27:18,300 si myslíte, že ako databáza, ktorí mali urobiť všetko, 555 00:27:18,300 --> 00:27:21,500 pracovať, aby vaše hash tabuľky rýchlo. 556 00:27:21,500 --> 00:27:22,840 Je to ako, samozrejme, vy. 557 00:27:22,840 --> 00:27:23,060 Je to tak? 558 00:27:23,060 --> 00:27:26,080 Vy ste mali dať do všetkých časových pokuty tuning veci, ako sa funkcia hash 559 00:27:26,080 --> 00:27:27,820 právo, prísť na to, ako veľa lopaty mať. 560 00:27:27,820 --> 00:27:29,611 >> Ale to, čo je pekné, zase, o databázy 561 00:27:29,611 --> 00:27:31,762 stačí pramicu všetky to iným ľuďom 562 00:27:31,762 --> 00:27:33,720 kto si myslel, že to až pre vás a to, čo 563 00:27:33,720 --> 00:27:37,170 Chystám sa povedať, na základe index je, že moja ID pole 564 00:27:37,170 --> 00:27:41,149 bude primárny spôsob identifikácia užívateľa v tejto databáze. 565 00:27:41,149 --> 00:27:42,940 Nebudem myslieť z Zamyla ako Zamyla, 566 00:27:42,940 --> 00:27:45,800 Budem myslieť na ju ako číslo 6. 567 00:27:45,800 --> 00:27:49,814 >> Prečo je to snáď lepšie intuitívne myslieť a modelu 568 00:27:49,814 --> 00:27:52,480 každý z vašich jednotlivých riadkov pomocou číslo, miesto niečoho 569 00:27:52,480 --> 00:27:56,480 ako reťazec, ako je Zamyla alebo Gabe alebo dlhší reťazec ešte? 570 00:27:56,480 --> 00:27:57,444 Jo? 571 00:27:57,444 --> 00:28:00,117 >> Divákov: ID je jedinečný? 572 00:28:00,117 --> 00:28:01,200 DAVID J. Malan: znova, povedz? 573 00:28:01,200 --> 00:28:02,283 Divákov: ID je jedinečný? 574 00:28:02,283 --> 00:28:04,400 DAVID J. Malan: ID je jedinečný, ale suppose-- 575 00:28:04,400 --> 00:28:06,320 napríklad v prípade všeobecne sa užívateľským menom, predpokladám, že 576 00:28:06,320 --> 00:28:10,110 Tiež som povedal, že môže byť len jeden Zamyla vo svete, a iba jeden Gabe. 577 00:28:10,110 --> 00:28:13,730 Mohol by som uložiť jedinečnosť obmedzenia na reťazci, aj keby som chcel. 578 00:28:13,730 --> 00:28:15,550 Takže nie je zlá myšlienka. 579 00:28:15,550 --> 00:28:16,500 >> Divákov: Viac bezpečia. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. Malan: Bezpečnejšie, prečo? 581 00:28:17,874 --> 00:28:20,705 Divákov: Nemôžete povedať, ktorý je, ktorý, ako je v užívateľ. 582 00:28:20,705 --> 00:28:22,580 DAVID J. Malan: OK, Nemožno povedať, ktorý užívateľ 583 00:28:22,580 --> 00:28:24,380 je ktorý, takže je tu o ochrane osobných údajov aspekt k tomu, 584 00:28:24,380 --> 00:28:27,810 najmä v prípade, že ID možná objaviť sa v URL. 585 00:28:27,810 --> 00:28:29,960 Tak istý, že by mohol druh práce, taky. 586 00:28:29,960 --> 00:28:30,640 Iné myšlienky? 587 00:28:30,640 --> 00:28:31,383 Jo? 588 00:28:31,383 --> 00:28:34,316 >> Divákov: Je to jednoduchšie vykonávať operácie na int. 589 00:28:34,316 --> 00:28:35,940 DAVID J. Malan: To je skutočný kicker. 590 00:28:35,940 --> 00:28:38,850 Je to len efektívnejšie, a jednoduchšie pre počítač, 591 00:28:38,850 --> 00:28:40,431 vykonávať operácie na celé číslo. 592 00:28:40,431 --> 00:28:40,930 Je to tak? 593 00:28:40,930 --> 00:28:43,905 Int je zaručené, že byť 32-bit, zatiaľ čo Zamyla 594 00:28:43,905 --> 00:28:47,660 je dlhá niekoľko znakov, Gabriel je dlhá niekoľko ďalších znakov, 595 00:28:47,660 --> 00:28:51,930 Davenport je naozaj dlhý, a tak je nijako zvlášť efektívne používať 596 00:28:51,930 --> 00:28:55,860 reťazca porovnávať hodnoty a hľadať pre pole a aktualizovať polia, 597 00:28:55,860 --> 00:28:57,790 ak sa môžete dostať preč iba s jedným celým číslom. 598 00:28:57,790 --> 00:28:59,090 Len 32 bitov. 599 00:28:59,090 --> 00:29:02,570 Tak používateľské mená, aj týmto spôsobom, nemusí byť jedinečný, 600 00:29:02,570 --> 00:29:05,040 aj keď pravdepodobne mali byť, a to aj týmto spôsobom tiež 601 00:29:05,040 --> 00:29:07,520 užívateľ by si mohli zmeniť svoje užívateľské meno. 602 00:29:07,520 --> 00:29:10,810 >> Takže poďme sa teraz opustiť toto ako primárne prostriedky na identifikáciu používateľa. 603 00:29:10,810 --> 00:29:13,510 To sa hovorí databázy choďte do toho a optimalizovať sami 604 00:29:13,510 --> 00:29:17,065 takže look up na ID je super rýchly. 605 00:29:17,065 --> 00:29:19,620 AI, strašne menoval, len znamená, Auto Prírastok, 606 00:29:19,620 --> 00:29:21,500 a to je kontrola box musíme skontrolovať 607 00:29:21,500 --> 00:29:24,614 určiť, že ID pole byť automaticky aktualizované pre mňa, 608 00:29:24,614 --> 00:29:26,530 a potom idem prejdite doprava tu 609 00:29:26,530 --> 00:29:29,279 a úprimne povedané, ja nie som naozaj záujem V žiadnej ďalšej z týchto oblastí. 610 00:29:29,279 --> 00:29:30,630 Rozhodne nie dnes. 611 00:29:30,630 --> 00:29:33,770 >> Takže ja idem sem, do prvého stĺpca, kde 612 00:29:33,770 --> 00:29:35,830 I potrebné zadať užívateľské meno a hash, a poďme 613 00:29:35,830 --> 00:29:38,080 Aspoň zameraním na druhý pre teraz. 614 00:29:38,080 --> 00:29:41,498 Int pravdepodobne nie je správna výzva, Takže to, čo je snáď väčší zmysel? 615 00:29:41,498 --> 00:29:42,741 >> DIVÁKOV: Text. 616 00:29:42,741 --> 00:29:43,824 DAVID J. Malan: znova, povedz? 617 00:29:43,824 --> 00:29:44,710 DIVÁKOV: Text. 618 00:29:44,710 --> 00:29:44,980 DAVID J. Malan: Text? 619 00:29:44,980 --> 00:29:45,590 OK, som počul text. 620 00:29:45,590 --> 00:29:46,090 Čo ešte? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Máme druh má veľa možností že sú textové povahy. 623 00:29:53,860 --> 00:29:55,990 Takže keď, a prečo robiť môžete použiť niektoré z nich? 624 00:29:55,990 --> 00:29:59,560 No char, v rozpore s tým, čo by mohlo myslíte, že nie je jediný znak. 625 00:29:59,560 --> 00:30:01,550 Je to určitý počet znakov. 626 00:30:01,550 --> 00:30:04,600 Takže ak vieme, že všetky uložené mená musí byť ako osem znakov, 627 00:30:04,600 --> 00:30:08,490 ako bolo obyčajné v staršej počítačové systémy, mohol by som povedať, char 628 00:30:08,490 --> 00:30:09,830 a potom by som mohol povedať, 8 tu. 629 00:30:09,830 --> 00:30:12,930 To je, keď v treťom stĺpci sa stáva použiteľné pri vytváraní tabuľky. 630 00:30:12,930 --> 00:30:15,450 >> Ale to je trochu nepríjemné preto, že niektorí ľudia môžu 631 00:30:15,450 --> 00:30:17,660 Chcete mať dlhšiu užívateľské meno ako osem znakov, 632 00:30:17,660 --> 00:30:19,743 niektorí ľudia môžu chcieť majú kratšie meno, 633 00:30:19,743 --> 00:30:22,210 tak prečo zaväzujem na konkrétne číslo? 634 00:30:22,210 --> 00:30:24,710 Prečo majú premennú počet znakov a len 635 00:30:24,710 --> 00:30:28,580 hovoria, že maximálna dĺžka mena je, ja neviem, ako 64 znakov. 636 00:30:28,580 --> 00:30:31,780 Ja si nemyslím, že žiadnych priateľov, ktorí majú názvy dlhší ako 64 znakov, 637 00:30:31,780 --> 00:30:34,810 a to aj v prípade, že je to príliš krátka by ste mohli rozhodne naraziť ju ľubovoľne. 638 00:30:34,810 --> 00:30:37,330 >> Takže varchar je premenná počet znakov. 639 00:30:37,330 --> 00:30:41,010 Text nie je zlý inštinkt, a úprimne povedané, že tak nejako robí to, čo hovorí, 640 00:30:41,010 --> 00:30:45,460 ale textové pole môže byť ako 65.000 bytov najmenej. 641 00:30:45,460 --> 00:30:50,790 To je asi zbytočná pre polia, a v skutočnosti, Jo, 65535. 642 00:30:50,790 --> 00:30:53,740 To je asi zbytočná pre meno, takže budeme držať, typicky 643 00:30:53,740 --> 00:30:56,910 s varchars pre textové pole a hash, taky. 644 00:30:56,910 --> 00:30:59,990 Hash, sa ukázalo, mohli by sme robiť varchar rovnako, alebo niečo také, 645 00:30:59,990 --> 00:31:03,080 ale nebudeme zameriavať dnes na kryptografie tam a čísla 646 00:31:03,080 --> 00:31:05,210 že by sme mohli v skutočnosti chcieť použiť k jeho dĺžke. 647 00:31:05,210 --> 00:31:07,430 >> Ale dovoľte mi, aby som prejdite doprava. 648 00:31:07,430 --> 00:31:11,280 Môžete mať iba jeden primárny index pre tabuľku, 649 00:31:11,280 --> 00:31:16,380 ale chcem použiť niektorý z nich, Teraz sa užívateľským menom, povedali by ste? 650 00:31:16,380 --> 00:31:21,980 Čo by užívateľské meno byť založená na vágne Pochopenie týchto štyroch variantov? 651 00:31:21,980 --> 00:31:23,340 Len tým, že ich mená? 652 00:31:23,340 --> 00:31:24,140 >> Divákov: Unique. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. Malan: Tak jedinečné, že jo? 654 00:31:25,100 --> 00:31:28,190 Takže sa ukazuje, že nielen že by mohla poviete databázu, v predstihu, 655 00:31:28,190 --> 00:31:30,380 To je hlavný spôsob identifikácia polí. 656 00:31:30,380 --> 00:31:32,990 Môžete si tiež hovoria, že je Bude to jedinečná poľa. 657 00:31:32,990 --> 00:31:34,700 To nebude vec, ktorú som spoliehať na 658 00:31:34,700 --> 00:31:38,490 ale ja by som databázy do majú v zásade, že ak podmienka, tak 659 00:31:38,490 --> 00:31:42,340 že keby som niekedy skúšali registrovať dvaja užívatelia s rovnakým názvom, 660 00:31:42,340 --> 00:31:44,360 databázy naplno nebude ma nechať. 661 00:31:44,360 --> 00:31:47,490 Mohol by som mať nejaké ďalšie kód v PHP, ktorá bráni toľko, 662 00:31:47,490 --> 00:31:50,640 ale databáza tiež môže zabezpečiť že sa nikdy nestane. 663 00:31:50,640 --> 00:31:53,370 >> Teraz, ako je stranou, a to najmä si myslíte o záverečných prác, 664 00:31:53,370 --> 00:31:57,030 Majte na pamäti, it indexe a full texte sú vlastne celkom užitočné. 665 00:31:57,030 --> 00:32:01,080 Ak máte k dispozícii väčšiu databanku, nie s desiatky, ale stovky či tisíce 666 00:32:01,080 --> 00:32:05,270 či dokonca milióny polí, môžete tiež povedať databázu vopred 667 00:32:05,270 --> 00:32:07,980 To je oblasť, idem k vyhľadávaniu na pozemku. 668 00:32:07,980 --> 00:32:10,520 Možno, že jej meno, Možno, že je to bio, ak ste 669 00:32:10,520 --> 00:32:13,750 robiť Facebook-ako webové stránky, ktoré má odseku, že používateľ je dovolené 670 00:32:13,750 --> 00:32:16,799 zachrániť, a ak chcete povedzte databázu vopred 671 00:32:16,799 --> 00:32:20,090 Budem sa vyhľadávanie na tomto poli veľa, ale to nie je nevyhnutne jedinečný, 672 00:32:20,090 --> 00:32:22,800 môžete zadať vytvoriť mi index. 673 00:32:22,800 --> 00:32:27,990 Alebo môžete povedať tiež dovoliť, aby som to urobil druh ľubovoľných vyhľadávania, ako je Command 674 00:32:27,990 --> 00:32:30,420 alebo sa stlačeným klávesom F, rovnako ako vy by mohol v textovom editore, 675 00:32:30,420 --> 00:32:34,184 takže by ste sa mohli pozrieť ľubovoľné reťazce alebo podreťazca v tejto oblasti. 676 00:32:34,184 --> 00:32:36,600 Inými slovami, sme stále do tej miery, v semestri 677 00:32:36,600 --> 00:32:40,720 kde sa nemusíte obávať ako implementovať veci efektívne. 678 00:32:40,720 --> 00:32:44,540 Musíte len vedieť, čo Rozhodnutie dizajnu, aby sa tak, že ste 679 00:32:44,540 --> 00:32:48,470 pomocou správnych nástrojov pre obchodu s cieľom zvýšiť objem funkcie 680 00:32:48,470 --> 00:32:50,380 že ostatní ľudia si vybudovali pre vás. 681 00:32:50,380 --> 00:32:54,240 Takže rekapitulácia, by primárne len majú jednu, môžete mať len jeden, 682 00:32:54,240 --> 00:32:59,630 a je to vec, ktorú ste sa zaviazať, že použitie na určenie polí jedinečne. 683 00:32:59,630 --> 00:33:02,710 Unikátny je práve svojim duchom podobať, ale môžete len občas použiť, 684 00:33:02,710 --> 00:33:04,530 ale chcete databázy ju uložiť. 685 00:33:04,530 --> 00:33:08,050 Index jednoducho znamená, preventívne urýchliť v budúcnosti 686 00:33:08,050 --> 00:33:10,230 takže môžem hľadať veci v tejto oblasti. 687 00:33:10,230 --> 00:33:13,700 A potom plné znenie je všeobecne pre odseku, alebo eseje, alebo veľké skupiny 688 00:33:13,700 --> 00:33:16,270 texte, kde vás tiež chcieť mať 689 00:33:16,270 --> 00:33:19,420 divoké karty, ako ekvivalent hviezdy. 690 00:33:19,420 --> 00:33:19,920 Presne tak. 691 00:33:19,920 --> 00:33:22,580 >> Tak to bol druh veľa naraz. 692 00:33:22,580 --> 00:33:25,220 Uvidíme, či sa nemôžeme páliť niekoľko z týchto funkcií 693 00:33:25,220 --> 00:33:29,540 a potom postaviť niečo pomerne jednoduchý, ale výkonný. 694 00:33:29,540 --> 00:33:31,380 Takže medzi ostatné Rozhodnutie dizajn vám nablízku 695 00:33:31,380 --> 00:33:34,005 nakoniec bude mať sa spolu línia skladovacích motorov. 696 00:33:34,005 --> 00:33:37,370 A dovoľte mi, aby zmienku o tomto v očakávaní záverečných prác, 697 00:33:37,370 --> 00:33:42,020 a predvídanie poďme say-- no poďme to urobiť. 698 00:33:42,020 --> 00:33:43,820 Budujme tento malý aplikácie ako prvý. 699 00:33:43,820 --> 00:33:48,070 Chystám sa ísť do môjho terminálu okná, a tu nie je 700 00:33:48,070 --> 00:33:52,500 iba counter.php, ktoré sme teraz deje ako sa zbaviť, ako už German, 701 00:33:52,500 --> 00:33:54,570 ale máme veľa adresárov a to 702 00:33:54,570 --> 00:33:58,080 bude veľmi podobné v duchu na to, čo uvidíte v probléme nastaviť sedem. 703 00:33:58,080 --> 00:34:00,980 >> Takže máme tri adresára zahŕňa verejné a šablóny, ktoré 704 00:34:00,980 --> 00:34:05,040 je presne tam, kde sme skončili na Pondelok celej našej MVC paradigmy. 705 00:34:05,040 --> 00:34:09,290 A rekapitulácia, na verejnosti sa chystá ísť akýkoľvek súbor, ktorý chcem užívateľom v skutočnosti 706 00:34:09,290 --> 00:34:12,969 v môcť navštíviť v ich prehliadača pomocou adresy URL. 707 00:34:12,969 --> 00:34:13,502 Šablóna. 708 00:34:13,502 --> 00:34:14,710 Čo sme dať do šablóny? 709 00:34:14,710 --> 00:34:17,070 Aké veci? 710 00:34:17,070 --> 00:34:21,659 Nebolo moc, ale pár Súbory najneskôr v pondelok. 711 00:34:21,659 --> 00:34:22,619 Jo. 712 00:34:22,619 --> 00:34:23,100 >> Divákov: Hlavička a päta? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. Malan: Hlavička a päta. 714 00:34:24,516 --> 00:34:26,679 Takže máme niečo podobné aj dnes. 715 00:34:26,679 --> 00:34:30,330 Máme ešte niekoľko ďalších súborov, ale Zápätie vidím, hlavičky vidím, 716 00:34:30,330 --> 00:34:31,909 a veľa ďalších súborov. 717 00:34:31,909 --> 00:34:35,482 Tak toto je ekvivalentná zastáva názor, V MVC, ktorá 718 00:34:35,482 --> 00:34:37,690 znovu, bude trochu viac jasné, problém nastaviť sedem, 719 00:34:37,690 --> 00:34:40,380 ale to je len zložka, že som uvedenie veľa mojich estetiky. 720 00:34:40,380 --> 00:34:42,840 Veľa mojich HTML, veľa mojich foriem. 721 00:34:42,840 --> 00:34:46,899 Medzitým, zahŕňa, je ďalší adresár, ktorý má tieto tri súbory 722 00:34:46,899 --> 00:34:48,440 a poďme sa rýchlo pozrieť na to. 723 00:34:48,440 --> 00:34:51,699 >> Chystám sa ísť dopredu a otvoriť config.php. 724 00:34:51,699 --> 00:34:54,610 Ako to dopadá, oveľa rovnako ako predtým v termíne, 725 00:34:54,610 --> 00:34:57,850 ste ostrý súčasťou CS50 bodka h s pset7. 726 00:34:57,850 --> 00:35:00,780 V dnešnom príklade, budete k tomu ekvivalent, ktorý 727 00:35:00,780 --> 00:35:03,600 s vyžadovať vyhlásenie ktoré účinne 728 00:35:03,600 --> 00:35:05,340 zahŕňa tieto niekoľko riadkov. 729 00:35:05,340 --> 00:35:08,225 Takže aby bolo jasno, to je súbor s názvom config.php. 730 00:35:08,225 --> 00:35:09,350 A všimnite si, čo to robí. 731 00:35:09,350 --> 00:35:11,970 Je to zrejme niečo mystické, sústruženie na chybové hlásenia 732 00:35:11,970 --> 00:35:13,680 takže ich môžete vidieť v prehliadači. 733 00:35:13,680 --> 00:35:15,860 Je to teda zrejme vyžaduje dva ďalšie súbory 734 00:35:15,860 --> 00:35:19,530 tak to je ako #include v C, a potom toto sme sa vidieť, 735 00:35:19,530 --> 00:35:22,720 a my sme sa spoliehali na to zapne že nákupný košík ako funkčnosť. 736 00:35:22,720 --> 00:35:25,610 >> To znamená, že cookie byť poslaný späť a vpred. 737 00:35:25,610 --> 00:35:27,290 Tak prečo je to zaujímavé? 738 00:35:27,290 --> 00:35:32,460 No, keď sa vrátime k tomu adresár a otvoriť, napríklad, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Všimnite si, že PHP robí podporné konštanty, nie je to úplne ako #define v C. 741 00:35:38,840 --> 00:35:41,290 Namiesto toho doslova hovoria definované a oznámenia 742 00:35:41,290 --> 00:35:44,110 že som sa ukladajú do vopred štyri konštanty v tomto súbore. 743 00:35:44,110 --> 00:35:47,020 Jeden pre dnešné databázy, pre moje heslo pre moje užívateľské meno, 744 00:35:47,020 --> 00:35:48,690 a názov servera. 745 00:35:48,690 --> 00:35:51,644 Tak to skutočne bude celkom podobný problém nastaviť sedem. 746 00:35:51,644 --> 00:35:54,560 A konečne, a to je miesto, kde som dostane nejaké pekné funkcie 747 00:35:54,560 --> 00:35:59,000 z pracovníkov, functions.php je banda kódu písali sme, 748 00:35:59,000 --> 00:36:01,040 a ja som ukradol niektoré z týchto od problém nastaviť sedem 749 00:36:01,040 --> 00:36:05,920 pre dnešný deň, ktorý robí veľa vecí a poďme stačí sa pozrieť na jeden z nich 750 00:36:05,920 --> 00:36:07,270 najmä. 751 00:36:07,270 --> 00:36:09,720 Táto funkcia tu dotaz, bude 752 00:36:09,720 --> 00:36:13,600 PHP funkcie nazývame za účelom výkonu SQL. 753 00:36:13,600 --> 00:36:16,070 Pred chvíľou sme boli s použitím phpMyAdmin, ale to je len 754 00:36:16,070 --> 00:36:18,720 pre druh výukovým účely a diagnostické účely 755 00:36:18,720 --> 00:36:20,494 a zabúdanie databázový súbor. 756 00:36:20,494 --> 00:36:22,660 Ak sa skutočne používať svoj databázy, vy, človek, 757 00:36:22,660 --> 00:36:24,100 sa zrejme nebude na vytiahnutie web 758 00:36:24,100 --> 00:36:25,740 stránky zakaždým, keď niekto zaregistruje. 759 00:36:25,740 --> 00:36:29,870 Budeš písať kód, ktorý vložky a odstráni užívateľa na vyžiadanie, 760 00:36:29,870 --> 00:36:32,490 a budeme to robiť pomocou funkcie dotazu. 761 00:36:32,490 --> 00:36:35,360 Keby som teraz posunúť nadol, je tu bude ešte niekoľko funkcií. 762 00:36:35,360 --> 00:36:37,170 Presmerovanie sa chystá byť funkcie sme napísali 763 00:36:37,170 --> 00:36:40,160 pre vás, ktoré vám umožnia Poslať užívateľovi na inú adresu URL, 764 00:36:40,160 --> 00:36:43,780 a robí je funkcia, celkom ako sme videli v pondelok, že v skutočnosti robí 765 00:36:43,780 --> 00:36:48,000 šablóna, ale viac o nich forma pset7 vlastné prechádzke. 766 00:36:48,000 --> 00:36:50,500 Pre túto chvíľu, poďme do toho a to. 767 00:36:50,500 --> 00:36:54,860 >> Nechaj ma ísť do mojej prednášky stola a vidieť, že je v súčasnosti nič 768 00:36:54,860 --> 00:36:59,640 len ešte tu, a dovoľte mi, aby som tiež ísť do môjho verejného adresára, kde 769 00:36:59,640 --> 00:37:02,780 je tam len jeden súbor, index.php. 770 00:37:02,780 --> 00:37:06,920 Tento súbor sa zdá byť super jednoduché v súčasnej dobe, to vyzerá takto. 771 00:37:06,920 --> 00:37:09,110 Veľmi podobne, ako sme skončil v pondelok. 772 00:37:09,110 --> 00:37:11,945 Som vyžadujúce tento súbor, config.php, ktorý je v 773 00:37:11,945 --> 00:37:15,160 obsahuje adresár, ktorý je dot dot, moji rodičia, 774 00:37:15,160 --> 00:37:17,650 a potom je to práve robí tento súbor. 775 00:37:17,650 --> 00:37:18,960 Takže to, čo je to súbor? 776 00:37:18,960 --> 00:37:24,700 >> Poďme otvoriť v mojich šablón form.php, a my budeme vidieť. 777 00:37:24,700 --> 00:37:28,500 Super jednoduché, zrejme je táto forma chystá predložiť do _GET $ alebo $ _POST. 778 00:37:28,500 --> 00:37:29,320 Rýchla kontrola zdravý rozum. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Doslova vizuálne vyhľadať súbor. 781 00:37:35,690 --> 00:37:36,610 Metóda sa rovná príspevku. 782 00:37:36,610 --> 00:37:39,280 Takže to nebude používať URL ako Google robí, že to bude tak nejako skryť 783 00:37:39,280 --> 00:37:41,030 Informácie pozadí scény a je to 784 00:37:41,030 --> 00:37:43,580 bude predkladať súbor s názvom register.php, 785 00:37:43,580 --> 00:37:45,660 a to je súbor sme ešte nenapísal 786 00:37:45,660 --> 00:37:47,610 ale to, čo to bude vyzerať ako to je. 787 00:37:47,610 --> 00:37:52,670 >> Ak idem do samostatnej stránky Toto je čo localhost / index.php vyzerá. 788 00:37:52,670 --> 00:37:56,930 A opäť, server je len za predpokladu, že index.php. 789 00:37:56,930 --> 00:37:57,910 Enter. 790 00:37:57,910 --> 00:37:59,870 Tak to je miesto, kde sme na, a to, čo chcem robiť 791 00:37:59,870 --> 00:38:02,450 je schopný zadať veci ako David, a potom 792 00:38:02,450 --> 00:38:08,050 moje telefónne číslo, ktoré sa bude hovoriť 617-555-1212 teraz, zaregistrujte sa 793 00:38:08,050 --> 00:38:09,910 a teraz register.php nebol nájdený. 794 00:38:09,910 --> 00:38:11,440 Tak som potrebné to urobiť. 795 00:38:11,440 --> 00:38:13,320 Takže poďme rýchlo vytasiť niečo také hore. 796 00:38:13,320 --> 00:38:18,640 Nechaj ma ísť do môjho verejnom zozname a to gedit z register.php, 797 00:38:18,640 --> 00:38:22,300 a teraz budem pokračovať a spustenie režimu PHP, ako sme to urobili v pondelok, 798 00:38:22,300 --> 00:38:25,430 a zatvorte PHP tag, a poďme urobiť pár vecí. 799 00:38:25,430 --> 00:38:28,336 >> Takže jeden, ja viem, z keď napísal, že formu, 800 00:38:28,336 --> 00:38:29,960 že chcem skontrolovať nasledujúce. 801 00:38:29,960 --> 00:38:35,670 Ak je prázdna, bez ohľadu na používateľa zadali do poľa Názov, potom 802 00:38:35,670 --> 00:38:39,860 Idem niečo povedať ako ospravedlniť chýba meno. 803 00:38:39,860 --> 00:38:42,380 Ospravedlňujem sa, zatiaľ, je nie je postavený v PHP vec, 804 00:38:42,380 --> 00:38:45,970 je to funkcia sme písali vo functions.php pre pset7 805 00:38:45,970 --> 00:38:47,940 tak, že budete mať k nemu prístup. 806 00:38:47,940 --> 00:38:53,830 Inak v prípade, že iné oblasti je prázdny, číslo, potom som 807 00:38:53,830 --> 00:38:58,370 ísť ospravedlniť užívateľa a hovoria chýbajúce číslo. 808 00:38:58,370 --> 00:38:59,320 Uložte tento súbor. 809 00:38:59,320 --> 00:39:02,640 >> Teraz sa vráťme do svojho prehliadača, späť do fóra skúste to znova. 810 00:39:02,640 --> 00:39:04,070 Registrovať. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Nič sa nestalo, čo je dobré. 813 00:39:06,730 --> 00:39:08,120 Nedostal som sa chybové hlásenie. 814 00:39:08,120 --> 00:39:11,651 Ale keď namiesto toho, poďme znovu tento strana, a neposkytuje nič. 815 00:39:11,651 --> 00:39:12,150 Sakra. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Urob to. 818 00:39:17,140 --> 00:39:18,810 Registrovať. 819 00:39:18,810 --> 00:39:20,350 Čo som urobil zle? 820 00:39:20,350 --> 00:39:24,860 Ak je prázdny, name $ _POST. 821 00:39:24,860 --> 00:39:26,350 Ešte raz? 822 00:39:26,350 --> 00:39:27,670 >> Oh, samozrejme. 823 00:39:27,670 --> 00:39:30,919 Zabudol som najdôležitejšia časť, ktorá je potrebné ("../ zahŕňa / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Potrebujem mať prístup k Ospravedlňujem sa funkcie, ktoré 826 00:39:36,460 --> 00:39:37,770 Preto sa nič nedeje. 827 00:39:37,770 --> 00:39:39,460 Funkcia v skutočnosti neexistuje. 828 00:39:39,460 --> 00:39:40,640 Tak si to skúste znova. 829 00:39:40,640 --> 00:39:42,350 Poďme znova načítať stránku, kliknite na tlačidlo Registrovať. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Tu to je. 832 00:39:43,770 --> 00:39:45,700 Takže výstup sme Tu je vidieť výsledok 833 00:39:45,700 --> 00:39:47,685 volanie ospravedlniť funkcie, super jednoduchý, 834 00:39:47,685 --> 00:39:50,060 a to len vytlačí čokoľvek Dávam to ako argument. 835 00:39:50,060 --> 00:39:51,370 >> Dobre, tak poďme spolupracovať. 836 00:39:51,370 --> 00:39:54,240 Poďme poskytnúť svoje meno ako David, zaregistrujte sa, 837 00:39:54,240 --> 00:39:56,890 Chýba číslo OK poďme stanovuje, že taky. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Registrovať. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Takže je všetko v poriadku teraz, len nič zaujímavé sa deje. 842 00:40:02,760 --> 00:40:06,000 Takže teraz poďme urobiť niečo viac Zaujímavé stane takto. 843 00:40:06,000 --> 00:40:09,980 Nechaj ma ísť do phpMyAdmin, a poďme vlastne vytvoriť tabuľku s názvom užívatelia 844 00:40:09,980 --> 00:40:12,330 Chystám sa dať tri stĺpy, a budem rýchlo 845 00:40:12,330 --> 00:40:16,250 vytvoriť ID, a potom meno a číslo, 846 00:40:16,250 --> 00:40:18,832 a polia ID som k odchodu ako int. 847 00:40:18,832 --> 00:40:20,790 Názov poľa idem ponechať ako varchar, 848 00:40:20,790 --> 00:40:23,257 a povieme 64, trochu svojvoľne. 849 00:40:23,257 --> 00:40:25,090 Počet Idem aby, vieš čo? 850 00:40:25,090 --> 00:40:27,350 Ideme do tu podpora čísla v USA, 851 00:40:27,350 --> 00:40:31,510 tak idem niečo robiť ako char a potom 10 znakov 852 00:40:31,510 --> 00:40:34,540 max pre predčíslia a potom sedem číslic. 853 00:40:34,540 --> 00:40:37,870 A potom tu, idem špecifikovať auto prírastok tejto oblasti 854 00:40:37,870 --> 00:40:40,550 aby to primárny kľúč, a Chystám sa ísť dopredu a nie 855 00:40:40,550 --> 00:40:42,240 kontrolovať niektoré z týchto ďalších boxov. 856 00:40:42,240 --> 00:40:48,030 >> Takže keď som teraz konečne kliknite na tlačidlo Uložiť, a ja som sa vrátiť k môjmu užívateľov tabuľky, 857 00:40:48,030 --> 00:40:52,270 To je, ako to vyzerá, keď Teraz kliknite na štruktúru Nová karta. 858 00:40:52,270 --> 00:40:54,550 Takže to, aby bolo jasné, je len spôsob, ako phpMyAdmin sa 859 00:40:54,550 --> 00:40:58,570 hovoriť svoje databázové tabuľky má ID, meno a číslo 860 00:40:58,570 --> 00:41:02,040 s týmito konkrétne konfiguráciou a budeme ignorovať zostávajúce pole 861 00:41:02,040 --> 00:41:03,140 tam teraz. 862 00:41:03,140 --> 00:41:04,810 >> Takže teraz, čo mám robiť? 863 00:41:04,810 --> 00:41:09,060 Takže keď som sa ísť do môjho zdrojový kód, ak je všetko v poriadku 864 00:41:09,060 --> 00:41:11,190 Chcem spustiť nasledujúci dotaz. 865 00:41:11,190 --> 00:41:14,970 Vložiť do, a môžem len hovoria užívatelia neviem presne 866 00:41:14,970 --> 00:41:18,620 Potrebujeme tie zadné kliešte, ak je to nie je nebezpečný slovo ako užívateľa. 867 00:41:18,620 --> 00:41:22,810 Budem hovoriť mená, číslo, a potom tu som 868 00:41:22,810 --> 00:41:24,960 nebude pevný kód číslica hodnôt doteraz. 869 00:41:24,960 --> 00:41:26,760 Chystám sa dať dva otázniky. 870 00:41:26,760 --> 00:41:29,320 A to je konvencie v mnohých jazykoch 871 00:41:29,320 --> 00:41:31,730 pričom v prípade, že chcete mať zástupný reťazec 872 00:41:31,730 --> 00:41:34,105 budete používať na otázku značky, z dôvodov, ktoré budem 873 00:41:34,105 --> 00:41:36,370 vrátiť sa na chatu o bezpečnosť, a tu 874 00:41:36,370 --> 00:41:39,420 Chystám sa v tých dve polia písať meno, 875 00:41:39,420 --> 00:41:44,850 a potom po radu, a teraz súbor uložte. 876 00:41:44,850 --> 00:41:47,090 >> A teraz budem ísť dole je super tu 877 00:41:47,090 --> 00:41:55,690 jednoducho povedať rendersuccess.php, ktorý bude ďalší šablóny. 878 00:41:55,690 --> 00:41:57,380 Chystám sa vytvoriť naozaj rýchlo. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php a ja som jednoducho ísť povedať H1 úspech v tomto súbore. 880 00:42:06,270 --> 00:42:06,990 Dobrá. 881 00:42:06,990 --> 00:42:11,312 Takže teraz, poďme späť k prehliadač, kde som navštívil predtým. 882 00:42:11,312 --> 00:42:14,270 Poďme ďalej a potvrďte som napísal Davida, som napísal v telefónne číslo, 883 00:42:14,270 --> 00:42:15,390 registrovať. 884 00:42:15,390 --> 00:42:16,100 Sakra. 885 00:42:16,100 --> 00:42:17,420 Čo som urobil zle? 886 00:42:17,420 --> 00:42:20,850 Takže som videl chybu tu, majú chybu vo vašom syntax SQL. 887 00:42:20,850 --> 00:42:24,900 Dovoľte mi, aby som skočiť späť do gedit, nech ma ísť späť do register.php, 888 00:42:24,900 --> 00:42:28,830 a to, čo som zabudnúť, že bolo dôležité, naposledy? 889 00:42:28,830 --> 00:42:29,722 Potrebujem to. 890 00:42:29,722 --> 00:42:32,930 Ak chcete vedieť, že iné ako z s nevšimol, ale potrebujem to. 891 00:42:32,930 --> 00:42:35,596 >> Takže teraz sa vráťme, a to bolo užitočné vidieť v prehliadači 892 00:42:35,596 --> 00:42:37,680 a to je dôvod, prečo v config.php sme vypľuť chyby. 893 00:42:37,680 --> 00:42:41,770 Poďme ďalej a znova, kliknite na tlačidlo Pokračovať, úspech. 894 00:42:41,770 --> 00:42:47,060 Takže teraz ma nechaj ísť ku mne Databáza tu a kliknite na používateľa, 895 00:42:47,060 --> 00:42:51,680 a prechádzať, a všimnite si teraz mať David vo svojej databáze tu. 896 00:42:51,680 --> 00:42:55,810 Teraz technicky tento web je ale nie na verejný internet, 897 00:42:55,810 --> 00:42:57,890 takže nemôžem mať iný ľudia v uvedení tu, 898 00:42:57,890 --> 00:43:01,120 ale keď som teraz chcel, pre inštancie, poslať sám textovú správu. 899 00:43:01,120 --> 00:43:03,920 Poďme von na údu tu a uvidíme, či to skutočne funguje. 900 00:43:03,920 --> 00:43:07,331 Chystám sa ísť dopredu a odstrániť tento riadok 901 00:43:07,331 --> 00:43:09,080 a budeme rozmazaniu to vo videu neskôr 902 00:43:09,080 --> 00:43:11,900 takže nemáme Celý internet mi SMS, 903 00:43:11,900 --> 00:43:17,270 a teraz budeme pokračovať až do prehliadač a pôjdeme cez prednášať 904 00:43:17,270 --> 00:43:22,040 a my budeme písať v rôznych Číslo ktoré tu nastavíte, zaregistrujte sa, úspech. 905 00:43:22,040 --> 00:43:25,550 >> Takže teraz, moje číslo je pravdepodobne v databázy, a teraz to najzábavnejšie. 906 00:43:25,550 --> 00:43:28,774 Poďme skutočne používať PHP robiť niečo programovo, 907 00:43:28,774 --> 00:43:30,940 buď z príkazu linka alebo niekde inde, 908 00:43:30,940 --> 00:43:32,773 a teraz som len ísť, aby to jednoduché 909 00:43:32,773 --> 00:43:36,230 a ja idem do môjho adresár tu a vykonajte nasledujúce kroky. 910 00:43:36,230 --> 00:43:44,920 Gedit script povedzme, my budeme hovoriť text, #! / user / bin / env PHP, 911 00:43:44,920 --> 00:43:46,700 ako sme videli minule. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Teraz budem robiť, vyžadovať zahŕňa config.php, 914 00:43:55,055 --> 00:43:57,360 aj keď by to mohlo vyvolať mierne chyby. 915 00:43:57,360 --> 00:44:03,960 A teraz budem pokračovať a povedať, riadky, dotaz, vyberte hviezda od užívateľov, 916 00:44:03,960 --> 00:44:08,149 a teraz tu budem robiť techniku od minule pre každý riadok ako riadok. 917 00:44:08,149 --> 00:44:09,690 A ja urobím niečo jednoduché. 918 00:44:09,690 --> 00:44:19,090 Printf povedzme, že meno je to, a číslo je to, spätné lomítko n. 919 00:44:19,090 --> 00:44:23,320 A teraz idem prejsť v rade citovať koniec citátu meno, 920 00:44:23,320 --> 00:44:28,140 a číslo riadku citácie koniec citátu, a teraz poďme do toho 921 00:44:28,140 --> 00:44:31,430 a okno má terminál chmod + x to, aby sa 922 00:44:31,430 --> 00:44:33,970 tento skript s názvom texte spustiteľný súbor. 923 00:44:33,970 --> 00:44:36,080 A teraz poďme bežať text. 924 00:44:36,080 --> 00:44:37,590 >> OK, tak pokrok. 925 00:44:37,590 --> 00:44:39,960 Takže som teraz napísal príkazový riadok skriptu, 926 00:44:39,960 --> 00:44:43,300 v jazyku PHP s názvom, ktorý, z dôvodu, že vyžadujú rad, 927 00:44:43,300 --> 00:44:46,380 má prístup ku všetkým tým konfigurácia konštanty, ktoré som uvedené. 928 00:44:46,380 --> 00:44:48,177 Názov databázy a tak ďalej. 929 00:44:48,177 --> 00:44:50,260 V skutočnosti, len aby bolo jasno že to nie je náhoda, 930 00:44:50,260 --> 00:44:54,730 nechaj ma ísť napred a registráciu veľmi rýchlo, niekto ako Rob 931 00:44:54,730 --> 00:44:58,890 a mu dá číslo 555-1212. 932 00:44:58,890 --> 00:45:01,557 >> A teraz, keď som spustiť skript znova, všimnite si moc 933 00:45:01,557 --> 00:45:03,140 z toho, čo robíme s databázou. 934 00:45:03,140 --> 00:45:07,680 Teraz som hneď videl, čo Ďalšie dva riadky sú v mojej databáze. 935 00:45:07,680 --> 00:45:10,699 Takže teraz poďme skúsiť niečo urobiť aj milovník vnútri, 936 00:45:10,699 --> 00:45:12,740 a to je tá časť, máme netestované vopred, 937 00:45:12,740 --> 00:45:15,910 tak naposledy, čo som to urobil to išlo hrozne nakrivo, 938 00:45:15,910 --> 00:45:17,120 Máme video, ktoré v tomto zmysle. 939 00:45:17,120 --> 00:45:18,286 >> Vlastne jo, sranda bokom. 940 00:45:18,286 --> 00:45:20,480 Takže v poslednej dobe, prednáška rovnako ako pred dvoma rokmi, 941 00:45:20,480 --> 00:45:23,230 Rozhodli sme sa, som sa rozhodol, aby sa to všetko by bolo skvelý nápad 942 00:45:23,230 --> 00:45:28,150 dynamicky generovať e-maily triedy, cez celý databázy CS50 943 00:45:28,150 --> 00:45:33,390 študenti, ktorí nám dali ich čísla a ich mobil dopravcovia, ktorí vás 944 00:45:33,390 --> 00:45:36,290 možno pamätáte z pset0, ako rozum, to dopadá 945 00:45:36,290 --> 00:45:40,650 Mal som malú chybu v mojom programe a urobil pár chýb v roku 2012, myslím. 946 00:45:40,650 --> 00:45:43,997 >> Kedy, čo som mal na slučke, ktorá sa robil presne tieto veci, 947 00:45:43,997 --> 00:45:46,580 iterácie cez databázu, dostať meno z databázy, 948 00:45:46,580 --> 00:45:49,940 meno z databázy, a potom sa na seba opakovanie tohto cyklu som poslal e-mail. 949 00:45:49,940 --> 00:45:54,130 Ale namiesto toho, ¾e odoslanie jednej e-mailu, I poslal jedného e-mailu prvej iterácii, 950 00:45:54,130 --> 00:45:58,200 a dva e-maily druhej iterácii, poslal tri e-maily druhej iterácii, čo 951 00:45:58,200 --> 00:46:01,230 ako si možno pamätáte z našich diskusia o asymptotickej notácie 952 00:46:01,230 --> 00:46:06,400 tento veľký O zlých, ako n na druhú je, koľko správ som poslal, 953 00:46:06,400 --> 00:46:08,560 ale to nebolo ani e-maily to textové správy. 954 00:46:08,560 --> 00:46:12,070 >> A ako viete, účasť nie je Super High ku koncu semestra 955 00:46:12,070 --> 00:46:15,360 a tak som si myslel, že by bolo roztomilé na čas povedať: "Prečo nie si trieda?" 956 00:46:15,360 --> 00:46:17,880 V texte správy I odoslaná na celú triedu, 957 00:46:17,880 --> 00:46:22,140 a to bolo smiešne, rád 50% triedy, ale druhý 50%, z ktorých niektorí 958 00:46:22,140 --> 00:46:26,102 vydesený, poslal som neuveriteľne ospravedlňujúcim sladké poznámky 959 00:46:26,102 --> 00:46:28,560 aby zamestnanci ospravedlňovať za čo vynechal prednášku práve 960 00:46:28,560 --> 00:46:29,530 to raz, že jo? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Tak, že by strašne nakrivo. 963 00:46:34,030 --> 00:46:37,030 Takže v tomto duchu, skúsme to znova, ale len s mojím číslom. 964 00:46:37,030 --> 00:46:41,940 V predstihu, v functions.php, Napísal som túto funkciu tu. 965 00:46:41,940 --> 00:46:44,250 Je to len text, a to trvá tri argumenty. 966 00:46:44,250 --> 00:46:46,360 Číslo, nosič a správa. 967 00:46:46,360 --> 00:46:50,390 >> Ja používam príkaz switch, ktorý nádherne PHP vziať reťazca, a to nielen 968 00:46:50,390 --> 00:46:53,350 celé čísla, a ja som sa realizovať všetku podporu pre to ešte, 969 00:46:53,350 --> 00:46:55,370 Práve som urobil AT & T a Verizon. 970 00:46:55,370 --> 00:46:57,610 Vzhľadom k tomu, že dopadá že s týmito nosičmi 971 00:46:57,610 --> 00:47:00,570 majú e-mail na SMS brán, kedy môžete naozaj 972 00:47:00,570 --> 00:47:05,529 pošlite e-mail na adresu ako telefónne číslo v vtext.com 973 00:47:05,529 --> 00:47:08,070 a v prípade, že užívateľ nie je blokovaný správy, bude to prejsť 974 00:47:08,070 --> 00:47:09,340 je textová správa. 975 00:47:09,340 --> 00:47:13,270 >> A teraz, ako to urobiť, budem musieť pridať jedno pole naozaj rýchlo, aby moje databázy. 976 00:47:13,270 --> 00:47:15,470 Chystám sa ísť do moja konštrukcia, a ja som 977 00:47:15,470 --> 00:47:21,880 bude pokračovať a pridať polia na konci tabuľky. 978 00:47:21,880 --> 00:47:25,227 Poďme na tlačidlo Prejsť, a ja som bude volať tento dopravca 979 00:47:25,227 --> 00:47:27,310 a teraz idem ponechať ako text pruhu, 980 00:47:27,310 --> 00:47:29,320 ale môžeme byť milovník v budúcnosti. 981 00:47:29,320 --> 00:47:31,961 Chystám sa ísť rýchlo na mojom stole, a ja som 982 00:47:31,961 --> 00:47:34,210 bude, ako sa zbaviť Rob, pretože to je falošný číslo, 983 00:47:34,210 --> 00:47:38,540 Chystám sa ísť do Upraviť tu a ja som zmení svoj nosič ručne 984 00:47:38,540 --> 00:47:43,410 byť Verizon, ktorý ho je, a teraz tu. 985 00:47:43,410 --> 00:47:44,980 >> Poďme urobiť rýchlu kontrolu zdravý rozum. 986 00:47:44,980 --> 00:47:52,730 Poďme otvoriť náš textový skript, ktorý vyzerá to, nosič je% s. 987 00:47:52,730 --> 00:47:58,230 Robíme oveľa väčšiu chybu kontrolu, než som urobil v roku 2012, dopravcu. 988 00:47:58,230 --> 00:48:01,160 A teraz, ja idem dopredu a znova spustite skript. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier je Verizon, čo znamená, Teraz dúfam, že môžem robiť len to. 991 00:48:06,100 --> 00:48:08,360 Správne v tomto roku, dúfajme, že je to tu. 992 00:48:08,360 --> 00:48:12,200 >> Takže vnútri tejto slučky for, som bude mať nielen tento printf, 993 00:48:12,200 --> 00:48:15,990 Som tiež chystá zavolať text a použitie tejto funkcie odvolaní 994 00:48:15,990 --> 00:48:19,670 Bol to trvá niekoľko, nosič a správa. 995 00:48:19,670 --> 00:48:23,310 Takže poďme sa pozrieť, číslo bude byť riadok citovať koniec citátu "číslo" 996 00:48:23,310 --> 00:48:31,660 riadok citácie koniec citátu "dopravca" a posledná z nich bola správa. 997 00:48:31,660 --> 00:48:36,250 Nenechajte mhouřit tento rok, bodkočiarka. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Palca. 1000 00:48:38,280 --> 00:48:39,970 Uvidíme, či to funguje. 1001 00:48:39,970 --> 00:48:41,720 Dobre, tak. 1002 00:48:41,720 --> 00:48:43,000 Ideme na to. 1003 00:48:43,000 --> 00:48:47,380 Poďme odomknúť telefón, cez prsty, sakra. 1004 00:48:47,380 --> 00:48:50,300 Nedefinovaný premenná may-- oh počkaj, počkaj, počkaj, naozaj rýchlo. 1005 00:48:50,300 --> 00:48:51,340 Veľmi rýchlo, naozaj rýchlo. 1006 00:48:51,340 --> 00:48:53,380 To je absolútne stojí za to. 1007 00:48:53,380 --> 00:48:57,710 Nechaj ma chytiť, dajte mi chytiť, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Ďakujem vám, že texty majú začal od niekoho iného. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Nechaj ma ísť napred a otvoriť real rýchlo, dropbox.php / mail tu. 1011 00:49:11,650 --> 00:49:12,660 Standby. 1012 00:49:12,660 --> 00:49:14,455 Absolútne stojí za to. 1013 00:49:14,455 --> 00:49:17,430 Súbory na stiahnutie. 1014 00:49:17,430 --> 00:49:18,560 OK, zdroj src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Potrebujete ďalší jeden riadok tu. 1017 00:49:21,380 --> 00:49:24,530 Oh, že to je, že je to v frosh IM, to je v registri na tri. 1018 00:49:24,530 --> 00:49:28,820 Oh ahoj, Margo, moc ďakujem. 1019 00:49:28,820 --> 00:49:31,130 OK, a ja som tu chýba tento riadok. 1020 00:49:31,130 --> 00:49:33,010 Takže dovoľte mi, aby som sa rýchlo chytiť tento riadok kódu, 1021 00:49:33,010 --> 00:49:36,200 ktorý zahŕňa poštu alebo knižnicu že som vlastne chcete použiť, 1022 00:49:36,200 --> 00:49:38,300 Idem rýchlo späť do funkcie, 1023 00:49:38,300 --> 00:49:42,337 Chystám sa ísť na vrchole tohto súboru a požadovať, aby tento súbor rovnako, 1024 00:49:42,337 --> 00:49:45,420 a teraz idem naozaj na moju prsty, keď som sa vrátiť do príkazu 1025 00:49:45,420 --> 00:49:49,530 riadok skriptu, ktorý je vo vnútri dnešné miestneho hostiteľa adresára. 1026 00:49:49,530 --> 00:49:50,610 Spustiť textu. 1027 00:49:50,610 --> 00:49:52,720 Enter. 1028 00:49:52,720 --> 00:49:53,220 Mail. 1029 00:49:53,220 --> 00:49:53,719 Standby. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Standby. 1032 00:49:59,600 --> 00:50:01,680 Mail. 1033 00:50:01,680 --> 00:50:02,290 Oh, OK. 1034 00:50:02,290 --> 00:50:03,870 Ideme na to. 1035 00:50:03,870 --> 00:50:06,880 >> Mail dostane nový PHP mailer. 1036 00:50:06,880 --> 00:50:09,970 Urobil som toto právo? 1037 00:50:09,970 --> 00:50:11,067 Sakra. 1038 00:50:11,067 --> 00:50:12,150 To-- oh, počkať, počkať, počkať. 1039 00:50:12,150 --> 00:50:12,649 Stand by. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Sľubujem, že to je Bude to stojí za to. 1042 00:50:18,630 --> 00:50:20,340 Adresa. 1043 00:50:20,340 --> 00:50:24,390 To je dôvod, prečo nerobím príklady priamo pred triedou. 1044 00:50:24,390 --> 00:50:26,350 Fuj. 1045 00:50:26,350 --> 00:50:27,910 Nasledujúci príjemcovi zlyhalo. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Skúsme jednu poslednú vec. 1048 00:50:33,040 --> 00:50:40,660 SMTP nastaviť od, pridajte adresu, adresa je skutočne, že. 1049 00:50:40,660 --> 00:50:43,980 Skúsme túto poslednú časť na adresu. 1050 00:50:43,980 --> 00:50:47,210 Aw, som naozaj smutné práve teraz. 1051 00:50:47,210 --> 00:50:47,854 Děkuju. 1052 00:50:47,854 --> 00:50:50,270 Ale ja naozaj oceňujem všetky texty ste odosielanie. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Máte tento Davida. 1055 00:50:56,320 --> 00:50:59,310 Ste fúka to. 1056 00:50:59,310 --> 00:51:01,720 Poďme ho tam nechať a budeme opraviť v pondelok. 1057 00:51:01,720 --> 00:51:04,290 Uvidíme sa potom. 1058 00:51:04,290 --> 00:51:08,090 >> Daven FARNHAM: A teraz Hlboké Myšlienky od Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Ak binárny strom spadne v lese a nikto nie je okolo C to-- [so smiechom]. 1061 00:51:17,590 --> 00:51:18,998