1 00:00:00,000 --> 00:00:10,393 >> [За възпроизвеждане на музика] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. Malan: Добре. 4 00:00:12,120 --> 00:00:12,830 Добре дошли отново. 5 00:00:12,830 --> 00:00:13,890 Това е CS50. 6 00:00:13,890 --> 00:00:15,570 Това е края на 8-та седмица. 7 00:00:15,570 --> 00:00:18,360 И както знаете, ние имаме доста нормално работно време в рамките на няколко 8 00:00:18,360 --> 00:00:21,090 на залите за хранене, включително Annenberg. 9 00:00:21,090 --> 00:00:23,860 А някои от екипа любезно направих няколко снимки напоследък. 10 00:00:23,860 --> 00:00:26,230 И в чест на Halloween, ние решихме, че ние бихме 11 00:00:26,230 --> 00:00:30,160 споделят едно, че вместо да ни хванат от изненада тук в Annenberg Hall само 12 00:00:30,160 --> 00:00:31,490 онази вечер. 13 00:00:31,490 --> 00:00:36,300 Вашият съученик Яков позира за тази снимка, но е по-забавно 14 00:00:36,300 --> 00:00:39,760 беше на Facebook, произтичащите разговор, което се случи след това. 15 00:00:39,760 --> 00:00:43,020 >> Първата му публикация в отговор да му снимка е това. 16 00:00:43,020 --> 00:00:46,740 Няколко минути по-късно, той решава до един до себе си с това. 17 00:00:46,740 --> 00:00:53,800 Тя продължи след това да отидете на този, и след това, още по-забавно 18 00:00:53,800 --> 00:00:55,320 е, когато майка му звънна вътре. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 И след това в крайна сметка, Изглежда, че това е просто 21 00:01:01,800 --> 00:01:04,860 прекрасен Русе за играят, което се случва. 22 00:01:04,860 --> 00:01:07,080 >> Така че, ако искате да види Яков и други, 23 00:01:07,080 --> 00:01:10,880 сред тях Синтия Менг, който е зад кулисите на персонала CS50 зона, 24 00:01:10,880 --> 00:01:13,970 се отправят към този URL и тази игра тук. 25 00:01:13,970 --> 00:01:18,810 Така че, без повече приказки, днес продължи този поглед в уеб програмиране, 26 00:01:18,810 --> 00:01:21,810 и действителната създаването на програми че не работи на вашия команден ред, 27 00:01:21,810 --> 00:01:24,080 но вместо да тече вътре в браузъра. 28 00:01:24,080 --> 00:01:26,320 >> Предполага се, че сега, или много скоро, започваш 29 00:01:26,320 --> 00:01:30,200 да бъде в средата на изпълнителните свой собствен уеб сървър, който 30 00:01:30,200 --> 00:01:31,700 е различен от уеб програмиране. 31 00:01:31,700 --> 00:01:36,210 Уеб сървър в pset6 е за всички писането на софтуер, който знае как да се 32 00:01:36,210 --> 00:01:39,300 HTTP заявки от браузъра, или дори от вас, човек, 33 00:01:39,300 --> 00:01:42,340 с програма, наречена Telnet и след това отговори на тези искания или 34 00:01:42,340 --> 00:01:48,600 от изплю един HTML файл, или JPEG или GIF, или дори един .php файл. 35 00:01:48,600 --> 00:01:52,490 >> Но с уеб сървър, това не е трябваше просто да отворите файл PHP, 36 00:01:52,490 --> 00:01:55,260 нещо приключва в .php, и след това плюе на съдържанието. 37 00:01:55,260 --> 00:01:58,440 Той е трябвало да се направи това, което на този файл, на първо място? 38 00:01:58,440 --> 00:01:59,390 Така да се каже. 39 00:01:59,390 --> 00:02:04,060 Не го компилирате, ние заяви в понеделник, но rather-- Така тълкува това. 40 00:02:04,060 --> 00:02:08,070 >> PHP е интерпретиран език, и така една от основните функции на вашия уеб 41 00:02:08,070 --> 00:02:11,550 сървър, макар и изпълнени от нас, е тази способност за вашия уеб сървър 42 00:02:11,550 --> 00:02:12,490 да забележите, о. 43 00:02:12,490 --> 00:02:14,580 Това е файл, завършващ в .php. 44 00:02:14,580 --> 00:02:17,970 Нека не просто да го изпратите на потребител, като това е статично съдържание, 45 00:02:17,970 --> 00:02:20,970 а по-скоро да ми го прочете ред по линия, от ляво на дясно, и да го тълкува. 46 00:02:20,970 --> 00:02:23,030 >> И да се направи, че сте момчета ще същество 47 00:02:23,030 --> 00:02:26,520 шута на програма в уреда, и на много компютърни системи, 48 00:02:26,520 --> 00:02:27,500 току що се обади PHP. 49 00:02:27,500 --> 00:02:30,579 Това е името на PHP на собствен преводач език е. 50 00:02:30,579 --> 00:02:33,120 Така че, това парче ние прилагаме за вие, и какво е останало за вас, 51 00:02:33,120 --> 00:02:35,240 В крайна сметка е номер на парчета, между които 52 00:02:35,240 --> 00:02:37,960 е прилагането на подкрепата за статично съдържание. 53 00:02:37,960 --> 00:02:40,180 >> Но сега, както и с проблем определя седем, вие сте 54 00:02:40,180 --> 00:02:43,660 ще започне да се преход към пишейки код на PHP 55 00:02:43,660 --> 00:02:45,970 че получава тълкува в разговор с задния край 56 00:02:45,970 --> 00:02:47,960 база данни, която съхранява информация. 57 00:02:47,960 --> 00:02:51,020 Така че нека да разберем по-добре първо Няколко от тези свръхглобални 58 00:02:51,020 --> 00:02:53,720 и колко много ви власт да излезе от кутията безплатно 59 00:02:53,720 --> 00:02:55,250 с език като PHP. 60 00:02:55,250 --> 00:02:57,350 Неща, които не разполагат с за прилагане на себе си. 61 00:02:57,350 --> 00:03:01,700 >> Така че, ние видяхме в понеделник $ _GET, което е свръхглобална, 62 00:03:01,700 --> 00:03:05,496 което е просто PHP говорим за глобална променлива можете да получите достъп навсякъде. 63 00:03:05,496 --> 00:03:06,620 И това, което е вътре в $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Какво е вътре в този свръхглобалните че виждаме? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Със сигурност статистически при най-малко един човек знае. 68 00:03:19,020 --> 00:03:21,590 Какво има вътре на $ _GET? 69 00:03:21,590 --> 00:03:22,426 Така ли? 70 00:03:22,426 --> 00:03:24,130 >> АУДИТОРИЯ: Това е променливите ще ви постави в низ заявка. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. Malan: Perfect. 72 00:03:24,530 --> 00:03:26,488 Тя е под формата на Можете променливи поставя в низ заявка. 73 00:03:26,488 --> 00:03:29,910 Така че, в нашия по-стар пример за reimplementing Google, когато имахме 74 00:03:29,910 --> 00:03:34,130 на URL, и после въпросителен знак, която очертава началото на HTTP 75 00:03:34,130 --> 00:03:37,950 параметри, а след това имахме р равен нещо, като Q е равно на котки, 76 00:03:37,950 --> 00:03:41,500 това, което автоматично ще влезе вътре на тази $ _GET супер глобалната за вас, 77 00:03:41,500 --> 00:03:47,430 защото на PHP, е ключов за Q, и на стойност от него на котки. 78 00:03:47,430 --> 00:03:51,250 >> С други думи, $ _GET и всички тези неща са асоциативни масиви, 79 00:03:51,250 --> 00:03:54,530 хеш таблици на всевъзможни, че магазин ключове и стойности. 80 00:03:54,530 --> 00:03:57,980 Сега, отново в pset5, хашиш маса може да са приложени, 81 00:03:57,980 --> 00:04:00,220 или да се опитате може са изпълнени, наистина 82 00:04:00,220 --> 00:04:04,010 е ефективно асоциативен масив, структурата на данните 83 00:04:04,010 --> 00:04:07,220 с което можете да свържете ключове със стойности. 84 00:04:07,220 --> 00:04:09,690 >> Но в pset5, стойностите са тривиални. 85 00:04:09,690 --> 00:04:12,430 Стойността е по същество вярно или невярно. 86 00:04:12,430 --> 00:04:13,900 Дали думата в речника? 87 00:04:13,900 --> 00:04:18,279 Така че, когато се сегментира дума като ябълка да видим дали Apple е в речника, 88 00:04:18,279 --> 00:04:21,820 чека функция вероятно връща истина или лъжа. 89 00:04:21,820 --> 00:04:24,120 Така че, това е ефективно стойност ние получаваме обратно. 90 00:04:24,120 --> 00:04:26,456 >> Но видяхме в понеделник накратко, вие със сигурност може да 91 00:04:26,456 --> 00:04:28,830 асоциира по-интересно ценности, отколкото просто вярно или невярно 92 00:04:28,830 --> 00:04:30,790 с ключове, като ябълка. 93 00:04:30,790 --> 00:04:33,909 Вие действително може да се върне на произволен низ, и наистина, 94 00:04:33,909 --> 00:04:36,200 това е, което $ _GET и те други променливи ви позволяват да се направи. 95 00:04:36,200 --> 00:04:40,595 >> Така че, $ _POST е подобен по дух, но ако подам формуляр по пощата, 96 00:04:40,595 --> 00:04:44,490 различен метод HTTP, че е използван за неща като кредитни карти, 97 00:04:44,490 --> 00:04:48,410 и лична информация, и дори двоична информация, като снимки, 98 00:04:48,410 --> 00:04:51,840 тези неща, в крайна сметка вътре от $ _POST. 99 00:04:51,840 --> 00:04:53,770 И всъщност за файлове като JPEG снимки и какво ли още не, 100 00:04:53,770 --> 00:04:58,290 има дори и друг, който не е тук се нарича $ _FILES, както добре. 101 00:04:58,290 --> 00:05:01,280 >> Така че, сървър, ние няма да се спирам на твърде много, но той ви дава достъп 102 00:05:01,280 --> 00:05:04,860 да се справи с подробности по-ниско ниво за на самия сървър, че използвате. 103 00:05:04,860 --> 00:05:07,430 Cookie и сесия, въпреки че, ние действително ще видим сега. 104 00:05:07,430 --> 00:05:10,940 Последното е това, което ние използваме за изпълнение идеята за пазарска количка. 105 00:05:10,940 --> 00:05:14,480 А супер проста, но отзоваване че имахме този пример тук, 106 00:05:14,480 --> 00:05:17,640 брои колко пъти ви е посетил тази страница преди. 107 00:05:17,640 --> 00:05:20,850 >> Но днес, а не просто да погледнете ефектът от това, нека да отворим 108 00:05:20,850 --> 00:05:22,640 Инспектор на Chrome, която обикновено може да 109 00:05:22,640 --> 00:05:25,740 направя с десния бутон или Control кликнете върху всяка точка на уеб страница, 110 00:05:25,740 --> 00:05:27,250 и след това изберете инспектира елемент. 111 00:05:27,250 --> 00:05:31,600 Или можете да отидете през менютата че ние описваме в спец pset6 е. 112 00:05:31,600 --> 00:05:35,020 И аз отивам в раздела Network тук, и нека да наблюдавате за момента 113 00:05:35,020 --> 00:05:37,590 на HTTP трафика, който е върви напред и назад. 114 00:05:37,590 --> 00:05:40,929 >> Позволете ми първо да отида напред и кеш ясно на Chrome. 115 00:05:40,929 --> 00:05:43,470 Така че някои от вас може да е запознат с тази техника вече, 116 00:05:43,470 --> 00:05:45,790 и отиваме да го използвате за целите на отстраняване на грешки тук. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Сега ние като компютър учените ще започнат 119 00:05:50,890 --> 00:05:53,920 този начин за отстраняване на грешки цели, при което 120 00:05:53,920 --> 00:05:55,910 ние ще изчистите кеш паметта, обикновено, така че ние 121 00:05:55,910 --> 00:05:57,670 да се отървете от неща, наречени бисквитки. 122 00:05:57,670 --> 00:06:01,700 Така че, най-вероятно сте запознати общо с това, бисквитките са или поне 123 00:06:01,700 --> 00:06:04,370 че те съществуват, но това, което е Вашето разбиране от тях, 124 00:06:04,370 --> 00:06:06,920 просто като потребител на компютри, какво е бисквитка? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Да. 127 00:06:09,990 --> 00:06:14,391 >> АУДИТОРИЯ: Това е малко of-- добре, не малко в срок от компютърните науки. 128 00:06:14,391 --> 00:06:18,303 Това е част от данните, че уебсайт изпраща до вас, за 129 00:06:18,303 --> 00:06:20,209 да бъде в състояние да записва статистика за вас. 130 00:06:20,209 --> 00:06:21,250 DAVID J. Malan: Добре, добре. 131 00:06:21,250 --> 00:06:24,980 Така че това е парче от данни, които сървър, поставя на вашия компютър, 132 00:06:24,980 --> 00:06:28,840 и нека да го обобщим, дори повече, това е ключов value-- добре, 133 00:06:28,840 --> 00:06:30,064 че все по-точни. 134 00:06:30,064 --> 00:06:31,980 Тя е част от информация, част от данните, 135 00:06:31,980 --> 00:06:34,430 че сървъра е в състояние да поставите на вашия компютър 136 00:06:34,430 --> 00:06:38,592 и много често, сървърът прави това, така че да си спомня кой сте. 137 00:06:38,592 --> 00:06:40,300 Така например, коефициенти са вероятно сте 138 00:06:40,300 --> 00:06:42,982 влезли в сайтове като Facebook, или Gmail, или други преди, 139 00:06:42,982 --> 00:06:44,940 и да влезете с вашия потребителско име и парола, 140 00:06:44,940 --> 00:06:49,000 и тогава, след това, за някои номер минути или часове, или дори дни, 141 00:06:49,000 --> 00:06:52,970 сървъра си спомня, че вие сте в действителност се идентифицирали. 142 00:06:52,970 --> 00:06:54,600 Сега, как е, че всъщност се случва? 143 00:06:54,600 --> 00:06:58,630 Защото със сигурност не си преписва Вашето потребителско име и парола всеки път, 144 00:06:58,630 --> 00:07:00,760 да се ориентирате към друга страница на Facebook. 145 00:07:00,760 --> 00:07:02,570 Така се оказва, че на бисквитките са отговорът. 146 00:07:02,570 --> 00:07:05,360 >> Бисквитката може да се мисли като Нещо като, цифров ръка 147 00:07:05,360 --> 00:07:09,200 печат, че можете да получите най-увеселителен парк или клуб, който по същество 148 00:07:09,200 --> 00:07:11,740 показва, че вие ​​сте били тук и преди, и вече сте 149 00:07:11,740 --> 00:07:16,070 показано си ID на бияч, за Например, и че клубът или парка 150 00:07:16,070 --> 00:07:19,050 Сега трябва да приемем, че са заверени вече. 151 00:07:19,050 --> 00:07:21,270 Вие вече сте били идентифицирани от нея. 152 00:07:21,270 --> 00:07:24,740 >> Така че с това се има предвид, да отворим брояч тук. 153 00:07:24,740 --> 00:07:27,220 Нека вървим напред, аз просто направих, и изчистване на всички мои бисквитки. 154 00:07:27,220 --> 00:07:29,970 И сега това, което аз ще направя, е задръжте Shift, само за добра мярка, 155 00:07:29,970 --> 00:07:31,740 и насилствено се презарежда страницата. 156 00:07:31,740 --> 00:07:34,170 Shift просто се уверете, че нищо няма да се кешира. 157 00:07:34,170 --> 00:07:36,850 И тук е искането че се върна назад. 158 00:07:36,850 --> 00:07:41,560 Така че тук имаме искане, и нека ми увеличите тук, както и много от това 159 00:07:41,560 --> 00:07:44,710 е нещо безинтересно детайли за сега, че браузърът има автоматично 160 00:07:44,710 --> 00:07:47,800 изпраща, но нека кликнете View Източник, за да видите суровите заглавията. 161 00:07:47,800 --> 00:07:51,700 >> И ако сте се гмурна в pset6 вече, вие със сигурност ще признае неща 162 00:07:51,700 --> 00:07:54,990 по този начин, а може би и някои на тези други линии тук, 163 00:07:54,990 --> 00:07:59,040 но това, което е по-интересно за днес ако превъртете надолу, а не на искане 164 00:07:59,040 --> 00:08:02,870 но и за така наречената реакция, тази линия вероятно изглежда познато. 165 00:08:02,870 --> 00:08:04,977 Това е нещо добро когато видите 200 OK. 166 00:08:04,977 --> 00:08:07,060 Очевидно това е дата и час на сървъра 167 00:08:07,060 --> 00:08:08,268 и има един куп неща. 168 00:08:08,268 --> 00:08:09,290 О, това е интересно. 169 00:08:09,290 --> 00:08:13,430 >> Оказва се, че всеки път, когато използвате PHP, поне в този сървър, 170 00:08:13,430 --> 00:08:16,360 сървъра изплюва какво версия на PHP, който използвате. 171 00:08:16,360 --> 00:08:18,962 Което, всъщност, за сигурност цели, не е нещо добро. 172 00:08:18,962 --> 00:08:21,170 Но ние ще се върнем към този някой друг път може би. 173 00:08:21,170 --> 00:08:25,740 Но сега това е сочен линия днес, и видяхме накратко някои от тях, 174 00:08:25,740 --> 00:08:29,240 Мисля, че с Facebook, когато мушкам около инспектор по това време, 175 00:08:29,240 --> 00:08:33,380 бисквитка е това, което е засаждане тази малка част от информацията, 176 00:08:33,380 --> 00:08:34,890 на вашия компютър. 177 00:08:34,890 --> 00:08:37,490 >> Това е HTTP глава това е ефективно 178 00:08:37,490 --> 00:08:39,970 разказва за сваляне, Chrome, IE, независимо, 179 00:08:39,970 --> 00:08:44,480 хей браузър магазин на потребителя твърдия диск, или в RAM на потребителя, 180 00:08:44,480 --> 00:08:49,680 ключов нарича PHPSESSID, което е съкратена нотация за ID на сесията, 181 00:08:49,680 --> 00:08:53,670 и му се даде стойност на 0vlk8t, точка, точка, точка. 182 00:08:53,670 --> 00:08:56,480 А наистина дълго псевдобазилика случайна буквено-цифров низ. 183 00:08:56,480 --> 00:08:59,480 Това е просто един наистина голям брой, но това е кодиран с букви и цифри 184 00:08:59,480 --> 00:09:03,550 така че размерът на това може да бъде още по-голяма, отколкото само номера. 185 00:09:03,550 --> 00:09:06,947 И тогава, между другото, Path = /, че просто означава, че тази бисквитка трябва да бъде 186 00:09:06,947 --> 00:09:08,780 свързани с цялост на уебсайта, 187 00:09:08,780 --> 00:09:11,150 не само специфичен страница на цялото нещо. 188 00:09:11,150 --> 00:09:12,930 Така че това е, че виртуалната печат ръка. 189 00:09:12,930 --> 00:09:16,330 Това е все едно, че сървърът, Facebook, или в нашия случай на уреда, 190 00:09:16,330 --> 00:09:21,140 има буквално писмено 0vlk8t и така нататък, на ръката си. 191 00:09:21,140 --> 00:09:24,360 Забележете какво сървъра, Не прави това, той е не 192 00:09:24,360 --> 00:09:27,730 съхраняване на името ми, със сигурност не съхранява паролата си. 193 00:09:27,730 --> 00:09:31,710 >> Вместо това, тя изглежда да е съхраняване на псевдо случаен информация 194 00:09:31,710 --> 00:09:35,010 така че никой не може да се досетите това, което ръката ми печат е. 195 00:09:35,010 --> 00:09:37,590 От страна на сървъра, Междувременно сървъра 196 00:09:37,590 --> 00:09:40,370 ще се помни, вероятно в база данни или нещо такова, 197 00:09:40,370 --> 00:09:46,490 че потребителят, който в бъдеще представя ръка печат на 0vlk8t, DOT, 198 00:09:46,490 --> 00:09:51,440 точка, DOT, трябва да бъде свързано с това специално количката, така да се каже. 199 00:09:51,440 --> 00:09:55,060 С други думи, ако сега отидем тук и презаредете тази страница, 200 00:09:55,060 --> 00:09:58,020 как сървъра знам че аз посетих едно време? 201 00:09:58,020 --> 00:10:01,730 >> Или ако го направя отново, как сървъра Знам, че съм го посетил два пъти? 202 00:10:01,730 --> 00:10:04,680 Ами ако отида до този най-новите искане, което 203 00:10:04,680 --> 00:10:09,150 сега е трети, че съм пратил общо забележите молбата ми сега. 204 00:10:09,150 --> 00:10:11,300 Все още този заявка тук, същата 205 00:10:11,300 --> 00:10:15,040 както и преди, има още цял куп неща, които сме пренебрегнати, както и преди, 206 00:10:15,040 --> 00:10:19,350 но последния заглавието, това време, тъй като аз съм бил тук и преди, 207 00:10:19,350 --> 00:10:21,980 е представяне на този виртуален печат ръка. 208 00:10:21,980 --> 00:10:28,957 >> Чрез която тази линия тук не, това бисквитка но бисквитка дебелото черво PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 това е само мое браузъра автоматично представяне на тази ръка печат, така че 210 00:10:32,040 --> 00:10:37,910 Сега сървъра, веднага след като осъзнава, Ооо, това е потребителското 0vlk8t точка, DOT, точка, 211 00:10:37,910 --> 00:10:42,010 Сега мога да си спомня кой е той или тя е и reassociate с този потребител независимо 212 00:10:42,010 --> 00:10:46,450 информация Искам да, и всички тази информация може да се съхранява от вас, 213 00:10:46,450 --> 00:10:50,130 програмист, в $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Така че, за да е ясно, ако се отвори много бързо в Gedit че действително файл, counter.php, 215 00:10:57,170 --> 00:11:02,340 в моя местен домакин публичен указател както и преди, да забележите, че, наистина, 216 00:11:02,340 --> 00:11:06,860 Аз в крайна сметка съхраняване в $ _SESSION Цитат цитата "брояч" 217 00:11:06,860 --> 00:11:10,110 стойността на предходната брояч, който Получавам от тези линии до тук, че ние 218 00:11:10,110 --> 00:11:13,010 Погледна за последен път плюс един. 219 00:11:13,010 --> 00:11:14,980 Така че под предния капак, това е всичко, бисквитките са. 220 00:11:14,980 --> 00:11:17,563 Това е просто нещо като цифров ръка печат върви напред и назад, 221 00:11:17,563 --> 00:11:20,450 и честно казано, ако отворите на Chrome Инспектор във всеки сайт 222 00:11:20,450 --> 00:11:22,580 можете да посетите днес, с супер висока степен на вероятност, 223 00:11:22,580 --> 00:11:25,450 ти започваш да се види може би един, може би половин дузина бисквитки 224 00:11:25,450 --> 00:11:26,650 се запомни с вас. 225 00:11:26,650 --> 00:11:29,500 >> И още по-лошо, ако тези уеб сайт, който посещавате 226 00:11:29,500 --> 00:11:32,640 всички те имат реклами, които е със сигурност доста често днес, 227 00:11:32,640 --> 00:11:36,100 и ако тези реклами са следващите от някаква централна страна, някой 228 00:11:36,100 --> 00:11:39,000 като Google или AdWords, тъй като те позвъните на един от техните продукти 229 00:11:39,000 --> 00:11:42,880 или други подобни фирми, които продава реклами, което е интересно, 230 00:11:42,880 --> 00:11:46,510 и честно казано, това, което е малко по- тревожен, за това как работи HTTP, 231 00:11:46,510 --> 00:11:50,855 е, че ако имате реклама вграден в Facebook.com, и Google.com, 232 00:11:50,855 --> 00:11:54,240 и Harvard.edu произволен брой на уеб сайтове, така че това е като 233 00:11:54,240 --> 00:11:58,130 че има един среден човек, който излежава реклами за всички три от тези сайтове, 234 00:11:58,130 --> 00:12:02,110 Оказва се, че бисквитките са на домейн. 235 00:12:02,110 --> 00:12:05,910 >> Така че, ако имате реклама, идващи от една и съща фирма на различни сайтове, 236 00:12:05,910 --> 00:12:11,140 това дружество може ефективно да следят за това кой Вие сте във всички от тези сайтове. 237 00:12:11,140 --> 00:12:13,140 Harvard може би не знаете вие посещавате Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook може да не знаят и сте на посещение в Харвард. 239 00:12:15,306 --> 00:12:18,160 Но каквото и рекламна услуга те използват, ако този домейн е 240 00:12:18,160 --> 00:12:21,710 присъства и в двете Harvard.edu уеб страници и Facebook.com уеб страници, 241 00:12:21,710 --> 00:12:26,850 този среден човек със сигурност знае кой сте вие поради тези бисквитки се споделя 242 00:12:26,850 --> 00:12:30,910 целия, или по-скоро да, че така наречените посредник. 243 00:12:30,910 --> 00:12:33,820 >> Така че ние ще се върнем към това в последствия за сигурността от тях, 244 00:12:33,820 --> 00:12:37,170 но има много информация се съхраняват за вас по всяко време 245 00:12:37,170 --> 00:12:40,120 посетете най-всяка уеб страница Интернет и тя наистина 246 00:12:40,120 --> 00:12:42,877 свежда до това много прост механизъм. 247 00:12:42,877 --> 00:12:44,710 Какво се случва, след това, ако вие сте супер параноик 248 00:12:44,710 --> 00:12:48,190 и вие решите да отидете в Chrome или IE или каквото и да изключите бисквитките? 249 00:12:48,190 --> 00:12:49,365 Какво се случва? 250 00:12:49,365 --> 00:12:50,790 Така ли? 251 00:12:50,790 --> 00:12:53,170 Можете really-- сте направили това право? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Не, давай напред. 254 00:12:55,994 --> 00:12:59,645 >> АУДИТОРИЯ: Някои сайтове не са функция, без да го харесва Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. Malan: Да! 256 00:13:00,520 --> 00:13:02,311 Така определени уебсайтове просто ще спре да работи. 257 00:13:02,311 --> 00:13:05,520 И в повечето сайтове в наши дни че принципно разчита на бисквитки, 258 00:13:05,520 --> 00:13:08,360 особено ако те имат влезете в, те просто няма да се счупят. 259 00:13:08,360 --> 00:13:10,360 Тъй като разгледа алтернатива, ако сайта 260 00:13:10,360 --> 00:13:14,480 няма как да помня кой си, и следователно вашия уеб браузър не е 261 00:13:14,480 --> 00:13:16,949 представляващ с всяка HTTP искане на тази ръка печат, 262 00:13:16,949 --> 00:13:18,740 ефективно уебсайт като да отидеш на Facebook 263 00:13:18,740 --> 00:13:22,050 трябва да ви подкани да влезете във всеки дяволски време 264 00:13:22,050 --> 00:13:26,200 промените страници, или щракнете върху връзката, която със сигурност не е особено добра за употреба 265 00:13:26,200 --> 00:13:26,920 опит. 266 00:13:26,920 --> 00:13:30,020 >> Така че там също е сред компромиси. 267 00:13:30,020 --> 00:13:34,140 Така че, без повече приказки, нека да за даденост, че с уеб програмиране, 268 00:13:34,140 --> 00:13:37,630 в езици като PHP, можете да си спомните информация по този проблем в определен 269 00:13:37,630 --> 00:13:41,550 седем, когато решите да реализирате вашата собствена E * Trade-подобен сайт, с който да си купите 270 00:13:41,550 --> 00:13:45,710 и продават акции, вие ще си спомните точно това, което потребителят е закупил и продава 271 00:13:45,710 --> 00:13:49,110 и кой е той или тя е по пътя на тази сесия. 272 00:13:49,110 --> 00:13:51,110 Но ние ще се нуждаем любител начин от имейл 273 00:13:51,110 --> 00:13:52,640 да започне съхраняването на информация наоколо. 274 00:13:52,640 --> 00:13:53,140 Така ли е? 275 00:13:53,140 --> 00:13:56,780 >> В понеделник, ние говорихме за Фрош УИ и как в един вариант на този сайт, 276 00:13:56,780 --> 00:14:00,250 Преди години, всичко, което направихме беше приятел на Проктър, който е 277 00:14:00,250 --> 00:14:04,250 отговаря на интрамурални спортове програма, името и пола, 278 00:14:04,250 --> 00:14:07,330 и дали или не сте капитан, и общежитието на някой, който е 279 00:14:07,330 --> 00:14:10,136 регистриране за вътрестенен спорт. 280 00:14:10,136 --> 00:14:13,010 Така че това не е лошо, но той или тя тогава трябваше да трол чрез електронната си поща, 281 00:14:13,010 --> 00:14:16,010 направите електронна таблица или нещо подобно че за да се запази всичко организирани. 282 00:14:16,010 --> 00:14:19,750 Така че със сигурност ние като програмисти може да направи това за тази Проктър. 283 00:14:19,750 --> 00:14:22,970 И така влиза в SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 който ще изглежда доста различен от двете С и PHP, 285 00:14:26,050 --> 00:14:30,990 и ще се потопите в много повече ръце PHP и проблем определя седем, но и SQL, 286 00:14:30,990 --> 00:14:35,310 или SQL, това е език, който използвате, за да говори с база данни. 287 00:14:35,310 --> 00:14:36,480 >> Но това, което е база данни? 288 00:14:36,480 --> 00:14:38,440 Ами мисля, че на база данни, поне за сега, 289 00:14:38,440 --> 00:14:41,750 като просто е като файл Excel, или Ако сте потребител на номера на файл с Mac, 290 00:14:41,750 --> 00:14:44,400 или ако сте на Google Apps потребител на електронна таблица в Google, 291 00:14:44,400 --> 00:14:49,120 това е действително една база данни, или наистина специално релационна база данни. 292 00:14:49,120 --> 00:14:53,070 A релационна база данни е просто нещо, което има редове и колони, 293 00:14:53,070 --> 00:14:56,440 и можете да съхранявате всякакъв вид информация в тези редове или колони. 294 00:14:56,440 --> 00:15:00,480 >> Но това, което е хубаво за SQL, и за действителните бази данни, не, просто 295 00:15:00,480 --> 00:15:04,910 таблици или Google електронни таблици, е, че можете да използвате език 296 00:15:04,910 --> 00:15:09,000 действително да изпълнява заявки за вмъкнете данни, за да премахнете данни, 297 00:15:09,000 --> 00:15:11,620 да се търсят данни, дори Най-важното е, че и ти 298 00:15:11,620 --> 00:15:16,110 не е нужно да го използвате доста ръчно когато имате възможност обикновено Google 299 00:15:16,110 --> 00:15:17,690 електронна таблица като тази. 300 00:15:17,690 --> 00:15:22,217 >> Така че в SQL, има един куп основните изявления или парчета 301 00:15:22,217 --> 00:15:23,300 на функционалност вградена вътре. 302 00:15:23,300 --> 00:15:26,450 Има много повече от тези, но можете да отидете огромно разстояние 303 00:15:26,450 --> 00:15:28,620 само като знаят, че този език, наречен 304 00:15:28,620 --> 00:15:30,840 SQL има най-малко четири отчети ви могат да се възползват. 305 00:15:30,840 --> 00:15:34,420 >> Delete, за премахване на данни, Поставете, за добавяне на редове, 306 00:15:34,420 --> 00:15:37,340 Актуализация, за промяна редове, и избор, 307 00:15:37,340 --> 00:15:39,860 за да се върне реда и това е наистина това, което прави SQL. 308 00:15:39,860 --> 00:15:43,810 Тя работи изцяло на реда, така че когато поставите или извадите, 309 00:15:43,810 --> 00:15:47,470 или актуализация, или да изберете това, което сте да се върна като т.нар резултатен набор, 310 00:15:47,470 --> 00:15:49,690 като набор от редове. 311 00:15:49,690 --> 00:15:51,700 А китка на редове от таблица. 312 00:15:51,700 --> 00:15:54,050 >> Така през деня, и дори до този ден, 313 00:15:54,050 --> 00:15:56,560 можете да си взаимодействат с база данни с помощта на командния ред, 314 00:15:56,560 --> 00:15:59,691 но това не е особено забавно да се използва тази черна и бяла прозорец стил 315 00:15:59,691 --> 00:16:02,190 и действително изпълнява команди и мушкам около вашата база данни. 316 00:16:02,190 --> 00:16:06,054 A графичен потребителски интерфейс, или GUI, е много по-за предпочитане, може би, 317 00:16:06,054 --> 00:16:08,970 и така на функцията ние препоръчваме и предварително инсталиран за вас на уреда 318 00:16:08,970 --> 00:16:10,580 се нарича бърз. 319 00:16:10,580 --> 00:16:14,060 Това е общо съвпадение, че име на това нещо има PHP в него, 320 00:16:14,060 --> 00:16:17,430 това просто означава, че хората, кой е написал тази програма се 321 00:16:17,430 --> 00:16:18,670 го е написал в PHP. 322 00:16:18,670 --> 00:16:23,740 >> Но това е в крайна сметка за администриране сървър на база данни, като на сървъра MYSQL 323 00:16:23,740 --> 00:16:26,589 че може да се наложи, тъй като направя в CS50 уреда. 324 00:16:26,589 --> 00:16:29,130 Така че там е по-подробно тук, отколкото ние трябва да се грижим за днес 325 00:16:29,130 --> 00:16:33,280 но това, което е ключ е, че в ляво дясната страна е списък на базите данни 326 00:16:33,280 --> 00:16:36,040 че имате на вашия компютър, на вашия CS50 уред, 327 00:16:36,040 --> 00:16:40,090 или идват окончателните проекти, които може да има върху трета страна, на една компания 328 00:16:40,090 --> 00:16:43,415 уеб сайт или уеб сървър, че може да се плаща за пространство. 329 00:16:43,415 --> 00:16:45,290 Така че в ляво е бази данни, един от които 330 00:16:45,290 --> 00:16:48,750 е pset7 който взех назаем от следващата pset седмици, а след това на върха 331 00:16:48,750 --> 00:16:51,570 има забележите, че има куп раздели, единият от които 332 00:16:51,570 --> 00:16:55,150 е база данни, SQL, статус, потребители, износ и така нататък. 333 00:16:55,150 --> 00:16:56,900 Така че може да се извърви дълъг начин само чрез реализиране 334 00:16:56,900 --> 00:16:59,770 че по-голямата част на потребителския интерфейс е в горния ляв колона 335 00:16:59,770 --> 00:17:02,650 и в горната част точно до там. 336 00:17:02,650 --> 00:17:04,980 И така, какво всъщност можем да направим с това? 337 00:17:04,980 --> 00:17:08,609 Е, нека да започнем създаването на малко информация, както следва. 338 00:17:08,609 --> 00:17:11,760 >> Да предположим, че следното е случаят, като ще бъде само за няколко дни, 339 00:17:11,760 --> 00:17:14,440 искате да се приложи уебсайт, наречен CS50 финансите, 340 00:17:14,440 --> 00:17:17,328 и този уеб сайт ви дава възможност да си купите цитирам цитата и продават акции. 341 00:17:17,328 --> 00:17:19,619 И това се случва, за да разбера цената на тези акции, 342 00:17:19,619 --> 00:17:22,380 в крайна сметка, както ще видите, като говорим за Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Което, чудесно, има безплатна услуга чрез която може да премине в наличност махало 344 00:17:26,250 --> 00:17:29,830 като GOOG за Google, и това ще стане ти върна текущата наличност на Google 345 00:17:29,830 --> 00:17:32,250 цена в миналото няколко минути най-малко. 346 00:17:32,250 --> 00:17:35,080 >> Така ще използвате, че в крайна сметка, да се преструват, за потребителя 347 00:17:35,080 --> 00:17:37,750 да купуват и продават действителното запаси, използващи виртуални пари, 348 00:17:37,750 --> 00:17:39,750 но първото нещо, потребителят ще видите 349 00:17:39,750 --> 00:17:43,850 е този екран за влизане, които изисква от тях за потребителското си име и парола. 350 00:17:43,850 --> 00:17:46,540 И така, един от първите, предизвикателства за вас в pset7 351 00:17:46,540 --> 00:17:50,460 ще бъде изпълнението на задния край база данни, таблица, ако щете, 352 00:17:50,460 --> 00:17:53,369 че това ще се съхранява Имената на потребители и пароли 353 00:17:53,369 --> 00:17:56,660 и в крайна сметка това, което те притежават акции, и колко и колко пари те имат, 354 00:17:56,660 --> 00:18:00,110 така че един куп други неща други таблици, или електронни таблици. 355 00:18:00,110 --> 00:18:05,020 >> Така че нека да разгледаме как това може да изглежда на пръв поглед. 356 00:18:05,020 --> 00:18:06,980 Отивам да се върнем към уреда и аз съм 357 00:18:06,980 --> 00:18:14,102 ще отидете на този адрес тук PhpMyAdmin Localhost / PhpMyAdmin 358 00:18:14,102 --> 00:18:16,060 и вие ще видите, че тя ме отведе до един интерфейс 359 00:18:16,060 --> 00:18:18,520 точно така, както ние видяхме в снимка на екрана, и ето ме 360 00:18:18,520 --> 00:18:21,560 има допълнителна база наречено лекция за днес 361 00:18:21,560 --> 00:18:24,280 и нека да вървим напред Първият и кликнете върху pset7. 362 00:18:24,280 --> 00:18:27,940 >> Изглежда не мога да имате няколко опции, един за нова, за създаване на нова таблица, 363 00:18:27,940 --> 00:18:30,770 и връзка с потребителите, които е таблица, вече е създадена. 364 00:18:30,770 --> 00:18:31,790 И така, какво е маса? 365 00:18:31,790 --> 00:18:33,740 Така че, ако сте използвали Excel и преди, и ако сте 366 00:18:33,740 --> 00:18:37,110 използваните номера или Google Spreadsheets, можете отворят прозорец 367 00:18:37,110 --> 00:18:39,350 и ще получите един куп редове и колони, 368 00:18:39,350 --> 00:18:43,120 но след това обикновено има работни листове по дъното, или отделни раздели. 369 00:18:43,120 --> 00:18:46,140 Можете да мислите за всеки лист като таблица 370 00:18:46,140 --> 00:18:51,150 база данни, така че в крайна сметка е комбинация от една или повече таблици, един 371 00:18:51,150 --> 00:18:54,064 или повече листове в свят на нормална таблица. 372 00:18:54,064 --> 00:18:55,980 Така че нека да вървим напред и да кликнете върху този лист 373 00:18:55,980 --> 00:18:59,420 че предварително направени, наречени потребители, а.к.а. 374 00:18:59,420 --> 00:19:00,700 Маса Database. 375 00:19:00,700 --> 00:19:04,130 И ако отидете тук, позволете ми да намалите малко, 376 00:19:04,130 --> 00:19:08,479 това е, което се казва, PhpMyAdmin ни е вътре в тази таблица в момента. 377 00:19:08,479 --> 00:19:11,020 Това е малко объркващо в началото поглед, защото UI не е 378 00:19:11,020 --> 00:19:15,140 най-красивото нещо на света, но това, което е интересно е, тази част тук. 379 00:19:15,140 --> 00:19:17,970 ID, име, и хашиш. 380 00:19:17,970 --> 00:19:20,510 >> В предварително, и вие ще бъдете в ръка този проблем в определени седем, 381 00:19:20,510 --> 00:19:25,050 ние ви дам един файл, съдържащ супер малка масичка база данни, взети назаем всъщност 382 00:19:25,050 --> 00:19:27,070 от хакерската издание на проблема определя две, 383 00:19:27,070 --> 00:19:29,480 вътре в който има шест реда. 384 00:19:29,480 --> 00:19:32,720 Един за Белинда всички начин до един за Zamyla, 385 00:19:32,720 --> 00:19:35,980 и забележете от ляво на тези потребителски имена са уникални идентификатори, като един, 386 00:19:35,980 --> 00:19:39,410 две, три, четири, пет, шест, числа, и след това в дясно са хешове. 387 00:19:39,410 --> 00:19:42,780 >> И ако, шансовете са, че не е направил Проблемът хакерската издание зададете две, 388 00:19:42,780 --> 00:19:46,560 но хеш е точно като криптирана парола с няколко уговорки. 389 00:19:46,560 --> 00:19:49,470 И така, това, което виждате тук, са шифрованите версии на всичките шест 390 00:19:49,470 --> 00:19:52,950 на нашите пароли от проблем определя два на хакер издание. 391 00:19:52,950 --> 00:19:56,500 Сега в ляво е просто някакъв GUI неща, редактирането на този ред, копирате този ред, 392 00:19:56,500 --> 00:19:57,630 изтриване на този ред. 393 00:19:57,630 --> 00:19:59,840 >> Но това, което е интересно сега е следното. 394 00:19:59,840 --> 00:20:03,810 Аз всъщност може да започне експериментират с тази таблица. 395 00:20:03,810 --> 00:20:07,330 Така че, ако аз отида и да кликнете на SQL в раздела, да получа тази голяма текстово поле. 396 00:20:07,330 --> 00:20:10,190 И това не е начина, по който започваш да се го направя, когато всъщност писането на код. 397 00:20:10,190 --> 00:20:12,700 За да е ясно, PhpMyAdmin е само един инструмент, който е 398 00:20:12,700 --> 00:20:16,450 няма да позволя да ни мушкам около базата данни и нека да експериментирате с запитвания. 399 00:20:16,450 --> 00:20:19,430 >> Така например, предполагам Аз изпълнявам точно това. 400 00:20:19,430 --> 00:20:22,820 Избор, който е един от тези, ключови думи, които споменах по-рано, звезда, 401 00:20:22,820 --> 00:20:25,900 която представлява всички колоните в таблица. 402 00:20:25,900 --> 00:20:26,820 От какво маса? 403 00:20:26,820 --> 00:20:27,990 Е, потребители. 404 00:20:27,990 --> 00:20:29,950 И известие има това странно конвенция в SQL 405 00:20:29,950 --> 00:20:32,140 където всъщност се използва обратно кърлежи, обикновено, 406 00:20:32,140 --> 00:20:35,940 не единични кавички, а не двойни кавички когато говорим за имена на таблици, 407 00:20:35,940 --> 00:20:38,990 така че отново цитат е нещо на горната лява ръка на клавиатурата си най- 408 00:20:38,990 --> 00:20:39,720 вероятно. 409 00:20:39,720 --> 00:20:41,850 >> Така че позволете ми давай сега и просто да оставим сам 410 00:20:41,850 --> 00:20:46,020 и превъртете надолу и натиснете Go, и ние сме всъщност ще видите едно и също нещо. 411 00:20:46,020 --> 00:20:52,410 Ние току-що изпълни заявка SQL казвайки изберете всичко звезда 412 00:20:52,410 --> 00:20:55,610 от таблица, наречена потребители, и това, което получавате обратно е това. 413 00:20:55,610 --> 00:20:58,400 В крайна сметка, ние ще бъдем в състояние да направи същото нещо в кода, 414 00:20:58,400 --> 00:21:02,109 но за сега всичко, което исках да да беше я видите в браузъра си. 415 00:21:02,109 --> 00:21:03,900 Ами нека да направим нещо малко по-различна. 416 00:21:03,900 --> 00:21:08,330 Нека се върнем към раздела SQL, и нека просто кажем, че това, което? 417 00:21:08,330 --> 00:21:11,520 Zamyla е загубил всичките си пари, и затова е 418 00:21:11,520 --> 00:21:13,190 време за нас, за да я изтриете като потребител. 419 00:21:13,190 --> 00:21:14,630 Тя вече няма да влезете. 420 00:21:14,630 --> 00:21:18,870 >> Така че аз отивам да се каже, изтриване from-- добре, поддържа капитализация 421 00:21:18,870 --> 00:21:23,080 за съгласуваност, изтрийте от потребителите къде. 422 00:21:23,080 --> 00:21:25,430 И така, ние можем да имаме тези предикати, или тези 423 00:21:25,430 --> 00:21:31,180 квалификации, в края на изказването си къде и как мога да изтрия Zamyla? 424 00:21:31,180 --> 00:21:34,190 От името й Zamyla, така че колона, една от колоните 425 00:21:34,190 --> 00:21:37,950 е кръстен, така че където името = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 И тук аз използвам двойно кавички или единични кавички, 427 00:21:40,000 --> 00:21:42,958 използвате само гърба кърлежи, когато говорим за имена, например, 428 00:21:42,958 --> 00:21:45,130 таблици или полета. 429 00:21:45,130 --> 00:21:47,440 И нека кликнете Отидете тук. 430 00:21:47,440 --> 00:21:50,400 И сега, на интернет страницата е е малко напрегнат. 431 00:21:50,400 --> 00:21:53,620 >> Или, наистина ли искате да изпълните изтриете от потребители, където името се равнява Zamyla? 432 00:21:53,620 --> 00:21:54,680 Да. 433 00:21:54,680 --> 00:22:01,900 Така че сега, ако се върнем към моята маса Чрез кликване потребителите, забележите, че Hm. 434 00:22:01,900 --> 00:22:02,530 I goofed. 435 00:22:02,530 --> 00:22:04,070 И в действителност, аз вид кликнали далеч толкова бързо 436 00:22:04,070 --> 00:22:06,195 вие дори не видя червено съобщение за грешка, може би. 437 00:22:06,195 --> 00:22:07,649 Какво съм направил погрешно? 438 00:22:07,649 --> 00:22:09,690 АУДИТОРИЯ: Вие не се нуждаете да се възползва й име. 439 00:22:09,690 --> 00:22:11,260 DAVID J. Malan: Да, капитализира името й, 440 00:22:11,260 --> 00:22:13,770 но я username-- всъщност аз Направих няколко грешки, нали? 441 00:22:13,770 --> 00:22:16,720 Единият й име е zamyla, малки букви Z, 442 00:22:16,720 --> 00:22:20,140 и името на колоната е потребителско име, не име, така че нека да направим това отново. 443 00:22:20,140 --> 00:22:25,750 Нека да вървим напред и да изтриете от потребители, когато те 444 00:22:25,750 --> 00:22:28,990 потребителско име равнява цитат цитата "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Добре? 446 00:22:29,490 --> 00:22:32,600 Така че това изглежда малко по-добре, нека отида превъртете надолу и натиснете Go. 447 00:22:32,600 --> 00:22:34,730 Тя все още продължава да крещи в мен, за да бъде сигурен. 448 00:22:34,730 --> 00:22:37,500 Аз щракнете върху Да, и сега ние виждаме, честно казано това се случи, наистина 449 00:22:37,500 --> 00:22:39,870 бързо, по-малко от един вторият със сигурност, това 450 00:22:39,870 --> 00:22:41,720 е точно заявка, че се е екзекутиран. 451 00:22:41,720 --> 00:22:45,617 За да потвърдите, позволете ми да кликнете потребители и наистина сега Zamyla е отишъл. 452 00:22:45,617 --> 00:22:46,700 Сега нека да направим обратното. 453 00:22:46,700 --> 00:22:49,320 Да предположим, че Гейб иска да да се регистрирате на сайта. 454 00:22:49,320 --> 00:22:52,825 Какво е заявка за SQL, това, което е най- команда мога да въведете, за да добавите Гейб? 455 00:22:52,825 --> 00:22:54,200 Ами това е доста ясен. 456 00:22:54,200 --> 00:22:58,260 Поставете в потребителите, а сега става малко загадъчен. 457 00:22:58,260 --> 00:23:03,190 Трябва да се уточни, към сървъра, кои области искам да присвоите. 458 00:23:03,190 --> 00:23:06,630 Аз наистина не се интересува какво Гейб ID брой е, така че аз отивам да пропуснете това. 459 00:23:06,630 --> 00:23:11,360 Аз, вместо да каже потребителско име, хашиш, а след това 460 00:23:11,360 --> 00:23:14,960 ценностите, които искам да поставя там ще бъде Габе. 461 00:23:14,960 --> 00:23:16,800 И тогава си хашиш, аз не знам. 462 00:23:16,800 --> 00:23:19,900 Така че за сега, аз отивам да оставим това като голям, за да се направи. 463 00:23:19,900 --> 00:23:21,650 Ще се върнем към че в определен проблема 464 00:23:21,650 --> 00:23:23,390 спекулация за това как всъщност направи това. 465 00:23:23,390 --> 00:23:24,630 >> Така забележите, отново, синтаксиса. 466 00:23:24,630 --> 00:23:28,430 Поставете в име на таблица, а след това скоби списък от полетата, 467 00:23:28,430 --> 00:23:30,980 колоните, които искате да добавите ценности, и след това просто 468 00:23:30,980 --> 00:23:34,495 точно същата подредбата отляво право на стойностите, които искате да добавите, 469 00:23:34,495 --> 00:23:36,870 и това е просто обвивка, защото текстът е малко дълго. 470 00:23:36,870 --> 00:23:38,520 Така че сега нека щракнете Go. 471 00:23:38,520 --> 00:23:39,830 Един ред е поставена. 472 00:23:39,830 --> 00:23:43,020 И сега, ако се върна в потребители, което е интересно 473 00:23:43,020 --> 00:23:48,960 е, че не само е Гейб сега в база данни, което е очевидно ID му? 474 00:23:48,960 --> 00:23:49,820 >> Ами това е седем. 475 00:23:49,820 --> 00:23:51,479 Защо е седем, когато аз не го добавите? 476 00:23:51,479 --> 00:23:54,020 Така че това също е един от най функции, които можете да получите на базата данни. 477 00:23:54,020 --> 00:23:55,750 Много построен във функционалността. 478 00:23:55,750 --> 00:23:57,950 Оказва се, че когато създаде тази маса, 479 00:23:57,950 --> 00:24:01,390 Аз предварително конфигурирано е автоматично зададете ID по такъв начин, 480 00:24:01,390 --> 00:24:02,480 че постепенно. 481 00:24:02,480 --> 00:24:05,470 Така че, ако някога сте се мушкам наоколо, и погледна какви са вашите Facebook ID 482 00:24:05,470 --> 00:24:09,292 номер е, че тези дни не е наистина нещо да се направи, но Facebook като API, 483 00:24:09,292 --> 00:24:11,750 Application Programming Interface, чрез която може да се върне 484 00:24:11,750 --> 00:24:14,430 цял куп данни за себе си, за приятелите си, 485 00:24:14,430 --> 00:24:15,347 и вашите връзки. 486 00:24:15,347 --> 00:24:17,430 И това, което се използва, за да бъде мил на хладно, през деня, 487 00:24:17,430 --> 00:24:19,510 е да гледам това, което си Facebook ID номер беше. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg е, например, е три 489 00:24:22,390 --> 00:24:23,890 тъй като той е автор на сайта. 490 00:24:23,890 --> 00:24:27,610 И тъй като историята отива, той създава две контролни сметки, потребителите една и две, 491 00:24:27,610 --> 00:24:28,690 която след това заличава. 492 00:24:28,690 --> 00:24:32,780 И така, Zuck, както е потребителското си име на Facebook, е номер три, 493 00:24:32,780 --> 00:24:36,110 и всички от нас имат много номера по-голям от три тези дни. 494 00:24:36,110 --> 00:24:37,980 В действителност, в някакъв момент Facebook се отдалечи 495 00:24:37,980 --> 00:24:42,410 дори от използване на INT, които е 32-битова стойност, с използването на 496 00:24:42,410 --> 00:24:44,480 следващата стъпка нагоре, по същество, дълго, дълго така 497 00:24:44,480 --> 00:24:47,150 че те биха могли да се настанят дори и повече потребители се регистрират. 498 00:24:47,150 --> 00:24:49,420 Така забавно малко исторически факт. 499 00:24:49,420 --> 00:24:51,660 >> Така че това е просто Основният синтаксис, с които 500 00:24:51,660 --> 00:24:54,470 ние може да изпълнява няколко въпроси, но ние можем действително 501 00:24:54,470 --> 00:24:56,744 направи още куп неща с SQL. 502 00:24:56,744 --> 00:24:58,910 И вие ще видите, в крайна сметка, в проблема определя седем 503 00:24:58,910 --> 00:25:01,034 че трябва да се направи брой дизайнерски решения, 504 00:25:01,034 --> 00:25:03,290 Сред тях ще бъде какви видове данни за използване. 505 00:25:03,290 --> 00:25:08,240 Така че, точно както в C, има данни, видове в една база данни, като MySQL, 506 00:25:08,240 --> 00:25:12,640 и видовете данни, които трябва да се избере от включването на тези области тук. 507 00:25:12,640 --> 00:25:17,287 Чар, VARCHAR, Int, голям инт, десетични Дата и час, както и много други. 508 00:25:17,287 --> 00:25:18,370 Така че нека действително да направи това. 509 00:25:18,370 --> 00:25:21,060 Нека да се преструваме, че не сме ръката ти маса на този потребител 510 00:25:21,060 --> 00:25:25,080 и нека да вървим напред и да се създаде, за себе си, в лекциите database-- 511 00:25:25,080 --> 00:25:31,000 Всъщност нека да вървим напред и да изтриете таблицата имам вече тук 512 00:25:31,000 --> 00:25:32,940 така че ние всъщност може да създаде това. 513 00:25:32,940 --> 00:25:33,550 Опа. 514 00:25:33,550 --> 00:25:35,970 Отивам да се откажа от това маса, и сега съм 515 00:25:35,970 --> 00:25:38,337 ще отида отново до лекция на базата данни тук, 516 00:25:38,337 --> 00:25:40,420 Отивам да се създаде таблица наречени потребители и нека 517 00:25:40,420 --> 00:25:43,010 просто правя три колони първоначално и натиснете Go. 518 00:25:43,010 --> 00:25:44,990 >> Сега, по-голямата част, отново, това е просто 519 00:25:44,990 --> 00:25:48,570 използването на този графичен инструмент, наречен PhpMyAdmin, и това, което правим сега 520 00:25:48,570 --> 00:25:49,600 е създаване на таблица. 521 00:25:49,600 --> 00:25:53,170 Така че това е като да отидеш File, New, и създаване на нов файл Excel. 522 00:25:53,170 --> 00:25:55,440 Така че това ме пита няколко въпроси, от ляво на дясно, 523 00:25:55,440 --> 00:25:58,620 какво е името на първата колона, и след това името на втората колона, 524 00:25:58,620 --> 00:25:59,560 и името на третия. 525 00:25:59,560 --> 00:26:00,518 Така че нека да пресъздаде това. 526 00:26:00,518 --> 00:26:05,460 ID и след това име е една, и след това хеш е друг. 527 00:26:05,460 --> 00:26:08,970 И така, какво трябва типа данни е сега за една област като ID? 528 00:26:08,970 --> 00:26:14,470 >> Ето целия списък на типове данни на ваше разположение в база данни, 529 00:26:14,470 --> 00:26:16,070 и за сега нека просто отидете с инт. 530 00:26:16,070 --> 00:26:18,160 32-битова стойност, аз не правя мисля, че реално съм 531 00:26:18,160 --> 00:26:21,484 няма да има повече от 4 милиарда Потребителите в профила ми, в моята служба, 532 00:26:21,484 --> 00:26:23,650 така че аз отивам да продължи да се движи към следващия въпрос. 533 00:26:23,650 --> 00:26:25,490 Аз няма да се уточни дължина или стойности, 534 00:26:25,490 --> 00:26:28,540 това не е приложимо тук за инт, сам по себе си. 535 00:26:28,540 --> 00:26:30,740 И сега мога да се уточни, Очевидно, по подразбиране 536 00:26:30,740 --> 00:26:33,970 стойност, която аз няма да се уточни. 537 00:26:33,970 --> 00:26:36,050 A съпоставка, аз не знам какво е това. 538 00:26:36,050 --> 00:26:37,290 Един атрибут. 539 00:26:37,290 --> 00:26:39,455 Сега ние всъщност правим има решение за дизайн. 540 00:26:39,455 --> 00:26:42,580 Така че има няколко полета тук, не всички на които се прилагат, но неподписан 541 00:26:42,580 --> 00:26:43,380 точно какво означава? 542 00:26:43,380 --> 00:26:45,400 Че INT трябва да бъде? 543 00:26:45,400 --> 00:26:46,210 Само неотрицателна. 544 00:26:46,210 --> 00:26:48,090 Така че тя трябва да бъде 0 нагоре. 545 00:26:48,090 --> 00:26:51,120 Не, аз не отивам да се провери, защото Искам всеки потребител да има ID, 546 00:26:51,120 --> 00:26:52,470 тя не може да бъде нула. 547 00:26:52,470 --> 00:26:55,949 И тогава, да стигнем до някакъв по- интересни дизайнерски решения, като това. 548 00:26:55,949 --> 00:26:58,990 Ще се върнем към това в един миг, но това, което друга особеност на база данни 549 00:26:58,990 --> 00:27:04,200 е, е, че можете да кажете сървъра на базата данни, давай напред 550 00:27:04,200 --> 00:27:07,100 и оптимизиране на себе си, RAM и дисково пространство, 551 00:27:07,100 --> 00:27:11,770 така че избира и вложки, и изтрива и актуализации са наистина бързи. 552 00:27:11,770 --> 00:27:13,250 Сравнете това с pset5. 553 00:27:13,250 --> 00:27:16,259 >> Ако искате да търсите нещо в хеш таблица, която 554 00:27:16,259 --> 00:27:18,300 мислите като база данни, които трябваше да направя всичко 555 00:27:18,300 --> 00:27:21,500 работи за вземане на вашия хеш таблица бързо. 556 00:27:21,500 --> 00:27:22,840 Това е като, очевидно, вие. 557 00:27:22,840 --> 00:27:23,060 Така ли е? 558 00:27:23,060 --> 00:27:26,080 Трябваше да се сложи във всички време глобата тунинг неща, получаване на хеш функция 559 00:27:26,080 --> 00:27:27,820 Добре, фигуриращ как много кофи, които да имат. 560 00:27:27,820 --> 00:27:29,611 >> Но това, което е хубаво, отново, за база данни е 561 00:27:29,611 --> 00:27:31,762 просто шута всички този на други хора 562 00:27:31,762 --> 00:27:33,720 които са, че това чрез за вас, и за какво 563 00:27:33,720 --> 00:27:37,170 Отивам да кажа тук, под индекс е, че моята област ID 564 00:27:37,170 --> 00:27:41,149 ще бъде основният начин за идентифициране на потребителите в тази база данни. 565 00:27:41,149 --> 00:27:42,940 Аз няма да мисля на Zamyla като Zamyla, 566 00:27:42,940 --> 00:27:45,800 Отивам да се мисли за си като номер 6. 567 00:27:45,800 --> 00:27:49,814 >> Защо това е, може би, по-добре интуитивно да мисля за и модел 568 00:27:49,814 --> 00:27:52,480 всеки един от вашите отделни редове, използвайки редица вместо нещо 569 00:27:52,480 --> 00:27:56,480 като низ, като Zamyla или Габе или по-дълъг низ все още? 570 00:27:56,480 --> 00:27:57,444 Така ли? 571 00:27:57,444 --> 00:28:00,117 >> АУДИТОРИЯ: An ID е уникален? 572 00:28:00,117 --> 00:28:01,200 DAVID J. Malan: отново кажа? 573 00:28:01,200 --> 00:28:02,283 АУДИТОРИЯ: An ID е уникален? 574 00:28:02,283 --> 00:28:04,400 DAVID J. Malan: An ID е уникален, но suppose-- 575 00:28:04,400 --> 00:28:06,320 в зависимост от случая в общ с потребителски имена, предполагам 576 00:28:06,320 --> 00:28:10,110 Аз също каза, може да има само един Zamyla в света, и само един Гейб. 577 00:28:10,110 --> 00:28:13,730 I може да наложи уникалността ограничение на низове, също, ако исках. 578 00:28:13,730 --> 00:28:15,550 Така че не е лоша мисъл. 579 00:28:15,550 --> 00:28:16,500 >> АУДИТОРИЯ: по-сигурно. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. Malan: По-сигурни, защо? 581 00:28:17,874 --> 00:28:20,705 АУДИТОРИЯ: Не можете да кажете кои което е, както в потребителя. 582 00:28:20,705 --> 00:28:22,580 DAVID J. Malan: Добре, Не мога да кажа кой потребител 583 00:28:22,580 --> 00:28:24,380 е който така има аспект на личния живот към него, 584 00:28:24,380 --> 00:28:27,810 особено ако идентификаторите може би се появява в URL адресите. 585 00:28:27,810 --> 00:28:29,960 Така че, разбира се, че може вид работа, също. 586 00:28:29,960 --> 00:28:30,640 Други мисли? 587 00:28:30,640 --> 00:28:31,383 Така ли? 588 00:28:31,383 --> 00:28:34,316 >> АУДИТОРИЯ: По-лесно е да се извършвате операции на инт. 589 00:28:34,316 --> 00:28:35,940 DAVID J. Malan: Това е истинският кикър. 590 00:28:35,940 --> 00:28:38,850 Това е просто по-ефективно, или по-лесно за компютъра, 591 00:28:38,850 --> 00:28:40,431 да изпълнява операции на цяло число. 592 00:28:40,431 --> 00:28:40,930 Така ли е? 593 00:28:40,930 --> 00:28:43,905 Един INT е гарантирано е 32-битов, докато Zamyla 594 00:28:43,905 --> 00:28:47,660 е дълъг няколко знака, Gabriel е дълъг още няколко знака, 595 00:28:47,660 --> 00:28:51,930 Дейвънпорт е наистина дълъг и затова е не е особено ефективно да се използва 596 00:28:51,930 --> 00:28:55,860 струни за сравнение ценности и изглеждат за полета, както и актуализиране на полета, 597 00:28:55,860 --> 00:28:57,790 ако можеш да се измъкнеш само с едно число. 598 00:28:57,790 --> 00:28:59,090 Само на 32 бита. 599 00:28:59,090 --> 00:29:02,570 Така че, потребителски имена, също, по този начин, не трябва да бъде уникален, 600 00:29:02,570 --> 00:29:05,040 въпреки че те вероятно ще трябва да да, и дори по този начин твърде 601 00:29:05,040 --> 00:29:07,520 потребител може да бъде оставена да се променят своето потребителско име. 602 00:29:07,520 --> 00:29:10,810 >> Така че нека сега остави това като основно средство за идентифициране на потребителя. 603 00:29:10,810 --> 00:29:13,510 Това се казва в базата данни давай напред и да се оптимизира си 604 00:29:13,510 --> 00:29:17,065 така че, които изглеждат прозорци по ID са супер бързи. 605 00:29:17,065 --> 00:29:19,620 AI, ужасно име, просто означава Auto Increment, 606 00:29:19,620 --> 00:29:21,500 и това е проверката кутия трябва да се провери 607 00:29:21,500 --> 00:29:24,614 да се уточни, че областта на ID, за да се актуализира автоматично за мен, 608 00:29:24,614 --> 00:29:26,530 и след това аз ще превъртете надясно тук 609 00:29:26,530 --> 00:29:29,279 и честно казано, аз не съм наистина се интересуват в повече от тези области. 610 00:29:29,279 --> 00:29:30,630 Разбира се, не днес. 611 00:29:30,630 --> 00:29:33,770 >> Така че аз отивам да се върне тук, на първата колона, където 612 00:29:33,770 --> 00:29:35,830 Трябва да посочите име и хашиш, и нека 613 00:29:35,830 --> 00:29:38,080 най-малко да се съсредоточи върху втори за сега. 614 00:29:38,080 --> 00:29:41,498 Int вероятно не е правилният повикването, така че това, което прави повече смисъл, може би? 615 00:29:41,498 --> 00:29:42,741 >> АУДИТОРИЯ: Text. 616 00:29:42,741 --> 00:29:43,824 DAVID J. Malan: отново кажа? 617 00:29:43,824 --> 00:29:44,710 АУДИТОРИЯ: Text. 618 00:29:44,710 --> 00:29:44,980 DAVID J. Malan: Текст? 619 00:29:44,980 --> 00:29:45,590 OK, чух текст. 620 00:29:45,590 --> 00:29:46,090 Какво друго? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Ние вид има един куп възможности за избор които са текстова в природата. 623 00:29:53,860 --> 00:29:55,990 Така че, когато и защо, направете използвате някои от тях? 624 00:29:55,990 --> 00:29:59,560 Е Чар, противно на това, което може мисля, че не е един символ. 625 00:29:59,560 --> 00:30:01,550 Това е с определен брой знаци. 626 00:30:01,550 --> 00:30:04,600 Така че, ако ние знаем, че всички потребителски имена трябва да бъде като осем знака, 627 00:30:04,600 --> 00:30:08,490 като се използва, за да се среща често в по-стари компютърни системи, мога да кажа, Чар 628 00:30:08,490 --> 00:30:09,830 и след това мога да кажа 8 тук. 629 00:30:09,830 --> 00:30:12,930 Това е, когато третата колона става приложими при създаването на една маса. 630 00:30:12,930 --> 00:30:15,450 >> Но това е нещо досадно защото някои хора може да 631 00:30:15,450 --> 00:30:17,660 искат да имат по-дълъг потребителско име от осем символа, 632 00:30:17,660 --> 00:30:19,743 някои хора може да искат да имат по-кратка потребителско име, 633 00:30:19,743 --> 00:30:22,210 така че защо да се ангажирам до определен брой? 634 00:30:22,210 --> 00:30:24,710 Защо да няма променлива брой символи и просто 635 00:30:24,710 --> 00:30:28,580 се каже, че максималната дължина на името е, аз не знам, както и 64 знака. 636 00:30:28,580 --> 00:30:31,780 Не мога да мисля на всички приятели, които имат имена по-дълги от 64 символа, 637 00:30:31,780 --> 00:30:34,810 и дори ако това е твърде кратък, бихте могли да със сигурност го избута до произволно. 638 00:30:34,810 --> 00:30:37,330 >> Така VARCHAR е променлива брой символи. 639 00:30:37,330 --> 00:30:41,010 Текстът не е лош инстинкт, и откровено, че нещо прави това, което казва, 640 00:30:41,010 --> 00:30:45,460 но текстово поле може да бъде като 65,000 байта най-малко. 641 00:30:45,460 --> 00:30:50,790 Това е може би Overkill за поле, а в действителност, Мда, 65,535. 642 00:30:50,790 --> 00:30:53,740 Това е може би Overkill за име, така че ние ще се придържаме, обикновено, 643 00:30:53,740 --> 00:30:56,910 с varchars за текстово поле и хашиш, също. 644 00:30:56,910 --> 00:30:59,990 Hash, оказва се, бихме могли да направим по- VARCHAR като добре или нещо такова, 645 00:30:59,990 --> 00:31:03,080 но няма да се съсредоточаваме днес на криптография там и номерата 646 00:31:03,080 --> 00:31:05,210 че ние може в действителност искате да използвате за своята дължина. 647 00:31:05,210 --> 00:31:07,430 >> Но нека да превъртите надолу, надясно. 648 00:31:07,430 --> 00:31:11,280 Можете да имате само един първичен индекс за маса, 649 00:31:11,280 --> 00:31:16,380 но не искам да се използва всяка от тях, Сега, за да име, ще ви кажа? 650 00:31:16,380 --> 00:31:21,980 Какво трябва потребителско име да се основава на неясни разбиране на тези четири опции? 651 00:31:21,980 --> 00:31:23,340 Само с техните имена? 652 00:31:23,340 --> 00:31:24,140 >> АУДИТОРИЯ: Unique. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. Malan: Така уникален, нали? 654 00:31:25,100 --> 00:31:28,190 Така се оказва, че не само може ви разкажа една база данни, в аванс, 655 00:31:28,190 --> 00:31:30,380 това е основният начин идентифициране на области. 656 00:31:30,380 --> 00:31:32,990 Можете също така да кажа, че това е ще бъде уникална област. 657 00:31:32,990 --> 00:31:34,700 Тя няма да бъде на нещо, което се позовава на, 658 00:31:34,700 --> 00:31:38,490 но бих искал базата данни по същество са, че ако състоянието, така че 659 00:31:38,490 --> 00:31:42,340 че ако някога се опита да се регистрирате двама потребители със същото име, 660 00:31:42,340 --> 00:31:44,360 на база данни неуморно няма да ме пусне. 661 00:31:44,360 --> 00:31:47,490 Може би имам някакъв допълнителен код в PHP, който предотвратява много, 662 00:31:47,490 --> 00:31:50,640 но на базата данни, също може да се гарантира, че това никога няма да се случи. 663 00:31:50,640 --> 00:31:53,370 >> Сега, като се отмени, особено що се мислите за окончателните проекти, 664 00:31:53,370 --> 00:31:57,030 имайте предвид, индексиране и пълна текст всъщност са доста полезни. 665 00:31:57,030 --> 00:32:01,080 Ако имате по-голяма база данни, а не с десетки, а със стотици или хиляди 666 00:32:01,080 --> 00:32:05,270 или дори милиони на полета, можете да да каже на базата данни в аванс 667 00:32:05,270 --> 00:32:07,980 това е област, аз ще трябва да се търсят в много. 668 00:32:07,980 --> 00:32:10,520 Може би си потребителско име, може би това е био, ако сте 669 00:32:10,520 --> 00:32:13,750 вземане на Facebook-подобен сайт, който има точки, които потребителя е позволено 670 00:32:13,750 --> 00:32:16,799 да запаметите, и ако искате да кажете на базата данни в аванс 671 00:32:16,799 --> 00:32:20,090 Отивам да се търсят в тази област много, но това не е задължително да са уникални, 672 00:32:20,090 --> 00:32:22,800 можете да зададете създаде ме индекс. 673 00:32:22,800 --> 00:32:27,990 Или, може да се каже също така, позволете ми да направя вид на произволни обиски като Command 674 00:32:27,990 --> 00:32:30,420 или Control F, като теб мощ в Processor Word, 675 00:32:30,420 --> 00:32:34,184 така че можете да погледнете произволни низове или поднизове в тази област. 676 00:32:34,184 --> 00:32:36,600 С други думи, ние получаваме до точката, в семестъра 677 00:32:36,600 --> 00:32:40,720 където не е нужно да се притеснявате за как да се изпълнят нещата, ефективно. 678 00:32:40,720 --> 00:32:44,540 Ти просто трябва да се знае за какво дизайнерски решения да се направи така, че сте 679 00:32:44,540 --> 00:32:48,470 с помощта на подходящи инструменти за търговия с цел да се наберат функции 680 00:32:48,470 --> 00:32:50,380 че и други хора са построени за вас. 681 00:32:50,380 --> 00:32:54,240 Така че да обобщим, основното само трябва има един, може да има само един, 682 00:32:54,240 --> 00:32:59,630 и това е нещо, което се ангажира с използвате, за да идентифициране на области еднозначно. 683 00:32:59,630 --> 00:33:02,710 Уникален е просто сходни по дух, но може би само от време на време да го използвате, 684 00:33:02,710 --> 00:33:04,530 но искате базата данни, за да го наложи. 685 00:33:04,530 --> 00:33:08,050 Index просто означава изпреварващо ускори нещата в бъдеще 686 00:33:08,050 --> 00:33:10,230 така че мога да потърсите неща в тази област. 687 00:33:10,230 --> 00:33:13,700 И тогава пълен текст е общо за параграфи, или есета, или големи тела 688 00:33:13,700 --> 00:33:16,270 на текст, където можете Може също да искате да имате 689 00:33:16,270 --> 00:33:19,420 диви карти като еквивалент на звезда. 690 00:33:19,420 --> 00:33:19,920 Точно така. 691 00:33:19,920 --> 00:33:22,580 >> Така че това е вид много на всички наведнъж. 692 00:33:22,580 --> 00:33:25,220 Да видим дали не можем да дестилират Няколко от тези функции 693 00:33:25,220 --> 00:33:29,540 и след това изгради нещо сравнително прост, но мощен. 694 00:33:29,540 --> 00:33:31,380 Така между другото дизайнерски решения вие сте 695 00:33:31,380 --> 00:33:34,005 в крайна сметка ще трябва се заедно линиите на двигатели за съхранение. 696 00:33:34,005 --> 00:33:37,370 И нека просто да се споменава за това в очакване на окончателните проекти, 697 00:33:37,370 --> 00:33:42,020 и очакване за наем на say-- не нека да направим това. 698 00:33:42,020 --> 00:33:43,820 Да се ​​изгради тази малка прилагане на първо място. 699 00:33:43,820 --> 00:33:48,070 Аз ще отида в моя терминал прозорец, и тук не е 700 00:33:48,070 --> 00:33:52,500 само counter.php, което сме сега ще да се отървете от както вече не уместен, 701 00:33:52,500 --> 00:33:54,570 но ние имаме един куп на директории и това 702 00:33:54,570 --> 00:33:58,080 ще бъде много подобен по дух на това, което ще видите в проблем зададете седем. 703 00:33:58,080 --> 00:34:00,980 >> Така че ние имаме три директории включва публични и шаблони, които 704 00:34:00,980 --> 00:34:05,040 е точно там, където сме спрели на Понеделник с цялата ни парадигма MVC. 705 00:34:05,040 --> 00:34:09,290 И за да обобщим, в публично ще отиде всеки файл, който искате потребителите действително 706 00:34:09,290 --> 00:34:12,969 V да бъде в състояние да посетите в браузъра си чрез URL. 707 00:34:12,969 --> 00:34:13,502 Template. 708 00:34:13,502 --> 00:34:14,710 Какво ще се постави в шаблони? 709 00:34:14,710 --> 00:34:17,070 Какви неща? 710 00:34:17,070 --> 00:34:21,659 Там не е много, но няколко файлове, най-малко в понеделник. 711 00:34:21,659 --> 00:34:22,619 Да. 712 00:34:22,619 --> 00:34:23,100 >> АУДИТОРИЯ: Header и Footer? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. Malan: Header и Footer. 714 00:34:24,516 --> 00:34:26,679 Така че ние имаме нещо подобно днес, също. 715 00:34:26,679 --> 00:34:30,330 Имаме още няколко файлове, но Footer Виждам, Header виждам, 716 00:34:30,330 --> 00:34:31,909 а след това и куп други файлове. 717 00:34:31,909 --> 00:34:35,482 Така че това е еквивалентът на изгледа на V MVC, които, 718 00:34:35,482 --> 00:34:37,690 отново, ще бъде малко по- ясно определен проблем седем, 719 00:34:37,690 --> 00:34:40,380 но това е само една папка съм поставяне на много от моите естетика. 720 00:34:40,380 --> 00:34:42,840 Много ми HTML, много форми ми. 721 00:34:42,840 --> 00:34:46,899 Междувременно, включва, е друг директория, която има тези три файла 722 00:34:46,899 --> 00:34:48,440 и нека хвърлим един бърз поглед към тях. 723 00:34:48,440 --> 00:34:51,699 >> Отивам да вървим напред и да се отворят config.php. 724 00:34:51,699 --> 00:34:54,610 Както се оказва, много по- като по-рано в срока, 725 00:34:54,610 --> 00:34:57,850 можете остър включен CS50 точка з с pset7. 726 00:34:57,850 --> 00:35:00,780 В днешния пример, ти започваш да направи еквивалент на това 727 00:35:00,780 --> 00:35:03,600 с изисква декларация че ефективно 728 00:35:03,600 --> 00:35:05,340 включва тези няколко реда. 729 00:35:05,340 --> 00:35:08,225 Така че, за да е ясно, че това е файл, наречен config.php. 730 00:35:08,225 --> 00:35:09,350 И забележи какво прави. 731 00:35:09,350 --> 00:35:11,970 Това очевидно прави нещо загадъчни, включване на съобщения за грешки 732 00:35:11,970 --> 00:35:13,680 така че можете да ги видите в браузъра. 733 00:35:13,680 --> 00:35:15,860 Това е, тогава, очевидно изискващо две други файлове 734 00:35:15,860 --> 00:35:19,530 така че това е като #include в C, и след това ние го видите, 735 00:35:19,530 --> 00:35:22,720 и ние сме се позовава на това се превръща в че количката като функционалност. 736 00:35:22,720 --> 00:35:25,610 >> Това означава воля бисквитка да бъдат изпратени назад и напред. 737 00:35:25,610 --> 00:35:27,290 Така че, защо е интересно това? 738 00:35:27,290 --> 00:35:32,460 Е, ако се върнем към това директория и да се отворят, например, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Забележете, че PHP прави константи подкрепа, това не е съвсем като #define в C. 741 00:35:38,840 --> 00:35:41,290 Вместо това, вие буквално се каже определено, и известие 742 00:35:41,290 --> 00:35:44,110 че съм се съхранява в предварително четири константи в този файл. 743 00:35:44,110 --> 00:35:47,020 Един за днешния база данни, за паролата си, за моето име, 744 00:35:47,020 --> 00:35:48,690 както и за името на сървъра. 745 00:35:48,690 --> 00:35:51,644 Така че те са всъщност ще бъде доста подобен проблем в определени седем. 746 00:35:51,644 --> 00:35:54,560 И на последно място, и това е мястото, където съм Ще получите някои хубаво функционалност 747 00:35:54,560 --> 00:35:59,000 от персонала, в functions.php е един куп код сме написали, 748 00:35:59,000 --> 00:36:01,040 и откраднах някои от тези от проблем определя седем 749 00:36:01,040 --> 00:36:05,920 за днес, който прави един куп неща и нека да разгледаме един от тях 750 00:36:05,920 --> 00:36:07,270 в частност. 751 00:36:07,270 --> 00:36:09,720 Тази функция тук, заявка, ще бъде 752 00:36:09,720 --> 00:36:13,600 функцията PHP, което наричаме с цел да се изпълни SQL. 753 00:36:13,600 --> 00:36:16,070 Преди малко бяхме използване PhpMyAdmin, но това е просто 754 00:36:16,070 --> 00:36:18,720 за сортиране на цели за обучение и диагностични цели 755 00:36:18,720 --> 00:36:20,494 и забравяйки вашия набор данни. 756 00:36:20,494 --> 00:36:22,660 Когато всъщност използвате база данни, вие, човекът, 757 00:36:22,660 --> 00:36:24,100 очевидно не се случва да се дърпа нагоре уеб 758 00:36:24,100 --> 00:36:25,740 страница всеки път, когато някой се регистрира. 759 00:36:25,740 --> 00:36:29,870 Ти започваш да се напише код, който вложки и изтрива потребители на търсенето, 760 00:36:29,870 --> 00:36:32,490 и ние ще направим това с помощта на функцията за търсене. 761 00:36:32,490 --> 00:36:35,360 Ако аз сега превъртете надолу, има ще бъде още няколко функции. 762 00:36:35,360 --> 00:36:37,170 Пренасочване ще е функция, която написахме 763 00:36:37,170 --> 00:36:40,160 за вас, която ви позволява да изпрати на потребителя към друг URL, 764 00:36:40,160 --> 00:36:43,780 и ще направи, е функция, съвсем като видяхме в понеделник, че всъщност прави 765 00:36:43,780 --> 00:36:48,000 шаблон, но повече за това в форма на pset7 собствената разходка. 766 00:36:48,000 --> 00:36:50,500 За сега, нека да вървим напред и да направи това. 767 00:36:50,500 --> 00:36:54,860 >> Позволете ми да отида в моята маса и лекции се види, че има в момента нищо 768 00:36:54,860 --> 00:36:59,640 тук, просто все още, и нека също да отидете в моя публичен указател, където 769 00:36:59,640 --> 00:37:02,780 има само един файл, index.php. 770 00:37:02,780 --> 00:37:06,920 Този файл изглежда е супер проста в момента, тя изглежда точно като този. 771 00:37:06,920 --> 00:37:09,110 Много подобно на начина, по който спряло в понеделник. 772 00:37:09,110 --> 00:37:11,945 Аз съм изискваща този файл, config.php, който е в 773 00:37:11,945 --> 00:37:15,160 един включва указател, който е в точка точка, моите родители, 774 00:37:15,160 --> 00:37:17,650 и след това е просто налагане на този файл. 775 00:37:17,650 --> 00:37:18,960 И така, какво е този файл? 776 00:37:18,960 --> 00:37:24,700 >> Да се ​​отвори в моите шаблони form.php, и ние ще видим това. 777 00:37:24,700 --> 00:37:28,500 Супер проста, очевидно тази форма е ще представят от $ _GET или $ _POST. 778 00:37:28,500 --> 00:37:29,320 Бърза проверка на здрав разум. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Буквално визуално търсене на файла. 781 00:37:35,690 --> 00:37:36,610 Метод равнява пост. 782 00:37:36,610 --> 00:37:39,280 Така че няма да използвате URL адрес, като Google прави, че ще се справи на скрий 783 00:37:39,280 --> 00:37:41,030 информацията зад кулисите и това е 784 00:37:41,030 --> 00:37:43,580 ще представи на файл, наречен register.php, 785 00:37:43,580 --> 00:37:45,660 и това е файла ние все още не са писали 786 00:37:45,660 --> 00:37:47,610 но това, което това се случва да изглежда това. 787 00:37:47,610 --> 00:37:52,670 >> Ако отида в отделна страница Това е какво Localhost / index.php изглежда. 788 00:37:52,670 --> 00:37:56,930 И отново, на сървъра само ако приемем, index.php. 789 00:37:56,930 --> 00:37:57,910 Enter. 790 00:37:57,910 --> 00:37:59,870 Така че това е мястото, където ние сме на, и това, което искам да направя 791 00:37:59,870 --> 00:38:02,450 е да бъде в състояние да въведете неща като Давид, а след това 792 00:38:02,450 --> 00:38:08,050 моя телефонен номер, което ще кажа, 617-555-1212 за сега, да се регистрирате 793 00:38:08,050 --> 00:38:09,910 и сега register.php не е намерен. 794 00:38:09,910 --> 00:38:11,440 Така че аз трябва да се приложи това. 795 00:38:11,440 --> 00:38:13,320 Така че нека бързо привличам нещо подобно на. 796 00:38:13,320 --> 00:38:18,640 Позволете ми да отида в моя публичен указател и да направим Gedit на register.php, 797 00:38:18,640 --> 00:38:22,300 и сега аз ще отида напред и да започнете режим PHP, както направихме в понеделник, 798 00:38:22,300 --> 00:38:25,430 и етикет близо PHP, а нека да направим няколко неща. 799 00:38:25,430 --> 00:38:28,336 >> Така един, знам, от написал тази форма, 800 00:38:28,336 --> 00:38:29,960 че искам да проверите за следното. 801 00:38:29,960 --> 00:38:35,670 Ако е празна, независимо от потребителя написа в полето за името, а след това 802 00:38:35,670 --> 00:38:39,860 Отивам да кажа нещо като се извини липсва име. 803 00:38:39,860 --> 00:38:42,380 Извинявам се, междувременно, е не вграден в PHP нещо, 804 00:38:42,380 --> 00:38:45,970 това е функция, която написахме в functions.php за pset7 805 00:38:45,970 --> 00:38:47,940 така че да имате достъп до него. 806 00:38:47,940 --> 00:38:53,830 Иначе, ако другата областта е празен, номер, тогава аз съм 807 00:38:53,830 --> 00:38:58,370 няма да се извини на потребителя и да кажа липсващ номер. 808 00:38:58,370 --> 00:38:59,320 Запазете този файл. 809 00:38:59,320 --> 00:39:02,640 >> Сега нека се върнем към браузъра си, се върнете към форума, опитайте отново. 810 00:39:02,640 --> 00:39:04,070 Регистрирайте се. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Нищо не се случи, което е добре. 813 00:39:06,730 --> 00:39:08,120 Аз не се получи съобщение за грешка. 814 00:39:08,120 --> 00:39:11,651 Но ако вместо това, нека да презаредите тази страница, и не осигурява нищо. 815 00:39:11,651 --> 00:39:12,150 Дявол да го вземе. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Направи това. 818 00:39:17,140 --> 00:39:18,810 Регистрирайте се. 819 00:39:18,810 --> 00:39:20,350 Какво съм направил погрешно? 820 00:39:20,350 --> 00:39:24,860 Ако празна, име на $ _POST. 821 00:39:24,860 --> 00:39:26,350 Отново кажа? 822 00:39:26,350 --> 00:39:27,670 >> О, разбира се. 823 00:39:27,670 --> 00:39:30,919 Забравих най-важната част, която е изискват ("../ включва / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Аз трябва да имат достъп до Извинявам се функция, която 826 00:39:36,460 --> 00:39:37,770 Ето защо нищо не се случва. 827 00:39:37,770 --> 00:39:39,460 Функцията всъщност не съществува. 828 00:39:39,460 --> 00:39:40,640 Така че нека да опитаме отново. 829 00:39:40,640 --> 00:39:42,350 Нека да презаредите страницата, кликнете Register. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Ето го. 832 00:39:43,770 --> 00:39:45,700 Така че, изходът сме виждаме тук, е резултат 833 00:39:45,700 --> 00:39:47,685 за свикване на извиня функция, супер проста, 834 00:39:47,685 --> 00:39:50,060 и то просто отпечатва независимо Аз я давам като аргумент. 835 00:39:50,060 --> 00:39:51,370 >> Добре, така че нека да си сътрудничат. 836 00:39:51,370 --> 00:39:54,240 Нека да предостави името ми като Давид, регистър, 837 00:39:54,240 --> 00:39:56,890 липсва номер OK нека да предвидят, че прекалено. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Регистрирайте се. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Така че всичко е наред сега, просто нищо интересно се случва. 842 00:40:02,760 --> 00:40:06,000 Така че, нека сега направим нещо повече интересно се случи по този начин. 843 00:40:06,000 --> 00:40:09,980 Позволете ми да отида в PhpMyAdmin, и нека всъщност създаде таблица, наречена потребители, 844 00:40:09,980 --> 00:40:12,330 Отивам да го дам три колони, и аз бързо ще 845 00:40:12,330 --> 00:40:16,250 създаде ID, и след това име, и след това номер, 846 00:40:16,250 --> 00:40:18,832 и полето ID съм ще напусне като Int. 847 00:40:18,832 --> 00:40:20,790 Полето за име Отивам да напусне като VARCHAR, 848 00:40:20,790 --> 00:40:23,257 и ние ще кажем, 64, донякъде произволно. 849 00:40:23,257 --> 00:40:25,090 Броят Отивам да се направи, знаеш ли какво? 850 00:40:25,090 --> 00:40:27,350 Отиваме в подкрепа номера нас тук, 851 00:40:27,350 --> 00:40:31,510 така че аз отивам да правя нещо като знак, а след това 10 символа 852 00:40:31,510 --> 00:40:34,540 макс за регионален код и след седем цифри. 853 00:40:34,540 --> 00:40:37,870 И след това тук, аз отивам да зададени автоматично увеличение тази област, 854 00:40:37,870 --> 00:40:40,550 направи този първичен ключ, и Аз ще отида напред и да не 855 00:40:40,550 --> 00:40:42,240 проверите някой от тези други кутии. 856 00:40:42,240 --> 00:40:48,030 >> Така че, когато най-накрая натиснете Save, и аз да се върна към моята маса потребители, 857 00:40:48,030 --> 00:40:52,270 това е това, което изглежда като, ако аз Сега кликнете структура New Tab. 858 00:40:52,270 --> 00:40:54,550 Така че това, за да бъде ясно, е просто начин на PhpMyAdmin 859 00:40:54,550 --> 00:40:58,570 да се каже си таблица в база данни има ID, име и номер 860 00:40:58,570 --> 00:41:02,040 с тези специфични конфигурации и ще игнорира останалите области 861 00:41:02,040 --> 00:41:03,140 там за сега. 862 00:41:03,140 --> 00:41:04,810 >> Така че сега това, което искам да направя? 863 00:41:04,810 --> 00:41:09,060 Така че, ако сега отивам в моя изходния код, ако всичко е наред 864 00:41:09,060 --> 00:41:11,190 Искам да изпълни следната заявка. 865 00:41:11,190 --> 00:41:14,970 Поставете в и мога само твърди, че потребителите не правят строго 866 00:41:14,970 --> 00:41:18,620 нужда от тези обратно кърлежи, ако това е не е опасна дума като потребители. 867 00:41:18,620 --> 00:41:22,810 Отивам да кажа име, номер, и след това тук съм 868 00:41:22,810 --> 00:41:24,960 няма да твърди код на цифра от стойностите си. 869 00:41:24,960 --> 00:41:26,760 Отивам да се сложи две въпросителни знаци. 870 00:41:26,760 --> 00:41:29,320 И това е конвенция в много езици 871 00:41:29,320 --> 00:41:31,730 при което, ако искате да имате контейнер за низ 872 00:41:31,730 --> 00:41:34,105 ти започваш да се използва въпрос марки, поради причини, ние ще 873 00:41:34,105 --> 00:41:36,370 се върна да говорите за сигурност, и тук 874 00:41:36,370 --> 00:41:39,420 Отивам да премине в тези две полета публикувате име, 875 00:41:39,420 --> 00:41:44,850 и след това да публикувате номер, и сега запишете файла. 876 00:41:44,850 --> 00:41:47,090 >> И сега аз отивам да слизат тук е супер 877 00:41:47,090 --> 00:41:55,690 просто да кажем rendersuccess.php, които ще бъде друг шаблон. 878 00:41:55,690 --> 00:41:57,380 Отивам да се създаде много по-бързо. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php и аз съм просто ще да кажа успех H1 в този файл. 880 00:42:06,270 --> 00:42:06,990 Добре. 881 00:42:06,990 --> 00:42:11,312 Така че сега, нека да се върнем към браузър, където посетих преди. 882 00:42:11,312 --> 00:42:14,270 Да вървим напред и да се потвърди написах Давид, аз написах в телефонен номер, 883 00:42:14,270 --> 00:42:15,390 регистрирай. 884 00:42:15,390 --> 00:42:16,100 Дявол да го вземе. 885 00:42:16,100 --> 00:42:17,420 Какво съм направил погрешно? 886 00:42:17,420 --> 00:42:20,850 Така че аз виждам грешка тук, има грешка в SQL синтаксиса. 887 00:42:20,850 --> 00:42:24,900 Позволете ми да скочи обратно към Gedit, нека ми да се върна към register.php, 888 00:42:24,900 --> 00:42:28,830 и какво съм пропуснат, че Беше важно за последен път? 889 00:42:28,830 --> 00:42:29,722 Имам нужда от това. 890 00:42:29,722 --> 00:42:32,930 Искаш ли да знаеш, че различни от като забелязал преди, но имам нужда от това. 891 00:42:32,930 --> 00:42:35,596 >> Така че сега нека се върнем, а това е полезно да се види в браузъра 892 00:42:35,596 --> 00:42:37,680 и това е, защо в config.php ние плюе грешки. 893 00:42:37,680 --> 00:42:41,770 Да вървим напред и да се презареди, кликнете върху Напред, успех. 894 00:42:41,770 --> 00:42:47,060 Така че сега нека преминем към моя база данни тук и кликнете върху потребителите, 895 00:42:47,060 --> 00:42:51,680 и преглеждате и забележите сега има David в моята база данни тук. 896 00:42:51,680 --> 00:42:55,810 Сега технически този сайт е все още не е в публичния интернет, 897 00:42:55,810 --> 00:42:57,890 така че не може да има друг хора в пускането тук, 898 00:42:57,890 --> 00:43:01,120 но ако аз сега исках да, за Например, аз да изпратите текстово съобщение. 899 00:43:01,120 --> 00:43:03,920 Нека да отидем в много неизгодно положение тук и да видим дали това наистина работи. 900 00:43:03,920 --> 00:43:07,331 Отивам да вървим напред и да изтриете този ред 901 00:43:07,331 --> 00:43:09,080 и ние ще се размие тази в клипа по-късно 902 00:43:09,080 --> 00:43:11,900 така че ние не разполагат с Целият интернет ме текстови, 903 00:43:11,900 --> 00:43:17,270 и сега ще отида до браузър и ние ще преминем към лекция 904 00:43:17,270 --> 00:43:22,040 и ние ще напишете в различни номер тук, регистър, успех. 905 00:43:22,040 --> 00:43:25,550 >> Така че сега, моят собствен номер е вероятно в базата данни, а сега най-забавната част. 906 00:43:25,550 --> 00:43:28,774 Нека всъщност използва PHP да се направи нещо програмно, 907 00:43:28,774 --> 00:43:30,940 или от командата линия или от някъде другаде, 908 00:43:30,940 --> 00:43:32,773 и за сега съм просто щеше да го прости 909 00:43:32,773 --> 00:43:36,230 и аз ще отида в моя указател тук и направете следното. 910 00:43:36,230 --> 00:43:44,920 Gedit скрипт да речем, ние ще го наричат ​​текст, #! / потребител / бин / Околна среда PHP, 911 00:43:44,920 --> 00:43:46,700 като видяхме за последен път. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Сега аз ще се нуждаят от включва config.php, 914 00:43:55,055 --> 00:43:57,360 въпреки че това може да предизвика леко грешка. 915 00:43:57,360 --> 00:44:03,960 И сега аз ще отида напред и да кажа, редове, заявка, изберете звезда от потребители, 916 00:44:03,960 --> 00:44:08,149 и сега тук, аз отивам да правя техника от последния път, за всеки редове като ред. 917 00:44:08,149 --> 00:44:09,690 И аз отивам да се направи нещо по-просто. 918 00:44:09,690 --> 00:44:19,090 ФОРМАТ да кажем име е това, и номер е този, наклонена черта п. 919 00:44:19,090 --> 00:44:23,320 И сега аз отивам да мине в ред цитирам цитата име, 920 00:44:23,320 --> 00:44:28,140 и ред цитирам цитата номер, а сега да вървим напред 921 00:44:28,140 --> 00:44:31,430 и терминал моя прозорец коригират това е + х да 922 00:44:31,430 --> 00:44:33,970 този скрипт, наречен текст изпълним. 923 00:44:33,970 --> 00:44:36,080 А сега нека да тече текст. 924 00:44:36,080 --> 00:44:37,590 >> ОК, така да прогресира. 925 00:44:37,590 --> 00:44:39,960 Така че аз сега съм написал команден ред скрипт, 926 00:44:39,960 --> 00:44:43,300 на език, наречен PHP, че поради това изисква линия, 927 00:44:43,300 --> 00:44:46,380 има достъп до всички онези конфигурация константи, които съм посочил. 928 00:44:46,380 --> 00:44:48,177 Името на базата данни и така нататък. 929 00:44:48,177 --> 00:44:50,260 В действителност, само за да бъде ясно, че това не е случайност, 930 00:44:50,260 --> 00:44:54,730 позволете ми да отида напред и да се регистрира, много по-бързо, някой друг като Rob 931 00:44:54,730 --> 00:44:58,890 и ще му дам номера 555-1212. 932 00:44:58,890 --> 00:45:01,557 >> И сега, ако стартирате скрипта отново, забележете мощността 933 00:45:01,557 --> 00:45:03,140 на това, което правим с базата данни. 934 00:45:03,140 --> 00:45:07,680 Сега съм веднага се вижда какво Другите две редици са в моята база данни. 935 00:45:07,680 --> 00:45:10,699 Така че сега, нека се опитаме да направим нещо дори любител вътре, 936 00:45:10,699 --> 00:45:12,740 и това е частта, ние сме не е тестван предварително, 937 00:45:12,740 --> 00:45:15,910 така че последния път, когато е направил това нещата се ужасно проваля, 938 00:45:15,910 --> 00:45:17,120 имаме видео в този смисъл. 939 00:45:17,120 --> 00:45:18,286 >> Всъщност, да, смешно настрана. 940 00:45:18,286 --> 00:45:20,480 Така че за последен път, в лекция като преди две години, 941 00:45:20,480 --> 00:45:23,230 решихме, реших, да бъде всичко това би било добра идея 942 00:45:23,230 --> 00:45:28,150 за динамично генериране на имейли в клас, като се използва цялата база данни CS50 943 00:45:28,150 --> 00:45:33,390 студенти, които ни бяха дадени техните номера и техните мобилни телефони превозвачи, които ви 944 00:45:33,390 --> 00:45:36,290 да си спомним от pset0, как да се разсъждава, се оказва, 945 00:45:36,290 --> 00:45:40,650 Имах малка бъг в моята програма и Направих няколко грешки през 2012 г., мисля. 946 00:45:40,650 --> 00:45:43,997 >> , При която един имах за линия, която Направих точно това нещо, 947 00:45:43,997 --> 00:45:46,580 итерации върху базата данни, при получаването на името на базата данни, 948 00:45:46,580 --> 00:45:49,940 име от базата данни, и след това на всеки повторение на този цикъл Изпратих имейл. 949 00:45:49,940 --> 00:45:54,130 Но вместо да изпрати един имейл, аз изпрати един имейл първата итерация, 950 00:45:54,130 --> 00:45:58,200 и две писма втора итерация, изпратени три имейли втора итерация, която 951 00:45:58,200 --> 00:46:01,230 както можете да си спомните от нашия обсъждане на асимптотичната нотация 952 00:46:01,230 --> 00:46:06,400 този голям O лошо, като п квадрат е колко съобщения, които изпратих, 953 00:46:06,400 --> 00:46:08,560 но това не беше дори и имейли това е текстови съобщения. 954 00:46:08,560 --> 00:46:12,070 >> И както знаете, присъствието не е супер висока към края на семестъра 955 00:46:12,070 --> 00:46:15,360 и затова си помислих, че би било най-сладко време, за да каже: "Защо не са ти клас?" 956 00:46:15,360 --> 00:46:17,880 В съобщение на текст I изпраща на целия клас, 957 00:46:17,880 --> 00:46:22,140 и че е смешно да се харесва на 50% от клас, а останалите 50%, някои от които 958 00:46:22,140 --> 00:46:26,102 откачи, аз изпрати невероятно апологетични сладки нотки 959 00:46:26,102 --> 00:46:28,560 на персонала се извини за след като пропусна лекцията просто 960 00:46:28,560 --> 00:46:29,530 този път, нали? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Така че би ужасно проваля. 963 00:46:34,030 --> 00:46:37,030 Така че в този дух, нека се опитаме това отново, но само с моя номер. 964 00:46:37,030 --> 00:46:41,940 В предварително, в functions.php, Аз съм писал тази функция тук. 965 00:46:41,940 --> 00:46:44,250 Тя се нарича текст, и го взема в три аргумента. 966 00:46:44,250 --> 00:46:46,360 Редица, превозвач, и съобщение. 967 00:46:46,360 --> 00:46:50,390 >> Аз съм с изявление превключвател, който чудесно PHP вземе струни, а не само 968 00:46:50,390 --> 00:46:53,350 числа, и аз не се прилагат цялата подкрепа, за това все още, 969 00:46:53,350 --> 00:46:55,370 Току-що направи AT & T и Verizon. 970 00:46:55,370 --> 00:46:57,610 Защото се оказва, че с тези превозвачи 971 00:46:57,610 --> 00:47:00,570 те имат имейл на SMS портали, с което всъщност можете да 972 00:47:00,570 --> 00:47:05,529 изпратете имейл на адрес като телефонен номер vtext.com 973 00:47:05,529 --> 00:47:08,070 и ако потребителят не е блокиран съобщенията, че ще мине през 974 00:47:08,070 --> 00:47:09,340 е текстово съобщение. 975 00:47:09,340 --> 00:47:13,270 >> Сега, за да направите това, ще трябва да добавите една област много по-бързо да ми база данни. 976 00:47:13,270 --> 00:47:15,470 Отивам да отидат в моята структура, и аз съм 977 00:47:15,470 --> 00:47:21,880 ще отида напред и да добавите област в края на таблицата. 978 00:47:21,880 --> 00:47:25,227 Нека кликнете Go, и аз съм Ще се обадя на този превозвач 979 00:47:25,227 --> 00:47:27,310 и сега аз отивам да оставете това като текст бар, 980 00:47:27,310 --> 00:47:29,320 но можем да бъдем по-красиви в бъдеще. 981 00:47:29,320 --> 00:47:31,961 Отивам да бързо да отидете в масата ми, и аз съм 982 00:47:31,961 --> 00:47:34,210 Ще се отървете от Роб, защото това е фалшив номер, 983 00:47:34,210 --> 00:47:38,540 Отивам да отидат в редактиране тук и аз съм няма да се промени моят оператор ръчно 984 00:47:38,540 --> 00:47:43,410 да Verizon, които е, и сега тук. 985 00:47:43,410 --> 00:47:44,980 >> Нека да направим една бърза проверка здрав разум. 986 00:47:44,980 --> 00:47:52,730 Нека отворим нашия текст скрипт, който изглежда така, носител е% S. 987 00:47:52,730 --> 00:47:58,230 Ние правим много повече грешки проверка от мен през 2012 г., носител. 988 00:47:58,230 --> 00:48:01,160 И сега, аз ще отида напред и отново стартирате скрипта. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier е Verizon, което означава, Сега се надявам, че може да направи точно това. 991 00:48:06,100 --> 00:48:08,360 Правилно тази година, Надяваме се, че тук и да отидем. 992 00:48:08,360 --> 00:48:12,200 >> Така че в това за цикъл, аз съм ще има не само това ФОРМАТ, 993 00:48:12,200 --> 00:48:15,990 Аз също ще се обадя и текст използването на тази функция изтегляне 994 00:48:15,990 --> 00:48:19,670 е тя да вземе номер, носител, и съобщение. 995 00:48:19,670 --> 00:48:23,310 Така че нека да видим, брой ще е ред цитат цитата "брой" 996 00:48:23,310 --> 00:48:31,660 ред цитирам цитата "превозвач" а последният е съобщение. 997 00:48:31,660 --> 00:48:36,250 Не се притеснявам за тази година, точка и запетая. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Стискаме палци. 1000 00:48:38,280 --> 00:48:39,970 Да видим дали това работи. 1001 00:48:39,970 --> 00:48:41,720 Добре, така. 1002 00:48:41,720 --> 00:48:43,000 Ето ни. 1003 00:48:43,000 --> 00:48:47,380 Нека да отключите телефона, стискайте палци, дявол да го вземе. 1004 00:48:47,380 --> 00:48:50,300 Undefined променлива may-- о чакай, чакай, чакай, наистина бързо. 1005 00:48:50,300 --> 00:48:51,340 Real бързо, много бързо. 1006 00:48:51,340 --> 00:48:53,380 Това е напълно си заслужава. 1007 00:48:53,380 --> 00:48:57,710 Нека вземем, нека ме вземете, ъ-ъ-о. 1008 00:48:57,710 --> 00:48:59,965 Благодаря ви, текстовете имат започва от някой друг. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Нека да вървим напред и да се отворят реална бързо, dropbox.php / поща тук. 1011 00:49:11,650 --> 00:49:12,660 Standby. 1012 00:49:12,660 --> 00:49:14,455 Напълно си заслужава. 1013 00:49:14,455 --> 00:49:17,430 Downloads. 1014 00:49:17,430 --> 00:49:18,560 OK, източник src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Нуждаете се от още един ред тук. 1017 00:49:21,380 --> 00:49:24,530 О, там е, че е в Фрош УИ, тя е в регистър на три. 1018 00:49:24,530 --> 00:49:28,820 О, здравей, Марго, благодаря ви много. 1019 00:49:28,820 --> 00:49:31,130 ОК, и аз бях липсва тази линия тук. 1020 00:49:31,130 --> 00:49:33,010 Така че нека бързо вземете този ред на код, 1021 00:49:33,010 --> 00:49:36,200 която включва поща или библиотека че действително искате да използвате, 1022 00:49:36,200 --> 00:49:38,300 Отивам да се бързо се върна в функции, 1023 00:49:38,300 --> 00:49:42,337 Отивам да отидете в началото на тази подава и изисква този файл, както и, 1024 00:49:42,337 --> 00:49:45,420 и сега аз отивам наистина да пресече ми пръсти, когато се върна на командата 1025 00:49:45,420 --> 00:49:49,530 Онлайн скрипт, който е вътре в днес локална директория домакин. 1026 00:49:49,530 --> 00:49:50,610 Стартирай текст. 1027 00:49:50,610 --> 00:49:52,720 Enter. 1028 00:49:52,720 --> 00:49:53,220 Mail. 1029 00:49:53,220 --> 00:49:53,719 Standby. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Standby. 1032 00:49:59,600 --> 00:50:01,680 Mail. 1033 00:50:01,680 --> 00:50:02,290 О, OK. 1034 00:50:02,290 --> 00:50:03,870 Ето ни. 1035 00:50:03,870 --> 00:50:06,880 >> Mail получава нов PHP писмото. 1036 00:50:06,880 --> 00:50:09,970 Дали да направя това право? 1037 00:50:09,970 --> 00:50:11,067 Дявол да го вземе. 1038 00:50:11,067 --> 00:50:12,150 To-- О, чакай, чакай, чакай. 1039 00:50:12,150 --> 00:50:12,649 Готовност. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Обещавам, че това е щеше да бъде, така че си струва. 1042 00:50:18,630 --> 00:50:20,340 Адрес. 1043 00:50:20,340 --> 00:50:24,390 Ето защо аз не правят примери непосредствено преди клас. 1044 00:50:24,390 --> 00:50:26,350 Уф. 1045 00:50:26,350 --> 00:50:27,910 Следните получателите провалили. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Нека се опитаме едно последно нещо. 1048 00:50:33,040 --> 00:50:40,660 SMTP зададете от добавете адрес, адресът е наистина това. 1049 00:50:40,660 --> 00:50:43,980 Нека се опитаме тази последна част от адрес. 1050 00:50:43,980 --> 00:50:47,210 О, аз съм наистина тъжно точно сега. 1051 00:50:47,210 --> 00:50:47,854 Благодаря. 1052 00:50:47,854 --> 00:50:50,270 Но аз наистина оценявам всички текстовете сте били изпращане. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Имаш ли Давид. 1055 00:50:56,320 --> 00:50:59,310 Вие сте го духа. 1056 00:50:59,310 --> 00:51:01,720 Да го оставя там и ние ще предупредим в понеделник. 1057 00:51:01,720 --> 00:51:04,290 Ще се видим тогава. 1058 00:51:04,290 --> 00:51:08,090 >> DAVEN Фарнъм: И сега Deep Мисли от Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Ако двоично дърво падне в гората и никой не е наоколо, за да C it-- [разсмя]. 1061 00:51:17,590 --> 00:51:18,998