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 Дэвид Дж Маланом: Ладно. 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 был на Facebook, последующий Разговор, что случилось потом. 15 00:00:39,760 --> 00:00:43,020 >> Его первая должность в ответ чтобы его фото было это. 16 00:00:43,020 --> 00:00:46,740 Через несколько минут, он решил к одному до себя с этим. 17 00:00:46,740 --> 00:00:53,800 Он пошел на то, чтобы пойти на это, а затем, еще более забавно 18 00:00:53,800 --> 00:00:55,320 это когда его мама подхватила. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 И тогда, в конечном счете, кажется, что это было просто 21 00:01:01,800 --> 00:01:04,860 замечательный уловка для играть, что происходит. 22 00:01:04,860 --> 00:01:07,080 >> Так что, если вы хотите чтобы увидеть Джейкоба и другие, 23 00:01:07,080 --> 00:01:10,880 среди них Синтия Мэн, кто за кулисами персонала CS50 зоны, 24 00:01:10,880 --> 00:01:13,970 направиться в этом URL и этой игре здесь. 25 00:01:13,970 --> 00:01:18,810 Так что без лишних слов, сегодня мы продолжить этот взгляд на веб-программирования, 26 00:01:18,810 --> 00:01:21,810 и фактическое создание программ что не работают в командной строке, 27 00:01:21,810 --> 00:01:24,080 но вместо этого работать внутри браузера. 28 00:01:24,080 --> 00:01:26,320 >> Предположительно сейчас, или очень в ближайшее время, вы идете 29 00:01:26,320 --> 00:01:30,200 быть в разгар реализации Ваш собственный веб-сервер, который 30 00:01:30,200 --> 00:01:31,700 отличается от веб-программирования. 31 00:01:31,700 --> 00:01:36,210 Веб-сервер в pset6 это все о написание программного обеспечения, который знает, как взять 32 00:01:36,210 --> 00:01:39,300 HTTP запросы от браузера, или даже от вас, человек, 33 00:01:39,300 --> 00:01:42,340 с программой, которая называется Telnet, и затем на них отвечать либо 34 00:01:42,340 --> 00:01:48,600 по выплевывая на HTML файл, или JPEG, GIF или, или даже .php файл. 35 00:01:48,600 --> 00:01:52,490 >> Но с веб-сервером, это не Предполагается, просто открыть файл PHP, 36 00:01:52,490 --> 00:01:55,260 что-то заканчивается на .php, а затем выплюнуть содержимое. 37 00:01:55,260 --> 00:01:58,440 Это должен делать что для этого файла в первую очередь? 38 00:01:58,440 --> 00:01:59,390 Так что говорить. 39 00:01:59,390 --> 00:02:04,060 Не скомпилировать его, мы сказали в понедельник, но rather-- Так, интерпретировать его. 40 00:02:04,060 --> 00:02:08,070 >> PHP это интерпретируемый язык, и поэтому один из ключевых особенностей вашей сети 41 00:02:08,070 --> 00:02:11,550 Сервер, хотя и реализуется нами, эта способность для вашего веб-сервера 42 00:02:11,550 --> 00:02:12,490 заметить, о. 43 00:02:12,490 --> 00:02:14,580 Это файл, заканчивающийся на .php. 44 00:02:14,580 --> 00:02:17,970 Позвольте мне не просто отправить его на Пользователь, как это статический контент, 45 00:02:17,970 --> 00:02:20,970 а дайте мне прочитать его линия по линия, слева направо, и интерпретировать его. 46 00:02:20,970 --> 00:02:23,030 >> И делать, что вам Ребята будут существенно 47 00:02:23,030 --> 00:02:26,520 Пунт на программу в приборе, и на много компьютерных систем, 48 00:02:26,520 --> 00:02:27,500 только что позвонил PHP. 49 00:02:27,500 --> 00:02:30,579 То есть название PHP в собственный интерпретатор языка. 50 00:02:30,579 --> 00:02:33,120 Так, что часть мы реализуем для Вы, и то, что осталось для вас, 51 00:02:33,120 --> 00:02:35,240 в конечном счете, это число штук, среди которых 52 00:02:35,240 --> 00:02:37,960 осуществляет поддержку для статического контента. 53 00:02:37,960 --> 00:02:40,180 >> Но теперь, и с Проблема установки семь, ты 54 00:02:40,180 --> 00:02:43,660 собирается начать переход к на самом деле написания кода PHP 55 00:02:43,660 --> 00:02:45,970 что получает интерпретировать в разговоре с задней части 56 00:02:45,970 --> 00:02:47,960 База данных, которая хранит информацию. 57 00:02:47,960 --> 00:02:51,020 Так давайте лучше понять сначала пару этих суперглобальных 58 00:02:51,020 --> 00:02:53,720 и как много власть вас получить из коробки бесплатно 59 00:02:53,720 --> 00:02:55,250 с языка, как PHP. 60 00:02:55,250 --> 00:02:57,350 То, что вы не имеют реализовать себя. 61 00:02:57,350 --> 00:03:01,700 >> Так, мы видели в понедельник $ _GET, который является суперглобальная, 62 00:03:01,700 --> 00:03:05,496 который просто PHP говорить за глобальным Переменная вы можете получить доступ в любом месте. 63 00:03:05,496 --> 00:03:06,620 И что внутри $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Что внутри этого суперглобальная что мы видим? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Конечно статистически на хотя бы один человек знает. 68 00:03:19,020 --> 00:03:21,590 Что внутри $ _GET? 69 00:03:21,590 --> 00:03:22,426 Да? 70 00:03:22,426 --> 00:03:24,130 >> АУДИТОРИЯ: Это переменные Вы помещаете в строке запроса. 71 00:03:24,130 --> 00:03:24,530 >> Дэвид Дж Маланом: Прекрасно. 72 00:03:24,530 --> 00:03:26,488 Это переменные, положить в строке запроса. 73 00:03:26,488 --> 00:03:29,910 Так, в нашей старой примере реализовав Google, когда мы были 74 00:03:29,910 --> 00:03:34,130 URL, а затем знак вопроса, которая разграничивает начало HTTP 75 00:03:34,130 --> 00:03:37,950 Параметры, затем мы должны были д равную что-то, как д равна кошек, 76 00:03:37,950 --> 00:03:41,500 что бы автоматически перейти в того, что $ _GET супер глобальный для вас, 77 00:03:41,500 --> 00:03:47,430 из-за РНР, является ключевым из Q, и его кошек значения. 78 00:03:47,430 --> 00:03:51,250 >> Другими словами, $ _GET и все эти вещи ассоциативные массивы, 79 00:03:51,250 --> 00:03:54,530 хэш-таблицы из сортов, что хранения ключей и ценностей. 80 00:03:54,530 --> 00:03:57,980 Теперь вернемся в pset5, хэш Таблица вы, возможно, реализуется, 81 00:03:57,980 --> 00:04:00,220 или вам попробовать может реализовали, действительно 82 00:04:00,220 --> 00:04:04,010 эффективно было ассоциативным Массив, структура данных, 83 00:04:04,010 --> 00:04:07,220 в котором вы можете связать ключи со значениями. 84 00:04:07,220 --> 00:04:09,690 >> Но в pset5, значения были тривиально. 85 00:04:09,690 --> 00:04:12,430 Значение по сути истинным или ложным. 86 00:04:12,430 --> 00:04:13,900 Является ли слово в словаре? 87 00:04:13,900 --> 00:04:18,279 Итак, когда вы хэшируется такое слово, как яблоко чтобы увидеть, если яблоко в словаре, 88 00:04:18,279 --> 00:04:21,820 ваша функция проверки предположительно вернулся истинным или ложным. 89 00:04:21,820 --> 00:04:24,120 Итак, вот эффективно Значение мы получаем обратно. 90 00:04:24,120 --> 00:04:26,456 >> Но мы видели в понедельник Кратко, вы можете, конечно, 91 00:04:26,456 --> 00:04:28,830 связать более интересным значения, чем просто истинным или ложным 92 00:04:28,830 --> 00:04:30,790 с ключами, как яблоко. 93 00:04:30,790 --> 00:04:33,909 Вы могли фактически вернуться произвольная строка, и в самом деле, 94 00:04:33,909 --> 00:04:36,200 это то, что $ _GET и эти другие переменные позволяют сделать. 95 00:04:36,200 --> 00:04:40,595 >> Так $ _POST похож по духу, но если вы отправить форму по почте, 96 00:04:40,595 --> 00:04:44,490 Другой метод HTTP это используется для таких вещей, как кредитные карты, 97 00:04:44,490 --> 00:04:48,410 и личная информация, и даже двоичные данные, как фотографии, 98 00:04:48,410 --> 00:04:51,840 эти вещи в конечном итоге внутри $ _POST. 99 00:04:51,840 --> 00:04:53,770 А на самом деле для файлов как в формате JPEG и еще много чего, 100 00:04:53,770 --> 00:04:58,290 есть даже другой, что не здесь называется $ _FILES, а также. 101 00:04:58,290 --> 00:05:01,280 >> Так, сервер мы не будем останавливаться на слишком много, но это дает вам доступ 102 00:05:01,280 --> 00:05:04,860 сортировать нижних детали уровня около сам сервер, что вы используете. 103 00:05:04,860 --> 00:05:07,430 Cookie и сессии, при том, что, мы эффективно видим сейчас. 104 00:05:07,430 --> 00:05:10,940 Последнее, что мы используем для реализации Понятие корзине. 105 00:05:10,940 --> 00:05:14,480 Супер простой, но напомним, что у нас был этот пример здесь, 106 00:05:14,480 --> 00:05:17,640 считая, сколько раз вы что перед посетил эту страницу. 107 00:05:17,640 --> 00:05:20,850 >> Но сегодня, а не просто смотреть на Эффект от этого, давайте откроем 108 00:05:20,850 --> 00:05:22,640 Хрома инспектор, которые вы можете обычно 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 Дэвид Дж Маланом: ОК, хорошо. 131 00:06:21,250 --> 00:06:24,980 Так что это часть данных, которые Сервер, ставит на свой компьютер, 132 00:06:24,980 --> 00:06:28,840 и давайте обобщим ее даже Более того, это является ключевым value-- хорошо, 133 00:06:28,840 --> 00:06:30,064 что становится более точным. 134 00:06:30,064 --> 00:06:31,980 Это кусок Информация, часть данных, 135 00:06:31,980 --> 00:06:34,430 что сервер может для размещения на вашем компьютере 136 00:06:34,430 --> 00:06:38,592 и очень часто, сервер делает это для того, чтобы вспомнить, кто вы есть. 137 00:06:38,592 --> 00:06:40,300 Так, например, шансы Вы, наверное, 138 00:06:40,300 --> 00:06:42,982 вошли в таких сайтах, как Facebook, или Gmail, или другие, прежде чем, 139 00:06:42,982 --> 00:06:44,940 и вы войдите с Вашим имя пользователя и пароль, 140 00:06:44,940 --> 00:06:49,000 а затем после этого, в течение некоторого количества минут или часов или даже дней, 141 00:06:49,000 --> 00:06:52,970 сервер помнит, что вы, в самом деле, зашли. 142 00:06:52,970 --> 00:06:54,600 Теперь, как в том, что на самом деле происходит? 143 00:06:54,600 --> 00:06:58,630 Потому что вы, конечно, не перепечатывать Ваше имя пользователя и пароль каждый раз, 144 00:06:58,630 --> 00:07:00,760 переходе к другая страница на Facebook. 145 00:07:00,760 --> 00:07:02,570 Вот и получается, печенье ответ. 146 00:07:02,570 --> 00:07:05,360 >> Печенье можно придумать, как, вроде как, цифровой руку 147 00:07:05,360 --> 00:07:09,200 штамп, что вы могли бы получить на развлечения парк или клуб, который по существу 148 00:07:09,200 --> 00:07:11,740 указывает на наличие здесь до, и вы уже 149 00:07:11,740 --> 00:07:16,070 показано свой идентификатор в вышибалы, для Экземпляр, и что клуб или парк 150 00:07:16,070 --> 00:07:19,050 Теперь следует считать, что вас аутентифицировали уже. 151 00:07:19,050 --> 00:07:21,270 Вы уже были определены с помощью него. 152 00:07:21,270 --> 00:07:24,740 >> Так что с учетом этого, давайте откроем счетчик здесь. 153 00:07:24,740 --> 00:07:27,220 Позвольте мне идти вперед, я только что сделал, и очистить все мои печенья. 154 00:07:27,220 --> 00:07:29,970 А теперь то, что я собираюсь сделать, это держать Shift, просто на всякий случай, 155 00:07:29,970 --> 00:07:31,740 и насильственно перезагрузите страницу. 156 00:07:31,740 --> 00:07:34,170 Сдвиг просто убедитесь, что что ничто не кэшируются. 157 00:07:34,170 --> 00:07:36,850 А вот запрос что пошли вперед и назад. 158 00:07:36,850 --> 00:07:41,560 Так вот здесь у нас есть запрос, и пусть мне увеличить здесь, и многое из этого 159 00:07:41,560 --> 00:07:44,710 является своего рода неинтересные детали для Теперь о том, что браузер имеет автоматически 160 00:07:44,710 --> 00:07:47,800 отправлено, но давайте нажмите View Источник видеть необработанные заголовки. 161 00:07:47,800 --> 00:07:51,700 >> И если вы нырнули в pset6 уже, вы, конечно, признать то, 162 00:07:51,700 --> 00:07:54,990 как это, и, возможно, некоторые из этих других линий здесь, 163 00:07:54,990 --> 00:07:59,040 но что более интересно на сегодня если я прокрутите вниз, не с просьбой, 164 00:07:59,040 --> 00:08:02,870 но в так называемой реакции, эта линия, вероятно, выглядит знакомым. 165 00:08:02,870 --> 00:08:04,977 Это хорошая вещь, когда вы видите 200 OK. 166 00:08:04,977 --> 00:08:07,060 Видимо, это Дата и время на сервере 167 00:08:07,060 --> 00:08:08,268 и есть куча вещей. 168 00:08:08,268 --> 00:08:09,290 О, это интересно. 169 00:08:09,290 --> 00:08:13,430 >> Оказывается, когда вы используете PHP, по крайней мере, в этом сервере, 170 00:08:13,430 --> 00:08:16,360 сервер выплевывает то, что версия PHP вы используете. 171 00:08:16,360 --> 00:08:18,962 Что, на самом деле, для безопасности Цели, это не очень хорошая вещь. 172 00:08:18,962 --> 00:08:21,170 Но мы вернемся к тому, что в другой раз, возможно. 173 00:08:21,170 --> 00:08:25,740 Но теперь это сочные линии сегодня, и мы кратко видели некоторые из них, 174 00:08:25,740 --> 00:08:29,240 Я думаю, что с Facebook, когда мы тыкали вокруг инспектора в то время, 175 00:08:29,240 --> 00:08:33,380 Набор печенья является то, что посадка что маленький кусочек информации 176 00:08:33,380 --> 00:08:34,890 на ваш компьютер. 177 00:08:34,890 --> 00:08:37,490 >> Это заголовка HTTP это эффективно 178 00:08:37,490 --> 00:08:39,970 говорит ваш браузер, Chrome, IE, все, 179 00:08:39,970 --> 00:08:44,480 эй браузера магазин на пользователя жесткий диск, или в памяти пользователя, 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 И тогда, кстати, Path = /, что просто означает, что это печенье должно быть 186 00:09:06,947 --> 00:09:08,780 связанные с Совокупность сайте, 187 00:09:08,780 --> 00:09:11,150 а не просто конкретной Страница все это. 188 00:09:11,150 --> 00:09:12,930 Так что это, что виртуальная рука штамп. 189 00:09:12,930 --> 00:09:16,330 Это как если бы сервер, Facebook, или в нашем случае прибор, 190 00:09:16,330 --> 00:09:21,140 есть буквально письменное 0vlk8t и так далее, на вашей руке. 191 00:09:21,140 --> 00:09:24,360 Обратите внимание, что сервер-х, не делает это не 192 00:09:24,360 --> 00:09:27,730 хранения мое имя, конечно, не хранить свой пароль. 193 00:09:27,730 --> 00:09:31,710 >> Вместо этого, он по-видимому, хранения псевдо случайной информации 194 00:09:31,710 --> 00:09:35,010 так, что никто не может догадаться, что моя рука штамп. 195 00:09:35,010 --> 00:09:37,590 На стороне сервера, Между тем, сервер 196 00:09:37,590 --> 00:09:40,370 будет помнить, наверное, в базе данных или что-то, 197 00:09:40,370 --> 00:09:46,490 что пользователь, который в будущем представляет ручную печать 0vlk8t, точка, 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 Теперь сервер, как только он понимает,, ох, это пользователь 0vlk8t точка, точка, точка, 211 00:10:37,910 --> 00:10:42,010 Я сейчас могу вспомнить, кто он или она и реассоциируют с этим пользователем все 212 00:10:42,010 --> 00:10:46,450 информация, которую я хочу, и все что информация может храниться на вас, 213 00:10:46,450 --> 00:10:50,130 программист, в $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Таким образом, чтобы было ясно, если я открываю реальный быстрый в Gedit, что сам файл, counter.php, 215 00:10:57,170 --> 00:11:02,340 в моей местной принимающей общий каталог как и прежде, обратите внимание, что, в самом деле, 216 00:11:02,340 --> 00:11:06,860 Я в конечном итоге хранения в $ _SESSION Цитата конец цитаты "счетчик" 217 00:11:06,860 --> 00:11:10,110 значение предыдущего счетчика, который Я получаю от этих линий здесь, что мы 218 00:11:10,110 --> 00:11:13,010 посмотрел на последний раз плюс один. 219 00:11:13,010 --> 00:11:14,980 Так под капотом, это все печенье. 220 00:11:14,980 --> 00:11:17,563 Это как раз то, цифровой ручной штамп ходит взад и вперед, 221 00:11:17,563 --> 00:11:20,450 и, честно говоря, если вы открываете в Chrome Инспектор на любом сайте 222 00:11:20,450 --> 00:11:22,580 Вы посетите сегодня, с супер высокая вероятность, 223 00:11:22,580 --> 00:11:25,450 Вы будете видеть, может быть, один, может быть, полдюжины печенье 224 00:11:25,450 --> 00:11:26,650 время помнить вас. 225 00:11:26,650 --> 00:11:29,500 >> И что еще хуже, если те, сайт вы посещаете 226 00:11:29,500 --> 00:11:32,640 у всех есть рекламные объявления, которые конечно довольно распространены сегодня, 227 00:11:32,640 --> 00:11:36,100 и если эти объявления приходят от какой-то центральный партии, кто-то 228 00:11:36,100 --> 00:11:39,000 как Google или AdWords, как они позвоните по одному из своих продуктов 229 00:11:39,000 --> 00:11:42,880 или другие подобные поставщики, продавать рекламу, что интересно, 230 00:11:42,880 --> 00:11:46,510 и, честно говоря, что это немного тревожная, о том, как HTTP работает, 231 00:11:46,510 --> 00:11:50,855 является то, что если у вас есть объявление встроенные в Facebook.com и Google.com, 232 00:11:50,855 --> 00:11:54,240 и Harvard.edu, любое количество сайтов, так что это такие 233 00:11:54,240 --> 00:11:58,130 что есть средний человек, который отбывает до объявления всех трех этих сайтов, 234 00:11:58,130 --> 00:12:02,110 получается, что печенье на домен. 235 00:12:02,110 --> 00:12:05,910 >> Так что если у вас есть объявление исходит от же компания на различных веб-сайтах, 236 00:12:05,910 --> 00:12:11,140 что компания может эффективно отслеживать кто вы во всех этих сайтов. 237 00:12:11,140 --> 00:12:13,140 Гарвардский может не знать, Вы посещаете Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook не может знать и Вы посещения Гарварда. 239 00:12:15,306 --> 00:12:18,160 Но то, что объявление обслуживание они используют, если тот домен 240 00:12:18,160 --> 00:12:21,710 присутствует в обоих Harvard.edu Сети страниц и Facebook.com веб-страниц, 241 00:12:21,710 --> 00:12:26,850 это средний человек, конечно, знает, кто ты из-за этих печенье будучи поделился 242 00:12:26,850 --> 00:12:30,910 по, или, скорее,, что так называемый посредник. 243 00:12:30,910 --> 00:12:33,820 >> Таким образом, мы еще вернемся к этому вопросу в последствия для безопасности их, 244 00:12:33,820 --> 00:12:37,170 но есть много информации хранится о вас в любое время 245 00:12:37,170 --> 00:12:40,120 посетить практически любую веб-страницу на Интернет, и это действительно 246 00:12:40,120 --> 00:12:42,877 сводится к этому очень простой механизм. 247 00:12:42,877 --> 00:12:44,710 Что происходит, то, если вы параноик 248 00:12:44,710 --> 00:12:48,190 и вы решите пойти в Chrome или IE или что-то и отключить куки? 249 00:12:48,190 --> 00:12:49,365 Что случилось? 250 00:12:49,365 --> 00:12:50,790 Да? 251 00:12:50,790 --> 00:12:53,170 Вы really-- вы сделали это правильно? 252 00:12:53,170 --> 00:12:54,350 Хорошо. 253 00:12:54,350 --> 00:12:55,994 Нет, идти вперед. 254 00:12:55,994 --> 00:12:59,645 >> АУДИТОРИЯ: Некоторые веб-сайты не имеют Функция без него нравится Facebook. 255 00:12:59,645 --> 00:13:00,520 Дэвид Дж Маланом: Да! 256 00:13:00,520 --> 00:13:02,311 Таким образом, некоторые веб-сайты может просто перестать работать. 257 00:13:02,311 --> 00:13:05,520 И в большинстве веб-сайтов в эти дни что принципиально полагаться на печенье, 258 00:13:05,520 --> 00:13:08,360 особенно если у них есть вы войти в, они просто сломает. 259 00:13:08,360 --> 00:13:10,360 Потому что считают альтернатива, если веб-сайт 260 00:13:10,360 --> 00:13:14,480 не имеет возможности запоминания, которые вы, и, следовательно, ваш браузер не 261 00:13:14,480 --> 00:13:16,949 представляя с каждым HTTP Запрос этого руки печать, 262 00:13:16,949 --> 00:13:18,740 эффективно сайт как собирается Facebook, 263 00:13:18,740 --> 00:13:22,050 иметь запрос на войти каждый штопать время 264 00:13:22,050 --> 00:13:26,200 Вы изменения страниц, или нажмите на ссылку, которая это, конечно, не особенно хороший пользователь 265 00:13:26,200 --> 00:13:26,920 опыт. 266 00:13:26,920 --> 00:13:30,020 >> Так что там тоже есть среди компромиссов. 267 00:13:30,020 --> 00:13:34,140 Так что без лишних слов, давайте разумеющимся, что с веб-программирования, 268 00:13:34,140 --> 00:13:37,630 в таких языках, как PHP, вы можете помнить, Информация, как, что в проблеме установки 269 00:13:37,630 --> 00:13:41,550 семь, когда вы реализуете самостоятельно E * Trade, как веб-сайт, с которым, чтобы купить 270 00:13:41,550 --> 00:13:45,710 и продавать акции, как вы помните, именно что пользователь купил и продал 271 00:13:45,710 --> 00:13:49,110 и кто он или она путем этой сессии. 272 00:13:49,110 --> 00:13:51,110 Но мы собираемся нужно любитель путь, чем по электронной почте 273 00:13:51,110 --> 00:13:52,640 начать сохранность информации вокруг. 274 00:13:52,640 --> 00:13:53,140 Не так ли? 275 00:13:53,140 --> 00:13:56,780 >> В понедельник, мы говорили о Фрош чаты и как в версии одного из этого веб-сайта, 276 00:13:56,780 --> 00:14:00,250 лет назад, все мы делали, было по электронной почте Проктор кто 277 00:14:00,250 --> 00:14:04,250 отвечает за очной спорта Программа, название, и пол, 278 00:14:04,250 --> 00:14:07,330 и действительно ли вы их капитана, и общежитие кого-то, кто это 279 00:14:07,330 --> 00:14:10,136 регистрации для очной спорта. 280 00:14:10,136 --> 00:14:13,010 Так что это не плохо, но он или она пришлось тролль через их электронную почту, 281 00:14:13,010 --> 00:14:16,010 сделать таблицу или что-то вроде что, чтобы держать все организовано. 282 00:14:16,010 --> 00:14:19,750 Так, конечно, мы, как программистов может сделать это для того Проктор. 283 00:14:19,750 --> 00:14:22,970 И так введите в SQL, Structured Query Language, 284 00:14:22,970 --> 00:14:26,050 который будет выглядеть довольно отличается как 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 Пользователь электронных таблиц 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 и этот сайт позволяет купить цитировать конец цитаты и продавать акции. 341 00:17:17,328 --> 00:17:19,619 И он собирается выяснить Стоимость этих запасов, 342 00:17:19,619 --> 00:17:22,380 в конечном счете, как вы увидите, поговорив с Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Какой, удивительно, имеет бесплатную услугу в котором вы можете пройти в биржевых сводок 344 00:17:26,250 --> 00:17:29,830 как GOOG для Google, и это будет вернуть вам текущий запас от Google 345 00:17:29,830 --> 00:17:32,250 Цена в прошлом Несколько минут, по крайней мере. 346 00:17:32,250 --> 00:17:35,080 >> Таким образом, вы будете использовать, что, в итоге, притворяться для пользователя 347 00:17:35,080 --> 00:17:37,750 покупать и продавать фактическая запасы, используя виртуальные деньги, 348 00:17:37,750 --> 00:17:39,750 но самое первое, что пользователь увидит 349 00:17:39,750 --> 00:17:43,850 это Войти экране, который просит их для их имя пользователя и пароль. 350 00:17:43,850 --> 00:17:46,540 И так, одним из первых вызовы для вас в pset7 351 00:17:46,540 --> 00:17:50,460 будет осуществлять обратный конец базы данных, электронные таблицы, если хотите, 352 00:17:50,460 --> 00:17:53,369 что собирается хранить пользователи имена и пароли 353 00:17:53,369 --> 00:17:56,660 и, в конечном счете то, что запасы они владеют, и сколько, и сколько денег у них, 354 00:17:56,660 --> 00:18:00,110 так куча других вещей в другие таблицы или таблиц. 355 00:18:00,110 --> 00:18:05,020 >> Итак, давайте посмотрим, как это может показаться на первый взгляд. 356 00:18:05,020 --> 00:18:06,980 Я собираюсь вернуться к прибор и я 357 00:18:06,980 --> 00:18:14,102 собираюсь идти к этому URL здесь PhpMyAdmin локальный / 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, называемые пользователи, также известное, 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 ID, имя пользователя и хеш. 380 00:19:17,970 --> 00:19:20,510 >> Заранее, и вы будете руками это в проблему установить семь, 381 00:19:20,510 --> 00:19:25,050 мы даем вам файл, содержащий супер небольшой таблицы базы данных, заимствованные на самом деле 382 00:19:25,050 --> 00:19:27,070 от хакерской издания из проблем установить два, 383 00:19:27,070 --> 00:19:29,480 внутри которого есть шесть рядов. 384 00:19:29,480 --> 00:19:32,720 Один для Белинды все в вплоть до одного для Zamyla, 385 00:19:32,720 --> 00:19:35,980 и заметить, слева от тех, имена пользователей уникальные идентификаторы, такие как один, 386 00:19:35,980 --> 00:19:39,410 два, три, четыре, пять, шесть, целые числа, а затем вправо хэши. 387 00:19:39,410 --> 00:19:42,780 >> И если, шансы, что вы не делаете проблема хакер издание установить два, 388 00:19:42,780 --> 00:19:46,560 но хэш, как зашифрованный пароль с некоторыми оговорками. 389 00:19:46,560 --> 00:19:49,470 И так, что вы видите здесь зашифрованные версии все шесть 390 00:19:49,470 --> 00:19:52,950 наши пароли от проблемы установить два в хакерской издание. 391 00:19:52,950 --> 00:19:56,500 Теперь слева находится лишь некоторые GUI вещи, редактирования эту строку, копируя эту строку, 392 00:19:56,500 --> 00:19:57,630 удаление эту строку. 393 00:19:57,630 --> 00:19:59,840 >> Но, что интересно Теперь заключается в следующем. 394 00:19:59,840 --> 00:20:03,810 Я могу на самом деле начать экспериментировать с этой таблицей. 395 00:20:03,810 --> 00:20:07,330 Так что, если я иду и нажмите SQL Вкладка, я получаю эту большую текстовое поле. 396 00:20:07,330 --> 00:20:10,190 И это не то, как мы собираемся сделать это, когда на самом деле написания кода. 397 00:20:10,190 --> 00:20:12,700 Чтобы было ясно, PhpMyAdmin это всего лишь инструмент, это 398 00:20:12,700 --> 00:20:16,450 собирается давайте копаться в базе данных и давайте экспериментировать с запросами. 399 00:20:16,450 --> 00:20:19,430 >> Так, например, предположим, Я выполнить именно это. 400 00:20:19,430 --> 00:20:22,820 Выбор, который является одним из тех, ключевые слова я упоминал ранее, звезда, 401 00:20:22,820 --> 00:20:25,900 который представляет все столбцы в таблице. 402 00:20:25,900 --> 00:20:26,820 Из того, что таблица? 403 00:20:26,820 --> 00:20:27,990 Ну, пользователи. 404 00:20:27,990 --> 00:20:29,950 И обратите внимание, есть в этом странно конвенции в SQL 405 00:20:29,950 --> 00:20:32,140 где вы на самом деле использовать назад клещей, как правило,, 406 00:20:32,140 --> 00:20:35,940 не одинарные кавычки и не двойные кавычки когда вы говорите о таблицах имен, 407 00:20:35,940 --> 00:20:38,990 так обратно цитата вещь на топ левая рука на клавиатуре наиболее 408 00:20:38,990 --> 00:20:39,720 скорее всего. 409 00:20:39,720 --> 00:20:41,850 >> Итак, позвольте мне идти вперед сейчас и просто оставить, что в одиночку 410 00:20:41,850 --> 00:20:46,020 и прокрутите вниз и нажмите кнопку Перейти, и мы на самом деле происходит, чтобы увидеть то же самое. 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 >> Так что я собираюсь сказать, удалять из-- хорошо, поддерживать капитализацию 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 Так что теперь, если мы вернемся к моему столу щелкнув мышкой пользователей, обратите внимание, что Hm. 434 00:22:01,900 --> 00:22:02,530 Я попал впросак. 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 Дэвид Дж Маланом: Да, я капитализируются ее имя, 440 00:22:11,260 --> 00:22:13,770 но ей username-- на самом деле я сделал пару ошибок, не так ли? 441 00:22:13,770 --> 00:22:16,720 Один из них, ее имя пользователя является zamyla, в нижнем регистре Z, 442 00:22:16,720 --> 00:22:20,140 и имя столбца имя пользователя, не назвать, так что давайте сделаем это снова. 443 00:22:20,140 --> 00:22:25,750 Позвольте мне идти вперед и удалить из пользователей, где 444 00:22:25,750 --> 00:22:28,990 Имя пользователя равен цитата конец цитаты "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Хорошо? 446 00:22:29,490 --> 00:22:32,600 Так что это выглядит немного лучше, пусть мне идти прокрутите вниз и нажмите кнопку Перейти. 447 00:22:32,600 --> 00:22:34,730 Он по-прежнему собирается кричать на меня, чтобы быть уверенным. 448 00:22:34,730 --> 00:22:37,500 Я нажимаю Да, и сейчас мы видим, откровенно это произошло, на самом деле 449 00:22:37,500 --> 00:22:39,870 быстро, менее чем за один Второй, конечно, это 450 00:22:39,870 --> 00:22:41,720 именно запрос, который был выполнен. 451 00:22:41,720 --> 00:22:45,617 Чтобы подтвердить, позвольте мне нажмите пользователей и в самом деле теперь Zamyla ушел. 452 00:22:45,617 --> 00:22:46,700 Теперь давайте делать противоположное. 453 00:22:46,700 --> 00:22:49,320 Предположим, что Гейб хочет зарегистрироваться на сайте. 454 00:22:49,320 --> 00:22:52,825 Что SQL запросов, что Команда, которую я мог бы ввести, чтобы добавить Гейб? 455 00:22:52,825 --> 00:22:54,200 Ну, это довольно просто. 456 00:22:54,200 --> 00:22:58,260 Вставьте в пользователей, и теперь это становится немного загадочным. 457 00:22:58,260 --> 00:23:03,190 Мне нужно, чтобы указать, чтобы сервер, какие поля я хочу назначить. 458 00:23:03,190 --> 00:23:06,630 Я на самом деле не волнует, что Гейба ID число, так что я собираюсь пропустить это. 459 00:23:06,630 --> 00:23:11,360 Я вместо собирался сказать Имя пользователя, хэш, а затем 460 00:23:11,360 --> 00:23:14,960 значения я хочу поставить там будет Гейб. 461 00:23:14,960 --> 00:23:16,800 А потом его хэш, я не знаю. 462 00:23:16,800 --> 00:23:19,900 Так сейчас я собираюсь Оставим это большая делать. 463 00:23:19,900 --> 00:23:21,650 Мы вернемся к что в набор проблема 464 00:23:21,650 --> 00:23:23,390 спец, как вы на самом деле сделать это. 465 00:23:23,390 --> 00:23:24,630 >> Так заметить, опять же, синтаксис. 466 00:23:24,630 --> 00:23:28,430 Вставьте в имени таблицы, а затем скобки список полей, 467 00:23:28,430 --> 00:23:30,980 столбцы вы хотите добавить Значения в и затем просто 468 00:23:30,980 --> 00:23:34,495 точно такой же порядок слева Право значений, которые вы хотите добавить, 469 00:23:34,495 --> 00:23:36,870 и это просто упаковка, потому что текст немного долго. 470 00:23:36,870 --> 00:23:38,520 Так что теперь позвольте мне нажмите кнопку Перейти. 471 00:23:38,520 --> 00:23:39,830 Одна строка вставляется. 472 00:23:39,830 --> 00:23:43,020 И теперь, если я вернусь в пользователи, что интересно 473 00:23:43,020 --> 00:23:48,960 является то, что не только является Гейб сейчас в базы данных, что, по-видимому его ID? 474 00:23:48,960 --> 00:23:49,820 >> Ну, это семь. 475 00:23:49,820 --> 00:23:51,479 Почему это семь лет, когда я не добавить его? 476 00:23:51,479 --> 00:23:54,020 Так что это тоже является одним из особенности вы получаете в базе данных. 477 00:23:54,020 --> 00:23:55,750 Много построено в функциональности. 478 00:23:55,750 --> 00:23:57,950 Получается, что когда эта таблица создана, 479 00:23:57,950 --> 00:24:01,390 Я предварительно настроен это автоматически назначить идентификатор таким образом, 480 00:24:01,390 --> 00:24:02,480 что он увеличивает. 481 00:24:02,480 --> 00:24:05,470 Так что, если вы когда-либо заглядывал, и посмотрел на то, что ваш Facebook ID 482 00:24:05,470 --> 00:24:09,292 число, в эти дни, это не реально вещь сделать, но Facebook в качестве API, 483 00:24:09,292 --> 00:24:11,750 Интерфейс прикладного программирования, в котором вы можете вернуться 484 00:24:11,750 --> 00:24:14,430 целая куча данных о сами, о своих друзьях, 485 00:24:14,430 --> 00:24:15,347 и ваши соединения. 486 00:24:15,347 --> 00:24:17,430 И то, что раньше было вроде круто, еще в день, 487 00:24:17,430 --> 00:24:19,510 было смотреть на то, что ваш Facebook ID номер был. 488 00:24:19,510 --> 00:24:22,390 Марк Цукерберг, Например, это три 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 И так, Зак, как и его имя пользователя на Facebook, это ID номер три, 493 00:24:32,780 --> 00:24:36,110 и у всех нас есть цифры намного больше, чем три эти дни. 494 00:24:36,110 --> 00:24:37,980 В самом деле, в некоторой точке Facebook отошли 495 00:24:37,980 --> 00:24:42,410 от даже с помощью INT, который это 32-битное значение, чтобы с помощью 496 00:24:42,410 --> 00:24:44,480 следующий шаг, по существу долго долго так 497 00:24:44,480 --> 00:24:47,150 что они могли разместить даже больше пользователей при регистрации. 498 00:24:47,150 --> 00:24:49,420 Так весело небольшой исторический факт. 499 00:24:49,420 --> 00:24:51,660 >> Так что это просто Основной синтаксис, с которой 500 00:24:51,660 --> 00:24:54,470 мы можем выполнить несколько запросы, но мы можем на самом деле 501 00:24:54,470 --> 00:24:56,744 сделать кучу больше вещей с SQL. 502 00:24:56,744 --> 00:24:58,910 И вы увидите, в итоге, в задаче установить семь 503 00:24:58,910 --> 00:25:01,034 что вы должны сделать Ряд конструктивных решений, 504 00:25:01,034 --> 00:25:03,290 среди них будет какие типы данных, чтобы использовать. 505 00:25:03,290 --> 00:25:08,240 Так же, как в C, имеются данные типы в базе данных, как MySQL, 506 00:25:08,240 --> 00:25:12,640 и типы данных, вы должны выбрать от включают эти поля здесь. 507 00:25:12,640 --> 00:25:17,287 Чар, VARCHAR, Int, большой интервал, в десятичной и дата время, и многие другие. 508 00:25:17,287 --> 00:25:18,370 Так что давайте на самом деле сделать это. 509 00:25:18,370 --> 00:25:21,060 Давайте представим, что мы не сделали Рука вы стола участника 510 00:25:21,060 --> 00:25:25,080 и позвольте мне идти вперед и создавать, для я, в лекциях database-- 511 00:25:25,080 --> 00:25:31,000 на самом деле, дайте мне идти вперед и удалить таблица у меня здесь уже 512 00:25:31,000 --> 00:25:32,940 так что мы можем на самом деле создать этот. 513 00:25:32,940 --> 00:25:33,550 Упс. 514 00:25:33,550 --> 00:25:35,970 Я собираюсь отказаться от этого стол, и теперь я 515 00:25:35,970 --> 00:25:38,337 собираюсь идти снова к лекции базу данных здесь, 516 00:25:38,337 --> 00:25:40,420 Я собираюсь создать таблицу называемые пользователей и давайте 517 00:25:40,420 --> 00:25:43,010 просто сделать три колонки изначально и нажмите кнопку Перейти. 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 ID, а затем имя пользователя было одно, а затем хэш был другой. 527 00:26:05,460 --> 00:26:08,970 Так что следует тип данных быть сейчас на поле, как ID? 528 00:26:08,970 --> 00:26:14,470 >> Вот весь перечень типов данных доступны для вас в базе данных, 529 00:26:14,470 --> 00:26:16,070 и сейчас давайте просто пойти с междунар. 530 00:26:16,070 --> 00:26:18,160 32-битное значение, я не думаю реально я 531 00:26:18,160 --> 00:26:21,484 будет иметь более 4 млрд пользователи в моем счете, в моей службе, 532 00:26:21,484 --> 00:26:23,650 так что я собираюсь продолжать двигаться к следующему вопросу. 533 00:26:23,650 --> 00:26:25,490 Я не собираюсь указывать Длина или значения, 534 00:26:25,490 --> 00:26:28,540 это не применимо здесь для междунар, как таковой. 535 00:26:28,540 --> 00:26:30,740 И теперь я могу указать, по-видимому, по умолчанию 536 00:26:30,740 --> 00:26:33,970 Значение, которое я не буду указывать. 537 00:26:33,970 --> 00:26:36,050 Сортировки, я не знаю, что это такое. 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 Это интервал должен быть? 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 Я собираюсь сказать здесь под Индекс является то, что мой ID поля 564 00:27:37,170 --> 00:27:41,149 будет основным способом идентификации пользователей в этой базе данных. 565 00:27:41,149 --> 00:27:42,940 Я не собираюсь думать из Zamyla как Zamyla, 566 00:27:42,940 --> 00:27:45,800 Я собираюсь думать о ей, как число 6. 567 00:27:45,800 --> 00:27:49,814 >> Почему это, пожалуй, лучше интуитивно думать и модели 568 00:27:49,814 --> 00:27:52,480 каждый из ваших индивидуальных строк, используя число вместо чего-то 569 00:27:52,480 --> 00:27:56,480 как струна, как в Zamyla или Гейб или больше строк по-прежнему? 570 00:27:56,480 --> 00:27:57,444 Да? 571 00:27:57,444 --> 00:28:00,117 >> АУДИТОРИЯ: ID уникален? 572 00:28:00,117 --> 00:28:01,200 Дэвид Дж Маланом: снова сказать? 573 00:28:01,200 --> 00:28:02,283 АУДИТОРИЯ: ID уникален? 574 00:28:02,283 --> 00:28:04,400 Дэвид Дж Маланом: ID является уникальным, но suppose-- 575 00:28:04,400 --> 00:28:06,320 как в случае в целом с именами пользователей, предполагаю, 576 00:28:06,320 --> 00:28:10,110 Я также сказал, что может быть только один Zamyla в мире, и только один Гейб. 577 00:28:10,110 --> 00:28:13,730 Я мог наложить уникальность ограничение на строки, тоже, если я хотел. 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 >> Дэвид Дж Маланом: Более безопасный, почему? 581 00:28:17,874 --> 00:28:20,705 АУДИТОРИЯ: Вы не можете сказать, какие это который, как и в пользователем. 582 00:28:20,705 --> 00:28:22,580 Дэвид Дж Маланом: ОК, вы не могу сказать, какой пользователь 583 00:28:22,580 --> 00:28:24,380 есть что таким образом есть Конфиденциальность аспект к нему, 584 00:28:24,380 --> 00:28:27,810 особенно, если идентификаторы возможно появляясь в URL. 585 00:28:27,810 --> 00:28:29,960 Так, что, что мог, какую работу, тоже. 586 00:28:29,960 --> 00:28:30,640 Другие мысли? 587 00:28:30,640 --> 00:28:31,383 Да? 588 00:28:31,383 --> 00:28:34,316 >> АУДИТОРИЯ: Легче выполнять операции на междунар. 589 00:28:34,316 --> 00:28:35,940 Дэвид Дж Маланом: Это реальный футболист. 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 так что взгляд поднимаю на ID супер быстро. 605 00:29:17,065 --> 00:29:19,620 AI, ужасно по имени, просто означает автоматическое приращение, 606 00:29:19,620 --> 00:29:21,500 и это проверка коробка нам нужно проверить 607 00:29:21,500 --> 00:29:24,614 указать, что поле ID, чтобы автоматически обновляться для меня, 608 00:29:24,614 --> 00:29:26,530 а затем я собираюсь прокрутки вправо здесь 609 00:29:26,530 --> 00:29:29,279 и, честно говоря, я не очень заинтересован в любой более из этих полей. 610 00:29:29,279 --> 00:29:30,630 Конечно, не сегодня. 611 00:29:30,630 --> 00:29:33,770 >> Так что я собираюсь вернуться сюда, в первую колонну, где 612 00:29:33,770 --> 00:29:35,830 Мне нужно указать имя пользователя и хэш, и давайте 613 00:29:35,830 --> 00:29:38,080 по крайней мере, внимания Второй сейчас. 614 00:29:38,080 --> 00:29:41,498 Int, вероятно, не правильный вызов, так что имеет смысл, возможно? 615 00:29:41,498 --> 00:29:42,741 >> АУДИТОРИЯ: Текст. 616 00:29:42,741 --> 00:29:43,824 Дэвид Дж Маланом: снова сказать? 617 00:29:43,824 --> 00:29:44,710 АУДИТОРИЯ: Текст. 618 00:29:44,710 --> 00:29:44,980 Дэвид Дж Маланом: Текст? 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 но текстовое поле может быть как 65000 байт, по крайней мере. 641 00:30:45,460 --> 00:30:50,790 Это, вероятно, слишком для поле, а на самом деле, да, 65535. 642 00:30:50,790 --> 00:30:53,740 Это, вероятно, слишком для назвать, поэтому мы будем придерживаться, как правило,, 643 00:30:53,740 --> 00:30:56,910 с типа VARCHAR для текстовой поле и хэш тоже. 644 00:30:56,910 --> 00:30:59,990 Hash, оказывается, мы могли бы сделать VARCHAR а или что-то подобное, 645 00:30:59,990 --> 00:31:03,080 но мы не будем фокусироваться сегодня на криптография там и цифры 646 00:31:03,080 --> 00:31:05,210 что мы могли бы на самом деле хотите использовать для его длины. 647 00:31:05,210 --> 00:31:07,430 >> Но позвольте мне прокрутите вниз вправо. 648 00:31:07,430 --> 00:31:11,280 Вы можете иметь только один Основной индекс для таблицы, 649 00:31:11,280 --> 00:31:16,380 но я хочу, чтобы применить любой из них, Теперь, чтобы имя пользователя, вы скажете? 650 00:31:16,380 --> 00:31:21,980 Что следует имя пользователя основываться на неопределенное Понимание этих четырех вариантов? 651 00:31:21,980 --> 00:31:23,340 Просто своими именами? 652 00:31:23,340 --> 00:31:24,140 >> АУДИТОРИЯ: Уникальный. 653 00:31:24,140 --> 00:31:25,100 >> Дэвид Дж Маланом: Так уникальный, не так ли? 654 00:31:25,100 --> 00:31:28,190 Вот и получается, что не только мог Вы скажите базу данных, заранее, 655 00:31:28,190 --> 00:31:30,380 это является основным способом выявления полей. 656 00:31:30,380 --> 00:31:32,990 Вы также можете сказать, что это будет уникальная поле. 657 00:31:32,990 --> 00:31:34,700 Это не собирается быть вещь Я полагаюсь на, 658 00:31:34,700 --> 00:31:38,490 но я хотел бы базу данных в по существу есть что, если условие, так 659 00:31:38,490 --> 00:31:42,340 что если я когда-нибудь пытались зарегистрируйтесь два пользователя с тем же именем, 660 00:31:42,340 --> 00:31:44,360 база данных утончаются не собирается позволить мне. 661 00:31:44,360 --> 00:31:47,490 Я, возможно, дополнительный код в PHP, который предотвращает столько, 662 00:31:47,490 --> 00:31:50,640 но база данных тоже может обеспечить что это никогда не случится. 663 00:31:50,640 --> 00:31:53,370 >> Теперь, как в сторону, тем более, что Вы думаете о конечных проектов, 664 00:31:53,370 --> 00:31:57,030 иметь в виду индексацию и полный Текст на самом деле довольно полезно. 665 00:31:57,030 --> 00:32:01,080 Если у вас есть большие базы данных, а не с десятки, но с сотнями или тысячами 666 00:32:01,080 --> 00:32:05,270 или даже миллионы полей, вы можете Также скажу базу данных в заранее 667 00:32:05,270 --> 00:32:07,980 это поле я собираюсь чтобы быть поиск на много. 668 00:32:07,980 --> 00:32:10,520 Может быть, его имя пользователя, может быть, это био, если вы 669 00:32:10,520 --> 00:32:13,750 делая Facebook-как сайт, который есть пункты о том, что пользователь позволили 670 00:32:13,750 --> 00:32:16,799 чтобы сохранить, и если вы хотите, чтобы Честно базу данных заранее 671 00:32:16,799 --> 00:32:20,090 Я собираюсь быть поиск по этому полю много, но это не обязательно уникальные, 672 00:32:20,090 --> 00:32:22,800 Вы можете указать создать мне индекса. 673 00:32:22,800 --> 00:32:27,990 Или, можно сказать также позволяет мне сделать рода произвольных обысков, как Command 674 00:32:27,990 --> 00:32:30,420 или управления F, как и вы могли бы в текстовый процессор, 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 >> Дэвид Дж Маланом: Колонтитулы. 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 точка ч с pset7. 726 00:34:57,850 --> 00:35:00,780 В современном Например, вы идете сделать эквивалент, что 727 00:35:00,780 --> 00:35:03,600 с требующие заявления которые эффективно 728 00:35:03,600 --> 00:35:05,340 включает в себя эти несколько строк. 729 00:35:05,340 --> 00:35:08,225 Таким образом, чтобы было ясно, что это файл с именем config.php. 730 00:35:08,225 --> 00:35:09,350 И обратите внимание, что он делает. 731 00:35:09,350 --> 00:35:11,970 Это, по-видимому что-то делать загадочные, что включение сообщения об ошибках 732 00:35:11,970 --> 00:35:13,680 так что вы можете увидеть их в браузере. 733 00:35:13,680 --> 00:35:15,860 Это, то, по-видимому, требуя двух других файлов 734 00:35:15,860 --> 00:35:19,530 так что это как #include в C, и то это одно мы видим, 735 00:35:19,530 --> 00:35:22,720 и мы полагались на это включается что корзина как функциональность. 736 00:35:22,720 --> 00:35:25,610 >> Это означает, печенье волю направляется назад и вперед. 737 00:35:25,610 --> 00:35:27,290 Так почему это интересно? 738 00:35:27,290 --> 00:35:32,460 Ну, если мы вернемся к этому каталог и открыть, например, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Обратите внимание, что PHP делает поддержки константы, это не совсем так #define в C, 741 00:35:38,840 --> 00:35:41,290 Вместо этого, вы в буквальном смысле говорят определены, и уведомление 742 00:35:41,290 --> 00:35:44,110 что я сохранены заранее четыре константы в этом файле. 743 00:35:44,110 --> 00:35:47,020 Один для сегодняшней базе данных, для мой пароль, для своим именем, 744 00:35:47,020 --> 00:35:48,690 и для имени сервера. 745 00:35:48,690 --> 00:35:51,644 Так они на самом деле происходит, чтобы быть очень похожи на проблемы установите семь. 746 00:35:51,644 --> 00:35:54,560 И, наконец, и это то, где я нахожусь собирается получить некоторые интересные функции 747 00:35:54,560 --> 00:35:59,000 от персонала, в functions.php это куча кода мы написали, 748 00:35:59,000 --> 00:36:01,040 и я украл часть этого от проблем установить семь 749 00:36:01,040 --> 00:36:05,920 на сегодняшний день, что делает кучу вещей и давайте просто посмотрим на один из них 750 00:36:05,920 --> 00:36:07,270 в частности. 751 00:36:07,270 --> 00:36:09,720 Эта функция здесь, запрос, будет 752 00:36:09,720 --> 00:36:13,600 Функция PHP мы называем для выполнения SQL. 753 00:36:13,600 --> 00:36:16,070 Минуту назад мы были с помощью PhpMyAdmin, но это только 754 00:36:16,070 --> 00:36:18,720 для рода учебных целях и диагностических целях 755 00:36:18,720 --> 00:36:20,494 и забывая свой набор баз данных. 756 00:36:20,494 --> 00:36:22,660 Когда вы на самом деле использовать ваш базы данных, вы, человек, 757 00:36:22,660 --> 00:36:24,100 явно не собирается чтобы быть подтягивание паутину 758 00:36:24,100 --> 00:36:25,740 страница каждый раз кто-то регистрируется. 759 00:36:25,740 --> 00:36:29,870 Вы собираетесь писать код, который Вставки и удаляет пользователей по требованию, 760 00:36:29,870 --> 00:36:32,490 и мы собираемся это сделать путем функции запроса. 761 00:36:32,490 --> 00:36:35,360 Если я сейчас прокрутите вниз, есть будет еще несколько функций. 762 00:36:35,360 --> 00:36:37,170 Перенаправление собирается быть функцией, которую мы написали 763 00:36:37,170 --> 00:36:40,160 для вас, что позволяет отправить пользователя на другой URL, 764 00:36:40,160 --> 00:36:43,780 и оказывать является функцией, совсем как мы видели в понедельник, что на самом деле делает 765 00:36:43,780 --> 00:36:48,000 Шаблон, но больше на них в форма собственного ходьбы pset7 через. 766 00:36:48,000 --> 00:36:50,500 Сейчас, давайте идти вперед и делать это. 767 00:36:50,500 --> 00:36:54,860 >> Отпусти меня в моей лекции таблице и видеть, что нет в настоящее время ничего 768 00:36:54,860 --> 00:36:59,640 здесь прямо сейчас, и позвольте мне также пойти в моем общем каталоге, где 769 00:36:59,640 --> 00:37:02,780 есть только один файл, index.php. 770 00:37:02,780 --> 00:37:06,920 Этот файл, как представляется, супер просто на данный момент, это выглядит так же, как это. 771 00:37:06,920 --> 00:37:09,110 Очень нравится, как мы остановились в понедельник. 772 00:37:09,110 --> 00:37:11,945 Я требуя этот файл, config.php, который находится в 773 00:37:11,945 --> 00:37:15,160 включает в себя каталог, в котором в две точки, мои родители, 774 00:37:15,160 --> 00:37:17,650 а затем он просто оказание этот файл. 775 00:37:17,650 --> 00:37:18,960 Так что же такое этот файл? 776 00:37:18,960 --> 00:37:24,700 >> Откроем в моих шаблонов form.php, и мы увидим, это. 777 00:37:24,700 --> 00:37:28,500 Супер просто, по-видимому, эта форма собирается представить на $ _GET или $ _POST. 778 00:37:28,500 --> 00:37:29,320 Быстрая проверка здравомыслие. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Буквально визуально искать файл. 781 00:37:35,690 --> 00:37:36,610 Метод равна пост. 782 00:37:36,610 --> 00:37:39,280 Так что не собирается использовать URL, как Google делает, он собирается разобраться в прятки 783 00:37:39,280 --> 00:37:41,030 Информация позади сцены и это 784 00:37:41,030 --> 00:37:43,580 собирается представить Файл называется register.php, 785 00:37:43,580 --> 00:37:45,660 и вот файл мы еще не написана 786 00:37:45,660 --> 00:37:47,610 но то, что это будет чтобы выглядеть это. 787 00:37:47,610 --> 00:37:52,670 >> Если я иду на отдельную страницу Это что локальный / 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 и тег близкого РНР, и давайте делать несколько вещей. 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 Давайте перезагрузите страницу, нажмите Регистрация. 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 и поле ID я собирается покидать качестве междунар. 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 и я просто хочу, сказать H1 успеха в этом файле. 880 00:42:06,270 --> 00:42:06,990 Хорошо. 881 00:42:06,990 --> 00:42:11,312 Так что теперь, давайте вернемся к Браузер, где я побывал раньше. 882 00:42:11,312 --> 00:42:14,270 Давайте пойдем дальше и подтвердить я написал Давида, я написал в номер телефона, 883 00:42:14,270 --> 00:42:15,390 зарегистрируйтесь. 884 00:42:15,390 --> 00:42:16,100 Черт возьми. 885 00:42:16,100 --> 00:42:17,420 Что я сделал не так? 886 00:42:17,420 --> 00:42:20,850 Так я вижу ошибку здесь, вам есть ошибка в вашем синтаксисе SQL. 887 00:42:20,850 --> 00:42:24,900 Позвольте мне перейти к Gedit, пусть мне вернуться к register.php, 888 00:42:24,900 --> 00:42:28,830 и что же я пропустить что было важно в последний раз? 889 00:42:28,830 --> 00:42:29,722 Мне нужно это. 890 00:42:29,722 --> 00:42:32,930 Вы хотите знать, что кроме от заметив раньше, но мне нужно это. 891 00:42:32,930 --> 00:42:35,596 >> Так что теперь давайте вернемся, и это было полезно увидеть в браузере 892 00:42:35,596 --> 00:42:37,680 и вот почему в config.php мы плевать на ошибки. 893 00:42:37,680 --> 00:42:41,770 Давайте пойдем дальше и перезагрузите, нажмите кнопку Продолжить, успех. 894 00:42:41,770 --> 00:42:47,060 Так что теперь позвольте мне перейти к моим В базе здесь и нажмите на пользователей, 895 00:42:47,060 --> 00:42:51,680 и просматривать, и обратите внимание, я сейчас есть Давида в моей базе данных здесь. 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 скрипт скажем, мы будем называют его текст, #! / пользователь / бен / 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 скажем зовут это, и число это, обратный слеш н. 919 00:44:19,090 --> 00:44:23,320 А теперь я собираюсь пройти в строке цитировать конец цитаты имя, 920 00:44:23,320 --> 00:44:28,140 и номер строки цитата конец цитаты, а теперь давайте идти вперед 921 00:44:28,140 --> 00:44:31,430 и моя окно терминала CHMOD это + х, чтобы сделать 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 это большой вывода плохо, как п в квадрате это сколько сообщений я послал, 953 00:46:06,400 --> 00:46:08,560 но это не было даже письма это было текстовые сообщения. 954 00:46:08,560 --> 00:46:12,070 >> И, как вы знаете, посещаемость не супер высокой к концу семестра 955 00:46:12,070 --> 00:46:15,360 и поэтому я думал, что это было бы мило на Пора сказать, "Почему ты не класс?" 956 00:46:15,360 --> 00:46:17,880 В текстовом сообщении I отправлено на весь класс, 957 00:46:17,880 --> 00:46:22,140 и это было забавно, нравится 50% класс, но остальные 50%, некоторые из которых 958 00:46:22,140 --> 00:46:26,102 волновался, я послал невероятно апологетические сладкие ноты 959 00:46:26,102 --> 00:46:28,560 чтобы сотрудники извиняясь за пропустив лекцию просто 960 00:46:28,560 --> 00:46:29,530 в этот раз, не так ли? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Так что бы ужасно криво. 963 00:46:34,030 --> 00:46:37,030 Так что в этом духе, давайте попробуем это снова, но только с моим номером. 964 00:46:37,030 --> 00:46:41,940 Заранее, в functions.php, Я написал эту функцию здесь. 965 00:46:41,940 --> 00:46:44,250 Это называется текст, и это принимает три аргумента. 966 00:46:44,250 --> 00:46:46,360 Ряд, перевозчик, и сообщение. 967 00:46:46,360 --> 00:46:50,390 >> Я использую переключателя заявление, в котором чудесно PHP принять строк, а не только 968 00:46:50,390 --> 00:46:53,350 целые числа, и я не реализовали вся поддержка для этого еще, 969 00:46:53,350 --> 00:46:55,370 Я только что сделал AT & T и Verizon. 970 00:46:55,370 --> 00:46:57,610 Потому что получается, что с этих носителей 971 00:46:57,610 --> 00:47:00,570 у них есть письмо, в SMS-шлюзов, в котором вы можете на самом деле 972 00:47:00,570 --> 00:47:05,529 Отправить по электронной почте на адрес как номер телефона в vtext.com 973 00:47:05,529 --> 00:47:08,070 и если пользователь не заблокирован сообщения, он будет идти через 974 00:47:08,070 --> 00:47:09,340 является текстовым сообщением. 975 00:47:09,340 --> 00:47:13,270 >> Теперь, чтобы сделать это, я буду иметь, чтобы добавить одно поле очень быстро в свою базу данных. 976 00:47:13,270 --> 00:47:15,470 Я собираюсь пойти в моя структура, и я 977 00:47:15,470 --> 00:47:21,880 собираюсь идти вперед и добавить поле в конце таблицы. 978 00:47:21,880 --> 00:47:25,227 Давайте нажмите Go, и я буду называть эту носитель 979 00:47:25,227 --> 00:47:27,310 и на данный момент я собираюсь оставить это как бар текста, 980 00:47:27,310 --> 00:47:29,320 но мы можем быть необычным в будущем. 981 00:47:29,320 --> 00:47:31,961 Я собираюсь идти быстро в моем столе, и я 982 00:47:31,961 --> 00:47:34,210 собирается избавиться от Роба, потому что это подделка номер, 983 00:47:34,210 --> 00:47:38,540 Я собираюсь пойти в режим редактирования здесь, и я собираюсь менять свой носитель вручную 984 00:47:38,540 --> 00:47:43,410 быть Verizon, который его есть, и сейчас здесь. 985 00:47:43,410 --> 00:47:44,980 >> Давайте делать быструю проверку вменяемости. 986 00:47:44,980 --> 00:47:52,730 Давайте откроем наш текстовый сценарий, который выглядит следующим образом, перевозчик% с. 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 Перевозчик Verizon, а это значит, Теперь, надеюсь, что я могу сделать только это. 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 Итак, давайте посмотрим, количество собирается быть строки сметы конец цитаты "номер" 996 00:48:23,310 --> 00:48:31,660 ряд цитата конец цитаты "Перевозчик", и последний был сообщений. 997 00:48:31,660 --> 00:48:36,250 Не испортить в этом году, точку с запятой. 998 00:48:36,250 --> 00:48:36,780 >> Хорошо. 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 О вот она, это в Фрош Чаты, это в реестре в три. 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 Тьфу. 1045 00:50:26,350 --> 00:50:27,910 Следующие получатели не удалось. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Давайте попробуем одну вещь. 1048 00:50:33,040 --> 00:50:40,660 SMTP установлен с, добавить адрес, адрес, который на самом деле. 1049 00:50:40,660 --> 00:50:43,980 Давайте попробуем эту последнюю часть в адресе. 1050 00:50:43,980 --> 00:50:47,210 Ой, я действительно грустно сейчас. 1051 00:50:47,210 --> 00:50:47,854 Спасибо. 1052 00:50:47,854 --> 00:50:50,270 Но я очень ценю все тексты вы посылали. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 У вас есть этот Давида. 1055 00:50:56,320 --> 00:50:59,310 Ты взорвать его. 1056 00:50:59,310 --> 00:51:01,720 Оставим его там и мы исправим в понедельник. 1057 00:51:01,720 --> 00:51:04,290 Увидимся. 1058 00:51:04,290 --> 00:51:08,090 >> Daven Фарнхем: А теперь Deep Мысли по Daven Фарнэме. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Если бинарное дерево падает в лесу и никто не вокруг, чтобы C it-- [посмеиваясь]. 1061 00:51:17,590 --> 00:51:18,998