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 Дејвид Џ 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 И во чест на Ноќта на вештерките, ние сме мислеле дека би 11 00:00:26,230 --> 00:00:30,160 делат една дека наместо нас фатени од страна на изненадување тука во Annenberg сала само 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 беше на Фејсбук, следеа разговор што се случи потоа. 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 Значи без понатамошно ado, денес ние продолжи овој поглед во веб програмирање, 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 со програма наречена Телнет, и тогаш се одговори на овие барања или 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 Значи, да се разбере подобро прво неколку од овие superglobals 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, кој е superglobal, 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 Она што е внатре на овој superglobal кои ги гледаме? 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 >> Дејвид Џ MALAN: Совршена. 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, е клучот на П, и на вредноста на него на мачки. 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 Значи, кога ќе hashed збор како јаболко да се види дали јаболкото е во речникот, 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 Колаче и сесија, сепак, ние ефикасно ќе видиме сега. 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 Хром инспектор, кој можете да обично 109 00:05:22,640 --> 00:05:25,740 направи со десен клик или контрола клик било каде на веб страница, 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 И јас одам да го јазичето мрежа тука, и ајде да се види за момент 113 00:05:35,020 --> 00:05:37,590 на HTTP сообраќај, што е ќе напред и назад. 114 00:05:37,590 --> 00:05:40,929 >> Дозволете ми прво да се оди напред и кешот јасно Хром. 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 Дејвид Џ 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 најавени во сајтови како што се Фејсбук, или 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 да стигнете до друга страница на Фејсбук. 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 прикажан вашиот проект на нешто големо, за На пример, и дека клубот или паркот 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 И сега што јас ќе одам да направите е држете го, само за добра мерка, 155 00:07:29,970 --> 00:07:31,740 и насилно вчитување на страната. 156 00:07:31,740 --> 00:07:34,170 Промена само бидете сигурни дека дека ништо не добива кеширани. 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 Мислам дека со Фејсбук кога појдов околу инспектор во тоа време, 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 кажува вашиот интернет пребарувач, Хром, IE, што, 179 00:08:39,970 --> 00:08:44,480 еј пребарувач продавница на корисникот хард диск, или во RAM меморија на корисникот, 180 00:08:44,480 --> 00:08:49,680 клучен наречен PHPSESSID, што е стенографија нотација за сесија проект, 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 И тогаш, од страна на начин, Пат = /, дека само значи дека ова куки треба да биде 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 Тоа е како да на серверот, Фејсбук, или во нашиот случај апаратот, 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, точка, 198 00:09:46,490 --> 00:09:51,440 точка, точка, треба да се поврзани со оваа особено количката, така да се каже. 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 сега на серверот, веднаш штом ќе се реализира, ooh, ова е корисник 0vlk8t точка, точка, точка, 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 Цитат unquote "контра" 217 00:11:06,860 --> 00:11:10,110 вредноста на претходниот counter која Јас се од овие линии до тука дека ние 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 и искрено ако отворите Хром Инспектор на било кој веб-страница 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 дека има среден човек кој отслужува up реклами за сите три од овие веб-сајтови, 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 Харвард не може да знаат сте во посета на Фејсбук. 238 00:12:13,140 --> 00:12:15,306 Фејсбук можеби не знаат и сте во посета на Харвард. 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 и да одлучите да одите во Хром или 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 ОК. 253 00:12:54,350 --> 00:12:55,994 Не, повелете. 254 00:12:55,994 --> 00:12:59,645 >> ПУБЛИКАТА: Одредени веб-сајтови не мора функција без неа како што се Фејсбук. 255 00:12:59,645 --> 00:13:00,520 Дејвид Џ 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 ефикасно веб-сајт како ќе Фејсбук 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 Значи без понатамошно ado, ајде да ги здраво за готово дека со веб програмирање, 268 00:13:34,140 --> 00:13:37,630 во јазици како PHP, можете да се запамети информации, како што во проблемот поставени 269 00:13:37,630 --> 00:13:41,550 седум, кога ќе спроведе своја Е * трговија како веб-сајт со што да се купи 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 >> Во понеделникот, ние разговаравме за Frosh инстант пораки и како во верзијата една од оние веб-сајт, 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, Структурно јазик за пребарување, 284 00:14:22,970 --> 00:14:26,050 кој се случува да изгледа прилично различни за двете C и 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 А релациона база на податоци е само нешто што има редови и колони, 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 >> Избришете, за отстранување на податоци, Вметнете, за додавање на редови, 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 А графички кориснички интерфејс, или GUI, е многу повеќе препорачува, веројатно, 317 00:16:06,054 --> 00:16:08,970 и така алатка ви препорачуваме и преинсталиран за вас на апаратот 318 00:16:08,970 --> 00:16:10,580 се нарекува phpMyAdmin. 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 и овој веб-сајт ви овозможува да се купат Цитат unquote и продаваат акции. 341 00:17:17,328 --> 00:17:19,619 И тоа се случува да дознаам цената на тие акции, 342 00:17:19,619 --> 00:17:22,380 на крајот како што ќе видите, од разговорот со Јаху финансии. 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 случува да одат на овој URL тука 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 Табеларни пресметки, ќе се отвори прозорец 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 дека јас premade, наречен корисници, a.k.a. 374 00:18:59,420 --> 00:19:00,700 База на податоци табела. 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 Тоа е малку збунувачки на прв поглед, бидејќи на графичката околина не е 378 00:19:11,020 --> 00:19:15,140 најубаво нешто на светот, но она што е интересно е овој дел тука. 379 00:19:15,140 --> 00:19:17,970 Проект, корисничкото име и хаш. 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 и движете се надолу и кликнете оди, и ние сме всушност, се случува да се види истото. 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 И дозволете ми да кликнете Go тука. 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 Па сега, ако ние се вратиме на мојата маса со кликнување на корисниците, да се забележи дека Хм. 434 00:22:01,900 --> 00:22:02,530 Јас 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 Дејвид Џ 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 корисничко име е еднаква цитат unquote "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Сите нели? 446 00:22:29,490 --> 00:22:32,600 Така што ова изгледа малку подобро, нека ме да си одам движете се надолу и кликнете на Оди. 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 Јас навистина не се грижат што Габе е проект број е, па ќе одам да го прескокнете тоа. 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 Вметнете во табелата име, а потоа parenthesized листа на области, 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 Па сега дозволете ми да кликнете на Оди. 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 е дека не само што е Габе сега во база на податоци, она што е очигледно неговиот проект? 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 Јас преконфигуриран тоа е автоматски додели на проект на таков начин 480 00:24:01,390 --> 00:24:02,480 што чекори. 481 00:24:02,480 --> 00:24:05,470 Значи, ако некогаш сте појдов наоколу, и го погледна она што вашиот Фејсбук проект 482 00:24:05,470 --> 00:24:09,292 број е, овие денови тоа не е навистина нешто да се направи, но на Фејсбук како API-то, 483 00:24:09,292 --> 00:24:11,750 Пријава Програмирање интерфејс, при што може да се добијат назад 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 беше да се погледне до она што вашите Фејсбук ID број е. 488 00:24:19,510 --> 00:24:22,390 Марк Цукерберг е, на пример, е три 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, како што е неговото име на Фејсбук, е матичен број три, 493 00:24:32,780 --> 00:24:36,110 и сите од нас имаат броеви многу поголем од три, овие денови. 494 00:24:36,110 --> 00:24:37,980 Всушност, во некој момент Фејсбук се иселија 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 Char, 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 Whoops. 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 само го прават три колони на почетокот и кликнете на Оди. 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 Значи ова е како ќе датотеката, нов, и создавање на нови 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 Проект, а потоа корисничко име беше една, а потоа хаш беше друг. 527 00:26:05,460 --> 00:26:08,970 Значи она што треба тип на податок да сега за поле како проект? 528 00:26:08,970 --> 00:26:14,470 >> Тука е целата листа на типови на податоци на располагање на вас во базата на податоци, 529 00:26:14,470 --> 00:26:16,070 и сега за сега ајде да одиме со INT. 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 тоа не е се применуваат тука за int, сама по себе. 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 А споредба, јас не знам што е тоа. 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 Не, јас не одам да се провери, бидејќи Сакам секој корисник да има лична карта, 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 Одам да се каже тука под индексот е дека мојот проект поле 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 >> ПУБЛИКАТА: Еден проект е уникатен? 572 00:28:00,117 --> 00:28:01,200 Дејвид Џ MALAN: Кажи повторно? 573 00:28:01,200 --> 00:28:02,283 ПУБЛИКАТА: Еден проект е уникатен? 574 00:28:02,283 --> 00:28:04,400 Дејвид Џ MALAN: Еден проект е единствена, но 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 Би можел да наметне посебност Ограничување на жици, исто така, ако сакав. 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 >> Дејвид Џ MALAN: Повеќе безбедно, зошто? 581 00:28:17,874 --> 00:28:20,705 ПУБЛИКАТА: Вие не може да се каже кои е што, како во на корисникот. 582 00:28:20,705 --> 00:28:22,580 Дејвид Џ MALAN: Океј, ти не може да каже кој корисникот 583 00:28:22,580 --> 00:28:24,380 е што па постои приватноста аспект на тоа, 584 00:28:24,380 --> 00:28:27,810 особено ако лични карти можеби се појавува во адресите. 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 >> ПУБЛИКАТА: Тоа е полесно да се вршење на операции на една int. 589 00:28:34,316 --> 00:28:35,940 Дејвид Џ 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 е долг неколку ликови, Габриел е долга уште неколку ликови, 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 така што изглед и прозорци на проект се супер брзо. 605 00:29:17,065 --> 00:29:19,620 АИ, ужасно име, само значи Авто зголемување, 606 00:29:19,620 --> 00:29:21,500 и ова е проверка кутија ние треба да се провери 607 00:29:21,500 --> 00:29:24,614 да се каже дека на полето за проект на да се ажурира автоматски за мене, 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 >> ПУБЛИКАТА: Текст. 616 00:29:42,741 --> 00:29:43,824 Дејвид Џ MALAN: Кажи повторно? 617 00:29:43,824 --> 00:29:44,710 ПУБЛИКАТА: Текст. 618 00:29:44,710 --> 00:29:44,980 Дејвид Џ MALAN: Текст? 619 00:29:44,980 --> 00:29:45,590 Добро, слушнав текст. 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 Хаш, што излезе, ние би можеле да се направи 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 >> ПУБЛИКАТА: Единствен. 653 00:31:24,140 --> 00:31:25,100 >> Дејвид Џ 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 правење на Фејсбук како веб-сајт кој има ставовите дека корисникот е дозволено 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 Или, можете да се каже, исто така, дозволете ми да се направи вид на произволно пребарувања како команда 674 00:32:27,990 --> 00:32:30,420 или контрола Ф, како тебе можеби со еден збор процесор, 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 Индекс само значи превентивно забрзаат работите во иднина 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 Дефиниција. 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 >> ПУБЛИКАТА: заглавјето и подножјето? 713 00:34:23,100 --> 00:34:24,516 >> Дејвид Џ MALAN: заглавјето и подножјето. 714 00:34:24,516 --> 00:34:26,679 Значи имаме нешто слично и денес, исто така. 715 00:34:26,679 --> 00:34:30,330 Имаме уште неколку датотеки, но Footer гледам, насловот гледам, 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 точка h со 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 во В. 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 за вас, кои ви овозможува да испрати на корисникот на друга адреса, 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 ОК. 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 ОК. 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 недостасува број ОК ајде обезбеди дека, исто така. 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 ОК. 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 се создаде проект, а потоа името, а потоа бројот, 846 00:40:16,250 --> 00:40:18,832 и поле на проект Јас сум ќе заминат како 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 >> Значи, кога јас сега конечно, кликнете на Зачувај, и јас се вратам во мојата корисниците маса, 857 00:40:48,030 --> 00:40:52,270 ова е она што изгледа како ако јас сега кликнете на структура нов таб. 858 00:40:52,270 --> 00:40:54,550 Така што ова, да биде јасно, е само начин phpMyAdmin е 859 00:40:54,550 --> 00:40:58,570 на велејќи вашата база на податоци маса има проект, име, и голем број 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 и јас сум само ќе да се каже Н1 успех во таа датотека. 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 и пребарувате, и ќе забележите сега имаат Дејвид во мојата база на податоци тука. 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 скрипта да речеме, ние ќе го нарекуваат текст, #! / корисник / bin / env 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 Printf да речеме име е ова, и број е ова, обратна коса црта n. 919 00:44:19,090 --> 00:44:23,320 И сега ќе одам да помине во ред цитирам unquote име, 920 00:44:23,320 --> 00:44:28,140 и ред цитат unquote број и сега ајде да одиме напред 921 00:44:28,140 --> 00:44:31,430 и мојот терминален прозорец chmod + x ова да се направи 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 дозволете ми да оди напред и да се регистрирате, навистина брзо, некој друг како Роб 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 овој голем О лоши, како n квадрат е колку многу пораки пратив, 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 Во текстуална порака јас испрати на цела класа, 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 тие имаат e-mail на 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 Ајде да кликнете оди, и јас сум случува да се јавите оваа превозникот 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 ОК. 990 00:48:01,660 --> 00:48:06,100 Превозникот е Веризон, што значи сега се надевам дека можам да го прават токму тоа. 991 00:48:06,100 --> 00:48:08,360 Правилно оваа година, се надевам дека, тука ќе одиме. 992 00:48:08,360 --> 00:48:12,200 >> Па во внатрешноста на оваа за телефонска линија, јас сум случува да имаат не само тоа printf, 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 Да видиме, бројот се случува да биде ред цитат unquote "број" 996 00:48:23,310 --> 00:48:31,660 ред цитат unquote "носител" а последниот беше пораката. 997 00:48:31,660 --> 00:48:36,250 Не зафркнам оваа година, точка-запирка. 998 00:48:36,250 --> 00:48:36,780 >> ОК. 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 Недефиниран променлива may-- ох Чекај, чекај, чекај, вистински пост. 1005 00:48:50,300 --> 00:48:51,340 Реал брзо, во реално брзо. 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 На мирување. 1012 00:49:12,660 --> 00:49:14,455 Целосно достоен за тоа. 1013 00:49:14,455 --> 00:49:17,430 Преземања. 1014 00:49:17,430 --> 00:49:18,560 Добро, извор src8m. 1015 00:49:18,560 --> 00:49:19,700 ОК. 1016 00:49:19,700 --> 00:49:21,380 >> Треба уште една линија тука. 1017 00:49:21,380 --> 00:49:24,530 Ох таму е, тоа е во Frosh ИСП, тоа е во регистарот на три. 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 Пошта. 1029 00:49:53,220 --> 00:49:53,719 На мирување. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 На мирување. 1032 00:49:59,600 --> 00:50:01,680 Пошта. 1033 00:50:01,680 --> 00:50:02,290 О, во ред. 1034 00:50:02,290 --> 00:50:03,870 Еве ќе одиме. 1035 00:50:03,870 --> 00:50:06,880 >> Пошта доби нова 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 Ugh. 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 AW, јас сум навистина тажно моментов. 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 Farnham: И сега Длабоко Мисли од Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Ако бинарен дрво паѓа во шума и никој не е околу да Ц it-- [смееш]. 1061 00:51:17,590 --> 00:51:18,998