1 00:00:00,000 --> 00:00:10,393 >> [Muusika mängimine] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. Humala: Hea küll. 4 00:00:12,120 --> 00:00:12,830 Tere tulemast tagasi. 5 00:00:12,830 --> 00:00:13,890 See on CS50. 6 00:00:13,890 --> 00:00:15,570 See on nädala lõpuks 8. 7 00:00:15,570 --> 00:00:18,360 Ja nagu te teate, on meil päris regulaarset tööaega paar 8 00:00:18,360 --> 00:00:21,090 Euroopa söögisaali, sealhulgas Annenberg. 9 00:00:21,090 --> 00:00:23,860 Ja mõned meeskond sõbralikult võttis mõned pildid viimasel ajal. 10 00:00:23,860 --> 00:00:26,230 Ja auks Halloween, me arvasime, et oleme 11 00:00:26,230 --> 00:00:30,160 jagada ühte, et pigem on püütud meile üllatus siin Annenberg Hall lihtsalt 12 00:00:30,160 --> 00:00:31,490 teised õhtul. 13 00:00:31,490 --> 00:00:36,300 Teie klassivend Jacob poseerinud see foto, kuid see oli rohkem naljakas 14 00:00:36,300 --> 00:00:39,760 oli Facebook, Järgnenud vestlus, mis juhtus hiljem. 15 00:00:39,760 --> 00:00:43,020 >> Tema esimene postitus vastus tema foto oli see. 16 00:00:43,020 --> 00:00:46,740 Paar minutit hiljem, otsustas ta ühe kuni ise sellega. 17 00:00:46,740 --> 00:00:53,800 Ta jätkas, siis minna seda, ja siis veel Lõbusas 18 00:00:53,800 --> 00:00:55,320 on see, kui tema ema chimed. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 Ja siis lõpuks, tundub, et see oli lihtsalt 21 00:01:01,800 --> 00:01:04,860 imeline riugas eest mängida, et toimub. 22 00:01:04,860 --> 00:01:07,080 >> Niisiis, kui soovid näha Jacob ja teised, 23 00:01:07,080 --> 00:01:10,880 nende seas Cynthia Meng, kes on kulisside taga CS50 tsooni personal 24 00:01:10,880 --> 00:01:13,970 pea see URL ja selle mängu siin. 25 00:01:13,970 --> 00:01:18,810 Niisiis ilma pikema jututa, täna jätkata seda vaadata veebi programmeerimine, 26 00:01:18,810 --> 00:01:21,810 ja tegeliku loomise programmid et ei jookse oma käsurida, 27 00:01:21,810 --> 00:01:24,080 vaid joosta sees brauserit. 28 00:01:24,080 --> 00:01:26,320 >> Arvatavasti nüüd või väga varsti, sa lähed 29 00:01:26,320 --> 00:01:30,200 olla keset rakendamisel oma veebiserver, mis 30 00:01:30,200 --> 00:01:31,700 erineb veebi programmeerimine. 31 00:01:31,700 --> 00:01:36,210 Veebiserver pset6 on kõike kirjutamise tarkvara, mis teab, kuidas võtta 32 00:01:36,210 --> 00:01:39,300 HTTP päringuid brauser, või isegi sinult, inimene, 33 00:01:39,300 --> 00:01:42,340 koos programmi nimega Telnet ja seejärel vastata neile taotlustele, 34 00:01:42,340 --> 00:01:48,600 sülitamine välja HTML fail või jpeg või gif või isegi .php faili. 35 00:01:48,600 --> 00:01:52,490 >> Aga veebiserver, see ei ole peaks lihtsalt avada PHP fail, 36 00:01:52,490 --> 00:01:55,260 midagi lõpeb Php ja siis sülitama sisu. 37 00:01:55,260 --> 00:01:58,440 See peaks tegema mida see fail esimesena? 38 00:01:58,440 --> 00:01:59,390 Nii öelda. 39 00:01:59,390 --> 00:02:04,060 Ei kompileerida me ütles esmaspäeval, kuid rather-- Nii tõlgendada. 40 00:02:04,060 --> 00:02:08,070 >> PHP on tõlgendanud keeles, ja nii üks peamisi funktsioone veebi 41 00:02:08,070 --> 00:02:11,550 server, kuigi meie rakendatud, on see võime oma veebiserver 42 00:02:11,550 --> 00:02:12,490 teate, oh. 43 00:02:12,490 --> 00:02:14,580 See fail ja käesolevast lõpeb .php. 44 00:02:14,580 --> 00:02:17,970 Ma ei või lihtsalt saatke see kasutaja nagu see on staatiline sisu, 45 00:02:17,970 --> 00:02:20,970 vaid lase mul seda lugeda rida rida, vasakult paremale, ja seda tõlgendada. 46 00:02:20,970 --> 00:02:23,030 >> Ja mida teha, et sa poisid sisuliselt 47 00:02:23,030 --> 00:02:26,520 punt, et programm seadme ja palju arvutisüsteemid, 48 00:02:26,520 --> 00:02:27,500 just helistas PHP. 49 00:02:27,500 --> 00:02:30,579 See on nimi PHP keele enda tõlk. 50 00:02:30,579 --> 00:02:33,120 Nii, et tükk me rakendada teid, ja mida jätta et sa, 51 00:02:33,120 --> 00:02:35,240 lõppkokkuvõttes on number tükki, mille hulgas 52 00:02:35,240 --> 00:02:37,960 rakendab toetust Staatilise sisu. 53 00:02:37,960 --> 00:02:40,180 >> Aga nüüd, ja probleem pani seitse, sa oled 54 00:02:40,180 --> 00:02:43,660 kavatse hakata üleminek tegelikult kirjalikult PHP koodi 55 00:02:43,660 --> 00:02:45,970 mis saab tõlgendada rääkides kolp 56 00:02:45,970 --> 00:02:47,960 andmebaas, mis talletab teavet. 57 00:02:47,960 --> 00:02:51,020 Nii et olgem paremini mõista esimene Paar need superglobals 58 00:02:51,020 --> 00:02:53,720 ja kui palju võimu te saada karbist tasuta 59 00:02:53,720 --> 00:02:55,250 koos nagu PHP. 60 00:02:55,250 --> 00:02:57,350 Asjad, mida ei ole rakendada ise. 61 00:02:57,350 --> 00:03:01,700 >> Nii nägime esmaspäeval $ _GET, mis on superglobal, 62 00:03:01,700 --> 00:03:05,496 mis on lihtsalt PHP rääkida ülemaailmse muutuja pääsete kõikjal. 63 00:03:05,496 --> 00:03:06,620 Ja mis sees on $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Mis on sees see superglobal, mida me näeme? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Kindlasti statistiliselt juures vähemalt üks inimene teab. 68 00:03:19,020 --> 00:03:21,590 Mis on sees $ _GET? 69 00:03:21,590 --> 00:03:22,426 Jah? 70 00:03:22,426 --> 00:03:24,130 >> Sihtrühm: See on muutujad paned stringi. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. Humala: Perfect. 72 00:03:24,530 --> 00:03:26,488 See on muutujate sa panna stringi. 73 00:03:26,488 --> 00:03:29,910 Niisiis, meie vanemate eeskuju reimplementing Google, kui meil oli 74 00:03:29,910 --> 00:03:34,130 URL ja siis küsimärk mis piiritleb algust HTTP 75 00:03:34,130 --> 00:03:37,950 parameetreid, siis oli meil q võrdne midagi, nagu q võrdub kassid, 76 00:03:37,950 --> 00:03:41,500 mis oleks automaatselt sisse minna selle $ _GET super globaalne teile, 77 00:03:41,500 --> 00:03:47,430 sest PHP on võti Q, ja selle väärtuse kassid. 78 00:03:47,430 --> 00:03:51,250 >> Teisisõnu, $ _GET ja kõik need asjad on assotsiatiivne massiivid 79 00:03:51,250 --> 00:03:54,530 räsitabeli kehvasti, et kaupluse võtmed ja väärtused. 80 00:03:54,530 --> 00:03:57,980 Nüüd tagasi pset5, hash tabel, mida oleks võinud rakendada, 81 00:03:57,980 --> 00:04:00,220 või proovida võid on rakendanud, tõesti 82 00:04:00,220 --> 00:04:04,010 oli tegelikult assotsiatiivne massiiv, andmestruktuur 83 00:04:04,010 --> 00:04:07,220 millega saab seostada võtmeid väärtusi. 84 00:04:07,220 --> 00:04:09,690 >> Aga pset5 väärtused oli tühine. 85 00:04:09,690 --> 00:04:12,430 Väärtus oli sisuliselt õige või vale. 86 00:04:12,430 --> 00:04:13,900 Kas sõna sõnastikku? 87 00:04:13,900 --> 00:04:18,279 Seega, kui sa räsitud sõna nagu õun et näha, kas õun on sõnastikku 88 00:04:18,279 --> 00:04:21,820 oma kontrolli funktsioon arvatavasti tagasi tõene või väär. 89 00:04:21,820 --> 00:04:24,120 Nii, et tõhusalt raha me saada tagasi. 90 00:04:24,120 --> 00:04:26,456 >> Aga me nägime esmaspäeval lühidalt, saate kindlasti 91 00:04:26,456 --> 00:04:28,830 seostada huvitavamaks väärtusi kui lihtsalt õige või vale 92 00:04:28,830 --> 00:04:30,790 võtmed, nagu õun. 93 00:04:30,790 --> 00:04:33,909 Sa võiks tegelikult tagasi suvaline string, ja tõepoolest, 94 00:04:33,909 --> 00:04:36,200 see on, mida $ _GET ja nende teised muutujad lase sul seda teha. 95 00:04:36,200 --> 00:04:40,595 >> Nii et $ _POST on sarnase sisuga, kuid kui te esitama vormi kaudu postiga 96 00:04:40,595 --> 00:04:44,490 erinevate HTTP meetod, mis on kasutatud asjad nagu krediitkaardid, 97 00:04:44,490 --> 00:04:48,410 ja isiklik informatsioon ja isegi binaarne info nagu fotod, 98 00:04:48,410 --> 00:04:51,840 need asjad lõpuks seestpoolt $ _POST. 99 00:04:51,840 --> 00:04:53,770 Ja tegelikult faile nagu JPEG ja tühi-tähi, 100 00:04:53,770 --> 00:04:58,290 seal on isegi veel, et ei ole siin nimetatakse $ _FILES samuti. 101 00:04:58,290 --> 00:05:01,280 >> Niisiis, server me ei tegele liiga palju, kuid see annab teile juurdepääsu 102 00:05:01,280 --> 00:05:04,860 sorteerida madalama taseme andmeid server ise, et te kasutate. 103 00:05:04,860 --> 00:05:07,430 Cookie ja istungil, kuigi me tegelikult näha nüüd. 104 00:05:07,430 --> 00:05:10,940 Viimane on see, mida me kasutame, et rakendada mõiste ostukorvi. 105 00:05:10,940 --> 00:05:14,480 Super lihtne, kuid turult et meil oli see näide, 106 00:05:14,480 --> 00:05:17,640 lugedes mitu korda sa käis see leht enne. 107 00:05:17,640 --> 00:05:20,850 >> Aga täna, mitte ainult vaadata mõju see, olgem avada 108 00:05:20,850 --> 00:05:22,640 Chrome'i inspektor, mis tavaliselt saab 109 00:05:22,640 --> 00:05:25,740 teha parema klõpsuga või kontrolli klikkides kuhugi veebilehele, 110 00:05:25,740 --> 00:05:27,250 ja seejärel valida kontrollida element. 111 00:05:27,250 --> 00:05:31,600 Või võid minna menüüdes et me kirjeldame pset6 spec. 112 00:05:31,600 --> 00:05:35,020 Ja ma lähen sakk Network siin ja lähme vaatama hetkeks 113 00:05:35,020 --> 00:05:37,590 HTTP liiklust, mis on läheb edasi ja tagasi. 114 00:05:37,590 --> 00:05:40,929 >> Lubage mul kõigepealt minna ja selge Chrome vahemälu. 115 00:05:40,929 --> 00:05:43,470 Nii et mõned võite olla tuttav seda tehnikat juba, 116 00:05:43,470 --> 00:05:45,790 ja me ei kavatse seda kasutada silumisel siin. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Nüüd kui arvuti teadlased ei kavatse alustada 119 00:05:50,890 --> 00:05:53,920 Seejuures silumiseks eesmärkidel, mille 120 00:05:53,920 --> 00:05:55,910 me vahemälu, tavaliselt nii, et me 121 00:05:55,910 --> 00:05:57,670 saab vabaneda asju nimetatakse küpsiseid. 122 00:05:57,670 --> 00:06:01,700 Nii et sa oled ilmselt üldiselt tuttav mida küpsised on, või vähemalt 123 00:06:01,700 --> 00:06:04,370 et nad on olemas, kuid milline on oma arusaamist nendega, 124 00:06:04,370 --> 00:06:06,920 lihtsalt kasutaja arvutid, mis on küpsis? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Jah. 127 00:06:09,990 --> 00:06:14,391 >> Sihtrühm: See on natuke of-- hästi, ei natuke mõiste infotehnoloogia. 128 00:06:14,391 --> 00:06:18,303 See on tükk andmed, et veebisait saadab teile, et 129 00:06:18,303 --> 00:06:20,209 et oleks võimalik salvestada statistika teile. 130 00:06:20,209 --> 00:06:21,250 DAVID J. Humala: OK, hea. 131 00:06:21,250 --> 00:06:24,980 Nii et see on tükk andmed, et server, paneb arvutisse, 132 00:06:24,980 --> 00:06:28,840 ja olgem üldistada seda isegi rohkem, see on võti value-- hästi, 133 00:06:28,840 --> 00:06:30,064 mis on üha täpsemaks. 134 00:06:30,064 --> 00:06:31,980 See on tükk saamiseks tükk andmed, 135 00:06:31,980 --> 00:06:34,430 et server on võimeline panna oma arvuti 136 00:06:34,430 --> 00:06:38,592 ja väga tihti, server ei see, et meenutada, kes sa oled. 137 00:06:38,592 --> 00:06:40,300 Nii näiteks, koefitsiendid on sul ilmselt 138 00:06:40,300 --> 00:06:42,982 sisse loginud saidid nagu Facebook, või Gmaili või teised enne, 139 00:06:42,982 --> 00:06:44,940 ja te logite sisse oma kasutajanimi ja parool 140 00:06:44,940 --> 00:06:49,000 ja siis pärast, et mõned number minutit või tundi või isegi päeva 141 00:06:49,000 --> 00:06:52,970 server mäletab, et sa oled tegelikult sisse logitud. 142 00:06:52,970 --> 00:06:54,600 Nüüd, kuidas see tegelikult toimub? 143 00:06:54,600 --> 00:06:58,630 Sest sa oled kindlasti mitte tippida Teie kasutajanimi ja parool iga kord 144 00:06:58,630 --> 00:07:00,760 liigute teisele lehele Facebookis. 145 00:07:00,760 --> 00:07:02,570 Nii selgub küpsised on vastus. 146 00:07:02,570 --> 00:07:05,360 >> Küpsis sa ei mõtle nii, omamoodi nagu digitaalne käsi 147 00:07:05,360 --> 00:07:09,200 tempel, et sa võiksid saada on meelelahutuseks park või klubi, mis sisuliselt 148 00:07:09,200 --> 00:07:11,740 näitab, et olete olnud siin enne, ja sa oled juba 149 00:07:11,740 --> 00:07:16,070 näidata oma ID väljaviskaja jaoks Näiteks ja et klubi või pargis 150 00:07:16,070 --> 00:07:19,050 Nüüd peaks eeldama, et sa on tõestatud juba. 151 00:07:19,050 --> 00:07:21,270 Olete juba kindlaks teinud seda. 152 00:07:21,270 --> 00:07:24,740 >> Nii et seda silmas pidades, olgem avada counter siin. 153 00:07:24,740 --> 00:07:27,220 Lubage mul minna, ma just tegin, ja kustutada kõik küpsised. 154 00:07:27,220 --> 00:07:29,970 Ja nüüd ma lähen tegema, on hoidke Shift, lihtsalt hea meede, 155 00:07:29,970 --> 00:07:31,740 ja sunniviisiliselt laadige leht uuesti. 156 00:07:31,740 --> 00:07:34,170 Shift lihtsalt veenduda, et miski saab vahemälus. 157 00:07:34,170 --> 00:07:36,850 Ja siin on taotluse mis läks edasi ja tagasi. 158 00:07:36,850 --> 00:07:41,560 Nii et siin on meil palve, ja lase mul suumimiseks siin, ja palju see 159 00:07:41,560 --> 00:07:44,710 on omamoodi ebahuvitav üksikasjad nüüd, et brauser on automaatselt 160 00:07:44,710 --> 00:07:47,800 saadetakse, kuid olgem klõpsake View Allikas näha toores päised. 161 00:07:47,800 --> 00:07:51,700 >> Ja kui olete sukeldus pset6 juba, saate kindlasti tunnustada asjad 162 00:07:51,700 --> 00:07:54,990 meeldib see, ja võib-olla mõned Nende muude liinide siin 163 00:07:54,990 --> 00:07:59,040 kuid mis veelgi huvitavam täna kui ma keri, mitte taotluse 164 00:07:59,040 --> 00:08:02,870 vaid nn vastuse see rida ilmselt tundub tuttav. 165 00:08:02,870 --> 00:08:04,977 See on hea asi kui sa näed 200 OK. 166 00:08:04,977 --> 00:08:07,060 Ilmselt see on kuupäev ja kellaaeg serveris 167 00:08:07,060 --> 00:08:08,268 ja seal on hunnik asju. 168 00:08:08,268 --> 00:08:09,290 Oh, see on huvitav. 169 00:08:09,290 --> 00:08:13,430 >> Selgub, kui te kasutate PHP, vähemalt selles serveris 170 00:08:13,430 --> 00:08:16,360 server sülitab välja, mida PHP versiooni te kasutate. 171 00:08:16,360 --> 00:08:18,962 Mis tegelikult turvalisuse eesmärgil, ei ole hea asi. 172 00:08:18,962 --> 00:08:21,170 Aga me tuleme tagasi selle mõni teine ​​kord ehk. 173 00:08:21,170 --> 00:08:25,740 Aga nüüd on see mahlane line täna ja nägime korraks mõned neist, 174 00:08:25,740 --> 00:08:29,240 Ma arvan, et Facebook kui me torkasid ümber Inspector sel ajal, 175 00:08:29,240 --> 00:08:33,380 set cookie on see, mida istutada et tükike info 176 00:08:33,380 --> 00:08:34,890 arvutisse. 177 00:08:34,890 --> 00:08:37,490 >> See on HTTP päis see on tõhus 178 00:08:37,490 --> 00:08:39,970 ütlen brauseris Chrome, IE, mis iganes, 179 00:08:39,970 --> 00:08:44,480 hey brauseri poe kasutaja kõvaketas või kasutaja RAM, 180 00:08:44,480 --> 00:08:49,680 klahvi nimetatakse PHPSESSID, mis on stenografist märke sessiooni ID, 181 00:08:49,680 --> 00:08:53,670 ja annab talle väärtuse 0vlk8t, dot, dot, dot. 182 00:08:53,670 --> 00:08:56,480 Tõesti pikk pseudo juhuslikult tähti string. 183 00:08:56,480 --> 00:08:59,480 See on lihtsalt väga suur number, kuid see on kodeeritud tähed ja numbrid 184 00:08:59,480 --> 00:09:03,550 et suurus võib olla isegi suurem kui numbrid üksi. 185 00:09:03,550 --> 00:09:06,947 Ja siis, muide, Path = /, et tähendab lihtsalt, et see küpsis peaks olema 186 00:09:06,947 --> 00:09:08,780 seostatud kogu veebilehe, 187 00:09:08,780 --> 00:09:11,150 mitte ainult ühe leheküljel kogu asi. 188 00:09:11,150 --> 00:09:12,930 Nii see on, et virtuaalne käsi tempel. 189 00:09:12,930 --> 00:09:16,330 See on nii, nagu server, Facebook, või meie puhul seadme 190 00:09:16,330 --> 00:09:21,140 on sõna-sõnalt kirjutatud 0vlk8t ja nii edasi, oma käega. 191 00:09:21,140 --> 00:09:24,360 Pane tähele, mida server, ei tee see pole 192 00:09:24,360 --> 00:09:27,730 ladustamiseks mu kasutajanimi, kindlasti mitte salvestada oma salasõna. 193 00:09:27,730 --> 00:09:31,710 >> Pigem tundub olevat ladustamiseks pseudojuhuslikku info 194 00:09:31,710 --> 00:09:35,010 nii et keegi ei saa vist mida mu käsi tempel on. 195 00:09:35,010 --> 00:09:37,590 Sisse serveripoolne, Vahepeal server 196 00:09:37,590 --> 00:09:40,370 läheb mäleta, arvatavasti in andmebaasis või midagi, 197 00:09:40,370 --> 00:09:46,490 et kasutaja, kes tulevikus esitleb käsi tempel 0vlk8t, dot, 198 00:09:46,490 --> 00:09:51,440 dot, dot, tuleb seotud selle Eelkõige ostukorv, nii rääkida. 199 00:09:51,440 --> 00:09:55,060 Teisisõnu, kui ma nüüd minema siia tagasi ja laadige leht uuesti, 200 00:09:55,060 --> 00:09:58,020 kuidas server tea et käisin ühel ajal? 201 00:09:58,020 --> 00:10:01,730 >> Või kui ma seda uuesti, kuidas server tean, et olen külastanud seda kaks korda? 202 00:10:01,730 --> 00:10:04,680 Noh, kui ma minna seda viimane taotlus, mis 203 00:10:04,680 --> 00:10:09,150 Nüüd on kolmas, et olen saatnud kokku märka minu soov nüüd. 204 00:10:09,150 --> 00:10:11,300 Endiselt on see nõuda siin, sama 205 00:10:11,300 --> 00:10:15,040 nagu varem, seal on veel terve hulk kraami, et oleme ignoreerinud nagu enne, 206 00:10:15,040 --> 00:10:19,350 kuid viimasel päis, see aega, sest ma olen siin varem olnud, 207 00:10:19,350 --> 00:10:21,980 on esitlus see virtuaalne käsi tempel. 208 00:10:21,980 --> 00:10:28,957 >> Kusjuures see joon siin, mitte seada küpsist kuid cookie koolon PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 see on ainult minu brauseri automaat ka käesoleva käsi tempel nii et 210 00:10:32,040 --> 00:10:37,910 Nüüd server, niipea kui ta mõistab, ooh, see on kasutaja 0vlk8t dot, dot, dot, 211 00:10:37,910 --> 00:10:42,010 Nüüd saan aru, kes ta on ja uuesti siduma selle kasutaja olenemata 212 00:10:42,010 --> 00:10:46,450 teave tahan ja kõik et teavet saab salvestada teie, 213 00:10:46,450 --> 00:10:50,130 programmeerija, in $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Nii et peab olema selge, kui ma avada reaalne kiire aastal gedit et tegelik faili counter.php, 215 00:10:57,170 --> 00:11:02,340 minu kohalikus masinas avalik kataloog nagu enne, märkate, et tõepoolest, 216 00:11:02,340 --> 00:11:06,860 Ma lõpuks salvestamine $ _SESSION Quote Tsitaat lõppeb "counter" 217 00:11:06,860 --> 00:11:10,110 väärtus eelmise loendur, mis Ma saan neid ridu siin, et me 218 00:11:10,110 --> 00:11:13,010 vaatasin viimast korda pluss üks. 219 00:11:13,010 --> 00:11:14,980 Nii all kapuuts, see on kõik küpsised. 220 00:11:14,980 --> 00:11:17,563 See on lihtsalt omamoodi digitaalse käsi tempel läheb edasi ja tagasi, 221 00:11:17,563 --> 00:11:20,450 ja ausalt öeldes, kui avate Chrome'i Inspektor tahes veebisaidi 222 00:11:20,450 --> 00:11:22,580 külastad täna, super suur tõenäosus, 223 00:11:22,580 --> 00:11:25,450 sa lähed, et näha, võib-olla üks, võibolla pool tosinat küpsised 224 00:11:25,450 --> 00:11:26,650 mida mäletatakse teid. 225 00:11:26,650 --> 00:11:29,500 >> Ja hullem veel, kui need külastatava veebisaidi 226 00:11:29,500 --> 00:11:32,640 kõigil on reklaamid, mis Kindlasti on üsna tavaline täna 227 00:11:32,640 --> 00:11:36,100 ja kui need reklaamid tulevad mõnest Keskerakond, keegi 228 00:11:36,100 --> 00:11:39,000 nagu Google või AdWords, nagu nad kutsuda ühe oma tooteid 229 00:11:39,000 --> 00:11:42,880 või muu selline müüjad, et müüa reklaami, mis on huvitav, 230 00:11:42,880 --> 00:11:46,510 ja ausalt öeldes, mis on veidi murettekitav, kuidas HTTP töötab, 231 00:11:46,510 --> 00:11:50,855 on see, et kui teil on reklaami varjatud aastal Facebook.com ja Google.com, 232 00:11:50,855 --> 00:11:54,240 ja Harvard.edu iga number veebilehed, nii et see on selline 233 00:11:54,240 --> 00:11:58,130 et seal on keskel mees, kes kannab up reklaame kõik kolm neist veebisaitidest, 234 00:11:58,130 --> 00:12:02,110 Selgub, et küpsised kehtivad domeeni. 235 00:12:02,110 --> 00:12:05,910 >> Nii et kui teil on reklaami kategoorias sama firma erinevate veebilehtede, 236 00:12:05,910 --> 00:12:11,140 et ettevõte saab tõhusalt jälgida, kes te olete kõigi nende veebilehtedel. 237 00:12:11,140 --> 00:12:13,140 Harvard ei pruugi teada te külastate Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook ei pruugi teada ja te külastate Harvard. 239 00:12:15,306 --> 00:12:18,160 Aga mida iganes reklaami teenus nad kasutavad, kui see domeen on 240 00:12:18,160 --> 00:12:21,710 olemas nii Harvard.edu web lehed ja Facebook.com veebilehti, 241 00:12:21,710 --> 00:12:26,850 Selle keskel mees kindlasti teab, kes sa oled sest need küpsised jagatud 242 00:12:26,850 --> 00:12:30,910 üle, või pigem, et nn vahendaja. 243 00:12:30,910 --> 00:12:33,820 >> Nii et me tuleme tagasi selle sisse mõju julgeolekule, ning 244 00:12:33,820 --> 00:12:37,170 kuid seal on palju informatsiooni hoitakse sinust iga kord, kui 245 00:12:37,170 --> 00:12:40,120 külastada kõige tahes veebilehe internet ja see tõesti 246 00:12:40,120 --> 00:12:42,877 vähendab selle väga lihtsa mehhanismiga. 247 00:12:42,877 --> 00:12:44,710 Mis juhtub siis, kui sa oled super paranoiline 248 00:12:44,710 --> 00:12:48,190 ja te otsustate minna Chrome või IE või mis iganes ja välja lülitada küpsised? 249 00:12:48,190 --> 00:12:49,365 Mis juhtub? 250 00:12:49,365 --> 00:12:50,790 Jah? 251 00:12:50,790 --> 00:12:53,170 Sa really-- oled seda teinud õige? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Ei, edasi minna. 254 00:12:55,994 --> 00:12:59,645 >> Sihtrühm: Mõned veebilehed ei ole funktsioon ei tunne Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. Humala: Jah! 256 00:13:00,520 --> 00:13:02,311 Nii et teatud veebilehed lihtsalt lakata töötamast. 257 00:13:02,311 --> 00:13:05,520 Ja kõige veebilehed nendel päevadel et põhimõtteliselt tugineda küpsised 258 00:13:05,520 --> 00:13:08,360 eriti kui nad on sisselogimisel aastal, nad lihtsalt läheb katki. 259 00:13:08,360 --> 00:13:10,360 Kuna kaaluda teise võimalusena, kui veebileht 260 00:13:10,360 --> 00:13:14,480 on kuidagi mäletamine, kes sa oled, ja seega oma veebilehitseja ei 261 00:13:14,480 --> 00:13:16,949 esindavad iga HTTP taotluse selle poolt tempel, 262 00:13:16,949 --> 00:13:18,740 tõhusalt veebilehel nagu Facebook läheb 263 00:13:18,740 --> 00:13:22,050 et pead märku sisse iga darn aeg 264 00:13:22,050 --> 00:13:26,200 muudad lehekülge või klõpsake linki, mis Kindlasti ei ole eriti hea kasutaja 265 00:13:26,200 --> 00:13:26,920 kogemus. 266 00:13:26,920 --> 00:13:30,020 >> Nii et ka seal on vahel kompromisse. 267 00:13:30,020 --> 00:13:34,140 Niisiis ilma pikema jututa, võtame enesestmõistetavaks, et veebi programmeerimine, 268 00:13:34,140 --> 00:13:37,630 keeltes nagu PHP, sa ei mäleta teavet, näiteks, et probleem määratud 269 00:13:37,630 --> 00:13:41,550 seitse, kui rakendada oma E * Trade moodi veebileht, mille abil saaks osta 270 00:13:41,550 --> 00:13:45,710 ja müüa varud, siis saad mäleta täpselt mida kasutaja on ostetud ja müüdud 271 00:13:45,710 --> 00:13:49,110 ja kes ta on teel selle sessiooni. 272 00:13:49,110 --> 00:13:51,110 Aga me ei kavatse vaja Kasvataja viis kui e-posti 273 00:13:51,110 --> 00:13:52,640 alustada hoides informatsiooni ümber. 274 00:13:52,640 --> 00:13:53,140 Õigus? 275 00:13:53,140 --> 00:13:56,780 >> Esmaspäeval, me rääkisime Frosh IEd ja kuidas versioonis üks selle veebisaidi 276 00:13:56,780 --> 00:14:00,250 aastat tagasi, kõik me tegime oli kirjuta Proctor, kes on 277 00:14:00,250 --> 00:14:04,250 vastutav ettevõttesisene sport Programmi nimi ja sugu, 278 00:14:04,250 --> 00:14:07,330 ja kas nad kapten ja ühiselamus keegi, kes on 279 00:14:07,330 --> 00:14:10,136 Registreerudes ettevõttesisene sport. 280 00:14:10,136 --> 00:14:13,010 Nii see ei ole halb, aga ta siis tuli troll läbi oma e-posti 281 00:14:13,010 --> 00:14:16,010 luua arvutustabeli või midagi sellist et hoida kõike korraldada. 282 00:14:16,010 --> 00:14:19,750 Nii et kindlasti me nagu programmeerijad võib seda sinu eest, et Procter. 283 00:14:19,750 --> 00:14:22,970 Ja nii sisestada SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 mis läheb otsima ilus erinevad nii C ja PHP, 285 00:14:26,050 --> 00:14:30,990 ja sa sukelduda palju käed PHP ja probleem pani seitse, vaid ka SQL, 286 00:14:30,990 --> 00:14:35,310 või SQL, see on keel, mis kasutate rääkida andmebaasis. 287 00:14:35,310 --> 00:14:36,480 >> Aga mis on andmebaas? 288 00:14:36,480 --> 00:14:38,440 Noh sa arvad andmebaas, vähemalt praegu, 289 00:14:38,440 --> 00:14:41,750 kui lihtsalt on nagu Exceli faili või kui oled Maci kasutaja numbrid faili 290 00:14:41,750 --> 00:14:44,400 või kui sa oled Google Apps kasutaja Google'i arvutustabel, 291 00:14:44,400 --> 00:14:49,120 see on tegelikult andmebaasis või tegelikult konkreetselt relatsiooniline andmebaas. 292 00:14:49,120 --> 00:14:53,070 Relatsiooniline andmebaas on lihtsalt midagi, millel on read ja veerud, 293 00:14:53,070 --> 00:14:56,440 ja te saate salvestada mis tahes teave nende read või veerud. 294 00:14:56,440 --> 00:15:00,480 >> Aga mis on tore SQL ja umbes tegelik andmebaasid, mitte ainult 295 00:15:00,480 --> 00:15:04,910 tabeleid või Google arvutustabelid on, et saate kasutada keelt 296 00:15:04,910 --> 00:15:09,000 tegelikult täita päringut lisada andmeid, et kõrvaldada andmed, 297 00:15:09,000 --> 00:15:11,620 otsida andmeid, isegi Kõige tähtsam on, ja sa 298 00:15:11,620 --> 00:15:16,110 ei pea seda kasutada üsna käsitsi Nagu te võite tavaliselt Google 299 00:15:16,110 --> 00:15:17,690 tabelisse niimoodi. 300 00:15:17,690 --> 00:15:22,217 >> Nii SQL, seal on kamp põhilisi seisukohti või tükid 301 00:15:22,217 --> 00:15:23,300 funktsionaalsus sisse ehitatud. 302 00:15:23,300 --> 00:15:26,450 Seal on palju rohkem kui need, kuid võite minna tohutu vahemaa 303 00:15:26,450 --> 00:15:28,620 teades seda, et Selles keeles nimetatakse 304 00:15:28,620 --> 00:15:30,840 SQL on vähemalt neli avaldused saate kasutada. 305 00:15:30,840 --> 00:15:34,420 >> Kustuta, et kõrvaldada andmed, Lisa, lisades rida, 306 00:15:34,420 --> 00:15:37,340 Update muutmiseks Ridade ja valimine, 307 00:15:37,340 --> 00:15:39,860 saada tagasi ridade ja see on tõesti see, mida SQL teeb. 308 00:15:39,860 --> 00:15:43,810 Ta tegutseb täielikult rida nii et kui sisestate või eemaldada, 309 00:15:43,810 --> 00:15:47,470 või värskendada, või valida, mida sa oled saada tagasi kui nn tulemuse hulka, 310 00:15:47,470 --> 00:15:49,690 nagu massiivi rida. 311 00:15:49,690 --> 00:15:51,700 Kamp rida tabelist. 312 00:15:51,700 --> 00:15:54,050 >> Nii et juba järgmisel päeval, ja isegi see päev, 313 00:15:54,050 --> 00:15:56,560 saab suhelda andmebaasi kasutades käsurida, 314 00:15:56,560 --> 00:15:59,691 kuid see ei ole eriti lõbus kasutada see must ja valge stiili aknas 315 00:15:59,691 --> 00:16:02,190 ja tegelikult täita käske ja tuhnima oma andmebaasi. 316 00:16:02,190 --> 00:16:06,054 Graafilise kasutajaliidese või GUI, on palju parem väidetavalt 317 00:16:06,054 --> 00:16:08,970 ja nii näitaja soovitame ja eelnevalt installitud seadmele 318 00:16:08,970 --> 00:16:10,580 nimetatakse phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 See on täielik juhus, et nimi see asi on PHP on see, 320 00:16:14,060 --> 00:16:17,430 see tähendab, et inimesed kes kirjutas selle programmi enda 321 00:16:17,430 --> 00:16:18,670 kirjutas ta PHP. 322 00:16:18,670 --> 00:16:23,740 >> Aga see on lõppkokkuvõttes manustamist andmebaasi server, nagu MySQL server 323 00:16:23,740 --> 00:16:26,589 et teil võib olla, kui sa teha, et CS50 seade. 324 00:16:26,589 --> 00:16:29,130 Nii et seal on üksikasjalikumalt siin kui peame hoolivad täna 325 00:16:29,130 --> 00:16:33,280 aga mis peamine on see, et vasakul servas on loetelu andmebaasid 326 00:16:33,280 --> 00:16:36,040 et sul on arvutisse, Teie CS50 seade, 327 00:16:36,040 --> 00:16:40,090 või tulema lõplik projekte, mida võiks on kolmanda isiku, ettevõtte 328 00:16:40,090 --> 00:16:43,415 veebilehel või veebilehe server, mis siis võiks maksavad ruumi. 329 00:16:43,415 --> 00:16:45,290 Nii vasakul on andmebaase, millest üks 330 00:16:45,290 --> 00:16:48,750 on pset7 mida ma laenatud kõrval nädala pset, ja siis peal 331 00:16:48,750 --> 00:16:51,570 seal märgata seal hunnik kaarte, millest üks on 332 00:16:51,570 --> 00:16:55,150 on andmebaasid, SQL, staatus, kasutajad, ekspordi ja nii edasi. 333 00:16:55,150 --> 00:16:56,900 Nii saab minna veel pikk tee lihtsalt realiseerimisel 334 00:16:56,900 --> 00:16:59,770 et enamik kasutajaliides on ülemises vasakus tulbas 335 00:16:59,770 --> 00:17:02,650 ja ülaosas õigus seal. 336 00:17:02,650 --> 00:17:04,980 Mida me saame tegelikult pistmist? 337 00:17:04,980 --> 00:17:08,609 Noh, alustame luua natuke informatsiooni järgmiselt. 338 00:17:08,609 --> 00:17:11,760 >> Oletame, et järgmine on, kui on vaid paar päeva, 339 00:17:11,760 --> 00:17:14,440 soovite rakendada kodulehel, mida nimetatakse CS50 rahandus 340 00:17:14,440 --> 00:17:17,328 ja seda kodulehel saab osta tsiteerin lõppeb ja müüa varud. 341 00:17:17,328 --> 00:17:19,619 Ja see läheb välja nuputada hind nende varude 342 00:17:19,619 --> 00:17:22,380 lõpuks nagu näete, rääkides Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Mis, imeliselt, on tasuta teenus millega saab liigu börsisümbol 344 00:17:26,250 --> 00:17:29,830 nagu GOOG Google, ja see teile tagasi Google'i praegune aktsia 345 00:17:29,830 --> 00:17:32,250 hinna sees varem paar minutit vähemalt. 346 00:17:32,250 --> 00:17:35,080 >> Nii saad kasutada, et lõppkokkuvõttes teeselda, et kasutaja 347 00:17:35,080 --> 00:17:37,750 osta ja müüa tegelik varud, kasutades virtuaalset raha, 348 00:17:37,750 --> 00:17:39,750 kuid kõige esimene asi, kasutaja näeme 349 00:17:39,750 --> 00:17:43,850 on see login ekraan, mis palub neil oma kasutajanimi ja parool. 350 00:17:43,850 --> 00:17:46,540 Ja nii, üks esimese väljakutsed teil pset7 351 00:17:46,540 --> 00:17:50,460 läheb rakendada kolp andmebaasi, arvutustabeli kui soovite, 352 00:17:50,460 --> 00:17:53,369 et läheb salvestada kasutajad ja paroolid 353 00:17:53,369 --> 00:17:56,660 ja lõppkokkuvõttes varude nad omavad, ja kes, kui palju ja kui palju raha neil on, 354 00:17:56,660 --> 00:18:00,110 nii hunnik muid asju tabelite või tabeleid. 355 00:18:00,110 --> 00:18:05,020 >> Võtame vaatame, kuidas see võib tunduda esimesel pilgul. 356 00:18:05,020 --> 00:18:06,980 Ma lähen tagasi Seadme ja ma olen 357 00:18:06,980 --> 00:18:14,102 lähevad selle URL siia phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 ja sa näed, et see viib mind liides 359 00:18:16,060 --> 00:18:18,520 täpselt nii, nagu nägime Ekraanipilt, ja siin ma 360 00:18:18,520 --> 00:18:21,560 on täiendav andmebaas nimetatakse loeng täna 361 00:18:21,560 --> 00:18:24,280 ja lubage mul minna Esimene ja kliki pset7. 362 00:18:24,280 --> 00:18:27,940 >> Mulle tundub, et on paar võimalust, üks uus, luua uus tabel, 363 00:18:27,940 --> 00:18:30,770 ja link kasutajad, kes on tabel, mul on juba loodud. 364 00:18:30,770 --> 00:18:31,790 Mis on tabelis? 365 00:18:31,790 --> 00:18:33,740 Nii et kui sa kasutada Excel enne, ja kui olete 366 00:18:33,740 --> 00:18:37,110 kasutatud numbrite või Google Tabelarvutus, kui avada aken 367 00:18:37,110 --> 00:18:39,350 ja sa saad terve hunnik Ridade ja veergude 368 00:18:39,350 --> 00:18:43,120 kuid siis tavaliselt on töölehed allosas või eraldi klapid. 369 00:18:43,120 --> 00:18:46,140 Sa ei mõtle iga tööleht tabelina 370 00:18:46,140 --> 00:18:51,150 nii et andmebaas on lõppkokkuvõttes kombinatsioonis ühe või mitme tabelid, ühe 371 00:18:51,150 --> 00:18:54,064 või enam töövihikuid sisse maailma tavalise tabelisse. 372 00:18:54,064 --> 00:18:55,980 Nii et lubage mul minna ja kliki seda töölehte 373 00:18:55,980 --> 00:18:59,420 et ma Premade nimega kasutajat, teise nimega 374 00:18:59,420 --> 00:19:00,700 Andmebaas tabelis. 375 00:19:00,700 --> 00:19:04,130 Ja kui ma keri siin, Lubage mul välja suumida natuke, 376 00:19:04,130 --> 00:19:08,479 see on see, mida phpMyAdmin räägib meil on sees selles tabelis kohe. 377 00:19:08,479 --> 00:19:11,020 See on veidi segane alguses lühidalt, kuna UI ei ole 378 00:19:11,020 --> 00:19:15,140 ilusaim asi maailmas, kuid Huvitav on see osa siin. 379 00:19:15,140 --> 00:19:17,970 ID, kasutajanime ja räsi. 380 00:19:17,970 --> 00:19:20,510 >> Ette, ja sa pead olema käega Seda probleemi pani seitse, 381 00:19:20,510 --> 00:19:25,050 anname sisaldava faili super väike andmebaasi tabeli laenatud tegelikult 382 00:19:25,050 --> 00:19:27,070 häkker väljaanne Probleemi seatud kaks, 383 00:19:27,070 --> 00:19:29,480 mille sees on kuus rida. 384 00:19:29,480 --> 00:19:32,720 Üks Belinda kõik tee alla üks Zamyla, 385 00:19:32,720 --> 00:19:35,980 ja teate, et vasaku nende kasutajanimed on ainulaadsed sümbolid nagu üks, 386 00:19:35,980 --> 00:19:39,410 kaks, kolm, neli, viis, kuus, täisarvud, ja siis paremale on räsi. 387 00:19:39,410 --> 00:19:42,780 >> Ja kui, koefitsiendid on, sa ei teinud häkker väljaanne probleem seatud kaks, 388 00:19:42,780 --> 00:19:46,560 kuid hash on nagu krüpteeritud salasõna paar hoiatust. 389 00:19:46,560 --> 00:19:49,470 Ja nii, mida sa näed siin on krüpteeritud versioonid kõik kuus 390 00:19:49,470 --> 00:19:52,950 meie paroolid probleem määratud kahe aasta häkker väljaanne. 391 00:19:52,950 --> 00:19:56,500 Nüüd on jäänud vaid mõned GUI värk, muuda seda rida, kopeerimine järjest 392 00:19:56,500 --> 00:19:57,630 kustutad selle rea. 393 00:19:57,630 --> 00:19:59,840 >> Aga mis on huvitav Nüüd on järgmine. 394 00:19:59,840 --> 00:20:03,810 Ma ei saa tegelikult alustada katsetavad seda tabelit. 395 00:20:03,810 --> 00:20:07,330 Nii et kui ma lähen ja klõpsake SQL tab, saan selle suure teksti kasti. 396 00:20:07,330 --> 00:20:10,190 Ja see ei ole, kuidas me läheme seda teha kui tegelikult kirjalikult koodi. 397 00:20:10,190 --> 00:20:12,700 Et asi oleks selge, phpMyAdmin on lihtsalt tööriist, mis on 398 00:20:12,700 --> 00:20:16,450 lase meil tuhnima andmebaasis ja olgem eksperimenteerida päringuid. 399 00:20:16,450 --> 00:20:19,430 >> Nii Oletame näiteks, et Ma täita just seda. 400 00:20:19,430 --> 00:20:22,820 Select, mis on üks neist märksõnad mainisin, star, 401 00:20:22,820 --> 00:20:25,900 mis esindab kõiki veerud tabelis. 402 00:20:25,900 --> 00:20:26,820 Mida lauale? 403 00:20:26,820 --> 00:20:27,990 Noh, kasutajatele. 404 00:20:27,990 --> 00:20:29,950 Ja teate seal on see imelik konventsiooni SQL 405 00:20:29,950 --> 00:20:32,140 kus sa tegelikult kasutada tagasi puugid, tavaliselt, 406 00:20:32,140 --> 00:20:35,940 ei ülakoma mitte jutumärkide kui te räägite tabelite nimed, 407 00:20:35,940 --> 00:20:38,990 nii tagasi tsitaat on asi ülemises vasakus klaviatuuri kõige 408 00:20:38,990 --> 00:20:39,720 tõenäoline. 409 00:20:39,720 --> 00:20:41,850 >> Nii et lubage mul minna nüüd ja jäta see üksi 410 00:20:41,850 --> 00:20:46,020 ja liikuge allapoole ja kliki Go, ja me oleme tegelikult näeme sama asja. 411 00:20:46,020 --> 00:20:52,410 Äsja teostatud SQL päring öeldes, valige kõik star 412 00:20:52,410 --> 00:20:55,610 tabelist nimega kasutajatele ja mida sa saada tagasi see. 413 00:20:55,610 --> 00:20:58,400 Lõppkokkuvõttes me suutma Selleks, et sama asja koodi 414 00:20:58,400 --> 00:21:02,109 aga praegu tahtsin ei olnud näha minu brauseris. 415 00:21:02,109 --> 00:21:03,900 Noh olgem midagi veidi erinev. 416 00:21:03,900 --> 00:21:08,330 Lubage mul minna tagasi SQL sakk ja ütleme lihtsalt, et mida? 417 00:21:08,330 --> 00:21:11,520 Zamyla on kaotanud kogu oma eest, mistõttu see on 418 00:21:11,520 --> 00:21:13,190 meil aeg kustutada oma kasutajana. 419 00:21:13,190 --> 00:21:14,630 Ta ei ole enam sisse logida. 420 00:21:14,630 --> 00:21:18,870 >> Nii et ma ütlen kustutada algus-- hästi, säilitada kapitaliseerimine 421 00:21:18,870 --> 00:21:23,080 järjepidevuse, kustutada kasutajate kus. 422 00:21:23,080 --> 00:21:25,430 Ja nii, et meil on need predikaatit või nende 423 00:21:25,430 --> 00:21:31,180 täpsustus, lõpus minu avaldus kus ja kuidas ma saaksin kustutada Zamyla? 424 00:21:31,180 --> 00:21:34,190 Tema nimi Zamyla, nii kolonn, üks kolonnid 425 00:21:34,190 --> 00:21:37,950 nimetati, et kus name = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 Ja siin ma saan kasutada topelt hinnapakkumisi või ülakoma, 427 00:21:40,000 --> 00:21:42,958 kasutate ainult tagasi puugid kui räägime nimesid, näiteks, 428 00:21:42,958 --> 00:21:45,130 tabelite või valdkondades. 429 00:21:45,130 --> 00:21:47,440 Ja las ma klõpsake Mine siia. 430 00:21:47,440 --> 00:21:50,400 Ja nüüd, veebileht on veidi pinges. 431 00:21:50,400 --> 00:21:53,620 >> Või kas sa tõesti tahad, et täita kustutada kasutajate kus nimi võrdub Zamyla? 432 00:21:53,620 --> 00:21:54,680 Jah. 433 00:21:54,680 --> 00:22:01,900 Nüüd, kui me läheme tagasi oma laua klõpsates kasutajad, märkate, et Hm. 434 00:22:01,900 --> 00:22:02,530 Ma goofed. 435 00:22:02,530 --> 00:22:04,070 Ja tegelikult, ma omamoodi klõpsanud ära nii kiiresti 436 00:22:04,070 --> 00:22:06,195 sa isegi ei näe punane veateate, võib-olla. 437 00:22:06,195 --> 00:22:07,649 Mida ma valesti tegin? 438 00:22:07,649 --> 00:22:09,690 Sihtrühm: Sa ei pea lõikama tema nime. 439 00:22:09,690 --> 00:22:11,260 DAVID J. Humala: Jah, ma kapitaliseeritud oma nime, 440 00:22:11,260 --> 00:22:13,770 kuid tema username-- tegelikult ma tegi paar viga, eks? 441 00:22:13,770 --> 00:22:16,720 Üks tema kasutajanimi on zamyla, väiketähed Z, 442 00:22:16,720 --> 00:22:20,140 ja veeru nimi on kasutajanimi, ei nime, nii et teeme seda uuesti. 443 00:22:20,140 --> 00:22:25,750 Lubage mul minna ja kustutada kasutajate kus 444 00:22:25,750 --> 00:22:28,990 kasutajanimi võrdub quote Tsitaat lõppeb "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Kõik korras? 446 00:22:29,490 --> 00:22:32,600 Nii et see tundub veidi paremini, las mul minna liikuge allapoole ja kliki Go. 447 00:22:32,600 --> 00:22:34,730 See ikka läheb karjuda, et olla kindel. 448 00:22:34,730 --> 00:22:37,500 Ma vajutan Jah, ja nüüd me näeme, ausalt öeldes see juhtus, tõesti 449 00:22:37,500 --> 00:22:39,870 kiiresti, vähem kui üks teine ​​kindlasti see 450 00:22:39,870 --> 00:22:41,720 Just päringu, mis sai täidetud. 451 00:22:41,720 --> 00:22:45,617 Kinnitamaks, lubage mul klõpsake kasutajad ja tõesti nüüd Zamyla on läinud. 452 00:22:45,617 --> 00:22:46,700 Teeme nüüd vastupidist. 453 00:22:46,700 --> 00:22:49,320 Oletame, et Gabe tahab registreeruda veebilehel. 454 00:22:49,320 --> 00:22:52,825 Mis on SQL päring, mis on käsk saanud ma kirjutad lisada Gabe? 455 00:22:52,825 --> 00:22:54,200 Noh see on üsna lihtne. 456 00:22:54,200 --> 00:22:58,260 Lisada kasutajaid ja nüüd see läheb veidi segasena. 457 00:22:58,260 --> 00:23:03,190 Mul on vaja täpsustada, et server, millistes valdkondades Tahan anda. 458 00:23:03,190 --> 00:23:06,630 Ma tõesti ei huvita, mida Gabe ID number on, nii et ma lähen jäta seda. 459 00:23:06,630 --> 00:23:11,360 Ma asemel ütlen kasutajanimi, hash ja seejärel 460 00:23:11,360 --> 00:23:14,960 väärtusi ma tahan panna seal saab olema Gabe. 461 00:23:14,960 --> 00:23:16,800 Ja siis tema hash, ma ei tea. 462 00:23:16,800 --> 00:23:19,900 Nii et nüüd ma lähen jätta, et suur teha. 463 00:23:19,900 --> 00:23:21,650 Me tuleme tagasi et probleem määratud 464 00:23:21,650 --> 00:23:23,390 spec, kuidas sa tegelikult teha. 465 00:23:23,390 --> 00:23:24,630 >> Nii märkate jällegi süntaks. 466 00:23:24,630 --> 00:23:28,430 Lisada tabeli nimi, siis sulgudes nimekirja väljad 467 00:23:28,430 --> 00:23:30,980 veerud, mida soovite lisada väärtused ning seejärel ainult 468 00:23:30,980 --> 00:23:34,495 sama täpne tellimine jäetud paremal väärtused, mida soovite lisada, 469 00:23:34,495 --> 00:23:36,870 ja see on lihtsalt ümbriste sest teksti on veidi pikk. 470 00:23:36,870 --> 00:23:38,520 Nüüd lubage mul klõpsake Mine. 471 00:23:38,520 --> 00:23:39,830 Üks rida lisatakse. 472 00:23:39,830 --> 00:23:43,020 Ja nüüd, kui ma lähen tagasi kasutajatele, mis on huvitav 473 00:23:43,020 --> 00:23:48,960 on see, et mitte ainult Gabe nüüd andmebaas, mis on ilmselt tema ID? 474 00:23:48,960 --> 00:23:49,820 >> Noh see on seitse. 475 00:23:49,820 --> 00:23:51,479 Miks on seitse, kui ma ei lisanud seda? 476 00:23:51,479 --> 00:23:54,020 Nii ka see on üks funktsioone saad andmebaasi. 477 00:23:54,020 --> 00:23:55,750 Palju ehitatud funktsionaalsust. 478 00:23:55,750 --> 00:23:57,950 Selgub, et kui loodud Selle tabeli 479 00:23:57,950 --> 00:24:01,390 Ma eelseadistatud see automaatselt määrata ID sellisel viisil 480 00:24:01,390 --> 00:24:02,480 et see sammudena. 481 00:24:02,480 --> 00:24:05,470 Nii et kui sa oled kunagi torkasid ümber, ja vaatas, mida oma Facebook ID 482 00:24:05,470 --> 00:24:09,292 number on nendel päevadel see ei ole tõesti asi, mida teha, kuid Facebook API, 483 00:24:09,292 --> 00:24:11,750 Application Programming Interface, mille saad tagasi 484 00:24:11,750 --> 00:24:14,430 terve hulk andmeid ennast, oma sõpru, 485 00:24:14,430 --> 00:24:15,347 ning ühendused. 486 00:24:15,347 --> 00:24:17,430 Ja mida varem lahke lahe, juba järgmisel päeval, 487 00:24:17,430 --> 00:24:19,510 oli otsida, mida teie Facebook ID number oli. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg, Nii on näiteks kolm 489 00:24:22,390 --> 00:24:23,890 sest ta oli autor kohas. 490 00:24:23,890 --> 00:24:27,610 Ja kui räägitakse, ta lõi kaks testkontod kasutajad üks ja kaks, 491 00:24:27,610 --> 00:24:28,690 mida ta siis välja. 492 00:24:28,690 --> 00:24:32,780 Ja nii, Zuck, nagu on tema kasutajanimi Facebook, on ID number kolm, 493 00:24:32,780 --> 00:24:36,110 ja meil kõigil on numbrid palju suurem kui kolm neist päeva. 494 00:24:36,110 --> 00:24:37,980 Tegelikult mingil hetkel Facebook siirdunud 495 00:24:37,980 --> 00:24:42,410 alates isegi kasutades int, mis on 32-bitine väärtus, kasutades 496 00:24:42,410 --> 00:24:44,480 järgmine samm, sisuliselt pikk pikk nii 497 00:24:44,480 --> 00:24:47,150 et nad võiksid tulla isegi rohkem kasutajaid registreerida. 498 00:24:47,150 --> 00:24:49,420 Nii lõbus väike ajalooline fakt. 499 00:24:49,420 --> 00:24:51,660 >> Nii et see on lihtsalt põhiliste süntaksi, mille 500 00:24:51,660 --> 00:24:54,470 me võiksime täita paar päringuid, kuid me saame tegelikult 501 00:24:54,470 --> 00:24:56,744 teha kamp rohkem asju koos SQL. 502 00:24:56,744 --> 00:24:58,910 Ja te näete, lõpuks, probleemis pani seitse 503 00:24:58,910 --> 00:25:01,034 et sa pead tegema arvu disaini otsuseid, 504 00:25:01,034 --> 00:25:03,290 nende hulgas saab olema mis tüüpi andmeid kasutada. 505 00:25:03,290 --> 00:25:08,240 Nii nagu ka C on andmed tüüpi andmebaasi, nagu MySQL, 506 00:25:08,240 --> 00:25:12,640 ja andmetüübid teil on valida alates nende kaasamine siin. 507 00:25:12,640 --> 00:25:17,287 Char, varchar, keskmine, suur int, koma kuupäev ja kellaaeg, ja paljud teised. 508 00:25:17,287 --> 00:25:18,370 Nii et olgem tegelikult seda teha. 509 00:25:18,370 --> 00:25:21,060 Teeme näo, et me ei aga sa selle kasutaja tabelis 510 00:25:21,060 --> 00:25:25,080 ja lubage mul minna ja luua jaoks mina, loengutes database-- 511 00:25:25,080 --> 00:25:31,000 tegelikult las ma minna ja kustutada Tabelis on mul siin juba 512 00:25:31,000 --> 00:25:32,940 nii et me saame tegelikult luua selle. 513 00:25:32,940 --> 00:25:33,550 Oih. 514 00:25:33,550 --> 00:25:35,970 Ma lähen tilk seda tabelis ja nüüd olen 515 00:25:35,970 --> 00:25:38,337 lähen uuesti loeng andmebaas siin, 516 00:25:38,337 --> 00:25:40,420 Ma lähen luua tabel nimega kasutajat ja olgem 517 00:25:40,420 --> 00:25:43,010 lihtsalt teha kolm veergu esialgu ja klõpsake Mine. 518 00:25:43,010 --> 00:25:44,990 >> Nüüd, enamasti Ka see on lihtsalt 519 00:25:44,990 --> 00:25:48,570 Kasutades seda graafilist tööriista nimega phpMyAdmin ja mida me teeme nüüd 520 00:25:48,570 --> 00:25:49,600 loob tabelis. 521 00:25:49,600 --> 00:25:53,170 Nii et see on nagu läheb File, New, ja luua uus Exceli fail. 522 00:25:53,170 --> 00:25:55,440 Nii et see on minult paar küsimused, vasakult paremale, 523 00:25:55,440 --> 00:25:58,620 Mis nime esimeses veerus ja siis nimi teises veerus 524 00:25:58,620 --> 00:25:59,560 ja nimi kolmanda. 525 00:25:59,560 --> 00:26:00,518 Nii et olgem taastada seda. 526 00:26:00,518 --> 00:26:05,460 ID ja seejärel kasutajanimi oli üks, ja siis hash oli teine. 527 00:26:05,460 --> 00:26:08,970 Mida peaks andmetüüp olema nüüd välja nagu ID? 528 00:26:08,970 --> 00:26:14,470 >> Siin on kogu andmetüüpide nimekiri teile kättesaadavaks andmebaasis, 529 00:26:14,470 --> 00:26:16,070 ja nüüd lähme lihtsalt minema int. 530 00:26:16,070 --> 00:26:18,160 32-bitine väärtus, ma ei arvan reaalselt ma olen 531 00:26:18,160 --> 00:26:21,484 läheb on rohkem kui 4 miljardit kasutajad minu konto minu teenust, 532 00:26:21,484 --> 00:26:23,650 nii et ma lähen edasi liikuma edasi järgmisele küsimusele. 533 00:26:23,650 --> 00:26:25,490 Ma ei kavatse määrata pikkus või väärtused, 534 00:26:25,490 --> 00:26:28,540 see ei ole kohaldatav siin int, per se. 535 00:26:28,540 --> 00:26:30,740 Ja nüüd ma ei täpsusta, ilmselt default 536 00:26:30,740 --> 00:26:33,970 väärtus, mis ma ei hakka täpsustama. 537 00:26:33,970 --> 00:26:36,050 Võrdlemine, ma ei tea, mis see on. 538 00:26:36,050 --> 00:26:37,290 Atribuut. 539 00:26:37,290 --> 00:26:39,455 Nüüd me tegelikult teha on disain otsus. 540 00:26:39,455 --> 00:26:42,580 Nii et seal on mõned väljad siin ei ole kõik mis on kohaldatavad, kuid allkirjastamata 541 00:26:42,580 --> 00:26:43,380 lihtsalt tähendab mida? 542 00:26:43,380 --> 00:26:45,400 See int peab olema? 543 00:26:45,400 --> 00:26:46,210 Lihtsalt mitte-negatiivne. 544 00:26:46,210 --> 00:26:48,090 Nii et see peab olema 0 üles. 545 00:26:48,090 --> 00:26:51,120 Ei, ma ei kavatse vaadata, sest Ma tahan igal kasutajal on ID, 546 00:26:51,120 --> 00:26:52,470 see ei saa olla null. 547 00:26:52,470 --> 00:26:55,949 Ja siis saame veel mõned huvitav disaini otsuseid niimoodi. 548 00:26:55,949 --> 00:26:58,990 Me tuleme tagasi selle hetke, kuid mida teine ​​tunnusjoon andmebaas 549 00:26:58,990 --> 00:27:04,200 on see, et te saate öelda andmebaasiserver minna 550 00:27:04,200 --> 00:27:07,100 ja optimeerida ennast, oma RAM ja kõvaketta ruumi, 551 00:27:07,100 --> 00:27:11,770 nii, et valib, ja lisab, ja kustutab ja uuendused on tõesti kiire. 552 00:27:11,770 --> 00:27:13,250 Vastandina pset5. 553 00:27:13,250 --> 00:27:16,259 >> Kui soovid otsida midagi Teie hash tabelit, mis 554 00:27:16,259 --> 00:27:18,300 sa arvad, kui andmebaasi kes pidid tegema kõik 555 00:27:18,300 --> 00:27:21,500 tööd tehes oma hash tabelit kiire. 556 00:27:21,500 --> 00:27:22,840 See on nagu muidugi teile. 557 00:27:22,840 --> 00:27:23,060 Õigus? 558 00:27:23,060 --> 00:27:26,080 Sa pidid kogu aeg trahvi tuuning asju, saada räsifunktsioon 559 00:27:26,080 --> 00:27:27,820 õige, figuring kuidas palju ämbrid on. 560 00:27:27,820 --> 00:27:29,611 >> Aga on tore jälle umbes andmebaas 561 00:27:29,611 --> 00:27:31,762 sa lihtsalt punt kõik seda teistele inimestele 562 00:27:31,762 --> 00:27:33,720 kes on mõelnud selle läbi teie jaoks, ja mida 563 00:27:33,720 --> 00:27:37,170 Ma lähen ütlen siin all indeks on see, et mu ID väli 564 00:27:37,170 --> 00:27:41,149 saab olema esmane viis kindlaks kasutajate andmebaasis. 565 00:27:41,149 --> 00:27:42,940 Ma ei hakka mõtlema kohta Zamyla kui Zamyla, 566 00:27:42,940 --> 00:27:45,800 Ma lähen välja mõelda teda number 6. 567 00:27:45,800 --> 00:27:49,814 >> Miks on nii, võib-olla parem intuitiivselt mõelda ja mudel 568 00:27:49,814 --> 00:27:52,480 iga oma individuaalne rida kasutades number asemel midagi 569 00:27:52,480 --> 00:27:56,480 nagu string, nagu Zamyla või Gabe või enam string veel? 570 00:27:56,480 --> 00:27:57,444 Jah? 571 00:27:57,444 --> 00:28:00,117 >> Sihtrühm: ID on unikaalne? 572 00:28:00,117 --> 00:28:01,200 DAVID J. Humala: Ütle uuesti? 573 00:28:01,200 --> 00:28:02,283 Sihtrühm: ID on unikaalne? 574 00:28:02,283 --> 00:28:04,400 DAVID J. Humala: ID on unikaalne, kuid suppose-- 575 00:28:04,400 --> 00:28:06,320 nagu olukord üldiselt koos kasutajanimed oletame 576 00:28:06,320 --> 00:28:10,110 Ma ütlesin ka seal saab olla vaid üks Zamyla maailmas, ja ainult üks Gabe. 577 00:28:10,110 --> 00:28:13,730 Ma võiks kehtestada unikaalsus piirang stringid ka, kui ma tahtsin. 578 00:28:13,730 --> 00:28:15,550 Nii et ei ole halb mõte. 579 00:28:15,550 --> 00:28:16,500 >> Sihtrühm: Turvalisem. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. Humala: Turvalisem, siis miks? 581 00:28:17,874 --> 00:28:20,705 Sihtrühm: Sa ei saa öelda, mis on mis nagu kasutaja. 582 00:28:20,705 --> 00:28:22,580 DAVID J. Humala: OK, siis ei saa öelda, mida kasutaja 583 00:28:22,580 --> 00:28:24,380 on mis seega ei privaatsuse aspekt see, 584 00:28:24,380 --> 00:28:27,810 eriti siis, kui ID-olla ilmumist URL. 585 00:28:27,810 --> 00:28:29,960 Nii kindel, et võiks sellist tööd ka. 586 00:28:29,960 --> 00:28:30,640 Muud mõtted? 587 00:28:30,640 --> 00:28:31,383 Jah? 588 00:28:31,383 --> 00:28:34,316 >> Sihtrühm: See on lihtsam toimingute kohta int. 589 00:28:34,316 --> 00:28:35,940 DAVID J. Humala: See on tõeline kicker. 590 00:28:35,940 --> 00:28:38,850 See on lihtsalt tõhusamaks, või lihtsam arvuti 591 00:28:38,850 --> 00:28:40,431 operatsioonide teostamiseks on täisarv. 592 00:28:40,431 --> 00:28:40,930 Õigus? 593 00:28:40,930 --> 00:28:43,905 Int on tagatud olema 32-bitine, samas Zamyla 594 00:28:43,905 --> 00:28:47,660 on paar märki pikk, Gabriel on veel paar märki pikk, 595 00:28:47,660 --> 00:28:51,930 Davenport on tõesti pikk, ja nii see on ei ole eriti tõhus kasutada 596 00:28:51,930 --> 00:28:55,860 stringid võrrelda väärtusi ja vaata eest valdkondades, ja uuendada väljad 597 00:28:55,860 --> 00:28:57,790 kui sa ei pääse vaid üks täisarv. 598 00:28:57,790 --> 00:28:59,090 Just 32 bitti. 599 00:28:59,090 --> 00:29:02,570 Nii kasutajanimed ka sel viisil, ei pea olema ainulaadne, 600 00:29:02,570 --> 00:29:05,040 kuigi nad ilmselt peaks olema, ja isegi sel moel liiga 601 00:29:05,040 --> 00:29:07,520 kasutaja võiks lasta muuta oma kasutajanime. 602 00:29:07,520 --> 00:29:10,810 >> Nii et olgem nüüd jätke see nagu peamine vahend kindlaks kasutaja. 603 00:29:10,810 --> 00:29:13,510 See räägib andmebaas minna ja optimeerida ise 604 00:29:13,510 --> 00:29:17,065 nii et vaata ups ID on super kiire. 605 00:29:17,065 --> 00:29:19,620 AI, jubedalt nimega, just tähendab, Auto juurdekasvu, 606 00:29:19,620 --> 00:29:21,500 ja see on kontroll kast peame kontrollima 607 00:29:21,500 --> 00:29:24,614 täpsustada, et ID väljale uuendatakse automaatselt minu jaoks, 608 00:29:24,614 --> 00:29:26,530 ja siis ma lähen leidke siin 609 00:29:26,530 --> 00:29:29,279 ja ausalt öeldes ma ei ole tõesti huvitatud igal mitut välja. 610 00:29:29,279 --> 00:29:30,630 Kindlasti mitte täna. 611 00:29:30,630 --> 00:29:33,770 >> Nii et ma lähen siia tagasi, et esimeses veerus, kus 612 00:29:33,770 --> 00:29:35,830 Mul on vaja täpsustada kasutajanime ja räsi ning lähme 613 00:29:35,830 --> 00:29:38,080 vähemalt keskendumine teine ​​nüüd. 614 00:29:38,080 --> 00:29:41,498 Int ei ole ilmselt õige kõne mis siis on mõttekam ehk? 615 00:29:41,498 --> 00:29:42,741 >> Sihtrühm: Tekst. 616 00:29:42,741 --> 00:29:43,824 DAVID J. Humala: Ütle uuesti? 617 00:29:43,824 --> 00:29:44,710 Sihtrühm: Tekst. 618 00:29:44,710 --> 00:29:44,980 DAVID J. Humala: Tekst? 619 00:29:44,980 --> 00:29:45,590 OK, ma kuulsin teksti. 620 00:29:45,590 --> 00:29:46,090 Mida veel? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Meil selline on hunnik valikuid mis on tekstiline iseloomuga. 623 00:29:53,860 --> 00:29:55,990 Niisiis, millal ja miks, kas te kasutate mõnda neist? 624 00:29:55,990 --> 00:29:59,560 Noh char vastupidiselt võite arvan, ei ole üks sümbol. 625 00:29:59,560 --> 00:30:01,550 See on konkreetsed märgid. 626 00:30:01,550 --> 00:30:04,600 Nii et kui me teame, et kõik kasutajanimed peab olema nagu kaheksa tähemärki, 627 00:30:04,600 --> 00:30:08,490 nagu varem sagedamini vanematel arvutisüsteemid, võin öelda char 628 00:30:08,490 --> 00:30:09,830 ja siis ma võiks öelda 8 siin. 629 00:30:09,830 --> 00:30:12,930 See, kui kolmandas veerus muutub kohaldatav, kui luua tabelit. 630 00:30:12,930 --> 00:30:15,450 >> Aga see on selline tüütu sest mõned inimesed võivad 631 00:30:15,450 --> 00:30:17,660 tahad olla pikem kasutajanime kui kaheksa tähemärki, 632 00:30:17,660 --> 00:30:19,743 mõned inimesed võivad tahta Lühema kasutajanime 633 00:30:19,743 --> 00:30:22,210 miks pühendun teatava arvu? 634 00:30:22,210 --> 00:30:24,710 Miks mitte olla erinev sümbolite arvu ja lihtsalt 635 00:30:24,710 --> 00:30:28,580 öelda, et maksimaalne pikkus nimi on, ma ei tea, nagu 64 tähemärki. 636 00:30:28,580 --> 00:30:31,780 Ma ei saa mõelda ühtegi sõpra, kes on nimed pikem kui 64 tähemärki, 637 00:30:31,780 --> 00:30:34,810 ja isegi kui see on liiga lühike, siis võiks kindlasti tõstatan selle üles meelevaldselt. 638 00:30:34,810 --> 00:30:37,330 >> Nii varchar on muutuja sümbolite arvu. 639 00:30:37,330 --> 00:30:41,010 Tekst ei ole halb instinkt, ja ausalt, et omamoodi teeb mida ta ütleb, 640 00:30:41,010 --> 00:30:45,460 kuid tekstivälja saab nagu 65000 baiti vähemalt. 641 00:30:45,460 --> 00:30:50,790 See on ilmselt overkill valdkonnas, ja tegelikult yup, 65535. 642 00:30:50,790 --> 00:30:53,740 See on ilmselt overkill nimetada, nii me kinni, tavaliselt, 643 00:30:53,740 --> 00:30:56,910 koos varchars eest tekstiline valdkonnas ja hash ka. 644 00:30:56,910 --> 00:30:59,990 Hash, selgub, võiksime teha varchar ka või midagi sellist, 645 00:30:59,990 --> 00:31:03,080 kuid me ei keskenduks täna krüptograafia seal ja numbrid 646 00:31:03,080 --> 00:31:05,210 et me võiksime tegelikult soovite kasutada oma pikkus. 647 00:31:05,210 --> 00:31:07,430 >> Kuid lubage mul keri paremale. 648 00:31:07,430 --> 00:31:11,280 Sul võib olla üks esmane indeksi tabelis 649 00:31:11,280 --> 00:31:16,380 kuid ma tahan taotleda kõik need, nüüd, et kasutajanimi, sa ütleksid? 650 00:31:16,380 --> 00:31:21,980 Mida peaks kasutajanime põhineb ebamäärane arusaam nendest neli võimalust? 651 00:31:21,980 --> 00:31:23,340 Just nende nimed? 652 00:31:23,340 --> 00:31:24,140 >> Sihtrühm: Unique. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. Humala: Nii ainulaadne, eks? 654 00:31:25,100 --> 00:31:28,190 Nii selgub, et mitte ainult saaks ütlete andmebaas, ette, 655 00:31:28,190 --> 00:31:30,380 see on peamine viis kindlakstegemise valdkondades. 656 00:31:30,380 --> 00:31:32,990 Võite öelda, et see on saab olema ainulaadne valdkonnas. 657 00:31:32,990 --> 00:31:34,700 Ta ei kavatse olla asi, mida ma tugineda, 658 00:31:34,700 --> 00:31:38,490 kuid tahaksin andmebaasi sisuliselt on, et kui tingimus, et 659 00:31:38,490 --> 00:31:42,340 et kui ma kunagi proovinud registreerida kaks kasutajat sama nimega, 660 00:31:42,340 --> 00:31:44,360 Andmebaasi korter läbi ei lase mind. 661 00:31:44,360 --> 00:31:47,490 Ma võib-olla mõningaid täiendavaid PHP, mis ei lase nii palju, 662 00:31:47,490 --> 00:31:50,640 kuid andmebaasi võib samuti tagada et see ei saa kunagi juhtuda. 663 00:31:50,640 --> 00:31:53,370 >> Nüüd, kui kõrvale jätta, eriti kui sa arvad lõplik projekte, 664 00:31:53,370 --> 00:31:57,030 pidage meeles, see indeks ja täis tekst on tegelikult üsna kasulik. 665 00:31:57,030 --> 00:32:01,080 Kui teil on suurem andmebaas, mitte kümneid, vaid sadu või tuhandeid 666 00:32:01,080 --> 00:32:05,270 või isegi miljoneid valdkondades, saate ka öelda andmebaas ette 667 00:32:05,270 --> 00:32:07,980 see on valdkond, ma lähen tuleb otsides palju. 668 00:32:07,980 --> 00:32:10,520 Võib-olla oma kasutajanime võibolla on bio, kui sa oled 669 00:32:10,520 --> 00:32:13,750 tegemist Facebook-like kodulehel, et on punktid, mis kasutaja lubatud 670 00:32:13,750 --> 00:32:16,799 salvestada, ja kui sa tahad öelda andmebaas ette 671 00:32:16,799 --> 00:32:20,090 Ma lähen otsima selles valdkonnas palju, kuid see ei ole tingimata unikaalne, 672 00:32:20,090 --> 00:32:22,800 saab määrata looma mulle indeks. 673 00:32:22,800 --> 00:32:27,990 Või saab öelda ka võimaldab mul teha sorteeri suvalise otsinguid nagu Command 674 00:32:27,990 --> 00:32:30,420 või kontroll F, nagu sina võiks Word Processor, 675 00:32:30,420 --> 00:32:34,184 nii et võid vaadata suvalise stringid või alamstringide selles valdkonnas. 676 00:32:34,184 --> 00:32:36,600 Teisisõnu, me lähme punktini semester 677 00:32:36,600 --> 00:32:40,720 kus sa ei pea muretsema kuidas rakendada asjad tõhusalt. 678 00:32:40,720 --> 00:32:44,540 Sa lihtsalt pead teadma, mida disaini otsuseid teha nii, et sa oled 679 00:32:44,540 --> 00:32:48,470 kasutades õigeid vahendeid kaubandust, et kasutada ära funktsioone 680 00:32:48,470 --> 00:32:50,380 et teised inimesed on ehitanud teile. 681 00:32:50,380 --> 00:32:54,240 Nii et sulgege, esmane peaks ainult on üks, siis saab olla ainult üks, 682 00:32:54,240 --> 00:32:59,630 ja see on asi, mida sa endale kohustuse kasutades välja selgitada valdkondi üheselt. 683 00:32:59,630 --> 00:33:02,710 Unikaalne on just sarnase sisuga, kuid võite ainult aeg-ajalt kasutada, 684 00:33:02,710 --> 00:33:04,530 kuid soovite andmebaasi kehtestada see. 685 00:33:04,530 --> 00:33:08,050 Indeks tähendab lihtsalt ennetavalt kiirus asju tulevikus 686 00:33:08,050 --> 00:33:10,230 nii et ma ei saa otsida asjad selles valdkonnas. 687 00:33:10,230 --> 00:33:13,700 Ja siis täielik tekst on üldiselt punktid või esseed või suur asutused 688 00:33:13,700 --> 00:33:16,270 teksti, kus te Tasuks ka olema 689 00:33:16,270 --> 00:33:19,420 metamärke nagu samaväärne star. 690 00:33:19,420 --> 00:33:19,920 Õigus. 691 00:33:19,920 --> 00:33:22,580 >> Nii et oli mingi palju korraga. 692 00:33:22,580 --> 00:33:25,220 Vaatame, kas me ei saa ajama paari neid funktsioone 693 00:33:25,220 --> 00:33:29,540 ja siis ehitada midagi üsna lihtne, kuid võimas. 694 00:33:29,540 --> 00:33:31,380 Nii et teiste hulgas disaini otsuseid sa oled 695 00:33:31,380 --> 00:33:34,005 lõpuks saab olema on koos read ladustamise mootorid. 696 00:33:34,005 --> 00:33:37,370 Ja las ma lihtsalt mainita ootuses lõplik projekte, 697 00:33:37,370 --> 00:33:42,020 ning ennetades olgem say-- ei teeme seda. 698 00:33:42,020 --> 00:33:43,820 Rajame see väike taotluse esimesena. 699 00:33:43,820 --> 00:33:48,070 Ma lähen minema mu terminal aken ja siin ei ole 700 00:33:48,070 --> 00:33:52,500 ainult counter.php, mis me nüüd vabaneda mitte enam Sobiv, 701 00:33:52,500 --> 00:33:54,570 aga meil on terve hulk Kataloogide ja see 702 00:33:54,570 --> 00:33:58,080 saab olema väga sarnase sisuga mida sa näed, on probleem pani seitse. 703 00:33:58,080 --> 00:34:00,980 >> Nii et meil on kolm kataloogi hõlmab avaliku ja malle, mis 704 00:34:00,980 --> 00:34:05,040 on täpselt seal, kus jätsime maha Esmaspäev kogu meie MVC paradigma. 705 00:34:05,040 --> 00:34:09,290 Ja sulgege, avalikult ei lähe mis tahes faili, et ma tahan kasutajaid tegelikult 706 00:34:09,290 --> 00:34:12,969 v oleks võimalik külastada oma brauseri kaudu URL. 707 00:34:12,969 --> 00:34:13,502 Mall. 708 00:34:13,502 --> 00:34:14,710 Mida me paneme malle? 709 00:34:14,710 --> 00:34:17,070 Milliseid asju? 710 00:34:17,070 --> 00:34:21,659 Seal ei olnud palju, kuid paar Failide vähemalt esmaspäeval. 711 00:34:21,659 --> 00:34:22,619 Jah. 712 00:34:22,619 --> 00:34:23,100 >> Sihtrühm: Päis ja jalus? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. Humala: Päis ja jalus. 714 00:34:24,516 --> 00:34:26,679 Nii et meil on midagi sarnast täna ka. 715 00:34:26,679 --> 00:34:30,330 Meil on veel mõned failid, kuid Jalus ma näen, Päise ma näen, 716 00:34:30,330 --> 00:34:31,909 ja siis hunnik muid faile. 717 00:34:31,909 --> 00:34:35,482 Seega see on samaväärne V MVC arvamust, mida, 718 00:34:35,482 --> 00:34:37,690 jälle on natuke rohkem selge probleem pani seitse, 719 00:34:37,690 --> 00:34:40,380 aga see on lihtsalt kausta ma olen pannes palju minu esteetika. 720 00:34:40,380 --> 00:34:42,840 Palju minu HTML, palju mu vorme. 721 00:34:42,840 --> 00:34:46,899 Vahepeal on, on teine kataloog, mis on need kolm faili 722 00:34:46,899 --> 00:34:48,440 ja võtame kiire pilk need. 723 00:34:48,440 --> 00:34:51,699 >> Ma lähen edasi minna ja avada config.php. 724 00:34:51,699 --> 00:34:54,610 Nagu selgub, on palju nagu varem perspektiivis 725 00:34:54,610 --> 00:34:57,850 teravad lisatud CS50 dot h pset7. 726 00:34:57,850 --> 00:35:00,780 Tänapäeva Näiteks, sa lähed teha ekvivalent, mis 727 00:35:00,780 --> 00:35:03,600 koos vaja avaldus et tõhusalt 728 00:35:03,600 --> 00:35:05,340 on need mitu rida. 729 00:35:05,340 --> 00:35:08,225 Nii et peab olema selge, et see on fail nimega config.php. 730 00:35:08,225 --> 00:35:09,350 Ja teate, mis ta teeb. 731 00:35:09,350 --> 00:35:11,970 See on ilmselt midagi segasena, sisselülitamine veateated 732 00:35:11,970 --> 00:35:13,680 nii et näete neid brauseris. 733 00:35:13,680 --> 00:35:15,860 See on siis ilmselt nõuab, et kaks muud failid 734 00:35:15,860 --> 00:35:19,530 nii et see on nagu #include C, ja siis see, mida me ei näe, 735 00:35:19,530 --> 00:35:22,720 ja oleme tuginenud, see lülitub sisse et ostukorv nagu funktsionaalsust. 736 00:35:22,720 --> 00:35:25,610 >> See tähendab, küpsis saadetakse edasi ja tagasi. 737 00:35:25,610 --> 00:35:27,290 Miks see huvitav? 738 00:35:27,290 --> 00:35:32,460 Noh, kui me läheme tagasi selle Kataloog ja avada näiteks 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Pange tähele, et PHP ei toetuseks konstandid, see ei ole päris nagu #define C. 741 00:35:38,840 --> 00:35:41,290 Selle asemel, siis sõna otseses mõttes öelda määratletud ning teade 742 00:35:41,290 --> 00:35:44,110 et ma olen salvestatud ette neli konstandid seda faili. 743 00:35:44,110 --> 00:35:47,020 Üks tänapäeva andmebaasi jaoks minu parool, minu kasutajanime 744 00:35:47,020 --> 00:35:48,690 ja serveri nime. 745 00:35:48,690 --> 00:35:51,644 Nii et need on tegelikult läheb päris sarnane probleem pani seitse. 746 00:35:51,644 --> 00:35:54,560 Ja lõpuks, ja see on koht, kus ma olen hakka mõne kena funktsionaalsus 747 00:35:54,560 --> 00:35:59,000 alates personali, functions.php on hunnik koodi oleme kirjutanud, 748 00:35:59,000 --> 00:36:01,040 ja ma varastas osa sellest alates probleemi pani seitse 749 00:36:01,040 --> 00:36:05,920 täna, et teeb hunnik asju ja olgem lihtsalt pilk üks neist 750 00:36:05,920 --> 00:36:07,270 eriti. 751 00:36:07,270 --> 00:36:09,720 See funktsioon siin, päringu, saab olema 752 00:36:09,720 --> 00:36:13,600 PHP funktsiooni me nimetame et täita SQL. 753 00:36:13,600 --> 00:36:16,070 Hetk tagasi olime kasutades phpMyAdmin, kuid see on lihtsalt 754 00:36:16,070 --> 00:36:18,720 jaoks omamoodi õppe eesmärgil ja diagnostika eesmärgil 755 00:36:18,720 --> 00:36:20,494 unustades oma andmebaasi kogum. 756 00:36:20,494 --> 00:36:22,660 Kui sa tegelikult kasutada oma andmebaas, sina, inimene, 757 00:36:22,660 --> 00:36:24,100 ilmselt ei kavatse tuleb tõmmates üles veebi 758 00:36:24,100 --> 00:36:25,740 leheküljel iga kord, kui keegi registreerib. 759 00:36:25,740 --> 00:36:29,870 Sa lähed kirjutada koodi, lisab ja kustutab kasutajate nõudlust, 760 00:36:29,870 --> 00:36:32,490 ja me ei kavatse seda teha teel päringu funktsiooni. 761 00:36:32,490 --> 00:36:35,360 Kui ma nüüd keri, seal saab olema veel mõned omadused. 762 00:36:35,360 --> 00:36:37,170 Uuesti läheb tuleb toimida me kirjutasime 763 00:36:37,170 --> 00:36:40,160 teile, mis võimaldab teil Kirjuta kasutaja teise URL, 764 00:36:40,160 --> 00:36:43,780 ja muuta on funktsioon, päris nägime esmaspäeval, et tegelikult muudab 765 00:36:43,780 --> 00:36:48,000 malli, kuid rohkem neid vormis pset7 enda jalutada. 766 00:36:48,000 --> 00:36:50,500 Sest nüüd, lähme edasi ja tee seda. 767 00:36:50,500 --> 00:36:54,860 >> Lubage mul minna minu loengud laud ja näha, et seal on praegu midagi 768 00:36:54,860 --> 00:36:59,640 siin lihtsalt veel, ja lase mul minna ka minu üldkasutatavasse kataloogi, kus 769 00:36:59,640 --> 00:37:02,780 seal on ainult üks fail, index.php. 770 00:37:02,780 --> 00:37:06,920 See fail tundub olevat super lihtne hetkel tundub lihtsalt niimoodi. 771 00:37:06,920 --> 00:37:09,110 Väga meeldib, kuidas me lõpetas esmaspäeval. 772 00:37:09,110 --> 00:37:11,945 Ma vajavad seda faili config.php, mis on 773 00:37:11,945 --> 00:37:15,160 sisaldab kataloogi, mis on dot dot mu vanemad, 774 00:37:15,160 --> 00:37:17,650 ja siis see lihtsalt muudab selle faili. 775 00:37:17,650 --> 00:37:18,960 Mis on selle faili? 776 00:37:18,960 --> 00:37:24,700 >> Olgem avada minu malle form.php, ja me näeme seda. 777 00:37:24,700 --> 00:37:28,500 Super lihtne, ilmselt see vorm on läheb esitama $ _GET või $ _POST. 778 00:37:28,500 --> 00:37:29,320 Quick meelerahu kontrolli. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Sõna-sõnalt visuaalselt otsida faili. 781 00:37:35,690 --> 00:37:36,610 Meetod võrdub post. 782 00:37:36,610 --> 00:37:39,280 Nii et ta ei kavatse kasutada URL, nagu Google teeb, see saab sortida peita 783 00:37:39,280 --> 00:37:41,030 teabe taga stseenid ja see on 784 00:37:41,030 --> 00:37:43,580 kavatse esitada fail nimega register.php, 785 00:37:43,580 --> 00:37:45,660 ja see on faili me pole veel kirjutatud 786 00:37:45,660 --> 00:37:47,610 aga mis see läheb nägema on see. 787 00:37:47,610 --> 00:37:52,670 >> Kui ma lähen eraldi lehel See on mida localhost / index.php välja näeb. 788 00:37:52,670 --> 00:37:56,930 Ja jälle serveri lihtsalt eeldades index.php. 789 00:37:56,930 --> 00:37:57,910 Enter. 790 00:37:57,910 --> 00:37:59,870 Nii et kui me on ja mida ma tahan teha 791 00:37:59,870 --> 00:38:02,450 on olla võimelised kirjutama asju nagu David ja seejärel 792 00:38:02,450 --> 00:38:08,050 minu telefoninumber, mis ütleb: 617-555-1212 nüüd, registreeru 793 00:38:08,050 --> 00:38:09,910 ja nüüd register.php ei leitud. 794 00:38:09,910 --> 00:38:11,440 Nii et mul on vaja rakendada seda. 795 00:38:11,440 --> 00:38:13,320 Nii et olgem kiiresti piits midagi sellist üles. 796 00:38:13,320 --> 00:38:18,640 Lubage mul minna minu avalik kataloog ja teha gedit on register.php, 797 00:38:18,640 --> 00:38:22,300 ja nüüd ma lähen edasi minna ja alustada PHP režiim, nagu me tegime esmaspäeval 798 00:38:22,300 --> 00:38:25,430 Lähedale PHP tag, ja teeme paar asja. 799 00:38:25,430 --> 00:38:28,336 >> Nii et üks, ma tean, alates millel on kirjutatud sellisel kujul, 800 00:38:28,336 --> 00:38:29,960 et ma tahan, et kontrollida järgmist. 801 00:38:29,960 --> 00:38:35,670 Kui see on tühi, olenemata kasutaja tipitud nimele valdkonnas, siis 802 00:38:35,670 --> 00:38:39,860 Ma lähen midagi öelda nagu vabandama puudu nime. 803 00:38:39,860 --> 00:38:42,380 Vabandan, vahepeal on ei ehitatud PHP asi, 804 00:38:42,380 --> 00:38:45,970 see funktsioon kandsime aastal functions.php eest pset7 805 00:38:45,970 --> 00:38:47,940 nii, et teil on sellele juurdepääs. 806 00:38:47,940 --> 00:38:53,830 Või kui muus valdkonnas on tühi, number, siis ma olen 807 00:38:53,830 --> 00:38:58,370 kavatse vabandada kasutaja ja öelda puuduv number. 808 00:38:58,370 --> 00:38:59,320 Salvesta see fail. 809 00:38:59,320 --> 00:39:02,640 >> Nüüd lähme tagasi oma brauseris minna tagasi foorumi proovige uuesti. 810 00:39:02,640 --> 00:39:04,070 Registreeru. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Midagi ei juhtunud, mis on hea. 813 00:39:06,730 --> 00:39:08,120 Ma ei saanud veateate. 814 00:39:08,120 --> 00:39:11,651 Aga kui mitte, lähme uuesti laadida leht ja ei anna midagi. 815 00:39:11,651 --> 00:39:12,150 Kurat. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Teha. 818 00:39:17,140 --> 00:39:18,810 Registreeru. 819 00:39:18,810 --> 00:39:20,350 Mida ma valesti tegin? 820 00:39:20,350 --> 00:39:24,860 Kui tühi, $ _POST nimi. 821 00:39:24,860 --> 00:39:26,350 Ütle uuesti? 822 00:39:26,350 --> 00:39:27,670 >> Oh, muidugi. 823 00:39:27,670 --> 00:39:30,919 Ma unustasin kõige olulisem osa, mis on vaja ("../ includes / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Ma pean olema juurdepääs Vabandan funktsioon, mis 826 00:39:36,460 --> 00:39:37,770 Sellepärast midagi juhtub. 827 00:39:37,770 --> 00:39:39,460 Funktsioon tegelikult ei ole. 828 00:39:39,460 --> 00:39:40,640 Nii et proovime seda uuesti. 829 00:39:40,640 --> 00:39:42,350 Olgem laadige leht uuesti, klõpsake Registreeru. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Siin see on. 832 00:39:43,770 --> 00:39:45,700 Niisiis, väljund oleme näeme siin on tulemus 833 00:39:45,700 --> 00:39:47,685 helistaja vabandama funktsioon, super lihtne, 834 00:39:47,685 --> 00:39:50,060 ja see lihtsalt trükib välja mida iganes Ma annan argumendina. 835 00:39:50,060 --> 00:39:51,370 >> Olgu, nii et vaatame koostööd. 836 00:39:51,370 --> 00:39:54,240 Lähme minu nime nagu David, register, 837 00:39:54,240 --> 00:39:56,890 puudu arv OK olgem sätestada, et liiga. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Registreeru. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Nii et kõik on hästi nüüd, just midagi Huvitav on toimumas. 842 00:40:02,760 --> 00:40:06,000 Nüüd teeme midagi huvitav juhtub niimoodi. 843 00:40:06,000 --> 00:40:09,980 Lubage mul minna phpMyAdmin ja olgem tegelikult luua tabel nimega kasutajate 844 00:40:09,980 --> 00:40:12,330 Ma lähen, et saada see kolme sambad, ja ma kiiresti 845 00:40:12,330 --> 00:40:16,250 luua ID ja seejärel nimi ja seejärel number, 846 00:40:16,250 --> 00:40:18,832 ja ID väli olen jätan nagu int. 847 00:40:18,832 --> 00:40:20,790 Nimeväli ma lähen lahkuda nii varchar 848 00:40:20,790 --> 00:40:23,257 ja me ütleme 64, pisut meelevaldselt. 849 00:40:23,257 --> 00:40:25,090 Number ma lähen teha, tead mis? 850 00:40:25,090 --> 00:40:27,350 Me läheme sisse toetada USA numbrid siin 851 00:40:27,350 --> 00:40:31,510 nii et ma lähen midagi teha nagu char ja siis 10 tähemärki 852 00:40:31,510 --> 00:40:34,540 max suunakood ja siis seitse numbrit. 853 00:40:34,540 --> 00:40:37,870 Ja siis siin, ma lähen täpsustada auto juurdekasvu selles valdkonnas, 854 00:40:37,870 --> 00:40:40,550 seda primaarvõti, ja Ma lähen edasi minna ja mitte 855 00:40:40,550 --> 00:40:42,240 vaadake kõik need teised kastid. 856 00:40:42,240 --> 00:40:48,030 >> Nii et kui ma nüüd lõpuks vajuta Save, ja ma lähen tagasi oma kasutajate tabelis 857 00:40:48,030 --> 00:40:52,270 see on kuidas see välja näeb, kui ma nüüd klõpsake New Tab struktuuri. 858 00:40:52,270 --> 00:40:54,550 Nii et see, et oleks selge, on lihtsalt phpMyAdmin tee 859 00:40:54,550 --> 00:40:58,570 öelda oma andmebaasi tabeli on ID, nimi ja number 860 00:40:58,570 --> 00:41:02,040 neid eriti koosseisud ja me ignoreerida ülejäänud väljad 861 00:41:02,040 --> 00:41:03,140 seal nüüd. 862 00:41:03,140 --> 00:41:04,810 >> Nii et nüüd, mida ma tahan teha? 863 00:41:04,810 --> 00:41:09,060 Nii et kui ma lähen nüüd minu lähtekoodi, kui kõik on hästi 864 00:41:09,060 --> 00:41:11,190 Ma tahan täita järgmine päring. 865 00:41:11,190 --> 00:41:14,970 Lisada, ja ma ei saa lihtsalt öelda kasutajatele ma ei ole rangelt 866 00:41:14,970 --> 00:41:18,620 vaja need tagasi puugid, kas see on mitte ohtlik sõna nagu kasutajad. 867 00:41:18,620 --> 00:41:22,810 Ma ütlen nime, number ja siis siin ma olen 868 00:41:22,810 --> 00:41:24,960 ei kavatse kõvasti kood kohaline väärtuste veel. 869 00:41:24,960 --> 00:41:26,760 Ma panen kaks küsimärke. 870 00:41:26,760 --> 00:41:29,320 Ja see on konventsioon Paljudes keeltes 871 00:41:29,320 --> 00:41:31,730 kusjuures kui sa tahad olla kohatäide string 872 00:41:31,730 --> 00:41:34,105 sa lähed kasutada küsimus märgid põhjustel jagame 873 00:41:34,105 --> 00:41:36,370 tagasi tulla vestelda julgeolekut, ja siin 874 00:41:36,370 --> 00:41:39,420 Ma lähen edasi nendes kahes valdkonnas postitada nime, 875 00:41:39,420 --> 00:41:44,850 ja siis pärast number, ja nüüd salvestada faili. 876 00:41:44,850 --> 00:41:47,090 >> Ja nüüd ma lähen minna siin on super 877 00:41:47,090 --> 00:41:55,690 lihtsalt öelda rendersuccess.php, mis läheb teise malli. 878 00:41:55,690 --> 00:41:57,380 Ma lähen, et luua väga kiiresti. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php ja ma lihtsalt öelda H1 edu selles failis. 880 00:42:06,270 --> 00:42:06,990 Hea küll. 881 00:42:06,990 --> 00:42:11,312 Nii et nüüd, lähme tagasi brauser, kus ma varem käinud. 882 00:42:11,312 --> 00:42:14,270 Lähme edasi ja kinnitada Kirjutasin David, ma kirjutasin telefoninumber 883 00:42:14,270 --> 00:42:15,390 registreeru. 884 00:42:15,390 --> 00:42:16,100 Kurat. 885 00:42:16,100 --> 00:42:17,420 Mida ma valesti tegin? 886 00:42:17,420 --> 00:42:20,850 Nii et ma näen viga siin, siis on viga teie SQL süntaks. 887 00:42:20,850 --> 00:42:24,900 Lubage mul hüpata tagasi gedit, las mul tagasi minna register.php, 888 00:42:24,900 --> 00:42:28,830 ja mida ma jätta, et oli tähtis viimast korda? 889 00:42:28,830 --> 00:42:29,722 Ma vajan seda. 890 00:42:29,722 --> 00:42:32,930 Sa tahad teada, et muude kui võttes märganud enne, kuid ma vajan seda. 891 00:42:32,930 --> 00:42:35,596 >> Nüüd lähme tagasi ja see oli kasulik vaadata brauseris 892 00:42:35,596 --> 00:42:37,680 ja sellepärast on config.php me sülitama vigu. 893 00:42:37,680 --> 00:42:41,770 Lähme edasi ja uuesti, klõpsake nuppu Jätka, edu. 894 00:42:41,770 --> 00:42:47,060 Nüüd lubage mul minna üle minu Andmebaasi siin ja kliki Kasutajad, 895 00:42:47,060 --> 00:42:51,680 ja sirvida ja teate ma nüüd on David minu andmebaasis siin. 896 00:42:51,680 --> 00:42:55,810 Nüüd tehniliselt kodulehel on ei ole veel avalikkusele internet, 897 00:42:55,810 --> 00:42:57,890 nii et ma ei saa olla muud inimesed panna siia 898 00:42:57,890 --> 00:43:01,120 aga kui ma nüüd tahtsin jaoks Näiteks saadab ennast tekstisõnumi. 899 00:43:01,120 --> 00:43:03,920 Lähme Tukalassa siin ja vaata, kas see tegelikult toimib. 900 00:43:03,920 --> 00:43:07,331 Ma lähen edasi minna ja kustutada see rida 901 00:43:07,331 --> 00:43:09,080 ja me hägustada see läbi video hiljem 902 00:43:09,080 --> 00:43:11,900 nii et me ei pea kogu internet texting mulle, 903 00:43:11,900 --> 00:43:17,270 ja me nüüd läheme üles brauser ja läheme üle loengu 904 00:43:17,270 --> 00:43:22,040 ja me kirjuta erinev number siia, register, edu. 905 00:43:22,040 --> 00:43:25,550 >> Nüüd, minu number on arvatavasti andmebaasi ja nüüd lõbus osa. 906 00:43:25,550 --> 00:43:28,774 Olgem tegelikult kasutada PHP tegema midagi programmiliselt, 907 00:43:28,774 --> 00:43:30,940 kas käsk line või kuskilt mujalt, 908 00:43:30,940 --> 00:43:32,773 ja nüüd ma olen lihtsalt kavatse hoida lihtsa 909 00:43:32,773 --> 00:43:36,230 ja ma lähen minu Kataloog siin ja teha järgmist. 910 00:43:36,230 --> 00:43:44,920 Gedit script ütleme, siis me nimetame seda teksti, #! / user / bin / env PHP, 911 00:43:44,920 --> 00:43:46,700 nagu nägime viimast korda. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Nüüd ma lähen ei nõua sisaldab config.php, 914 00:43:55,055 --> 00:43:57,360 isegi kui see võib indutseerida kerget viga. 915 00:43:57,360 --> 00:44:03,960 Ja nüüd ma lähen edasi minna ja öelda rida, päringu valige täht kasutajate 916 00:44:03,960 --> 00:44:08,149 ja nüüd siin ma lähen tegema tehnika alates viimane kord iga ridu järjest. 917 00:44:08,149 --> 00:44:09,690 Ja ma lähen tegema midagi lihtsat. 918 00:44:09,690 --> 00:44:19,090 Printf oletame nimi on see, ja number on see, längkriipsu n. 919 00:44:19,090 --> 00:44:23,320 Ja nüüd ma lähen edasi reas tsiteerida lõppeb nimi, 920 00:44:23,320 --> 00:44:28,140 ja rida quote lõppeb number, ja nüüd lähme edasi 921 00:44:28,140 --> 00:44:31,430 ja minu terminaliaken chmod see + x teha 922 00:44:31,430 --> 00:44:33,970 Selle skripti nimega teksti täidetavad. 923 00:44:33,970 --> 00:44:36,080 Ja nüüd lähme joosta teksti. 924 00:44:36,080 --> 00:44:37,590 >> OK, nii et edu. 925 00:44:37,590 --> 00:44:39,960 Nii et ma olen nüüd kirjutanud käsurida skripti, 926 00:44:39,960 --> 00:44:43,300 keeles nimetatakse PHP, et tõttu, mis nõuavad liin, 927 00:44:43,300 --> 00:44:46,380 on juurdepääs kõigile neile konfiguratsioon konstandid, et ma täpsustada. 928 00:44:46,380 --> 00:44:48,177 Andmebaasi nimi ja nii edasi. 929 00:44:48,177 --> 00:44:50,260 Tegelikult lihtsalt olema selge et see ei ole juhus, 930 00:44:50,260 --> 00:44:54,730 lubage mul minna ja registreerida, tõesti kiire, keegi nagu Rob 931 00:44:54,730 --> 00:44:58,890 ja annab talle 555-1212 number. 932 00:44:58,890 --> 00:45:01,557 >> Ja nüüd, kui ma käivitada skripti jällegi märgata võimu 933 00:45:01,557 --> 00:45:03,140 mida me teeme andmebaasi. 934 00:45:03,140 --> 00:45:07,680 Nüüd olen kohe näha, millised on Ülejäänud kaks rida on minu andmebaasis. 935 00:45:07,680 --> 00:45:10,699 Nüüd proovime teha midagi isegi Kasvataja sees, 936 00:45:10,699 --> 00:45:12,740 ja see on osa me oleme ei ole testitud ette, 937 00:45:12,740 --> 00:45:15,910 nii et viimane kord, kui ma tegin seda asjad läksid kohutavalt viltu, 938 00:45:15,910 --> 00:45:17,120 meil on video selle kohta. 939 00:45:17,120 --> 00:45:18,286 >> Tegelikult, jah, naljakas kõrvale. 940 00:45:18,286 --> 00:45:20,480 Nii et viimasel ajal, loeng, nagu kaks aastat tagasi, 941 00:45:20,480 --> 00:45:23,230 me otsustasime, et ma otsustasin, et olla Kõik see oleks suurepärane idee 942 00:45:23,230 --> 00:45:28,150 dünaamiliselt e-kirju klasside kaupa, kasutades kogu andmebaasi CS50 943 00:45:28,150 --> 00:45:33,390 üliõpilased, kes oli andnud meile oma numbri ja oma mobiiltelefon lennuettevõtjad, kes te 944 00:45:33,390 --> 00:45:36,290 võiks meenutada, alates pset0, kuidas mõelda, selgub, 945 00:45:36,290 --> 00:45:40,650 Mul oli väike viga minu programm ja tegin paar viga 2012. aastal, ma arvan. 946 00:45:40,650 --> 00:45:43,997 >> Kusjuures, üks oli mul silmus, tegi täpselt selline asi, 947 00:45:43,997 --> 00:45:46,580 iterating üle andmebaasi saada nimi andmebaasist, 948 00:45:46,580 --> 00:45:49,940 nimi andmebaasist ja seejärel iga iteratsiooni et loop Saatsin talle. 949 00:45:49,940 --> 00:45:54,130 Kuid selle asemel, et saata üks e-posti, ma saatis ühe e esimese iteratsiooni 950 00:45:54,130 --> 00:45:58,200 ja kahe kirju teise korduse saadetud kolme kirjaga teise korduse mis 951 00:45:58,200 --> 00:46:01,230 kui võiks meenutada meie arutelu asümptootiliseks märke 952 00:46:01,230 --> 00:46:06,400 see suur O halb, nagu n ruudus on mitu sõnumit saatsin, 953 00:46:06,400 --> 00:46:08,560 kuid see ei olnud isegi e-kirju see oli tekstisõnumeid. 954 00:46:08,560 --> 00:46:12,070 >> Ja nagu te teate, käimine ei ole super kõrge lõpu poole semestri 955 00:46:12,070 --> 00:46:15,360 ja arvasin, et see oleks armas juures aega, et öelda: "Miks sa ei ole klassis?" 956 00:46:15,360 --> 00:46:17,880 Tekstsõnumi I saadetakse kogu klass, 957 00:46:17,880 --> 00:46:22,140 ja see oli naljakas meeldib 50% klassi, kuid ülejäänud 50%, kellest 958 00:46:22,140 --> 00:46:26,102 närvis läbi, ma saatsin uskumatult vabandav magus märkmed 959 00:46:26,102 --> 00:46:28,560 personalile vabandada olles jäin loeng lihtsalt 960 00:46:28,560 --> 00:46:29,530 see kord, eks? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Nii et oleks kohutavalt viltu. 963 00:46:34,030 --> 00:46:37,030 Nii et selles vaimus, proovime seda jälle vaid lihtsalt minu number. 964 00:46:37,030 --> 00:46:41,940 Eelnevalt on functions.php, Olen kirjutanud selle funktsioon siin. 965 00:46:41,940 --> 00:46:44,250 Seda nimetatakse teksti ja see võtab kolm argumenti. 966 00:46:44,250 --> 00:46:46,360 Number, vedaja, ja sõnum. 967 00:46:46,360 --> 00:46:50,390 >> Ma kasutan lüliti avaldus, mis imeliselt PHP võtta stringid, mitte ainult 968 00:46:50,390 --> 00:46:53,350 täisarvud, ja ma ei rakendanud kõik toetust sellele veel 969 00:46:53,350 --> 00:46:55,370 Ma olen lihtsalt teinud AT & T ja Verizon. 970 00:46:55,370 --> 00:46:57,610 Kuna selgub, et nende kandjad 971 00:46:57,610 --> 00:47:00,570 neil on e SMS väravaid, mille saab tegelikult 972 00:47:00,570 --> 00:47:05,529 Saada e-kiri aadressile nagu telefoninumber kell vtext.com 973 00:47:05,529 --> 00:47:08,070 ja kui kasutaja ei ole blokeeritud Sõnumite siis lähen läbi 974 00:47:08,070 --> 00:47:09,340 on tekstisõnumi. 975 00:47:09,340 --> 00:47:13,270 >> Nüüd seda teha, ma lähen lisada üks valdkond väga kiiresti, et minu andmebaasis. 976 00:47:13,270 --> 00:47:15,470 Ma lähen minema minu struktuur, ja ma olen 977 00:47:15,470 --> 00:47:21,880 läheb minna ja lisada valdkonnas lõpus lauale. 978 00:47:21,880 --> 00:47:25,227 Olgem kliki Go, ja ma olen läheb nimetame seda kandja 979 00:47:25,227 --> 00:47:27,310 ja nüüd ma lähen jätke see nagu baar teksti 980 00:47:27,310 --> 00:47:29,320 kuid me ei saa olla Kasvataja tulevikus. 981 00:47:29,320 --> 00:47:31,961 Ma lähen kiiresti minema minu lauda ja ma olen 982 00:47:31,961 --> 00:47:34,210 läheb lahti Rob, sest see on võlts number, 983 00:47:34,210 --> 00:47:38,540 Ma lähen minema muuta siin ja ma olen kavatse muuta oma kandja käsitsi 984 00:47:38,540 --> 00:47:43,410 olevat Verizon, mida ta on, ja nüüd siin. 985 00:47:43,410 --> 00:47:44,980 >> Teeme kiire meelerahu vaadata. 986 00:47:44,980 --> 00:47:52,730 Olgem avada meie teksti skript, mis näeb välja selline, vedaja on% s. 987 00:47:52,730 --> 00:47:58,230 Me teeme palju rohkem viga kontroll kui tegin 2012. aastal kandja. 988 00:47:58,230 --> 00:48:01,160 Ja nüüd ma lähen minna ja uuesti käivitada skripti. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier on Verizon, mis tähendab, nüüd loodetavasti saan teha just seda. 991 00:48:06,100 --> 00:48:08,360 Õigesti sel aastal loodetavasti siin me läheme. 992 00:48:08,360 --> 00:48:12,200 >> Nii seest see silmus, ma olen läheb mitte ainult see printf, 993 00:48:12,200 --> 00:48:15,990 Ma olen ka kavatse helistada teksti ja kasutamine see funktsioon tagasikutsumine 994 00:48:15,990 --> 00:48:19,670 oli see võtab mitu, vedaja, ja sõnum. 995 00:48:19,670 --> 00:48:23,310 Vaatame, number läheb olema rida quote Tsitaat lõppeb "number" 996 00:48:23,310 --> 00:48:31,660 rida quote Tsitaat lõppeb "kandja" ja viimane oli sõnum. 997 00:48:31,660 --> 00:48:36,250 Ärge keerake kuni tänavu semikooloniga. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Pöialt. 1000 00:48:38,280 --> 00:48:39,970 Vaatame, kas see töötab. 1001 00:48:39,970 --> 00:48:41,720 Olgu nii. 1002 00:48:41,720 --> 00:48:43,000 Siin me läheme. 1003 00:48:43,000 --> 00:48:47,380 Olgem telefoni avamiseks risti sõrmede, kurat võtaks. 1004 00:48:47,380 --> 00:48:50,300 Undefined muutuja may-- oh Oota, Oota, oota reaalne kiire. 1005 00:48:50,300 --> 00:48:51,340 Real kiire, reaalne kiire. 1006 00:48:51,340 --> 00:48:53,380 See on täiesti seda väärt. 1007 00:48:53,380 --> 00:48:57,710 Lubage mul haarata, lubage mul haarata, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Aitäh, tekstid on alustas keegi teine. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Lubage mul minna ja avada reaalne kiire, dropbox.php / mail siia. 1011 00:49:11,650 --> 00:49:12,660 Ooterežiim. 1012 00:49:12,660 --> 00:49:14,455 Täiesti seda väärt. 1013 00:49:14,455 --> 00:49:17,430 Sport. 1014 00:49:17,430 --> 00:49:18,560 OK, allikas src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Vajad veel üks joon siin. 1017 00:49:21,380 --> 00:49:24,530 Oh seal ta on, see on Frosh IEd, see on register kolm. 1018 00:49:24,530 --> 00:49:28,820 Oh tere, Margo, tänan teid väga palju. 1019 00:49:28,820 --> 00:49:31,130 OK, ma oli puudu see rida siin. 1020 00:49:31,130 --> 00:49:33,010 Nii et lubage mul kiiresti haarata see rida koodi, 1021 00:49:33,010 --> 00:49:36,200 mis hõlmab post või raamatukogu et ma tegelikult tahan kasutada, 1022 00:49:36,200 --> 00:49:38,300 Ma lähen kiiresti minna tagasi funktsioonid 1023 00:49:38,300 --> 00:49:42,337 Ma lähen üles selle esitada ja nõuda selle faili ka, 1024 00:49:42,337 --> 00:49:45,420 ja nüüd ma lähen tõesti rist minu sõrmede, kui ma tagasi minna käsk 1025 00:49:45,420 --> 00:49:49,530 rida skripti, mis on sees Tänapäeva kohaliku hosti kataloogi. 1026 00:49:49,530 --> 00:49:50,610 Käivita teksti. 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 Ooterežiim. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Ooterežiim. 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 Siin me läheme. 1035 00:50:03,870 --> 00:50:06,880 >> Mail saab uue PHP saatja. 1036 00:50:06,880 --> 00:50:09,970 Kas ma saan seda teha eks? 1037 00:50:09,970 --> 00:50:11,067 Kurat. 1038 00:50:11,067 --> 00:50:12,150 Mina-- oh, oota, oota, oota. 1039 00:50:12,150 --> 00:50:12,649 Valmis olla. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Ma luban, et see on saab olema nii seda väärt. 1042 00:50:18,630 --> 00:50:20,340 Aadress. 1043 00:50:20,340 --> 00:50:24,390 See on põhjus, miks ma ei tee näited õigus enne klassi. 1044 00:50:24,390 --> 00:50:26,350 Ugh. 1045 00:50:26,350 --> 00:50:27,910 Järgmised saajad ei õnnestunud. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Proovime veel ühte asja. 1048 00:50:33,040 --> 00:50:40,660 SMTP seadistada vahemikus, lisada aadress, aadress on tõepoolest nii. 1049 00:50:40,660 --> 00:50:43,980 Proovime seda viimast osa aadress. 1050 00:50:43,980 --> 00:50:47,210 Ah, ma olen tõesti kurb kohe. 1051 00:50:47,210 --> 00:50:47,854 Aitäh. 1052 00:50:47,854 --> 00:50:50,270 Aga ma tõesti hindan kõiki tekstid olete saatnud. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Sul on see David. 1055 00:50:56,320 --> 00:50:59,310 Sa puhub ta. 1056 00:50:59,310 --> 00:51:01,720 Jätame selle sinna ja me määrata esmaspäeval. 1057 00:51:01,720 --> 00:51:04,290 Näeme siis. 1058 00:51:04,290 --> 00:51:08,090 >> Daven FARNHAM: Ja nüüd Deep Mõtted, mida Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Kui kahe- puu langeb metsas ja keegi ei ole ümber C it-- [chuckling]. 1061 00:51:17,590 --> 00:51:18,998