1 00:00:00,000 --> 00:00:10,393 >> [Zenelejátszó] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. MALAN: Rendben. 4 00:00:12,120 --> 00:00:12,830 Üdvözöljük. 5 00:00:12,830 --> 00:00:13,890 Ez CS50. 6 00:00:13,890 --> 00:00:15,570 Ez a hét végén 8. 7 00:00:15,570 --> 00:00:18,360 És mint tudjuk, van elég rendes munkaidőn néhány 8 00:00:18,360 --> 00:00:21,090 Az étkezőben, beleértve Annenberg. 9 00:00:21,090 --> 00:00:23,860 És néhány kedves csapat fotózni mostanában. 10 00:00:23,860 --> 00:00:26,230 És tiszteletére Halloween, azt hittük, 11 00:00:26,230 --> 00:00:30,160 egy közös, hogy inkább elkapott minket meglepetés itt Annenberg terem csak 12 00:00:30,160 --> 00:00:31,490 a múltkor. 13 00:00:31,490 --> 00:00:36,300 Az osztálytárs Jacob pózolt ezt a fotót, de inkább szórakoztató 14 00:00:36,300 --> 00:00:39,760 volt a Facebook-on, a következő beszélgetés történt utána. 15 00:00:39,760 --> 00:00:43,020 >> Az első post válaszként ő volt az a fénykép. 16 00:00:43,020 --> 00:00:46,740 Néhány perccel később, úgy döntött, az egyik fel magát ezzel. 17 00:00:46,740 --> 00:00:53,800 Ez ment majd megy ez, és akkor, még inkább szórakoztatóan 18 00:00:53,800 --> 00:00:55,320 az, amikor az anyja szólt közbe. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 És akkor végül, úgy tűnik, ez csak 21 00:01:01,800 --> 00:01:04,860 csodálatos csel egy játszani, ami folyik. 22 00:01:04,860 --> 00:01:07,080 >> Tehát, ha azt szeretné, hogy Jacob és mások, 23 00:01:07,080 --> 00:01:10,880 köztük Cynthia Meng, aki a színfalak mögött a CS50 zóna személyzet, 24 00:01:10,880 --> 00:01:13,970 fej erre az URL, és ez a játék itt. 25 00:01:13,970 --> 00:01:18,810 Tehát minden további nélkül, ma továbbra is ezt a pillantást web programozás, 26 00:01:18,810 --> 00:01:21,810 és a tényleges programokat hoztak létre, hogy nem futnak a parancssorban, 27 00:01:21,810 --> 00:01:24,080 de ahelyett, fuss belsejében egy böngésző. 28 00:01:24,080 --> 00:01:26,320 >> Feltehetően most, vagy nagyon röviden, mész 29 00:01:26,320 --> 00:01:30,200 hogy a közepén végrehajtási saját web-szerver, amely 30 00:01:30,200 --> 00:01:31,700 eltér a webes programozás. 31 00:01:31,700 --> 00:01:36,210 A web szerver pset6 szól írás szoftver, amely tudja, hogyan kell 32 00:01:36,210 --> 00:01:39,300 HTTP kérések a böngészőből, vagy akár te, ember, 33 00:01:39,300 --> 00:01:42,340 a program neve Telnet, és majd válaszol a kérelmekre sem 34 00:01:42,340 --> 00:01:48,600 által kiköpte egy HTML fájlt, vagy a jpeg vagy gif, vagy akár egy .php fájlt. 35 00:01:48,600 --> 00:01:52,490 >> De egy webszerver, ez nem állítólag csak megnyitni a PHP fájlt, 36 00:01:52,490 --> 00:01:55,260 valami végződő .php, és majd köpje ki a tartalmát. 37 00:01:55,260 --> 00:01:58,440 Ez kéne csinálni mi az, hogy a fájl első? 38 00:01:58,440 --> 00:01:59,390 Hogy úgy mondjam. 39 00:01:59,390 --> 00:02:04,060 Nem fordíthatod, azt mondta hétfőn, de rather-- Szóval értelmezni. 40 00:02:04,060 --> 00:02:08,070 >> A PHP egy értelmezett nyelv, és így egyik fő jellemzője a web 41 00:02:08,070 --> 00:02:11,550 szerver, de végre nekünk, ez a képesség a web szerver 42 00:02:11,550 --> 00:02:12,490 észre, oh. 43 00:02:12,490 --> 00:02:14,580 Ez a fájl végződő .php. 44 00:02:14,580 --> 00:02:17,970 Hadd ne csak küldje el a felhasználó, mint ez a statikus tartalom, 45 00:02:17,970 --> 00:02:20,970 hanem inkább hadd olvassa el a sort sor, balról jobbra, és értelmezni azt. 46 00:02:20,970 --> 00:02:23,030 >> És nem, hogy srácok alapvetően 47 00:02:23,030 --> 00:02:26,520 punt a program a készülék, és egy csomó számítógépes rendszerek, 48 00:02:26,520 --> 00:02:27,500 most hívott PHP. 49 00:02:27,500 --> 00:02:30,579 Ez a neve a PHP nyelv saját tolmácsa. 50 00:02:30,579 --> 00:02:33,120 Tehát, hogy a darab azt végrehajtani te, és mi marad neked, 51 00:02:33,120 --> 00:02:35,240 végül, egy szám darab, amelyek közül 52 00:02:35,240 --> 00:02:37,960 végrehajtja támogatás statikus tartalom. 53 00:02:37,960 --> 00:02:40,180 >> De most, és a probléma állítva hét, te 54 00:02:40,180 --> 00:02:43,660 fog kezdeni az átmenet valójában írni a PHP kódot 55 00:02:43,660 --> 00:02:45,970 hogy lesz értelmezhető beszél, hogy a back end 56 00:02:45,970 --> 00:02:47,960 adatbázis, amely tárolja az információkat. 57 00:02:47,960 --> 00:02:51,020 Szóval jobban ért az első egy pár ilyen szuperglobális 58 00:02:51,020 --> 00:02:53,720 és, hogy mennyi energiára van kijutni a doboz ingyen 59 00:02:53,720 --> 00:02:55,250 a nyelv, mint a PHP. 60 00:02:55,250 --> 00:02:57,350 A dolgok nem rendelkezik végrehajtására magad. 61 00:02:57,350 --> 00:03:01,700 >> Így láttuk hétfőn $ _GET, amely egy szuperglobális, 62 00:03:01,700 --> 00:03:05,496 ami csak a PHP beszélni a globális változó Bárhonnan elérhető. 63 00:03:05,496 --> 00:03:06,620 És mi van benne a $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Mi benne az e szuperglobális hogy látunk? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Bizonyára statisztikailag Legalább egy ember tudja. 68 00:03:19,020 --> 00:03:21,590 Mi van a $ _GET? 69 00:03:21,590 --> 00:03:22,426 Igen? 70 00:03:22,426 --> 00:03:24,130 >> KÖZÖNSÉG: Ez a változó teszel a query string. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. MALAN: Tökéletes. 72 00:03:24,530 --> 00:03:26,488 Ez a változók tedd a query string. 73 00:03:26,488 --> 00:03:29,910 Tehát a régebbi példát reimplementing Google, amikor már 74 00:03:29,910 --> 00:03:34,130 egy URL-t, majd a kérdőjel, amely kijelölte kezdete HTTP 75 00:03:34,130 --> 00:03:37,950 paramétereket, akkor mi volt q egyenlő valami, mint a q értéke macskák, 76 00:03:37,950 --> 00:03:41,500 mi automatikusan bemenni Az, hogy a $ _GET szuper globális neked, 77 00:03:41,500 --> 00:03:47,430 mert a PHP, kulcsfontosságú a Q, és értékét, a macskák. 78 00:03:47,430 --> 00:03:51,250 >> Más szóval, $ _GET és az összes ezek a dolgok asszociatív tömböt, 79 00:03:51,250 --> 00:03:54,530 hash táblák a fajta, hogy bolt kulcsokat és értékeket. 80 00:03:54,530 --> 00:03:57,980 Most vissza pset5, a hash tábla lehet, hogy végre, 81 00:03:57,980 --> 00:04:00,220 vagy az lehet, hogy megpróbál végrehajtotta, tényleg 82 00:04:00,220 --> 00:04:04,010 volt gyakorlatilag egy asszociációs tömb, egy adatstruktúra 83 00:04:04,010 --> 00:04:07,220 amely lehet társítani kulcsokat értékekkel. 84 00:04:07,220 --> 00:04:09,690 >> De pset5, az értékek triviális. 85 00:04:09,690 --> 00:04:12,430 Az érték lényegében igaz, vagy hamis. 86 00:04:12,430 --> 00:04:13,900 A szó a szótárban? 87 00:04:13,900 --> 00:04:18,279 Tehát, ha egy kivonatos szót, mint alma hogy ha alma van a szótárban, 88 00:04:18,279 --> 00:04:21,820 az ellenőrzés funkció feltehetően vissza igaz vagy hamis. 89 00:04:21,820 --> 00:04:24,120 Szóval, hogy ez ténylegesen a érték vagyunk kapok vissza. 90 00:04:24,120 --> 00:04:26,456 >> De láttam a hétfő Röviden, akkor biztosan 91 00:04:26,456 --> 00:04:28,830 társult érdekesebb értékek, mint true vagy false 92 00:04:28,830 --> 00:04:30,790 A kulcs, mint az Apple. 93 00:04:30,790 --> 00:04:33,909 Lehet tényleg vissza egy tetszőleges string, sőt, 94 00:04:33,909 --> 00:04:36,200 ez az, amit $ _GET és ezek Más változók segítségével csinálni. 95 00:04:36,200 --> 00:04:40,595 >> Tehát $ _POST hasonló szellemben, de ha be egy űrlapot postai úton, 96 00:04:40,595 --> 00:04:44,490 más HTTP módszer, ami használt dolgok, mint a hitelkártyák, 97 00:04:44,490 --> 00:04:48,410 és személyes adatokat, és még bináris adatokat, mint a képek, 98 00:04:48,410 --> 00:04:51,840 ezek a dolgok a végén belsejében $ _POST. 99 00:04:51,840 --> 00:04:53,770 És tulajdonképpen fájlok mint JPEG-ek és miegymás, 100 00:04:53,770 --> 00:04:58,290 van még egy másik, hogy ez nem itt az úgynevezett $ _FILES is. 101 00:04:58,290 --> 00:05:01,280 >> Szóval, a szerver nem fogunk lakni túl sok, de ez ad hozzáférést 102 00:05:01,280 --> 00:05:04,860 rendezni az alacsonyabb szintű részletek a szerver is, amit használ. 103 00:05:04,860 --> 00:05:07,430 Cookie és ülés, bár, fogjuk látni most hatékonyan. 104 00:05:07,430 --> 00:05:10,940 Az utolsó, amit arra használunk, hogy végre fogalma a kosár. 105 00:05:10,940 --> 00:05:14,480 Egy szuper egyszerű, de visszahívás hogy mi volt ez a példa itt, 106 00:05:14,480 --> 00:05:17,640 számlálás hányszor járt ezt a lapot. 107 00:05:17,640 --> 00:05:20,850 >> De ma, nem csak nézni a hatása az, nyissuk fel 108 00:05:20,850 --> 00:05:22,640 Chrome Inspector, amelyek segítségével általában 109 00:05:22,640 --> 00:05:25,740 ezt a jobb egérgombbal vagy a Control kattintson bárhol a weboldal, 110 00:05:25,740 --> 00:05:27,250 majd válassza vizsgálja elem. 111 00:05:27,250 --> 00:05:31,600 Vagy mehetsz a menükben hogy leírjuk a pset6 a spec. 112 00:05:31,600 --> 00:05:35,020 És megyek a Network fül itt, és nézzük meg egy pillanatra 113 00:05:35,020 --> 00:05:37,590 a HTTP forgalmat, ami oda-vissza. 114 00:05:37,590 --> 00:05:40,929 >> Először is hadd menjen előre és tiszta Chrome cache. 115 00:05:40,929 --> 00:05:43,470 Így néhány ismerős lehet ezzel a technikával már, 116 00:05:43,470 --> 00:05:45,790 és fogunk használni hibakeresés itt. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Most például a számítógép tudósok fognak kezdeni 119 00:05:50,890 --> 00:05:53,920 ezt a hibakeresés célokra, amelynek során 120 00:05:53,920 --> 00:05:55,910 akkor törölje a cache, jellemzően, hogy mi 121 00:05:55,910 --> 00:05:57,670 megszabadulni dolgokat az úgynevezett cookie-kat. 122 00:05:57,670 --> 00:06:01,700 Szóval valószínűleg általánosan ismert milyen a cookie-k, vagy legalábbis 123 00:06:01,700 --> 00:06:04,370 hogy léteznek, de mi a megértést őket, 124 00:06:04,370 --> 00:06:06,920 mivel csak egy felhasználó számítógépek, mi az a cookie? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Igen. 127 00:06:09,990 --> 00:06:14,391 >> KÖZÖNSÉG: Ez egy kicsit of-- is, nem bit a kifejezés a számítógép-tudomány. 128 00:06:14,391 --> 00:06:18,303 Ez egy adat, hogy a weboldal küld az Ön érdekében 129 00:06:18,303 --> 00:06:20,209 hogy képes legyen felvenni statisztikák téged. 130 00:06:20,209 --> 00:06:21,250 DAVID J. MALAN: OK, jó. 131 00:06:21,250 --> 00:06:24,980 Tehát ez egy adat, hogy a szerver, hozza a számítógépre, 132 00:06:24,980 --> 00:06:28,840 és hadd általánosítani még több, ez egy kulcs value-- is, 133 00:06:28,840 --> 00:06:30,064 hogy egyre pontosabb. 134 00:06:30,064 --> 00:06:31,980 Ez egy darab információk, adat, 135 00:06:31,980 --> 00:06:34,430 hogy a szerver képes , hogy a számítógépen 136 00:06:34,430 --> 00:06:38,592 és nagyon gyakran, a szerver nem ezt úgy, hogy ne feledje, hogy kik vagytok. 137 00:06:38,592 --> 00:06:40,300 Így például, esély vannak akkor valószínűleg 138 00:06:40,300 --> 00:06:42,982 bejelentkezett oldalak, mint a Facebook, vagy Gmail, vagy mások előtt, 139 00:06:42,982 --> 00:06:44,940 és jelentkezzen be felhasználónév és jelszó, 140 00:06:44,940 --> 00:06:49,000 majd azt követően, hogy az egyes szám perc vagy óra vagy akár nap, 141 00:06:49,000 --> 00:06:52,970 A szerver emlékszik, hogy van, sőt, belépve. 142 00:06:52,970 --> 00:06:54,600 Most, hogy az, hogy valójában történik? 143 00:06:54,600 --> 00:06:58,630 Mert te biztosan nem beírni felhasználónevét és jelszavát minden alkalommal 144 00:06:58,630 --> 00:07:00,760 Ön navigálhat a másik oldal a Facebook-on. 145 00:07:00,760 --> 00:07:02,570 Így kiderül, a sütik a válasz. 146 00:07:02,570 --> 00:07:05,360 >> A cookie tudsz gondolni, mint, Valahogy úgy, mint egy digitális kéz 147 00:07:05,360 --> 00:07:09,200 bélyeg, hogy lehet, hogy egy szórakoztató park vagy egy klub, amely lényegében 148 00:07:09,200 --> 00:07:11,740 azt jelzi, hogy már itt előtt, és akkor már 149 00:07:11,740 --> 00:07:16,070 látható az azonosító a kidobóember, az Például, hogy a klub és a park vagy 150 00:07:16,070 --> 00:07:19,050 most azt feltételezik, hogy bizonylatokat már. 151 00:07:19,050 --> 00:07:21,270 Már azonosította azt. 152 00:07:21,270 --> 00:07:24,740 >> Így ezt szem előtt tartva, nyissuk fel számláló itt. 153 00:07:24,740 --> 00:07:27,220 Hadd menjek előre, én csináltam, és tiszta minden a cookie-kat. 154 00:07:27,220 --> 00:07:29,970 És most mit fogok csinálni az tartsa lenyomva a Shift, csak a jó intézkedés, 155 00:07:29,970 --> 00:07:31,740 és erőszakkal az oldal újratöltődik. 156 00:07:31,740 --> 00:07:34,170 Shift csak arról, hogy semmi sem lesz a gyorsítótárba. 157 00:07:34,170 --> 00:07:36,850 És itt van a kérelem ment oda-vissza. 158 00:07:36,850 --> 00:07:41,560 Tehát itt van egy kérés, és hagyja, hogy nekem nagyítás le itt, és sok ez 159 00:07:41,560 --> 00:07:44,710 egyfajta érdektelen adatai most, hogy a böngésző automatikusan 160 00:07:44,710 --> 00:07:47,800 küldött, de most kattintson a Nézet Source, hogy a nyers fejléceket. 161 00:07:47,800 --> 00:07:51,700 >> És ha már beugrott pset6 már, akkor biztosan ismeri a dolgokat 162 00:07:51,700 --> 00:07:54,990 mint ez, és talán néhány ezen egyéb vonalak itt, 163 00:07:54,990 --> 00:07:59,040 de ami még érdekesebb a mai napra ha én lapozzunk lefelé, nem a kérelem 164 00:07:59,040 --> 00:08:02,870 de az úgynevezett válasz, ezt a sort valószínűleg ismerős. 165 00:08:02,870 --> 00:08:04,977 Ez egy jó dolog ha látsz egy 200 OK. 166 00:08:04,977 --> 00:08:07,060 Úgy látszik, ez a dátum és idő a szerveren 167 00:08:07,060 --> 00:08:08,268 és van egy csomó dolgot. 168 00:08:08,268 --> 00:08:09,290 Ó, ez érdekes. 169 00:08:09,290 --> 00:08:13,430 >> Kiderült, hogy amikor használja PHP, legalábbis ezen a szerveren, 170 00:08:13,430 --> 00:08:16,360 a szerver kiköpi mi verzió PHP használ. 171 00:08:16,360 --> 00:08:18,962 Ami, tulajdonképpen, a biztonsági célokra, nem egy jó dolog. 172 00:08:18,962 --> 00:08:21,170 De, akkor gyere vissza, hogy a máskor talán. 173 00:08:21,170 --> 00:08:25,740 De most ez a lédús vonal ma, és láttuk röviden néhány ilyen, 174 00:08:25,740 --> 00:08:29,240 Azt hiszem, a Facebook, amikor kidugta körül a felügyelő abban az időben, 175 00:08:29,240 --> 00:08:33,380 set cookie mi ültetési ez a kis darab információ 176 00:08:33,380 --> 00:08:34,890 a számítógépre. 177 00:08:34,890 --> 00:08:37,490 >> Ez egy HTTP header ez hatékonyan 178 00:08:37,490 --> 00:08:39,970 mondja a böngésző, Chrome, IE, bármi, 179 00:08:39,970 --> 00:08:44,480 hey böngésző tárolja a felhasználó merevlemez, vagy a felhasználó RAM, 180 00:08:44,480 --> 00:08:49,680 kulcsfontosságú nevű PHPSESSID, amely egy rövidített jelölése munkamenet azonosítót, 181 00:08:49,680 --> 00:08:53,670 és adja meg a értéket 0vlk8t, pont, pont, pont. 182 00:08:53,670 --> 00:08:56,480 Egy nagyon hosszú pszeudo véletlenszerű alfanumerikus karaktersor. 183 00:08:56,480 --> 00:08:59,480 Ez csak egy nagyon nagy szám, de ez kódolt betűk és számok 184 00:08:59,480 --> 00:09:03,550 úgy, hogy a mérete is lehet még nagyobb, mint a számok önmagukban. 185 00:09:03,550 --> 00:09:06,947 És akkor, mellesleg, Path = /, hogy csak azt jelenti, hogy ez a süti legyen 186 00:09:06,947 --> 00:09:08,780 kapcsolódó teljes egészében a honlapon, 187 00:09:08,780 --> 00:09:11,150 nem csak egy konkrét oldal az egész dolog. 188 00:09:11,150 --> 00:09:12,930 Tehát ez az, hogy a virtuális kéz bélyegző. 189 00:09:12,930 --> 00:09:16,330 Mintha a szerver, Facebook, vagy a mi esetünkben a készülék, 190 00:09:16,330 --> 00:09:21,140 van szó írott 0vlk8t és így tovább, a kezét. 191 00:09:21,140 --> 00:09:24,360 Figyeljük meg, milyen a szerver, nem csinál, ez nem 192 00:09:24,360 --> 00:09:27,730 tárolása a felhasználóneveddel, biztosan nem tárolja a jelszót. 193 00:09:27,730 --> 00:09:31,710 >> Ehelyett, úgy tűnik, hogy tárolására pszeudo random információ 194 00:09:31,710 --> 00:09:35,010 annak érdekében, hogy senki sem tudja kitalálni mit kezem bélyegző. 195 00:09:35,010 --> 00:09:37,590 A szerver oldalon, eközben a szerver 196 00:09:37,590 --> 00:09:40,370 fog emlékezni, valószínűleg egy adatbázis vagy valami, 197 00:09:40,370 --> 00:09:46,490 hogy a felhasználó, aki a jövőben bemutatja a kéz pecsétje 0vlk8t, pont, 198 00:09:46,490 --> 00:09:51,440 pont, pont, kell ezzel kapcsolatos különösen a bevásárlókocsi, hogy úgy mondjam. 199 00:09:51,440 --> 00:09:55,060 Más szóval, ha most megy vissza, és töltse be újra ezt az oldalt, 200 00:09:55,060 --> 00:09:58,020 hogyan működik a szerver tudja hogy jártam egyszer? 201 00:09:58,020 --> 00:10:01,730 >> Vagy ha újra meg újra, hogyan működik a szerver tudom, hogy jártam, hogy kétszer? 202 00:10:01,730 --> 00:10:04,680 Nos, ha én megyek le, hogy ez legutóbbi kérelem, amely 203 00:10:04,680 --> 00:10:09,150 most a harmadik, hogy én küldtem összesen észre kérésemet most. 204 00:10:09,150 --> 00:10:11,300 Van még mindig ez a kérheti fel itt, ugyanaz 205 00:10:11,300 --> 00:10:15,040 mint korábban, még mindig van egy csomó A dolog, hogy már figyelmen kívül, mint korábban, 206 00:10:15,040 --> 00:10:19,350 de a legutolsó fejléc, ez idő, mert én már jártam itt, 207 00:10:19,350 --> 00:10:21,980 a bemutatása a virtuális kéz bélyegző. 208 00:10:21,980 --> 00:10:28,957 >> Amely szerint ezt a sort itt, nincs beállítva süti de süti vastagbél PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 hogy csak a böngésző automatikus bemutatása a kézi bélyegző, hogy a 210 00:10:32,040 --> 00:10:37,910 most a szerver, amint rájön, ó, ez a felhasználó 0vlk8t pont, pont, pont, 211 00:10:37,910 --> 00:10:42,010 Most már emlékszem, hogy ki ő, vagy ő és újratársításához az a felhasználó bármilyen 212 00:10:42,010 --> 00:10:46,450 információ akarok, és az összes hogy az információ tárolható az Ön által, 213 00:10:46,450 --> 00:10:50,130 a programozó, a $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Tehát egyértelmű, ha kinyitom tényleg gyorsan A gedit, hogy a tényleges fájl counter.php, 215 00:10:57,170 --> 00:11:02,340 én helyi fogadó nyilvános könyvtár mint korábban, észre, hogy valóban, 216 00:11:02,340 --> 00:11:06,860 Én végül tároló $ _SESSION Idézet idézet vége "ellen," 217 00:11:06,860 --> 00:11:10,110 az érték az előző számláló, amely Kapok e sorokat ide, hogy mi 218 00:11:10,110 --> 00:11:13,010 nézett utoljára plusz egy. 219 00:11:13,010 --> 00:11:14,980 Így a motorháztető alatt, hogy minden cookie-k. 220 00:11:14,980 --> 00:11:17,563 Ez csak az a fajta digitális kézi bélyegző megy oda-vissza, 221 00:11:17,563 --> 00:11:20,450 és őszintén szólva, ha nyitott Chrome Felügyelő bármely weboldalon 222 00:11:20,450 --> 00:11:22,580 meglátogatott ma, szuper nagy valószínűséggel, 223 00:11:22,580 --> 00:11:25,450 fogsz látni talán egy, talán fél tucat cookie-k 224 00:11:25,450 --> 00:11:26,650 hogy emlékezni rád. 225 00:11:26,650 --> 00:11:29,500 >> És ami még rosszabb, ha ezek a meglátogatott webhely 226 00:11:29,500 --> 00:11:32,640 mind reklámok, ami minden bizonnyal elég gyakori ma, 227 00:11:32,640 --> 00:11:36,100 és ha ezek a reklámok jönnek néhány központi party, valaki 228 00:11:36,100 --> 00:11:39,000 mint a Google AdWords vagy ahogy hívja az egyik termék 229 00:11:39,000 --> 00:11:42,880 vagy más olyan gyártók, eladó hirdetések, ami érdekes, 230 00:11:42,880 --> 00:11:46,510 és őszintén szólva, mi egy kicsit aggasztó, hogyan működik a HTTP, 231 00:11:46,510 --> 00:11:50,855 az, hogy ha van egy hirdetés beágyazott A Facebook.com, és Google.com, 232 00:11:50,855 --> 00:11:54,240 és Harvard.edu, tetszőleges számú honlapok, így az ilyen 233 00:11:54,240 --> 00:11:58,130 hogy van egy középső ember, aki szolgál up hirdetések mindhárom említett honlapok, 234 00:11:58,130 --> 00:12:02,110 kiderül, hogy a cookie-k egy domain. 235 00:12:02,110 --> 00:12:05,910 >> Tehát, ha van egy hirdetés érkező Ugyanez a vállalat a különböző honlapokon, 236 00:12:05,910 --> 00:12:11,140 a társaság hatékonyan nyomon követni, aki akkor minden ilyen honlapok. 237 00:12:11,140 --> 00:12:13,140 Harvard esetleg nem tudja, Ön látogató Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook lehet, hogy nem tudja, és Ön látogató Harvard. 239 00:12:15,306 --> 00:12:18,160 De bármilyen hirdetési szolgáltatás ők használ, ha a tartomány 240 00:12:18,160 --> 00:12:21,710 Jelenleg mindkét Harvard.edu web lapok és weboldalak Facebook.com, 241 00:12:21,710 --> 00:12:26,850 ez középső ember biztosan tudja, hogy ki vagy mert ezek a cookie-k megosztott 242 00:12:26,850 --> 00:12:30,910 keresztül, vagy inkább az, hogy az úgynevezett közvetítő. 243 00:12:30,910 --> 00:12:33,820 >> Szóval vissza fog jönni, hogy ez a biztonsági vonatkozásairól, 244 00:12:33,820 --> 00:12:37,170 de van egy csomó információt tárolnak rólad bármikor 245 00:12:37,170 --> 00:12:40,120 látogasson el a legtöbb olyan internetes oldal Az internet és tényleg 246 00:12:40,120 --> 00:12:42,877 csökkenti ezt a nagyon egyszerű mechanizmus. 247 00:12:42,877 --> 00:12:44,710 Mi történik, akkor, ha te szuper paranoiás 248 00:12:44,710 --> 00:12:48,190 és úgy dönt, hogy menjen be a Chrome vagy IE vagy bármi, és kapcsolja ki a cookie-kat? 249 00:12:48,190 --> 00:12:49,365 Mi történik? 250 00:12:49,365 --> 00:12:50,790 Igen? 251 00:12:50,790 --> 00:12:53,170 Te really-- tettél ezt a jogot? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 No, megy előre. 254 00:12:55,994 --> 00:12:59,645 >> KÖZÖNSÉG: Egyes weboldalak nem funkció nélkül, mint a Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. MALAN: Igen! 256 00:13:00,520 --> 00:13:02,311 Tehát bizonyos honlapok majd csak leáll. 257 00:13:02,311 --> 00:13:05,520 És a legtöbb honlapok manapság hogy alapvetően támaszkodnak a cookie-kat, 258 00:13:05,520 --> 00:13:08,360 különösen ha bejelentkezik az, ők csak úgy megtörni. 259 00:13:08,360 --> 00:13:10,360 Mivel úgy a alternatíva, ha a honlap 260 00:13:10,360 --> 00:13:14,480 nincs módja az emlékezés, hogy ki vagy, és ezért a böngésző nem 261 00:13:14,480 --> 00:13:16,949 képviselő minden HTTP kérésére ez a kéz bélyegző, 262 00:13:16,949 --> 00:13:18,740 gyakorlatilag egy weboldal mint a Facebook, folyamatban lévő 263 00:13:18,740 --> 00:13:22,050 hogy meg kell kérni, hogy belépés minden rohadt alkalommal 264 00:13:22,050 --> 00:13:26,200 megváltoztatja oldalakat, vagy kattintson egy linkre, amely biztosan nem egy különösen jó felhasználó 265 00:13:26,200 --> 00:13:26,920 tapasztalat. 266 00:13:26,920 --> 00:13:30,020 >> Annak érdekében, hogy ott is van között a kompromisszumokra. 267 00:13:30,020 --> 00:13:34,140 Tehát minden további nélkül, vessünk Feltételezve, hogy a webes programozás, 268 00:13:34,140 --> 00:13:37,630 a nyelvek, mint a PHP, akkor emlékezni információk, mint például, hogy a probléma beállítása 269 00:13:37,630 --> 00:13:41,550 hét, amikor végre a saját E * Trade-szerű weboldal, ahol vásárolni 270 00:13:41,550 --> 00:13:45,710 és eladni készletek, akkor emlékszik pontosan amit a felhasználó vásárolt és eladott 271 00:13:45,710 --> 00:13:49,110 és ki ő a útján ezen az ülésen. 272 00:13:49,110 --> 00:13:51,110 De szükségünk lesz Egy szakértő módon mint az e-mail 273 00:13:51,110 --> 00:13:52,640 kezdeni az információk körül. 274 00:13:52,640 --> 00:13:53,140 Jobb? 275 00:13:53,140 --> 00:13:56,780 >> Hétfőn beszéltünk Frosh PM és hogyan verzió egyik a weboldalon, 276 00:13:56,780 --> 00:14:00,250 évvel ezelőtt, minden, amit tett, e-mailt a Proctor, aki 277 00:14:00,250 --> 00:14:04,250 felelős bels sport program, a nevét, és a nemek közötti egyenlőség, 278 00:14:04,250 --> 00:14:07,330 és függetlenül attól, hogy ők a kapitány, és a kollégiumi valaki, aki 279 00:14:07,330 --> 00:14:10,136 regisztráció egy intramurális sport. 280 00:14:10,136 --> 00:14:13,010 Szóval ez nem rossz, de ő akkor kellett troll keresztül az e-mail, 281 00:14:13,010 --> 00:14:16,010 egy táblázatot vagy valami hasonló hogy, hogy minden szervezett. 282 00:14:16,010 --> 00:14:19,750 Így biztosan mi, programozók megteheti ezt, hogy a megbízott. 283 00:14:19,750 --> 00:14:22,970 És így meg az SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 ami lesz, hogy nézel eltérő mind a C és a PHP, 285 00:14:26,050 --> 00:14:30,990 és akkor merülés sokkal kezét PHP és a probléma meghatározott hét, hanem SQL, 286 00:14:30,990 --> 00:14:35,310 vagy az SQL, ez egy olyan nyelv, használt beszélgetni az adatbázissal. 287 00:14:35,310 --> 00:14:36,480 >> De mi az az adatbázis? 288 00:14:36,480 --> 00:14:38,440 Nos, gondolom, egy adatbázis, legalábbis most, 289 00:14:38,440 --> 00:14:41,750 mint csak úgy, mint egy Excel fájlt, vagy ha a Mac felhasználók a számok fájl 290 00:14:41,750 --> 00:14:44,400 vagy ha a Google Apps felhasználó Google táblázat, 291 00:14:44,400 --> 00:14:49,120 ez gyakorlatilag egy adatbázis, vagy tényleg különösen a relációs adatbázis. 292 00:14:49,120 --> 00:14:53,070 A relációs adatbázis csak olyasmit, ami a sorok és oszlopok 293 00:14:53,070 --> 00:14:56,440 és tárolhat bármilyen információ ezen sorok vagy oszlopok. 294 00:14:56,440 --> 00:15:00,480 >> De mi a szép az SQL, és körülbelül aktuális adatbázisokon, nem csak 295 00:15:00,480 --> 00:15:04,910 táblázatok vagy a Google táblázatok, az, hogy tudod használni a nyelvet 296 00:15:04,910 --> 00:15:09,000 hogy ténylegesen végre lekérdezések helyezze az adatokat, hogy távolítsa el az adatok, 297 00:15:09,000 --> 00:15:11,620 keresni az adatok, még a legfontosabb, és 298 00:15:11,620 --> 00:15:16,110 nem kell használni meglehetősen kézzel ahogy lehet, hogy általában a Google 299 00:15:16,110 --> 00:15:17,690 táblázatkezelő, mint ez. 300 00:15:17,690 --> 00:15:22,217 >> Így SQL, van egy csomó alapvető nyilatkozatok vagy darabok 301 00:15:22,217 --> 00:15:23,300 A funkcionalitást beépítve. 302 00:15:23,300 --> 00:15:26,450 Van több, mint ezek, de lehet menni a hatalmas távolság 303 00:15:26,450 --> 00:15:28,620 Csak az tudja, hogy ezen a nyelven úgynevezett 304 00:15:28,620 --> 00:15:30,840 SQL legalább négy nyilatkozatok akkor a tőkeáttétel. 305 00:15:30,840 --> 00:15:34,420 >> Törlés, eltávolítására adatok Helyezze be, hozzátéve sorok, 306 00:15:34,420 --> 00:15:37,340 Update, mert a változó sorok, és kiválasztása, 307 00:15:37,340 --> 00:15:39,860 az, hogy újra a sorok és ez az, amit valóban SQL csinál. 308 00:15:39,860 --> 00:15:43,810 Úgy működik, így teljes mértékben a sorok hogy amikor behelyezi, vagy távolítsa el, 309 00:15:43,810 --> 00:15:47,470 vagy frissítés, vagy válassza ki, mit te kapok vissza, mint egy úgynevezett set eredmény, 310 00:15:47,470 --> 00:15:49,690 mint egy sor sorok. 311 00:15:49,690 --> 00:15:51,700 Egy csomó sorok a táblázatban. 312 00:15:51,700 --> 00:15:54,050 >> Így hát a nap, és még a mai napig, 313 00:15:54,050 --> 00:15:56,560 kölcsönhatásba léphet a adatbázis parancssor segítségével, 314 00:15:56,560 --> 00:15:59,691 de ez nem különösebben szórakoztató használni a fekete-fehér stílus ablak 315 00:15:59,691 --> 00:16:02,190 és ténylegesen végre parancsokat és piszkálni körül az adatbázist. 316 00:16:02,190 --> 00:16:06,054 A grafikus felhasználói felület, vagy GUI, sokkal előnyösebb, vitathatatlanul, 317 00:16:06,054 --> 00:16:08,970 és így a szerszám ajánljuk és telepítve az Ön számára a készülék 318 00:16:08,970 --> 00:16:10,580 hívják phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Ez egy totális véletlen, hogy a neve ez a dolog a PHP benne, 320 00:16:14,060 --> 00:16:17,430 ez csak azt jelenti, hogy az emberek aki írta ezt a programot magát 321 00:16:17,430 --> 00:16:18,670 írta PHP. 322 00:16:18,670 --> 00:16:23,740 >> De végső soron beadását adatbázis szerver, mint a MYSQL szerver 323 00:16:23,740 --> 00:16:26,589 hogy lehet, hogy, ahogy igen, a CS50 készülék. 324 00:16:26,589 --> 00:16:29,130 Szóval van itt, mint több részletet kell törődnünk ma, 325 00:16:29,130 --> 00:16:33,280 de mi a legfontosabb az, hogy a bal oldalon oldalon van egy lista az adatbázisok 326 00:16:33,280 --> 00:16:36,040 hogy van a számítógépen, a CS50 készülék, 327 00:16:36,040 --> 00:16:40,090 vagy jön a végső projektek lehet, hogy Van egy harmadik fél, a vállalat 328 00:16:40,090 --> 00:16:43,415 honlap vagy webszerver, hogy lehet, hogy fizet helyet. 329 00:16:43,415 --> 00:16:45,290 Így a bal oldalon van a adatbázisok, amelyek közül az egyik 330 00:16:45,290 --> 00:16:48,750 az pset7 amit kölcsön következő hét PSET, majd a felső 331 00:16:48,750 --> 00:16:51,570 ott észre van egy csomó lapok, amelyek közül az egyik 332 00:16:51,570 --> 00:16:55,150 az adatbázisok, SQL, állapot, felhasználók, az export és így tovább. 333 00:16:55,150 --> 00:16:56,900 Szóval lehet menni egy hosszú Így csak a megvalósításában 334 00:16:56,900 --> 00:16:59,770 hogy a legtöbb felhasználói felület van a felső bal oldali oszlopban 335 00:16:59,770 --> 00:17:02,650 és az egész tetején egészen ott. 336 00:17:02,650 --> 00:17:04,980 Szóval mit tehetünk valójában ezzel? 337 00:17:04,980 --> 00:17:08,609 Nos, kezdjük létrehozása kis információ az alábbiak szerint. 338 00:17:08,609 --> 00:17:11,760 >> Tegyük fel, hogy a következő esetek, ahogy lesz, csak néhány nap, 339 00:17:11,760 --> 00:17:14,440 szeretnénk, hogy végre egy website, úgynevezett CS50 Finance, 340 00:17:14,440 --> 00:17:17,328 és ez a honlap lehetővé teszi, hogy vásárolni idézet idézet vége és eladni készletek. 341 00:17:17,328 --> 00:17:19,619 És ez meg fog kitalálni az ár az említett állományok, 342 00:17:19,619 --> 00:17:22,380 végül, mint látni fogod, beszél a Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Ami, csodálatosan, egy ingyenes szolgáltatás amely akkor át a árfolyamkijelző 344 00:17:26,250 --> 00:17:29,830 mint GOOG a Google, és ez lesz adja vissza a Google jelenlegi állomány 345 00:17:29,830 --> 00:17:32,250 ár az elmúlt Néhány perc, legalább. 346 00:17:32,250 --> 00:17:35,080 >> Szóval fogjuk használni, hogy végső soron úgy tesz, mintha a felhasználó 347 00:17:35,080 --> 00:17:37,750 vásárolni és eladni a tényleges készletek virtuális pénz, 348 00:17:37,750 --> 00:17:39,750 de a legelső dolog, a felhasználó fog látni 349 00:17:39,750 --> 00:17:43,850 ez a bejelentkező képernyő, amely arra kéri őket, azok felhasználónevét és jelszavát. 350 00:17:43,850 --> 00:17:46,540 És így, az egyik az első kihívást az Ön számára pset7 351 00:17:46,540 --> 00:17:50,460 lesz végrehajtani a háttérben adatbázis, a táblázatkezelő ha úgy tetszik, 352 00:17:50,460 --> 00:17:53,369 hogy fog tárolni felhasználói neveket és jelszavakat 353 00:17:53,369 --> 00:17:56,660 és végül milyen készletek az övék, és mennyi, és mennyi készpénz van, 354 00:17:56,660 --> 00:18:00,110 így egy csomó más dolog a egyéb táblák, vagy táblázatok. 355 00:18:00,110 --> 00:18:05,020 >> Szóval vessünk egy pillantást, hogy ez tűnhet első pillantásra. 356 00:18:05,020 --> 00:18:06,980 Én megyek vissza a készülék és én 357 00:18:06,980 --> 00:18:14,102 fog menni erre az URL-itt phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 és látni fogod, hogy ez elvisz egy interfész 359 00:18:16,060 --> 00:18:18,520 pontosan úgy, ahogy láttuk a képernyő lövés, és én itt 360 00:18:18,520 --> 00:18:21,560 van egy további adatbázis hívott előadás ma 361 00:18:21,560 --> 00:18:24,280 és hadd menjen előre első és kattintson a pset7. 362 00:18:24,280 --> 00:18:27,940 >> Úgy tűnik, hogy van egy pár lehetőség, egy új, az létrehoz egy új tábla, 363 00:18:27,940 --> 00:18:30,770 és egy linket a felhasználók számára, amely egy asztal már létrehozott. 364 00:18:30,770 --> 00:18:31,790 Tehát mi az a tábla? 365 00:18:31,790 --> 00:18:33,740 Tehát, ha használt Excel előtt, és ha már 366 00:18:33,740 --> 00:18:37,110 használt számok vagy a Google Táblázatok, megnyit egy ablakot 367 00:18:37,110 --> 00:18:39,350 és kapsz egy csomó A sorok és oszlopok, 368 00:18:39,350 --> 00:18:43,120 de akkor általában munkalapot alján, vagy külön lapon. 369 00:18:43,120 --> 00:18:46,140 Ön szerint az egyes munkalap, mint egy asztal 370 00:18:46,140 --> 00:18:51,150 annak érdekében, hogy az adatbázis, végső soron, a kombinációja egy vagy több táblából, egy 371 00:18:51,150 --> 00:18:54,064 vagy több munkalapot, a világ egy normális táblázatot. 372 00:18:54,064 --> 00:18:55,980 Szóval hadd menjen előre, és kattintson erre a munkalapra 373 00:18:55,980 --> 00:18:59,420 hogy én előre elkészített, úgynevezett felhasználók, más néven 374 00:18:59,420 --> 00:19:00,700 Adatbázis tábla. 375 00:19:00,700 --> 00:19:04,130 És ha én lépjünk le itt, hadd kicsinyítés egy kicsit, 376 00:19:04,130 --> 00:19:08,479 ez az, amit mond phpMyAdmin Számunkra belül a táblázat most. 377 00:19:08,479 --> 00:19:11,020 Ez egy kicsit zavaró az első pillantásra, mert a felhasználói felület nem 378 00:19:11,020 --> 00:19:15,140 a legszebb dolog a világon, de mi az az érdekes, ez a rész itt. 379 00:19:15,140 --> 00:19:17,970 ID, felhasználónév, és hash. 380 00:19:17,970 --> 00:19:20,510 >> Előre, és máris kézzel Ezt a problémát állítva hét, 381 00:19:20,510 --> 00:19:25,050 kapsz egy fájl, amely egy szuper kis adatbázis tábla, kölcsönzött valójában 382 00:19:25,050 --> 00:19:27,070 A hacker kiadás A probléma meg két, 383 00:19:27,070 --> 00:19:29,480 amelynek belsejében vannak hat sor. 384 00:19:29,480 --> 00:19:32,720 One Belinda összes lement az egyik Zamyla, 385 00:19:32,720 --> 00:19:35,980 és vegyük észre, hogy a bal oldalon az említett felhasználónevek egyediek azonosítók, mint egy, 386 00:19:35,980 --> 00:19:39,410 két, három, négy, öt, hat, egész szám, majd jobbra a hash-eket. 387 00:19:39,410 --> 00:19:42,780 >> És ha esély, hogy nem tesz a hacker kiadás probléma meg két, 388 00:19:42,780 --> 00:19:46,560 de a hash olyan, mint egy titkosított jelszó néhány kikötéssel. 389 00:19:46,560 --> 00:19:49,470 És igen, mit látsz itt a titkosított változatai mind a hat 390 00:19:49,470 --> 00:19:52,950 mi a jelszavak probléma meg két hacker kiadás. 391 00:19:52,950 --> 00:19:56,500 Most a bal oldalon csak néhány GUI dolgot, szerkeszti ezt a sort, másolás ebben a sorban, 392 00:19:56,500 --> 00:19:57,630 törlése ezt a sort. 393 00:19:57,630 --> 00:19:59,840 >> De mi az érdekes most a következő. 394 00:19:59,840 --> 00:20:03,810 Én ténylegesen elindulhasson kísérletezni a táblázat. 395 00:20:03,810 --> 00:20:07,330 Tehát, ha elmegyek, majd kattintson az SQL fül, kapok ez a nagy mezőbe. 396 00:20:07,330 --> 00:20:10,190 És ez nem így fogunk csinálni, ha valóban kódot írni. 397 00:20:10,190 --> 00:20:12,700 Ahhoz, hogy tiszta, phpMyAdmin csak egy eszköz, amely 398 00:20:12,700 --> 00:20:16,450 fog hadd piszkálni körül az adatbázisban és hadd kísérletezni lekérdezések. 399 00:20:16,450 --> 00:20:19,430 >> Így például, tegyük fel, Én pontosan ezt végre. 400 00:20:19,430 --> 00:20:22,820 Válassza ki, melyik az egyik olyan kulcsszavak korábban említettem, csillag, 401 00:20:22,820 --> 00:20:25,900 amely minden az oszlopok a táblázatban. 402 00:20:25,900 --> 00:20:26,820 Abból, amit tábla? 403 00:20:26,820 --> 00:20:27,990 Nos, a felhasználók. 404 00:20:27,990 --> 00:20:29,950 És itt van ez a nyilatkozat furcsa egyezmény az SQL 405 00:20:29,950 --> 00:20:32,140 ahol ténylegesen használni vissza kullancsok jellemzően 406 00:20:32,140 --> 00:20:35,940 Nem szimpla idézőjelet és nem dupla idézőjelek ha beszélni táblák nevét, 407 00:20:35,940 --> 00:20:38,990 így a hátsó idézet a dolog a bal felső a billentyűzet a legtöbb 408 00:20:38,990 --> 00:20:39,720 valószínű. 409 00:20:39,720 --> 00:20:41,850 >> Hadd menjek előre most és hagyd, hogy egyedül 410 00:20:41,850 --> 00:20:46,020 és lapozzunk lefelé, és kattintson az Indítás gombra, és vagyunk tényleg fog látni ugyanazt a dolgot. 411 00:20:46,020 --> 00:20:52,410 Épp most végre egy SQL lekérdezés mondván, válassza minden csillag 412 00:20:52,410 --> 00:20:55,610 táblázatból nevű felhasználó, és mit kap vissza ez. 413 00:20:55,610 --> 00:20:58,400 Végül, leszünk képesek Ehhez ugyanezt kódot, 414 00:20:58,400 --> 00:21:02,109 de most csak azt akartam, hogy nem volt látom a böngészőben. 415 00:21:02,109 --> 00:21:03,900 Hát csináljunk valamit egy kicsit más. 416 00:21:03,900 --> 00:21:08,330 Hadd menjek vissza az SQL fülre, és mondjuk, hogy mi? 417 00:21:08,330 --> 00:21:11,520 Zamyla elvesztette az összes lány pénz, és ezért ez 418 00:21:11,520 --> 00:21:13,190 ideje, hogy töröljük őt, mint egy felhasználó. 419 00:21:13,190 --> 00:21:14,630 Ő már bejelentkezni. 420 00:21:14,630 --> 00:21:18,870 >> Így fogok mondani törölni from-- nos, fenntartása kapitalizáció 421 00:21:18,870 --> 00:21:23,080 A következetesség, törlése ahol a felhasználóktól. 422 00:21:23,080 --> 00:21:25,430 És így, mi lehet ezek predikátumok, vagy ezek 423 00:21:25,430 --> 00:21:31,180 selejtezők, a végén én nyilatkozat hol és hogyan tudnám törölni Zamyla? 424 00:21:31,180 --> 00:21:34,190 A nevét Zamyla, így a oszlop, az egyik az oszlopok 425 00:21:34,190 --> 00:21:37,950 nevezték, tehát ahol name = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 És itt kétszeres idézetek vagy aposztrófot, 427 00:21:40,000 --> 00:21:42,958 Ön csak a hátsó kullancsok amikor beszél a nevét, például, 428 00:21:42,958 --> 00:21:45,130 A táblák vagy mezők. 429 00:21:45,130 --> 00:21:47,440 És hadd kattintson az Ugrás ide. 430 00:21:47,440 --> 00:21:50,400 És most, a weboldal hogy egy kicsit feszült. 431 00:21:50,400 --> 00:21:53,620 >> Vagy nem akarja végrehajtani törölni A felhasználóktól ahol név egyenlő Zamyla? 432 00:21:53,620 --> 00:21:54,680 Igen. 433 00:21:54,680 --> 00:22:01,900 Tehát most, ha megyünk vissza az asztalra kattintva a felhasználók észre, hogy Hm. 434 00:22:01,900 --> 00:22:02,530 Ezt elrontottam. 435 00:22:02,530 --> 00:22:04,070 És valóban, valahogy csattant el olyan gyorsan 436 00:22:04,070 --> 00:22:06,195 még csak nem is látja a piros hibaüzenet, talán. 437 00:22:06,195 --> 00:22:07,649 Mit csináltam rosszul? 438 00:22:07,649 --> 00:22:09,690 KÖZÖNSÉG: Nem kell kihasználni a nevét. 439 00:22:09,690 --> 00:22:11,260 DAVID J. MALAN: Igen én nagybetűvel a nevét, 440 00:22:11,260 --> 00:22:13,770 de a username-- valójában én tett egy pár hibát, igaz? 441 00:22:13,770 --> 00:22:16,720 Egy, az ő felhasználóneve zamyla, kisbetűs Z, 442 00:22:16,720 --> 00:22:20,140 és az oszlop neve username, nem nevet, úgyhogy ezt újra. 443 00:22:20,140 --> 00:22:25,750 Hadd menjek előre, és törölni, ha a felhasználók 444 00:22:25,750 --> 00:22:28,990 felhasználónév egyenlő idézet idézet vége "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Minden rendben? 446 00:22:29,490 --> 00:22:32,600 Tehát ez úgy néz ki, egy kicsit jobban, legyen menjek lapozzunk lefelé, és kattintson a Go. 447 00:22:32,600 --> 00:22:34,730 Még mindig megy kiabálni velem, hogy biztos. 448 00:22:34,730 --> 00:22:37,500 Rákattintok Igen, és most látjuk, őszintén szólva ez történt, nagyon 449 00:22:37,500 --> 00:22:39,870 gyors, kevesebb mint egy második biztosan, ez 450 00:22:39,870 --> 00:22:41,720 pontosan a lekérdezést, hogy van végre. 451 00:22:41,720 --> 00:22:45,617 Annak igazolására, hadd kattintson felhasználók sőt most Zamyla elment. 452 00:22:45,617 --> 00:22:46,700 Most az ellenkezőjét. 453 00:22:46,700 --> 00:22:49,320 Tegyük fel, hogy Gabe akar regisztrálni a honlapon. 454 00:22:49,320 --> 00:22:52,825 Mi az SQL lekérdezést, mi a parancs tudtam írja hozzá Gabe? 455 00:22:52,825 --> 00:22:54,200 Nos, ez elég egyszerű. 456 00:22:54,200 --> 00:22:58,260 Helyezze a felhasználók számára, és most ez egy kicsit rejtélyes. 457 00:22:58,260 --> 00:23:03,190 Meg kell határozni, hogy a szerver, mely területeken akarok rendelni. 458 00:23:03,190 --> 00:23:06,630 Nem igazán érdekel, hogy mit Gabe azonosító szám, úgyhogy megyek kihagyom. 459 00:23:06,630 --> 00:23:11,360 Én inkább akartam mondani username, hash, majd 460 00:23:11,360 --> 00:23:14,960 Az értékek azt szeretnénk, hogy ott lesz Gabe. 461 00:23:14,960 --> 00:23:16,800 És aztán a hash, nem tudom. 462 00:23:16,800 --> 00:23:19,900 Tehát most, megyek hagyjuk, hogy, mint egy nagy, hogy nem. 463 00:23:19,900 --> 00:23:21,650 Majd gyere vissza hogy a probléma beállítása 464 00:23:21,650 --> 00:23:23,390 spec, hogy hogyan, hogy tényleg csinálni. 465 00:23:23,390 --> 00:23:24,630 >> Szóval észre, megint, a szintaxis. 466 00:23:24,630 --> 00:23:28,430 Helyezze a tábla nevét, majd a zárójeles listát a mezők, 467 00:23:28,430 --> 00:23:30,980 Az oszlopokat szeretne hozzáadni értékek, és majd csak 468 00:23:30,980 --> 00:23:34,495 pontosan ugyanolyan maradt rendelés jobbra kívánt értékeket felvenni, 469 00:23:34,495 --> 00:23:36,870 és ez csak azért, mert csomagolás A szöveg egy kicsit hosszú. 470 00:23:36,870 --> 00:23:38,520 Tehát most hadd kattintson az Ugrás gombra. 471 00:23:38,520 --> 00:23:39,830 Egy sor ki. 472 00:23:39,830 --> 00:23:43,020 És most, ha megyek vissza a felhasználók, milyen érdekes 473 00:23:43,020 --> 00:23:48,960 az, hogy nem csak az Gabe most a adatbázis, amit nyilvánvalóan az igazolványát? 474 00:23:48,960 --> 00:23:49,820 >> Hát ez a hét. 475 00:23:49,820 --> 00:23:51,479 Miért van az, hét, amikor én nem hozzá? 476 00:23:51,479 --> 00:23:54,020 Így ez is az egyik funkciókat kap az adatbázis. 477 00:23:54,020 --> 00:23:55,750 Sok beépített funkciót. 478 00:23:55,750 --> 00:23:57,950 Kiderül, hogy ha létrehozta ezt a táblázatot, 479 00:23:57,950 --> 00:24:01,390 Azt beállította az automatikus rendelni egy azonosítót olyan módon 480 00:24:01,390 --> 00:24:02,480 hogy az növeli. 481 00:24:02,480 --> 00:24:05,470 Tehát, ha valaha is kidugta körül, és megnézték, hogy mi Facebook azonosítóddal 482 00:24:05,470 --> 00:24:09,292 szám, manapság ez nem igazán egy dolog, de a Facebook, mint egy API, 483 00:24:09,292 --> 00:24:11,750 Application Programming Interface, amely akkor kap vissza 484 00:24:11,750 --> 00:24:14,430 egy csomó adat magát, a barátai, 485 00:24:14,430 --> 00:24:15,347 és a kapcsolatok. 486 00:24:15,347 --> 00:24:17,430 És mi szokott lenni kedves A hűvös, vissza a nap, 487 00:24:17,430 --> 00:24:19,510 volt, hogy néz ki, milyen a Facebook azonosító szám volt. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg, például, három 489 00:24:22,390 --> 00:24:23,890 mivel ő volt a szerzője az oldalon. 490 00:24:23,890 --> 00:24:27,610 És ahogy a történet halad, ő teremtett két vizsgálati beszámoló, a felhasználók egy-két, 491 00:24:27,610 --> 00:24:28,690 amelyet aztán el kell hagyni. 492 00:24:28,690 --> 00:24:32,780 És így, Zuck, mivel az ő felhasználónév a Facebook-on, az azonosító szám három, 493 00:24:32,780 --> 00:24:36,110 és mindannyian számok sok nagyobb, mint három ezekben a napokban. 494 00:24:36,110 --> 00:24:37,980 Sőt, egy bizonyos ponton Facebook elköltözött 495 00:24:37,980 --> 00:24:42,410 a páros segítségével int, amely egy 32 bites érték, hogy a 496 00:24:42,410 --> 00:24:44,480 A következő lépés, lényegében egy hosszú, hosszú, így 497 00:24:44,480 --> 00:24:47,150 hogy meg tudják befogadni még több felhasználó regisztráció. 498 00:24:47,150 --> 00:24:49,420 Szóval egy jó kis történelmi tény. 499 00:24:49,420 --> 00:24:51,660 >> Szóval ez csak a alapvető szintaxis, amellyel 500 00:24:51,660 --> 00:24:54,470 talán végre egy pár lekérdezések, de mi valójában 501 00:24:54,470 --> 00:24:56,744 csinálni egy csomó dolgot jobban SQL. 502 00:24:56,744 --> 00:24:58,910 És látni fogod, végül, A probléma meghatározott hét 503 00:24:58,910 --> 00:25:01,034 hogy van, hogy a számú tervezési döntéseket, 504 00:25:01,034 --> 00:25:03,290 köztük lesz milyen adattípusok használható. 505 00:25:03,290 --> 00:25:08,240 Szóval, mint a C-ben van adat típusok egy adatbázis, mint a MySQL, 506 00:25:08,240 --> 00:25:12,640 és az adattípusok meg kell választani származó bevonni e területeket itt. 507 00:25:12,640 --> 00:25:17,287 Char, varchar, Int, nagy int, tizedes és dátum-idő, és még sokan mások. 508 00:25:17,287 --> 00:25:18,370 Úgyhogy tulajdonképpen ezt. 509 00:25:18,370 --> 00:25:21,060 Tegyük fel, hogy mi nem kéz felhasználó asztalára 510 00:25:21,060 --> 00:25:25,080 és hadd menjen előre, és hozzon létre, a magam, az előadások database-- 511 00:25:25,080 --> 00:25:31,000 tényleg hadd menjen előre, és törölje Az asztal van itt már 512 00:25:31,000 --> 00:25:32,940 azért, hogy mi is valójában létre ezt. 513 00:25:32,940 --> 00:25:33,550 Hoppá. 514 00:25:33,550 --> 00:25:35,970 Fogom dobni ezt asztal, és most én vagyok 515 00:25:35,970 --> 00:25:38,337 majd megint a előadás adatbázis ide, 516 00:25:38,337 --> 00:25:40,420 Megyek, hogy hozzon létre egy táblázatot nevű felhasználó és menjünk 517 00:25:40,420 --> 00:25:43,010 csak nem három oszlop kezdetben, majd kattintson a Go. 518 00:25:43,010 --> 00:25:44,990 >> Most, a legtöbb esetben, ismét, ez csak 519 00:25:44,990 --> 00:25:48,570 Ezzel a grafikus eszköz az úgynevezett phpMyAdmin, és mit csinálunk most 520 00:25:48,570 --> 00:25:49,600 teremt a tábla. 521 00:25:49,600 --> 00:25:53,170 Tehát ez olyan, mintha a Fájl, Új, és hozzon létre új Excel fájlt. 522 00:25:53,170 --> 00:25:55,440 Szóval ez kérdezi néhány kérdéseket, balról jobbra, 523 00:25:55,440 --> 00:25:58,620 mi a neve az első oszlop, majd a nevét, a második oszlop, 524 00:25:58,620 --> 00:25:59,560 és a neve a harmadik. 525 00:25:59,560 --> 00:26:00,518 Szóval újra ezt. 526 00:26:00,518 --> 00:26:05,460 Azonosítót, majd felhasználónevet volt, majd hash egy másik. 527 00:26:05,460 --> 00:26:08,970 Tehát mi kell az adattípus lehet most egy területen, mint a azonosítót? 528 00:26:08,970 --> 00:26:14,470 >> Itt a teljes lista adattípusok áll az Ön rendelkezésére egy adatbázisban, 529 00:26:14,470 --> 00:26:16,070 és most menjünk és int. 530 00:26:16,070 --> 00:26:18,160 32 bites érték, én nem hiszem reálisan vagyok 531 00:26:18,160 --> 00:26:21,484 megy, hogy több mint 4 milliárd felhasználói fiókomban, az én szolgáltatás, 532 00:26:21,484 --> 00:26:23,650 így fogok mozogni tovább a következő kérdésre. 533 00:26:23,650 --> 00:26:25,490 Nem fogom megadni hossza vagy értékek, 534 00:26:25,490 --> 00:26:28,540 ez nem alkalmazható itt egy int, önmagában. 535 00:26:28,540 --> 00:26:30,740 És most már tudom megadni, úgy tűnik, az alapértelmezett 536 00:26:30,740 --> 00:26:33,970 érték, amelyet én nem fogom megadni. 537 00:26:33,970 --> 00:26:36,050 A leválogatás, én nem tudom, mi az. 538 00:26:36,050 --> 00:26:37,290 Egy attribútum. 539 00:26:37,290 --> 00:26:39,455 Most valójában Van egy tervezési döntés. 540 00:26:39,455 --> 00:26:42,580 Szóval van néhány olyan terület van, nem minden amelyek közül alkalmazható, de unsigned 541 00:26:42,580 --> 00:26:43,380 csak azt jelenti, hogy mi? 542 00:26:43,380 --> 00:26:45,400 Hogy az int kell lennie? 543 00:26:45,400 --> 00:26:46,210 Csak nem-negatív. 544 00:26:46,210 --> 00:26:48,090 Így kell lennie 0-ig. 545 00:26:48,090 --> 00:26:51,120 Nem, én nem fogom ellenőrizni, mert Azt akarom, hogy minden felhasználónak van egy azonosítója, 546 00:26:51,120 --> 00:26:52,470 nem lehet null. 547 00:26:52,470 --> 00:26:55,949 Aztán eljutunk néhány érdekes tervezési döntéseket, mint ez. 548 00:26:55,949 --> 00:26:58,990 Vissza fogunk térni erre a pillanatra, de mi egy másik jellemzője az adatbázis 549 00:26:58,990 --> 00:27:04,200 az, hogy meg tudja mondani Az adatbázis szerver megy előre 550 00:27:04,200 --> 00:27:07,100 és optimalizálja magát, a RAM és a merevlemez-terület, 551 00:27:07,100 --> 00:27:11,770 annak érdekében, hogy kiválasztja, és betétek, valamint törli, és a frissítések nagyon gyors. 552 00:27:11,770 --> 00:27:13,250 Ezzel ellentétben pset5. 553 00:27:13,250 --> 00:27:16,259 >> Ha akarta, hogy néz ki valami a hash tábla, amely 554 00:27:16,259 --> 00:27:18,300 úgy gondolja, mint egy adatbázis, aki, hogy minden a 555 00:27:18,300 --> 00:27:21,500 dolgoznak így a hash tábla gyorsan. 556 00:27:21,500 --> 00:27:22,840 Olyan, mint nyilvánvalóan, te. 557 00:27:22,840 --> 00:27:23,060 Jobb? 558 00:27:23,060 --> 00:27:26,080 Meg kellett, hogy minden alkalommal szép tuning dolgok, kapok egy hash függvény 559 00:27:26,080 --> 00:27:27,820 jobb, kitalálni, hogy sok kanalak van. 560 00:27:27,820 --> 00:27:29,611 >> De mi kedves, megint, egy adatbázis 561 00:27:29,611 --> 00:27:31,762 csak punt összes ezt a többi ember 562 00:27:31,762 --> 00:27:33,720 akik ezt gondolták keresztül az Ön számára, és milyen 563 00:27:33,720 --> 00:27:37,170 Fogok mondani itt a index, hogy az én ID mező 564 00:27:37,170 --> 00:27:41,149 lesz az elsődleges módja azonosító felhasználó az adatbázisban. 565 00:27:41,149 --> 00:27:42,940 Nem fogok gondolni A Zamyla mint Zamyla, 566 00:27:42,940 --> 00:27:45,800 Fogok gondolni őt, mint a 6-os szám. 567 00:27:45,800 --> 00:27:49,814 >> Miért van az, talán jobb ösztönösen gondolni és modell 568 00:27:49,814 --> 00:27:52,480 minden egyéni sorok segítségével Számos helyett valami 569 00:27:52,480 --> 00:27:56,480 mint a húr, mint a Zamyla vagy Gabe vagy hosszabb szöveg még? 570 00:27:56,480 --> 00:27:57,444 Igen? 571 00:27:57,444 --> 00:28:00,117 >> KÖZÖNSÉG: Az azonosító egyedi? 572 00:28:00,117 --> 00:28:01,200 DAVID J. MALAN: Mondd még egyszer? 573 00:28:01,200 --> 00:28:02,283 KÖZÖNSÉG: Az azonosító egyedi? 574 00:28:02,283 --> 00:28:04,400 DAVID J. MALAN: Egy azonosító egyedi, de suppose-- 575 00:28:04,400 --> 00:28:06,320 az esettől általában A felhasználónevek, tegyük fel, 576 00:28:06,320 --> 00:28:10,110 Azt is mondta, csak az egyik Zamyla a világban, és csak egy Gabe. 577 00:28:10,110 --> 00:28:13,730 Tudtam szabhat az egyediség kényszer a húrok is, ha akarnám. 578 00:28:13,730 --> 00:28:15,550 Tehát nem egy rossz gondolat. 579 00:28:15,550 --> 00:28:16,500 >> KÖZÖNSÉG: Biztonságosabb. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. MALAN: Biztonságosabb, miért? 581 00:28:17,874 --> 00:28:20,705 KÖZÖNSÉG: Nem lehet megmondani, melyik van, amely, mint a felhasználó. 582 00:28:20,705 --> 00:28:22,580 DAVID J. MALAN: OK, akkor nem tudja megmondani, hogy melyik felhasználó 583 00:28:22,580 --> 00:28:24,380 melyik tehát van egy adatvédelmi szempontból rá, 584 00:28:24,380 --> 00:28:27,810 különösen, ha az azonosítók talán megjelenő URL-eket. 585 00:28:27,810 --> 00:28:29,960 Tehát biztos, hogy tudott a fajta munka is. 586 00:28:29,960 --> 00:28:30,640 Más gondolatok? 587 00:28:30,640 --> 00:28:31,383 Igen? 588 00:28:31,383 --> 00:28:34,316 >> KÖZÖNSÉG: Könnyebb műveletek végrehajtásához egy int. 589 00:28:34,316 --> 00:28:35,940 DAVID J. MALAN: Ez az igazi kicker. 590 00:28:35,940 --> 00:28:38,850 Ez csak hatékonyabb, vagy könnyebb a számítógép, 591 00:28:38,850 --> 00:28:40,431 a műveletek végrehajtásához egy egész szám. 592 00:28:40,431 --> 00:28:40,930 Jobb? 593 00:28:40,930 --> 00:28:43,905 Egy int garantáltan legyen 32 bites, míg a Zamyla 594 00:28:43,905 --> 00:28:47,660 pár karakter hosszú, Gabriel van még néhány karakter hosszú, 595 00:28:47,660 --> 00:28:51,930 Davenport nagyon hosszú, és így nem különösebben hatékony használata 596 00:28:51,930 --> 00:28:55,860 húrok értékeket összehasonlítani, és nézd A mezők és frissítés mezők, 597 00:28:55,860 --> 00:28:57,790 ha lehet megúszni csak egy egész. 598 00:28:57,790 --> 00:28:59,090 Csak 32 bit. 599 00:28:59,090 --> 00:29:02,570 Szóval felhasználónevek is, így, Nem kell egyedi, 600 00:29:02,570 --> 00:29:05,040 bár valószínűleg meg lehet, és még így is 601 00:29:05,040 --> 00:29:07,520 Felhasználói lehetne tenni, hogy változtatni saját felhasználónevét. 602 00:29:07,520 --> 00:29:10,810 >> Szóval most hagyjuk ezt a elsődleges eszköze a felhasználó azonosítására. 603 00:29:10,810 --> 00:29:13,510 Ezt mondja az adatbázisban megy előre, és optimalizálja magát 604 00:29:13,510 --> 00:29:17,065 így néz up ID szuper gyors. 605 00:29:17,065 --> 00:29:19,620 AI, rettenetesen nevezni, csak azt Auto növekmény, 606 00:29:19,620 --> 00:29:21,500 és ez az ellenőrzés doboz kell ellenőrizni 607 00:29:21,500 --> 00:29:24,614 pontosítani, hogy az ID mező automatikusan frissül nekem, 608 00:29:24,614 --> 00:29:26,530 aztán megyek lapozzunk jobbra itt 609 00:29:26,530 --> 00:29:29,279 és őszintén szólva nem vagyok igazán érdekel bármelyik több ilyen területeken. 610 00:29:29,279 --> 00:29:30,630 Természetesen nem ma. 611 00:29:30,630 --> 00:29:33,770 >> Szóval megyek vissza, az első oszlopba, ahol 612 00:29:33,770 --> 00:29:35,830 Meg kell határozni felhasználónév és hash, és hagyja, hogy a 613 00:29:35,830 --> 00:29:38,080 legalábbis elsősorban a másik a most. 614 00:29:38,080 --> 00:29:41,498 Int valószínűleg nem a megfelelő hívás, így mi több értelme van talán? 615 00:29:41,498 --> 00:29:42,741 >> KÖZÖNSÉG: Szöveg. 616 00:29:42,741 --> 00:29:43,824 DAVID J. MALAN: Mondd még egyszer? 617 00:29:43,824 --> 00:29:44,710 KÖZÖNSÉG: Szöveg. 618 00:29:44,710 --> 00:29:44,980 DAVID J. MALAN: szöveg? 619 00:29:44,980 --> 00:29:45,590 OK, hallottam a szöveget. 620 00:29:45,590 --> 00:29:46,090 Mi más? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Azt a fajta van egy csomó választási amelyek szöveges jellegű. 623 00:29:53,860 --> 00:29:55,990 Szóval mikor és miért, nem használja néhány ilyen? 624 00:29:55,990 --> 00:29:59,560 Nos char, ellentétben azzal, amit lehet, hogy gondolom, nem egy karaktert. 625 00:29:59,560 --> 00:30:01,550 Ez egy adott számú karaktert. 626 00:30:01,550 --> 00:30:04,600 Tehát, ha tudjuk, hogy az összes felhasználónevet kell, hogy legyen, mint a nyolc karakter, 627 00:30:04,600 --> 00:30:08,490 mint régen gyakori az idősebb számítógépes rendszerek, mondhatnám char 628 00:30:08,490 --> 00:30:09,830 és akkor azt lehetne mondani, 8 itt. 629 00:30:09,830 --> 00:30:12,930 Ez az, amikor a harmadik oszlop lesz alkalmazható létrehozásakor tábla. 630 00:30:12,930 --> 00:30:15,450 >> De ez a fajta idegesítő mert néhány ember talán 631 00:30:15,450 --> 00:30:17,660 szeretnénk, hogy egy hosszabb felhasználónév mint nyolc karakter, 632 00:30:17,660 --> 00:30:19,743 egyesek érdemes rövidebb felhasználóneveddel, 633 00:30:19,743 --> 00:30:22,210 miért elkötelezem magam egy adott szám? 634 00:30:22,210 --> 00:30:24,710 Miért nincs egy változó karaktereinek számát, és csak 635 00:30:24,710 --> 00:30:28,580 azt mondják, hogy a maximális hossza a név az, hogy nem tudom, mint 64 karakter. 636 00:30:28,580 --> 00:30:31,780 Nem tudok mondani olyan barátok, akik van neve hosszabb mint 64 karakter, 637 00:30:31,780 --> 00:30:34,810 és még ha ez túl rövid, amit lehetett biztosan bump fel önkényesen. 638 00:30:34,810 --> 00:30:37,330 >> Tehát varchar egy változó karaktereinek számát. 639 00:30:37,330 --> 00:30:41,010 A szöveg nem rossz ösztön, és őszintén, hogy a fajta teszi, amit mond, 640 00:30:41,010 --> 00:30:45,460 de a szöveges mező is mint 65000 bytes legalább. 641 00:30:45,460 --> 00:30:50,790 Ez talán túlzás egy mező, és valóban, Ja, 65.535. 642 00:30:50,790 --> 00:30:53,740 Ez talán túlzás egy név, így maradok, jellemzően, 643 00:30:53,740 --> 00:30:56,910 A varchars szöveges mező és hash is. 644 00:30:56,910 --> 00:30:59,990 Hash, kiderül, amit tehetünk a varchar is, vagy valami ilyesmi, 645 00:30:59,990 --> 00:31:03,080 de nem fogunk összpontosítani a mai napon kriptográfia ott és a számok 646 00:31:03,080 --> 00:31:05,210 hogy talán tényleg szeretné használni annak hosszát. 647 00:31:05,210 --> 00:31:07,430 >> De hadd görgessen le a jobb oldalon. 648 00:31:07,430 --> 00:31:11,280 Egyszerre csak egy elsődleges index egy tábla, 649 00:31:11,280 --> 00:31:16,380 de azt akarom, hogy alkalmazzák ezek közül bármelyik, most, a felhasználónevet, mit mondana? 650 00:31:16,380 --> 00:31:21,980 Mit kell username kell alapulnia homályos megértése e négy lehetőség? 651 00:31:21,980 --> 00:31:23,340 Csak a nevük? 652 00:31:23,340 --> 00:31:24,140 >> KÖZÖNSÉG: Egyedi. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. MALAN: Szóval egyedi, ugye? 654 00:31:25,100 --> 00:31:28,190 Így kiderül, hogy nemcsak mondani egy adatbázis, előre, 655 00:31:28,190 --> 00:31:30,380 ez az elsődleges módja Az azonosító mezők. 656 00:31:30,380 --> 00:31:32,990 Azt is mondják, hogy ez lesz egy egyedi területen. 657 00:31:32,990 --> 00:31:34,700 Ez nem lesz a dolog, amit támaszkodnak, 658 00:31:34,700 --> 00:31:38,490 de szeretném, hogy az adatbázis lényegében van, hogy ha a feltétel, így 659 00:31:38,490 --> 00:31:42,340 hogy ha valaha is próbált regisztrálni két felhasználó az azonos nevű, 660 00:31:42,340 --> 00:31:44,360 Az adatbázis lakás ki Nem hagyom, hogy velem. 661 00:31:44,360 --> 00:31:47,490 Talán van némi kiegészítő kód PHP, amely megakadályozza a sok, 662 00:31:47,490 --> 00:31:50,640 de az adatbázis is biztosítani tudja hogy ez soha nem fog megtörténni. 663 00:31:50,640 --> 00:31:53,370 >> Most, mint egy félre, különösen gondol végső projektek 664 00:31:53,370 --> 00:31:57,030 szem előtt tartani, hogy index és a teljes szöveg valójában nagyon hasznos. 665 00:31:57,030 --> 00:32:01,080 Ha van egy nagyobb adatbázis, nem több tucat, de több száz, vagy több ezer 666 00:32:01,080 --> 00:32:05,270 vagy akár több millió területen, akkor is mondani az adatbázis előre 667 00:32:05,270 --> 00:32:07,980 ez egy olyan terület, megyek hogy keres egy csomó. 668 00:32:07,980 --> 00:32:10,520 Talán a felhasználónév, lehet, hogy bio, ha 669 00:32:10,520 --> 00:32:13,750 hogy egy Facebook-szerű honlap, olyan pontokban, hogy a felhasználó engedélyezett 670 00:32:13,750 --> 00:32:16,799 menteni, és ha azt akarjuk, hogy mondja az adatbázist előre 671 00:32:16,799 --> 00:32:20,090 Megyek is keres ezen a területen sokat, de ez nem feltétlenül egyedi, 672 00:32:20,090 --> 00:32:22,800 megadhat létre nekem egy index. 673 00:32:22,800 --> 00:32:27,990 Vagy mondhatjuk azt is lehetővé teszi, hogy tegyek fajta önkényes keresések mint Command 674 00:32:27,990 --> 00:32:30,420 illetve a Control F, mint te talán egy Word Processor, 675 00:32:30,420 --> 00:32:34,184 így lehet nézni tetszőleges húrok vagy részkarakterláncokat ezen a területen. 676 00:32:34,184 --> 00:32:36,600 Más szóval, mi vagyunk egyre A pont a félév 677 00:32:36,600 --> 00:32:40,720 ahol nem kell aggódnia hogyan hajtsák végre a dolgokat hatékonyan. 678 00:32:40,720 --> 00:32:44,540 Csak azt kell tudni, hogy mi tervezési döntéseket, hogy azért, hogy te vagy 679 00:32:44,540 --> 00:32:48,470 használja a megfelelő eszközöket a kereskedelem érdekében, hogy felerősítse funkciók 680 00:32:48,470 --> 00:32:50,380 hogy más emberek építettek az Ön számára. 681 00:32:50,380 --> 00:32:54,240 Tehát bedugni, csak az elsődleges egy, akkor csak egy, 682 00:32:54,240 --> 00:32:59,630 és ez a dolog, amit az elkövető a mezők egyedi azonosítása. 683 00:32:59,630 --> 00:33:02,710 Egyedülálló csak hasonló szellemben, de lehet, hogy csak alkalmanként használja, 684 00:33:02,710 --> 00:33:04,530 de azt szeretné, hogy az adatbázis előírni azt. 685 00:33:04,530 --> 00:33:08,050 Index csak azt jelenti, megelőző jellegű gyorsítsák fel a dolgokat a jövőben 686 00:33:08,050 --> 00:33:10,230 így én is keresni dolgok ezen a téren. 687 00:33:10,230 --> 00:33:13,700 És akkor teljes szövege általában bekezdések, vagy esszét, vagy nagy szervezetek 688 00:33:13,700 --> 00:33:16,270 A szöveg hol azt is szeretné, hogy 689 00:33:16,270 --> 00:33:19,420 joker, mint az egyenértékű csillag. 690 00:33:19,420 --> 00:33:19,920 Right. 691 00:33:19,920 --> 00:33:22,580 >> Szóval ez a fajta sokat egyszerre. 692 00:33:22,580 --> 00:33:25,220 Lássuk, ha nem tudjuk csöpögtet egy pár ilyen funkciók 693 00:33:25,220 --> 00:33:29,540 majd építeni valami meglehetősen egyszerű, de hatásos. 694 00:33:29,540 --> 00:33:31,380 Így a többi között tervezési döntéseket te 695 00:33:31,380 --> 00:33:34,005 végül megy, hogy mostantól együtt a vonalak tárolási motorok. 696 00:33:34,005 --> 00:33:37,370 És hadd nevezni ezt előre a végső projektek 697 00:33:37,370 --> 00:33:42,020 és várakozás nézzük say-- nem csináljuk. 698 00:33:42,020 --> 00:33:43,820 Építsünk ez a kis alkalmazás első. 699 00:33:43,820 --> 00:33:48,070 Én megyek az én terminál ablak, és itt nem 700 00:33:48,070 --> 00:33:52,500 Csak counter.php, amelyet mi most megy hogy megszabaduljon a nem germán, 701 00:33:52,500 --> 00:33:54,570 de van egy csomó A könyvtárak és ez 702 00:33:54,570 --> 00:33:58,080 lesz nagyon hasonló szellemben hogy mit fog látni a probléma beállított hét. 703 00:33:58,080 --> 00:34:00,980 >> Tehát három katalógus magában foglalja a nyilvános és sablonokat, amelyek 704 00:34:00,980 --> 00:34:05,040 pontosan, ahol abbahagyta Hétfőn egész MVC paradigma. 705 00:34:05,040 --> 00:34:09,290 És bedugni, nyilvánosan fog menni minden fájlt, amit a felhasználóknak, hogy valóban 706 00:34:09,290 --> 00:34:12,969 v képes, hogy látogassa meg a böngésző URL-en keresztül. 707 00:34:12,969 --> 00:34:13,502 Sablon. 708 00:34:13,502 --> 00:34:14,710 Mit teszünk sablonok? 709 00:34:14,710 --> 00:34:17,070 Miféle dolog? 710 00:34:17,070 --> 00:34:21,659 Nem volt sok, de egy-két Fájlok legalább hétfőn. 711 00:34:21,659 --> 00:34:22,619 Igen. 712 00:34:22,619 --> 00:34:23,100 >> KÖZÖNSÉG: Fejléc és lábléc? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. MALAN: Élőfej és élőláb. 714 00:34:24,516 --> 00:34:26,679 Tehát valami hasonlót ma is. 715 00:34:26,679 --> 00:34:30,330 Van még néhány fájlt, de Footer Értem Header látom, 716 00:34:30,330 --> 00:34:31,909 majd egy csomó más fájlokat. 717 00:34:31,909 --> 00:34:35,482 Tehát ez az egyenértékű A V MVC nézet, amely, 718 00:34:35,482 --> 00:34:37,690 megint lesz egy kicsit világosan meghatározott probléma hét, 719 00:34:37,690 --> 00:34:40,380 de ez csak egy mappa vagyok amivel sok az én esztétika. 720 00:34:40,380 --> 00:34:42,840 Sok a HTML, sok a formában. 721 00:34:42,840 --> 00:34:46,899 Eközben magában, a másik könyvtár, amely ezt a három fájlt 722 00:34:46,899 --> 00:34:48,440 és vessünk egy gyors pillantást ezeket. 723 00:34:48,440 --> 00:34:51,699 >> Én megyek előre és nyissa fel config.php. 724 00:34:51,699 --> 00:34:54,610 Mint kiderült, sok mint korábban a kifejezést, 725 00:34:54,610 --> 00:34:57,850 Ön éles tartalmazza CS50 pont h pset7. 726 00:34:57,850 --> 00:35:00,780 A mai példa, mész hogy nem felel meg, hogy a 727 00:35:00,780 --> 00:35:03,600 a szükség nyilatkozat hogy hatékonyan 728 00:35:03,600 --> 00:35:05,340 tartalmazza ezeket több vonalon. 729 00:35:05,340 --> 00:35:08,225 Tehát egyértelmű, ez nevű fájlt config.php. 730 00:35:08,225 --> 00:35:09,350 És észre, mit csinál. 731 00:35:09,350 --> 00:35:11,970 Ez látszólag csinál valamit rejtélyes, bekapcsolás hibaüzenetek 732 00:35:11,970 --> 00:35:13,680 így látni őket a böngészőben. 733 00:35:13,680 --> 00:35:15,860 Ez tehát, látszólag igénylő két másik fájl 734 00:35:15,860 --> 00:35:19,530 így ez olyan, mint #include C, és akkor ez mi volt látni, 735 00:35:19,530 --> 00:35:22,720 és mi már hivatkozott, ez bekapcsolja hogy kosár, mint a funkcionalitás. 736 00:35:22,720 --> 00:35:25,610 >> Ez azt jelenti, süti kell küldeni oda-vissza. 737 00:35:25,610 --> 00:35:27,290 Akkor miért is érdekes ez? 738 00:35:27,290 --> 00:35:32,460 Nos, ha visszamegyünk erre könyvtárat, és nyissa fel, például, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Figyeljük meg, hogy a PHP nem támogatás állandók, ez nem egészen olyan, mint #define C. 741 00:35:38,840 --> 00:35:41,290 Ehelyett a szó szoros értelmében mondjuk meghatározott, és értesítés 742 00:35:41,290 --> 00:35:44,110 hogy már tárolt előre négy konstans ebben a fájlban. 743 00:35:44,110 --> 00:35:47,020 Egy a mai adatbázis, az a jelszót, mert a nevem, 744 00:35:47,020 --> 00:35:48,690 valamint a kiszolgáló nevét. 745 00:35:48,690 --> 00:35:51,644 Tehát ezek ténylegesen lesz nagyon hasonló probléma beállított hét. 746 00:35:51,644 --> 00:35:54,560 És végül, és ez az, ahol én vagyok fog kapni néhány szép funkciók 747 00:35:54,560 --> 00:35:59,000 a személyzet, a functions.php van egy csomó kód, amit írt, 748 00:35:59,000 --> 00:36:01,040 és én elloptam néhány ilyen a problémás meghatározott hét 749 00:36:01,040 --> 00:36:05,920 ma, hogy csinál egy csomó dolgot és nézzük csak nézd meg az egyiket 750 00:36:05,920 --> 00:36:07,270 különösen. 751 00:36:07,270 --> 00:36:09,720 Ez a funkció itt, lekérdezés, lesz 752 00:36:09,720 --> 00:36:13,600 A PHP függvény hívunk annak érdekében, hogy hajtsa végre az SQL. 753 00:36:13,600 --> 00:36:16,070 Egy pillanattal ezelőtt voltunk a phpMyAdmin, de ez csak 754 00:36:16,070 --> 00:36:18,720 A fajta tanulási célú és diagnosztikai célokra 755 00:36:18,720 --> 00:36:20,494 és felejtés az adatbázis készlet. 756 00:36:20,494 --> 00:36:22,660 Ha tényleg használja adatbázisban, akkor, az ember, 757 00:36:22,660 --> 00:36:24,100 nyilvánvalóan nem megy hogy húzza fel a web 758 00:36:24,100 --> 00:36:25,740 oldal minden alkalommal, amikor valaki regisztrál. 759 00:36:25,740 --> 00:36:29,870 Fogsz írni a kódot, hogy az beszúrások és törlések felhasználók igény, 760 00:36:29,870 --> 00:36:32,490 és fogjuk ezt útján a lekérdezés funkció. 761 00:36:32,490 --> 00:36:35,360 Ha én most lépjünk le, ott van lesz még néhány funkciók. 762 00:36:35,360 --> 00:36:37,170 Redirect fog egy függvény írtunk 763 00:36:37,170 --> 00:36:40,160 az Ön számára, amely lehetővé teszi, hogy elküldi a felhasználót egy másik címre, 764 00:36:40,160 --> 00:36:43,780 és teszi egy olyan funkció, nagyon tetszett láttuk hétfőn, hogy valójában teszi 765 00:36:43,780 --> 00:36:48,000 a sablon, de ezeken a forma pset7 saját séta. 766 00:36:48,000 --> 00:36:50,500 Most menjünk előre, és csinálni. 767 00:36:50,500 --> 00:36:54,860 >> Hadd menjek be az előadások és asztal látni, hogy ott jelenleg semmi 768 00:36:54,860 --> 00:36:59,640 itt csak még, és hadd menjen az én nyilvános könyvtár, ahol 769 00:36:59,640 --> 00:37:02,780 ott csak egy fájl, index.php. 770 00:37:02,780 --> 00:37:06,920 Ez a fájl úgy tűnik, hogy szuper egyszerű abban a pillanatban, úgy néz ki, mint ez. 771 00:37:06,920 --> 00:37:09,110 Nagyon hasonlít hogyan abbahagyta hétfőn. 772 00:37:09,110 --> 00:37:11,945 Én igénylő ezt a fájlt, config.php, amely 773 00:37:11,945 --> 00:37:15,160 egy magában könyvtár, amely van dot dot, a szüleim, 774 00:37:15,160 --> 00:37:17,650 és akkor ez csak teszi a fájl. 775 00:37:17,650 --> 00:37:18,960 Szóval mi ez a fájl? 776 00:37:18,960 --> 00:37:24,700 >> Nyissuk fel az én sablonok form.php, és majd meglátjuk ezt. 777 00:37:24,700 --> 00:37:28,500 Szuper egyszerű, nyilvánvalóan ez a forma fog benyújtani egy $ _GET vagy $ _POST. 778 00:37:28,500 --> 00:37:29,320 Gyors ellenőrzés józanság. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Szó vizuálisan keresni a fájlt. 781 00:37:35,690 --> 00:37:36,610 Módszer egyenlő post. 782 00:37:36,610 --> 00:37:39,280 Szóval ez nem fogja használni az URL, mint A Google nem, ez lesz rendezni a hide 783 00:37:39,280 --> 00:37:41,030 az adatok mögött a jelenetek, és ez 784 00:37:41,030 --> 00:37:43,580 majd, hogy nyújtson be a nevű fájlt register.php, 785 00:37:43,580 --> 00:37:45,660 és ez a fájl még nem írt 786 00:37:45,660 --> 00:37:47,610 de mi ez megy úgy néz ki mint ez. 787 00:37:47,610 --> 00:37:52,670 >> Ha elmegyek egy külön oldalon ez amit localhost / index.php néz ki. 788 00:37:52,670 --> 00:37:56,930 És ismét, a szerver Csak feltételezve index.php. 789 00:37:56,930 --> 00:37:57,910 Az Enter billentyűt. 790 00:37:57,910 --> 00:37:59,870 Szóval, ez az, ahol vagyunk A, és mit szeretnék csinálni 791 00:37:59,870 --> 00:38:02,450 van tudni, hogy írja a dolgokat mint David, és majd 792 00:38:02,450 --> 00:38:08,050 a telefonszámát, amely azt fogja mondani 617-555-1212 most, regisztráljon 793 00:38:08,050 --> 00:38:09,910 és most register.php nem található. 794 00:38:09,910 --> 00:38:11,440 Szóval kell végrehajtani ezt. 795 00:38:11,440 --> 00:38:13,320 Úgyhogy gyorsan felkap valami ilyesmi fel. 796 00:38:13,320 --> 00:38:18,640 Hadd menjek be a nyilvános könyvtár és nem a gedit register.php, 797 00:38:18,640 --> 00:38:22,300 és most én megyek előre, és indul PHP mód, mint mi hétfőn, 798 00:38:22,300 --> 00:38:25,430 és közeli PHP tag, és lássuk egy-két dolgot. 799 00:38:25,430 --> 00:38:28,336 >> Tehát az egyik, tudom, honnan megírta, hogy a forma, 800 00:38:28,336 --> 00:38:29,960 hogy meg akarom nézni a következő. 801 00:38:29,960 --> 00:38:35,670 Ha üres, függetlenül a felhasználó gépelt be a név mezőbe, majd 802 00:38:35,670 --> 00:38:39,860 Fogok mondani valamit mint bocsánatot kérni hiányzó név. 803 00:38:39,860 --> 00:38:42,380 Kérj bocsánatot, eközben nem beépített PHP dolog, 804 00:38:42,380 --> 00:38:45,970 ez egy függvény írtunk A functions.php a pset7 805 00:38:45,970 --> 00:38:47,940 úgy, hogy hozzáférést. 806 00:38:47,940 --> 00:38:53,830 Különben, ha a többi területen üres, szám, akkor én vagyok 807 00:38:53,830 --> 00:38:58,370 fog bocsánatot kérni a felhasználó, és azt mondják a hiányzó szám. 808 00:38:58,370 --> 00:38:59,320 Mentse el ezt a fájlt. 809 00:38:59,320 --> 00:39:02,640 >> Most menjünk vissza a böngésző, vissza a fórum próbálja újra. 810 00:39:02,640 --> 00:39:04,070 Regisztráció. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Semmi sem történt, ami jó. 813 00:39:06,730 --> 00:39:08,120 Nem kap hibaüzenetet. 814 00:39:08,120 --> 00:39:11,651 De ha ehelyett, hadd töltse be újra ezt oldal, és nem ad semmit. 815 00:39:11,651 --> 00:39:12,150 A fene egye meg. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Tedd azt. 818 00:39:17,140 --> 00:39:18,810 Regisztráció. 819 00:39:18,810 --> 00:39:20,350 Mit csináltam rosszul? 820 00:39:20,350 --> 00:39:24,860 Ha üres, akkor a $ _POST nevét. 821 00:39:24,860 --> 00:39:26,350 Mondja megint? 822 00:39:26,350 --> 00:39:27,670 >> Ó, persze. 823 00:39:27,670 --> 00:39:30,919 Elfelejtettem a legfontosabb része, amely van szükség ("../ includes / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Azt kell, hogy van, hogy a bocsánatot kér funkció, amely 826 00:39:36,460 --> 00:39:37,770 Ezért semmi sem történik. 827 00:39:37,770 --> 00:39:39,460 A funkció valójában nem létezik. 828 00:39:39,460 --> 00:39:40,640 Így próbáljuk meg újra. 829 00:39:40,640 --> 00:39:42,350 Nézzük újra az oldalt, kattintson a Register. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Itt is van. 832 00:39:43,770 --> 00:39:45,700 Szóval, a kimenet vagyunk látva itt az eredménye 833 00:39:45,700 --> 00:39:47,685 A hívás egy bocsánatot kérni funkció, szuper egyszerű, 834 00:39:47,685 --> 00:39:50,060 és ez csak kiírja bármi Adok meg azt. 835 00:39:50,060 --> 00:39:51,370 >> Rendben, szóval együtt. 836 00:39:51,370 --> 00:39:54,240 Nézzük nyújtanak a nevem mint David, regisztrálja, 837 00:39:54,240 --> 00:39:56,890 hiányzó szám OK nézzük rendelkezhet úgy, is. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Regisztráció. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Tehát minden rendben van most, csak semmi érdekes történik. 842 00:40:02,760 --> 00:40:06,000 Tehát most tegyük valami érdekes történik, mint ez. 843 00:40:06,000 --> 00:40:09,980 Hadd menjek be phpMyAdmin, és hagyja, hogy a valójában egy asztal nevű felhasználó, 844 00:40:09,980 --> 00:40:12,330 Megyek, hogy ez a három oszlopok, és én gyorsan 845 00:40:12,330 --> 00:40:16,250 létre azonosítót, majd nevet, majd a szám, 846 00:40:16,250 --> 00:40:18,832 és az ID mező vagyok elhagyják, mint egy int. 847 00:40:18,832 --> 00:40:20,790 A név mező fogok a szabadságot, varchar, 848 00:40:20,790 --> 00:40:23,257 és mi mondjuk 64, némileg önkényesen. 849 00:40:23,257 --> 00:40:25,090 A szám megyek hogy, tudod, mit? 850 00:40:25,090 --> 00:40:27,350 Bemegyünk támogatja az amerikai számok itt, 851 00:40:27,350 --> 00:40:31,510 így fogom csinálni valamit mint char majd 10 karakter 852 00:40:31,510 --> 00:40:34,540 max egy körzetszám majd a hét számjegyből áll. 853 00:40:34,540 --> 00:40:37,870 És akkor itt, megyek adja auto növekedés ezen a területen, 854 00:40:37,870 --> 00:40:40,550 hogy ez egy elsődleges kulcsot, és Én megyek előre, és nem 855 00:40:40,550 --> 00:40:42,240 ellenőrizze az esetleges egyéb dobozokat. 856 00:40:42,240 --> 00:40:48,030 >> Tehát, ha most végre kattintson a Mentés gombra, és megyek vissza a felhasználók tábla, 857 00:40:48,030 --> 00:40:52,270 ez az, amit úgy néz ki, mint ha én most kattintson a New Tab szerkezet. 858 00:40:52,270 --> 00:40:54,550 Tehát ez, hogy világos, csak phpMyAdmin útja 859 00:40:54,550 --> 00:40:58,570 mondván, az adatbázis tábla van egy azonosítója, a nevét, és a szám 860 00:40:58,570 --> 00:41:02,040 e különös konfigurációk és mi figyelmen kívül hagyja a többi mezőt 861 00:41:02,040 --> 00:41:03,140 ott most. 862 00:41:03,140 --> 00:41:04,810 >> Szóval most mit akarok csinálni? 863 00:41:04,810 --> 00:41:09,060 Tehát, ha most megyek az én forráskód, ha minden rendben van 864 00:41:09,060 --> 00:41:11,190 Azt akarom, hogy végre a következő lekérdezést. 865 00:41:11,190 --> 00:41:14,970 Helyezze be, és én is csak mondjuk én a felhasználók nem feltétlenül 866 00:41:14,970 --> 00:41:18,620 szükség hátulról kullancs, ha ez Nem veszélyes szót, mint a felhasználók. 867 00:41:18,620 --> 00:41:22,810 Fogok mondani nevét, számot, és aztán itt vagyok 868 00:41:22,810 --> 00:41:24,960 nem fog kemény kódot a számjegye az értékek még. 869 00:41:24,960 --> 00:41:26,760 Megyek, hogy két kérdőjel. 870 00:41:26,760 --> 00:41:29,320 És ez egy egyezmény több nyelven 871 00:41:29,320 --> 00:41:31,730 ahol, ha azt szeretné, hogy jelöli a karakterlánc 872 00:41:31,730 --> 00:41:34,105 fogsz használni a kérdés jelek okokból fogunk 873 00:41:34,105 --> 00:41:36,370 gyere vissza beszélgetni biztonság, és itt 874 00:41:36,370 --> 00:41:39,420 Megyek át az e két mező utáni nevét, 875 00:41:39,420 --> 00:41:44,850 majd tegye szám, és most menteni a fájlt. 876 00:41:44,850 --> 00:41:47,090 >> És most megyek menj le itt egy szuper 877 00:41:47,090 --> 00:41:55,690 egyszerűen azt mondják rendersuccess.php, amely lesz egy sablon. 878 00:41:55,690 --> 00:41:57,380 Megyek létrehozásához nagyon gyorsan. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php és én csak megy mondani H1 siker a fájlban. 880 00:42:06,270 --> 00:42:06,990 Rendben van. 881 00:42:06,990 --> 00:42:11,312 Szóval most, menjünk vissza a böngésző, ahol korábban jártam. 882 00:42:11,312 --> 00:42:14,270 Menjünk előre, és erősítse meg írtam David, írtam egy telefonszámot, 883 00:42:14,270 --> 00:42:15,390 regisztrálj. 884 00:42:15,390 --> 00:42:16,100 A fene egye meg. 885 00:42:16,100 --> 00:42:17,420 Mit csináltam rosszul? 886 00:42:17,420 --> 00:42:20,850 Szóval látok hibát, itt van egy hiba az SQL szintaxis. 887 00:42:20,850 --> 00:42:24,900 Hadd ugrik vissza a gedit, legyen menjek vissza register.php, 888 00:42:24,900 --> 00:42:28,830 és mit tettem, hogy kihagyja Fontos volt utoljára? 889 00:42:28,830 --> 00:42:29,722 Szükségem van erre. 890 00:42:29,722 --> 00:42:32,930 Azt akarom tudni, hogy más, mint a következőtől miután észre, de szükségem van ez. 891 00:42:32,930 --> 00:42:35,596 >> Tehát most menjünk vissza, és ez sokat segített, hogy a böngészőben 892 00:42:35,596 --> 00:42:37,680 és ezért a config.php mi kiköp hibákat. 893 00:42:37,680 --> 00:42:41,770 Menjünk előre, és helyezze vissza, kattintson a Tovább gombra, siker. 894 00:42:41,770 --> 00:42:47,060 Tehát most hadd menjen át az én adatbázis itt és kattintson a Felhasználók, 895 00:42:47,060 --> 00:42:51,680 és böngészhet, és észre most David van az én adatbázisban itt. 896 00:42:51,680 --> 00:42:55,810 Most technikailag ez a weboldal még nem a nyilvános internet, 897 00:42:55,810 --> 00:42:57,890 így nem tudok más emberek abban, hogy itt, 898 00:42:57,890 --> 00:43:01,120 de ha én most akartam, mert Például, küldjön magamnak egy szöveges üzenetet. 899 00:43:01,120 --> 00:43:03,920 Menjünk ki a végtag itt és ha ez tényleg működik. 900 00:43:03,920 --> 00:43:07,331 Én megyek előre és törölni a sort 901 00:43:07,331 --> 00:43:09,080 és mi ez a blur ki a videó későbbi 902 00:43:09,080 --> 00:43:11,900 így nem rendelkezik a egész internet sms nekem, 903 00:43:11,900 --> 00:43:17,270 és mi most megy fel a böngésző és mi megy át az előadás 904 00:43:17,270 --> 00:43:22,040 és mi a különböző típusú szám itt, regisztrálj, siker. 905 00:43:22,040 --> 00:43:25,550 >> Tehát most, a saját szám van feltételezhetően az adatbázis, és most a móka része. 906 00:43:25,550 --> 00:43:28,774 Nézzük ténylegesen használható PHP csinálni valami programból, 907 00:43:28,774 --> 00:43:30,940 akár a parancs vonal vagy valahol máshol, 908 00:43:30,940 --> 00:43:32,773 és most én vagyok csak fog tartani, hogy egyszerű 909 00:43:32,773 --> 00:43:36,230 és én megyek az én könyvtár itt és tegye a következőket. 910 00:43:36,230 --> 00:43:44,920 Gedit script mondjuk, fogunk hívják szöveg, #! / user / bin / env PHP, 911 00:43:44,920 --> 00:43:46,700 mint azt a múlt alkalommal. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Most megyek igényelnek magában foglalja a config.php, 914 00:43:55,055 --> 00:43:57,360 annak ellenére, hogy ez a hatalom indukál egy kis hiba. 915 00:43:57,360 --> 00:44:03,960 És most én megyek előre, és azt mondják, sorok, lekérdezés, válassza ki a csillag a felhasználóktól, 916 00:44:03,960 --> 00:44:08,149 és most itt fogok csinálni egy technika a múlt idő az egyes sorok a sor. 917 00:44:08,149 --> 00:44:09,690 És én fogom csinálni valami egyszerű. 918 00:44:09,690 --> 00:44:19,090 Printf mondjuk neve ez, és ez a szám, backslash n. 919 00:44:19,090 --> 00:44:23,320 És most megyek át sorban idézet idézet vége nevét, 920 00:44:23,320 --> 00:44:28,140 és sor idézet idézet vége szám, és most menjünk előre 921 00:44:28,140 --> 00:44:31,430 és a terminál ablak chmod + x ezt tenni 922 00:44:31,430 --> 00:44:33,970 ez a script hívott szöveg végrehajtható. 923 00:44:33,970 --> 00:44:36,080 És most fussunk szöveget. 924 00:44:36,080 --> 00:44:37,590 >> OK, így folyamatban van. 925 00:44:37,590 --> 00:44:39,960 Szóval most írt egy parancssori script, 926 00:44:39,960 --> 00:44:43,300 a nyelv nevű PHP, azt, mert az igénylő vonal, 927 00:44:43,300 --> 00:44:46,380 hozzáféréssel rendelkezik az összes ezeket a beállítási konstans, én meg. 928 00:44:46,380 --> 00:44:48,177 A neve az adatbázisban, és így tovább. 929 00:44:48,177 --> 00:44:50,260 Sőt, csak hogy egyértelmű hogy ez nem véletlen, 930 00:44:50,260 --> 00:44:54,730 hadd menjen előre, és regisztráljon, nagyon gyorsan, valaki mást, mint Rob 931 00:44:54,730 --> 00:44:58,890 és megadja neki a 555-1212 számot. 932 00:44:58,890 --> 00:45:01,557 >> És most, ha futok a forgatókönyvet megint, észre a teljesítmény 933 00:45:01,557 --> 00:45:03,140 hogy mit csinálunk az adatbázisban. 934 00:45:03,140 --> 00:45:07,680 Most már rögtön láttam, amit a másik két sor van az adatbázis. 935 00:45:07,680 --> 00:45:10,699 Tehát most próbáljuk tenni valamit még szakértő belsejében, 936 00:45:10,699 --> 00:45:12,740 és ez az a rész, amit ve nem tesztelt előre, 937 00:45:12,740 --> 00:45:15,910 így az utolsó alkalommal csináltam ezt dolgok rettenetesen fonák, 938 00:45:15,910 --> 00:45:17,120 van video ebben az értelemben. 939 00:45:17,120 --> 00:45:18,286 >> Valójában, igen, vicces félre. 940 00:45:18,286 --> 00:45:20,480 Így az utolsó alkalom, hogy a előadás, mint két évvel ezelőtt, 941 00:45:20,480 --> 00:45:23,230 úgy döntöttünk, úgy döntöttem, hogy mindez egy nagy ötlet 942 00:45:23,230 --> 00:45:28,150 dinamikusan generálni e-mailek osztály, a teljes adatbázis CS50 943 00:45:28,150 --> 00:45:33,390 diákok, akik adott nekünk a számokat és mobiltelefon fuvarozók amit 944 00:45:33,390 --> 00:45:36,290 Lehet, visszahívja a pset0, hogyan érvelni, kiderül, 945 00:45:36,290 --> 00:45:40,650 Volt egy kisebb hiba a programban, és volt egy pár hibát 2012-ben, azt hiszem. 946 00:45:40,650 --> 00:45:43,997 >> Amely szerint az egyik volt az, hogy a hurok nem pontosan ez a fajta dolog, 947 00:45:43,997 --> 00:45:46,580 iterációjával át az adatbázis, kapok egy nevet az adatbázisból, 948 00:45:46,580 --> 00:45:49,940 nevét az adatbázisból, és majd minden iterációs hurok küldtem egy e-mailt. 949 00:45:49,940 --> 00:45:54,130 De ahelyett, hogy küld egy e-mailt, én küldött egy e-mail az első iteráció, 950 00:45:54,130 --> 00:45:58,200 és két e-mailt a második iteráció küldött három e-mailt a második iteráció, amely 951 00:45:58,200 --> 00:46:01,230 ahogy azt felidézni a mi vita aszimptotikus jelölés 952 00:46:01,230 --> 00:46:06,400 ez a nagy O a rossz, mint a négyzetes n hány üzenetet küldtem, 953 00:46:06,400 --> 00:46:08,560 de nem volt még e-maileket volt szöveges üzeneteket. 954 00:46:08,560 --> 00:46:12,070 >> És mint tudjuk, a részvétel nem szuper a vége felé a félév 955 00:46:12,070 --> 00:46:15,360 és így azt gondoltam, nem lenne helyes a az idő, hogy azt mondják: "Miért nem osztály?" 956 00:46:15,360 --> 00:46:17,880 A szöveges üzenet I küldött az egész osztály, 957 00:46:17,880 --> 00:46:22,140 és vicces volt, hogy, mint 50% -a osztály, de a másik 50%, akik közül néhányan 958 00:46:22,140 --> 00:46:26,102 kiakadt, én küldött hihetetlenül apologetikus édes jegyzetek 959 00:46:26,102 --> 00:46:28,560 a személyzet bocsánatot mivel hiányzott az előadás csak 960 00:46:28,560 --> 00:46:29,530 ez egyszer, ugye? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Annak érdekében, hogy lenne rettenetesen fonák. 963 00:46:34,030 --> 00:46:37,030 Tehát ebben a szellemben, próbáljuk meg de megint csak az én szám. 964 00:46:37,030 --> 00:46:41,940 Előre, functions.php, Azért írtam ezt a funkciót itt. 965 00:46:41,940 --> 00:46:44,250 Úgy hívják a szöveget, és azt vesz három érvet. 966 00:46:44,250 --> 00:46:46,360 Számos, a hordozó, és egy üzenetet. 967 00:46:46,360 --> 00:46:50,390 >> Én egy switch, ami csodálatosan PHP veszi húrok, nem csak 968 00:46:50,390 --> 00:46:53,350 egész, és én nem hajtotta végre a támogatás e még, 969 00:46:53,350 --> 00:46:55,370 Most történik az AT & T és a Verizon. 970 00:46:55,370 --> 00:46:57,610 Mert kiderül, hogy ezekkel a fuvarozók 971 00:46:57,610 --> 00:47:00,570 van e-mail SMS gateway, amely akkor valójában 972 00:47:00,570 --> 00:47:05,529 küldjön egy e-mailt a címre mint telefonszámra vtext.com 973 00:47:05,529 --> 00:47:08,070 és ha a felhasználó nem blokkolt Az üzenetek, akkor az megy át 974 00:47:08,070 --> 00:47:09,340 egy szöveges üzenetet. 975 00:47:09,340 --> 00:47:13,270 >> Most, hogy ezt, én megyek is hozzá egy mező nagyon gyorsan az adatbázis. 976 00:47:13,270 --> 00:47:15,470 Fogok menni a szerkezet, és én vagyok 977 00:47:15,470 --> 00:47:21,880 menni előre, és adjunk hozzá egy mező végén az asztalra. 978 00:47:21,880 --> 00:47:25,227 Nézzük kattintson az Indítás gombra, és én vagyok fog hívni a fuvarozó 979 00:47:25,227 --> 00:47:27,310 és most megyek hagyjuk ezt, mint egy bár szöveg, 980 00:47:27,310 --> 00:47:29,320 de mi lehet a szakértő a jövőben. 981 00:47:29,320 --> 00:47:31,961 Megyek gyorsan menni az én asztal, és én vagyok 982 00:47:31,961 --> 00:47:34,210 fog megszabadulni a Rob, mert ez egy hamis számot, 983 00:47:34,210 --> 00:47:38,540 Én megyek a szerkesztési és itt vagyok fogja megváltoztatni a hordozó kézi 984 00:47:38,540 --> 00:47:43,410 hogy a Verizon, amely azt van, és most itt van. 985 00:47:43,410 --> 00:47:44,980 >> Csináljunk egy gyors ellenőrzést józan eszét. 986 00:47:44,980 --> 00:47:52,730 Nyissuk fel a szöveg script, ami úgy néz ki, mint ez, hordozó% s. 987 00:47:52,730 --> 00:47:58,230 Csinálunk még sok más hiba ellenőrzése, mint én 2012-ben, hordozó. 988 00:47:58,230 --> 00:48:01,160 És most, én megyek előre, és újra futtatni a szkriptet. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier Verizon, ami azt jelenti, most remélhetőleg meg tudom csinálni, csak ezt. 991 00:48:06,100 --> 00:48:08,360 Helyesen ebben az évben, remélhetőleg, itt vagyunk. 992 00:48:08,360 --> 00:48:12,200 >> Tehát belsejében ez a for ciklus, én vagyok majd, hogy nem csak ez a printf, 993 00:48:12,200 --> 00:48:15,990 Én is fog hívni a szöveg és a használata ennek a funkciónak visszahívás 994 00:48:15,990 --> 00:48:19,670 volt egy számot, a hordozó, és egy üzenetet. 995 00:48:19,670 --> 00:48:23,310 Tehát lássuk, szám fog legyen sor idézet idézet vége "szám", 996 00:48:23,310 --> 00:48:31,660 sor idézet idézet vége "szállító", és az utolsó volt az üzenet. 997 00:48:31,660 --> 00:48:36,250 Ne csavarja fel ebben az évben, pontosvessző. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Ujjak keresztbe. 1000 00:48:38,280 --> 00:48:39,970 Lássuk, hogy ez működik. 1001 00:48:39,970 --> 00:48:41,720 Rendben, szóval. 1002 00:48:41,720 --> 00:48:43,000 Itt vagyunk. 1003 00:48:43,000 --> 00:48:47,380 Nézzük kinyit a telefont, szurkoljon, a fenébe is. 1004 00:48:47,380 --> 00:48:50,300 Meghatározatlan változó may-- ó várj, várj, várj, nagyon gyorsan. 1005 00:48:50,300 --> 00:48:51,340 Valódi gyors, nagyon gyorsan. 1006 00:48:51,340 --> 00:48:53,380 Ez teljesen megéri. 1007 00:48:53,380 --> 00:48:57,710 Hadd megragad, hadd fogd, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Köszönöm, a szövegnek van indult valaki mást. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Hadd menjek előre, és nyissa meg a valódi gyors, dropbox.php / mail itt. 1011 00:49:11,650 --> 00:49:12,660 Készenlét. 1012 00:49:12,660 --> 00:49:14,455 Teljesen megéri. 1013 00:49:14,455 --> 00:49:17,430 Letöltések. 1014 00:49:17,430 --> 00:49:18,560 OK, forrás src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Szüksége van még egy sor itt. 1017 00:49:21,380 --> 00:49:24,530 Ó, ott van, hogy a Frosh PM, ez a nyilvántartás három. 1018 00:49:24,530 --> 00:49:28,820 Oh hello, Margo, köszönöm szépen. 1019 00:49:28,820 --> 00:49:31,130 OK, és én is ezt a vonalat itt hiányzott. 1020 00:49:31,130 --> 00:49:33,010 Hadd gyorsan megragad ezt a kódsort, 1021 00:49:33,010 --> 00:49:36,200 amely magában foglalja az e-mail vagy a könyvtár hogy én tényleg szeretnék használni, 1022 00:49:36,200 --> 00:49:38,300 Megyek gyorsan menj vissza a funkciókat, 1023 00:49:38,300 --> 00:49:42,337 Fogok menni a tetejére fájlt, és ilyen fájlt is, 1024 00:49:42,337 --> 00:49:45,420 és most fogom igazán át a ujjak mikor megyek vissza a parancs 1025 00:49:45,420 --> 00:49:49,530 vonal script, ami belül van a A mai helyi host könyvtárba. 1026 00:49:49,530 --> 00:49:50,610 Fuss szöveget. 1027 00:49:50,610 --> 00:49:52,720 Az Enter billentyűt. 1028 00:49:52,720 --> 00:49:53,220 Mail. 1029 00:49:53,220 --> 00:49:53,719 Készenlét. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Készenlét. 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 Itt vagyunk. 1035 00:50:03,870 --> 00:50:06,880 >> Mail kap új PHP Mailer. 1036 00:50:06,880 --> 00:50:09,970 Csináltam ezt a jogot? 1037 00:50:09,970 --> 00:50:11,067 A fene egye meg. 1038 00:50:11,067 --> 00:50:12,150 To-- ó, várj, várj, várj. 1039 00:50:12,150 --> 00:50:12,649 Készenlét. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Ígérem, ez lesz, így megéri. 1042 00:50:18,630 --> 00:50:20,340 Cím. 1043 00:50:20,340 --> 00:50:24,390 Ezért nem teszi a példák jobb osztály előtt. 1044 00:50:24,390 --> 00:50:26,350 Huh. 1045 00:50:26,350 --> 00:50:27,910 A következő címzettek sikertelen. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Próbáljunk egy utolsó dolog. 1048 00:50:33,040 --> 00:50:40,660 SMTP beállítani, add cím, A cím valóban azt. 1049 00:50:40,660 --> 00:50:43,980 Próbáljuk ki ezt az utolsó részt a címét. 1050 00:50:43,980 --> 00:50:47,210 Ó, én nagyon szomorú most. 1051 00:50:47,210 --> 00:50:47,854 Köszönöm. 1052 00:50:47,854 --> 00:50:50,270 De én nagyon értékelem minden A szövegeket, amit küldtem. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Megvan a David. 1055 00:50:56,320 --> 00:50:59,310 Te fújja. 1056 00:50:59,310 --> 00:51:01,720 Hagyjuk ott és akkor javítsd hétfőn. 1057 00:51:01,720 --> 00:51:04,290 Viszlát akkor. 1058 00:51:04,290 --> 00:51:08,090 >> Daven FARNHAM És most mély Gondolatok a Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Ha egy bináris fa kidől az erdőben, és senki körül a C it-- [kuncog]. 1061 00:51:17,590 --> 00:51:18,998