[Музыка, играющая] АЛЛИСОН Бухгольц-AU: Ладно, все, добро пожаловать в раздел. Надеюсь, вы всех нас был великий Хэллоуин выходные, или Halloweekend, как я люблю говорить, все отдохнувшим и выздоровел. И к счастью, это не снег больше. Это на самом деле солнечный снаружи. Я был реальным рад. Не готов тащить мои зимние ботинки. Надеюсь, pset6 пошли очень хорошо. Если вы устали от C, я счастлив чтобы сказать, что вы сделали с C на данный момент. Мы полностью перешли в веб-программировании, так что вы будете работать в HTML, PHP, может быть, немного JavaScript. Я не знаю, что на следующей неделе PSET является, таким образом, я не могу гарантировать, что ваш следующий PSET будет быть, но PSET на этой неделе является CS50 Финансы, который является в основном реализации своего рода веб-страницы что позволяет покупать и продавать на складе, и следить за ними. И это очень здорово, потому что все из него генерируется динамически. Вы можете иметь различные пользователи, у каждого есть свой собственный информации, и вы собираетесь быть реализации всего этого. Это займет некоторое время. Я определенно думаю, что это проще, чем C psets, но это займет больше времени. Ты изучение нового языка, РНР, который очень похож на C, но, конечно, будет требовать Вам посмотреть синтаксис и понять как конвертировать между языками. Но я не думаю, что есть что-нибудь супер концептуально трудно об этом PSET. Это просто обучение Новый язык и получать через все эти маленькие кусочки. Если вы, ребята, прочитал спецификация, это довольно долго. Я думаю, это один, как 21 Страницы, если я правильно помню. Это долгая спекуляция. Так что, если вы не читали it-- 22. 32. Вау. Так что я был от 50% там. Так, 32 страницы. Так что это долго. Есть много частей, но ни один из частей должна быть, что плохо. Это просто много. Так определенно начать рано если это возможно, как обычно, но я думаю, что это должно чувствовать себя немного приятнее, чем особенно psets как восстановить и изменить размер, что только очень трудно обернуть вокруг головы. Так с этим, мы собираемся нырять в. У меня нет вашей повестки дня скользить сегодня, но мы будет говорить о PHP. Я буду давать вам вид ускоренный курс на некоторые вещи что вы, возможно, захотите узнать о PHP. Различные синтаксические вещи, вещи, которые нужно посмотреть. Мы собираемся говорить Немного о SQL. Просто очень простые вещи там, а затем также MVC является Model View Controller, который как ваш PSET настроен, так что понимание, как это Работы будет супер полезно. Хорошо. Так PHP. Вы, ребята должны были сделать что-то очень, очень просто с PHP, который является это нижняя вещь здесь, где вы представлены некоторые формы на началу здесь, что было какое-то название, что вам вход, и он бы сказал, как привет, Бен, или привет, Эллисон, и это было бы всплывал. Так что это на самом деле то, что его должен был выглядел с вашего PSET, в случае, вы, ребята хотели знать или не совсем в этом разобраться. Но у нас есть эти знаки вопроса вот что показывает, что это PHP. Они обернуть его, а затем htmlspecialcharge, помните, как раз, убедитесь, что вы в безопасности из любого сумасшедшего атаки с внедрением или если кто-то пытается поставить сумасшедшие вредоносные символов в вашем поле Имя, оно не нравится ваш сервер или еще много чего. И потом, если мы замечаем, это HTML Форма был метод $ _GET, которые, если вспомнить наши суперглобальные от PHP, $ _GET, $ _POST, мы будем идти в те, в немного. Но мы знаем, что у нас есть какое-то название здесь, что соответствует названию что мы представили. Так что это просто какая-то, как очень простой PHP HTML сотрудничество что вы, ребята, были от PSET шесть. Но что на самом деле не ответить, что PHP. Очевидно, что это язык, но у нас есть не очень говорили об этом в данном разделе, так что немного больше о том, что PHP на самом деле. Так PHP просто PHP гипертекст препроцессор. Это на самом деле считается язык программирования поскольку она имеет логику, тогда как, если мы помним говорить о HTML, мы назвали, что это язык разметки по сравнению с Язык программирования, потому что HTML строго модификации, как вещи выглядят на странице. Это просто изменив будь-то смелый, или является ли это формой, элемент, или что-то подобное. Он не имеет никакой логики. Он не имеет петель и условия. Вы не можете ошибки проверить вещи. Вы бы либо отображать вещи определенным образом или попросить вещи от пользователя. Это так. Так с PHP, то на самом деле позволяют нам сделать все эти более логических вещей, как проверить вход или манипулировать его в некотором роде. Мы можем объединить его с HTML, как мы только что видел в последний PSET и сейчас, и это позволяет нам создавать эти динамические веб-страницы. Так что, если вы, ребята, ever-- Я не знаю, если Вы были похожи на меня, но в средней школе они нам взять этого класса, в котором мы создали только HTML веб-страницы, и они были статичными и нажмите вокруг для других вещей, но они никогда не изменялись. С динамическими, что мы можем сделать это, как с CS50 финансов, Вы будете иметь различные пользователи. В зависимости от этих пользователей " предпочтения, и что они покупают или то, что они продают для своих запасов, Вы собираетесь показывать разные вещи. Так что, если есть какая-то выявления характерной для ваш пользователь с помощью этого Веб-страница, мы можем динамически решить, что для отображения на них. Это не то же самое для каждый человек, который, если мы просто должны были HTML, страница будет то же самое для каждый человек, который посетил. PHP позволяет нам персонализировать страницы. И тогда мы можем либо положить их в и тот же файл, который, как и в случае перед здесь, мы видели, что у нас есть HTML все здесь а то у нас это немного PHP. Мы можем сделать так, или с CS50 финансов, если вы, ребята, смотрели на files-- и мы должны успеть к шагу через пару них вместе в конце section-- мы можно увидеть, как вы можете на самом деле держать их отдельно, которая на самом деле лучше, что делать. Итак Интенсивный курс. Все быстрые простые вещи Вы, возможно, должны знать, для PHP. Объявление переменных. Это синий немного раздражает, но, надеюсь, вы, ребята, можете посмотреть. Если нет, то я напишу его на классной доске. В объявление переменных. Одна вещь, чтобы знать, что, в отличие от C, PHP свободно или динамически типизированных, Это означает, что вам не нужно, чтобы рассказать переменную его тип. Вы можете просто сказать, некоторая переменная равно, что вы хотите его, и он будет решать, тип что переменная во время выполнения для вас. Как вы увидите, это может создать некоторые очень интересные вещи. Но в большинстве случаев, вы не нужно указывать тип. Вы можете, и вы можете ввести бросить вещи, как вы обычно не увидеть, если вы хотите, чтобы заставить его быть определенный тип, но вы не должны. Это не собирается кричать на тебя если вы просто объявить переменную и не указать тип для него. Таким образом, в случае, если вы не можете прочитать this-- я знаю, что это не самый лучший. Я думал, что это будет отображаться better-- способ инициализации любой переменной является только со знаком доллара, что Вы хотите, чтобы она вызывалась, и то что вы его назначения. Таким образом, в данном случае, это какой-$ переменная = 3. Так что, если мы когда-либо использовать $ вар где-то, он будет просто быть таким же, как помещение 3 существует. Хорошо? Так, любой переменной, просто знак доллара, то, Вы хотите назвать переменную, и что вы хотите его равны. Маленький кулер. Меньше писать для инициализации переменная, не так ли? Имеет ли это смысл для всех? Просто быстро разница синтаксис между С и PHP. Массивы гораздо прохладнее в PHP. Мы можем дать им ключи. Так способ думать о это то, что, если мы когда-либо хотел открыть элемент в массиве, мы должны были знать Индекс ней, не так ли? Итак, мы знаем, что с С, может получить доступ к первому элементу делая массива кронштейн нулевой, или, если мы хочу первый элемент, массив кронштейн один. И если мы хотим что-то там, мы могли бы просто есть не перебрать, если мы на самом деле знал индекс. Одна вещь, которая действительно круто с PHP массивов является то, что они что мы называем ассоциативным. Таким образом, мы можем сопоставить некоторые ключ к какой-то ценности, и мы на самом деле собираемся to-- я покажу вам, как мы можем использовать это в секунду. Но в принципе, если вы хотите чтобы инициализировать массив подобное, у вас есть $ массив. Таким образом, в одной и той же дороге, что это просто некоторая переменная, что мы создаем. Это можно было бы назвать все, что вы хотели. Это может быть $ примером. Просто еще одна переменная. Что делает его массив Кронштейн синтаксис, что мы имеем здесь. Так же, как обычной С. и мы есть ключ к какой-то ценности. Так key1 идет значение1, ключ2 два идет значение2. Эти пары разделяются Запятая, как и обычные массивы. Однако. Большой один. Ключи являются необязательными. Вы не должны использовать их. И если вы этого не сделаете, то это просто нормально. Вопрос? Или, о. АУДИТОРИЯ: Ну, о право. Где память приходят? Может ли он быть такой же, как [Неразборчиво] и из стека? Разве что также с помощью PHP? Например, когда мы связывая их? АЛЛИСОН Бухгольц-AU: С PHP, мы не склонны беспокоиться о том, где наш память приходит от. Мы не тратим много Время говорить о том, что, так что это на самом деле не что-нибудь Вы должны беспокоиться. Так ключи являются необязательными. Таким же образом, если вы не хочу сделать это связанный, вы просто хотите нормальный массив, в котором Массив нулевой является первым элементом и массив один второй элемент, вы можете сделать это точно как вы бы в C. Вы есть некоторые переменная, которая будет ваш массив, и он равен эти скобки здесь. Да. АУДИТОРИЯ: Есть ли у та же точка в обозначении. Как я могу сделать как массив ++, и, что указывает на вторую. АЛЛИСОН Бухгольц-AU: Вы можете do-- Ну, вы можете иметь некоторые итератор, я, что вы можете сделать, я ++ и сделать Массив I таким же образом. Но вот именно. Так, например, в данном случае, Массив 1 будет равна 20. То же рода обозначений индексации. Это в основном только неявное вещь здесь, где он говорит, ноль, ноль к 10, к 1 до 20, от 2 до 30. Это просто неявные ключи для него. Какие изменения с PHP является что теперь у вас есть власть переназначить эти ключи делать все, что вы хотели бы. Так одно здесь. Поэтому у меня есть только несколько примеров вот что я написал для вас, ребята потому что я чувствую, что примеры всегда помочь больше, чем просто абстрактно. Так, в этом случае здесь мы есть ассоциативный массив что это мое имя, моя фамилия, и я я эхом, который находится всего для всех целей здесь собираюсь распечатать на выход здесь. И это говорит, ОК. Распечатайте значение, соответствует массива на ключевой Эллисон. И я могу также послать вас, ребята весь этот код после занятий. Так, когда мы бежим на это, то, что делают Вы думаете, что произойдет? Что будет распечатать? АУДИТОРИЯ: Ваша фамилия. АЛЛИСОН Бухгольц-AU: моя фамилия. Он делает. Прямо здесь. Распечатывать. Так что, если бы мы должны были изменить это, и мы были добавить кого-то еще, чтобы наш list-- Так скажем, у нас есть Эмма здесь, и мы связываем свой последний name-- Давайте посмотрим, если я записываю это право. АУДИТОРИЯ: Да. АЛЛИСОН Бухгольц-AU: Да. АУДИТОРИЯ: Хорошая работа. АЛЛИСОН Бухгольц-AU: Прекрасный. Так что теперь, если у нас есть это здесь и мы хотели найти свою фамилию, у вас есть его там. Таким образом, вы можете просто думать об этом как замена этой клавиши здесь. Ты просто заменив индекс. Так она позволяет просто искать через массив намного легче. Вам не нужно знать индекс. Пока этого ключа, что вы ищете для существует где-то в массиве, PHP найдет его, и он вернется Значение, связанное с ним. Так что это дает вам гораздо больше, Мощность с ваших массивов. Да. АУДИТОРИЯ: Если у вас есть две клавиши на же, это даст вам ошибку? АЛЛИСОН Бухгольц-AU: Это должно дать вам ошибку, да. Делает ли это немного больше смысла для вас, ребята? И таким же образом, мы имеем массив здесь, что не имеет никаких кнопок. Кроме того, это синтаксис что вы, возможно, захотите чтобы быть в курсе, потому что вы будете должны использовать это в вашем PSET. Всякий раз, когда вы делаете эхо, у вас есть эти цитаты, и всякий раз, когда вы имеете в виду в части массива, Вы должны иметь это Фигурные скобки вокруг них. Это своего рода раздражает, но Вы просто должны это делать. Так что просто что-то, чтобы держать в уме. Если вы работаете в ошибках, Я знаю, что это существует в моем массиве но это бросает ошибки на меня, попробуйте положить скобки вокруг него и он должен работать. Таким образом, в этом случае здесь, это нормальный массив C, что мы привыкли к. Имеет три, пять, и шесть, и мы просто хотите распечатать первый элемент, так что это должно напечатать три. И я запустить все это, так надеюсь, ничего не изменилось. Мы видим внизу здесь, он просто печатает три. Прохладный. Это имеет смысл для всех? Ассоциативные массивы. Намного холоднее, чем обычные массивы. Это why-- ли Дэвид показать вам реализация PHP из pset6 на лекции вообще? Хорошо. Так, я покажу вам. Я не знаю, это от T-- АУДИТОРИЯ: Он сделал на прошлой неделе. АЛЛИСОН Бухгольц-AU: Был на прошлой неделе? АУДИТОРИЯ: Да. АЛЛИСОН Бухгольц-AU: Да. Так орфографии может быть сделано в шести линий, таких как с PHP, и часть власти, что это ассоциативный массив, Вы можете просто загрузить каждое слово в, и у вас есть это равно истинными или ложными. И поэтому можно сказать, о. Вернуться словарь в какой-то слово, и если она есть, то он вернет верно. В противном случае, он не найдет это и вернемся ложным. Так вроде прохладном мелочь. Хорошо. Так что те ассоциативные массивы. Они довольно прохладно. Мне очень нравится их. И, очевидно, this-- Ач. Хорошо. Теперь он работает. Может быть. Хорошо. Другое дело. Так, с равенством, просто Отличная вещь, чтобы держать в уме. С PHP, потому что это динамически типизированный, Тип может изменяться в зависимости от того, когда вы запустите его, как вы работаете его. Я на самом деле есть какой-нибудь классный Примеры, которые я покажу вам, ребята. Но == проверяет только равенство после типа жонглирования. Так что если у вас есть что-то, что это как символ 1 и № 1, PHP скажет вам, что тех, равны, потому что это может жонглировать типы два из них, пока это не равны, которые, может быть, для вашего случая нормально. Если вам нужно, чтобы увидеть, если они являются такой же стоимости и того же типа, Вы хотите, чтобы эта ===. И я не думаю, что у вас есть случай, когда вам нужно использовать, что в PSET, но для многих Вы, кто пойдет на сделать веб-страниц для ваших конечных проектов и вещей, это хорошая вещь, чтобы знать, что == и === разные, и это хорошо Различие понять. Хорошо. Итак Foreach петли. Они являются одним из способов перебора массива. Так, точно так же как массивы стали так гораздо прохладнее в PHP, Ваш путь к итерации через массив, я думаю, Также становится гораздо прохладнее и гораздо более мощным. Таким образом, вместо того, чтобы создавать некоторые для г равна 0 и все, а затем обновить, что Я, как вы идете через, у нас есть этот удивительный цикл по каждому элементу. Так вот стандартный целом Структура этих двух. Таким образом, вы должны либо Foreach некоторое массив в качестве значения вы хотите перебрать как. Таким образом, это имя массива Переменная, что вы хотите ссылаться, и это то, что вы хотите называть его в петле. Хорошо? Таким образом, это соответствует каждый элемент массива, и вы использовать это значение в этом цикле. У меня есть пример. Я знаю примеры, так намного лучше. И таким образом, это, если есть ни одна клавиша, так что это не является, как если мы просто иметь один, где ключи нормальные показатели для вашего массива. Или это тоже в случае, если у вас нет использование для ключей. Если вы не заботитесь о ключи и вы просто хотите перебрать со значениями для каждого из тех, кто в любом порядке, хорошо. Вы можете использовать структуру. В противном случае, если есть ключи, наша $ Значение только меняется на $ ключевым значением. Так что просто меняется на ключевой пары значений. И тогда мы можем сослаться на $ ключ и $ значение в нашей петле. Хорошо? Итак Пример. Сделать его более хорошим. Хорошо. Поэтому у нас есть этот один здесь, которые у нас есть некоторые are-- Вы также можете создать массив, как это имея некоторые величины, равной в массиве с скобках, или вы можете просто сделать кронштейн. Вы должны сделать кронштейн, но это еще один способ сделать это. Так вот у нас есть массив из трех Элементы одного, двух, и трех, и у нас есть Еогеасп. Обратите внимание, это одна соответствует Массив, что мы перебора, и это то, что мы называем каждая вещь в нашем массиве. И все это делает, это собираюсь распечатать каждое значение. Так что, если мы запустим его, мы замечаем, что мы есть значение один, значение два, значение три. И таким же образом, что типично Массивы должны быть одного типа, массивы не должны все быть того же типа здесь. Так что теперь у нас есть некоторые Int. У нас есть две строки. Так что ваши массивы могут получить гораздо более мощный и, возможно, немного немного грязнее, в зависимости на то, как вы хотите, чтобы взглянуть на него. Таким образом, мы можем изменить это чтобы все, что хотим. Мы используем значение. Вот только стандартная вещь, которую мы используем. Но, просто важно знать, что мы можем называем это как счетчик, если мы хотели. И пока они совпадают, Очевидно, все счастливы. Если вы когда-нибудь хотели, чтобы запустить PHP запустить что-то вроде этой команды линия вы знаете это здесь, вы просто делаете PHP, а затем все, что файл, который вы хотите запустить. Так что, если вы хотите, чтобы возиться с PHP, и более логике и вы действительно не нужно см, как в веб-браузере, Вы можете просто запустить его в командной строки, как, что и эхо будет печатать из все что угодно. Хорошо. Другой способ, который у нас есть, как это. Так что это тот случай, когда, может быть, вы хотите использовать ключ и значение, Я знаю, что они, как супер надуманные примеры но я надеюсь, что они делают это немного яснее. Так вот у нас есть массив снова, но в этот раз, а не просто имеющих Вы знаете, нет ключа. У нас есть ключи для каждого из них. Так собирается быть один, б будет соответствовать до двух, и C будут соответствовать трем. И в этом случае, если мы пишем это так, у нас есть доступ к обоим ключ и значение для каждого из них. Поэтому, когда мы бежим на это, мы получаем каждый из них. Так он печатает наши ключи и соответствующих значений. Еще одна вещь, это то, что, и я знаю, сказал, как этот не есть ключи, но это всегда неявно имеет Ключ, потому что если вы не делегировать Ключ, конечно, ваш ключи только ваши индексы или индексы, чтобы мы могли всегда также сделать это. Как это. Я распечатает. Таким образом, в этом случае, если вы заметили, у нас есть неявные ключи нуля, один и два здесь. И так же, как с этим, Вы всегда можете просто сказать г в качестве значения, и вы просто иметь доступ к значению. Вы не заботитесь о своем ключи, даже если ваш есть клавиши, если вы не заботитесь о им, вы не обязательно нужно поместить их в цикл по каждому элементу. Значит ли это, имеет смысл для всех? АУДИТОРИЯ: Можете ли вы просто называют ключи, тоже? АЛЛИСОН Бухгольц-AU: Да вам может полностью сделать это, тоже. На самом деле, ждать. Удерживать. бы it-- No. Если вы хотите ключ, то Вы должны сделать ключ к значению. АУДИТОРИЯ: Добавить значение. АЛЛИСОН Бухгольц-AU: Да. И вы просто никогда не использовать значение все. АУДИТОРИЯ: ОК. АЛЛИСОН Бухгольц-AU: Если вас просто положить одну вещь там, это будет предположить, что вы говорить о стоимости, а не ключом. Большой вопрос. Хорошо. Прохладный. На самом деле, держись. Позвольте мне посмотреть, что у меня есть. Поэтому, прежде чем попасть в должности и получить, я просто хочу показать вам, ребята, немного о том, как это динамично набрали, который круто. У меня есть все эти. У меня, как четыре примера здесь, и я пошлю вам весь этот код после занятий. Так вот у нас есть переменная а. Вот только 1 плюс 1, не так ли? И мы собираемся напечатать то, что это равно, а то у нас некоторый тип. И кого-нибудь есть догадки о том, какой она будет? АУДИТОРИЯ: INT. АЛЛИСОН Бухгольц-AU: Да, это внутр. Так это только добавляет их вместе. Это внутр. Все хорошо. Так что это следующий, у нас есть что выглядеть строк. Когда мы запускаем этот, по его мнению, о. Ты на самом деле пытается чтобы просто добавить вещи. Вы просто запутался. Так что я просто хочу, чтобы исправить это за вас. Вы имели в виду Int. Я знаю, что ты имел в виду Int. Так что это один из способов, вы можете см, PHP имеет свой собственный разум. Даже при том, что мы явно сказал, смотреть, это те, являются строками. Я имею в виду строку один. Но он говорит, о, но Вы пытаетесь добавить их, так что вы должны означать, что это целое число. Просто поверьте мне на это. Так он говорит, что это целое число, и это добавляет им вроде нормально. Так круто, если вы собираетесь чтобы получить ленивый со своими вещами, или вы хотите что-то добавить. Большое дело в том, что, если вы вспомните pset2, что-то, что было Пользователь вводится, право, что мы думаем, это символ или строка сначала. Теперь мы не должны явно говорят, ой, делают этот интервал. PHP будет просто как, о да. Я знаю, что ты имел в виду на Int. Глупый ты. Вы не имел в виду строку. Таким образом, в этом случае, в настоящее время что мы имеем в этом, что вы, ребята, думаете, что это собирается делать здесь? У нас есть строку и Int сейчас. АУДИТОРИЯ: Это еще внутр. АЛЛИСОН Бухгольц-AU: Это еще внутр. И причина is-- я бы поставил больше примеров, но этот весело. Причина, что он делает это потому, что это, как вы пытаетесь добавить вещи. Так что, если вы пытаетесь добавить вещи, я буду считать, разумно, у вас есть что-то естественно, что вы могли бы добавить. Я просто хочу, чтобы сделать его Int, и мы только собираемся, чтобы добавить его, как обычно. А потом так же, я думаю, вы, ребята поняли идею. У нас также есть этот здесь, который является просто обугливается, и он делает то же самое. Это как, глупый пользователь. Вы знаете, что вы хотите Int. АУДИТОРИЯ: Если мы ставим письмо, будет это сделать [неразборчиво], значение или нет? АЛЛИСОН Бухгольц-AU: О, что это хороший вопрос. Посмотрим. Нет, все-таки это внутр. Так что это немного сумасшедшим. Это просто какая-то, чтобы показать вам PHP может иногда вести себя в irrational-- Не полностью иррациональны, но это могло бы вести себя таким образом, что вы действительно не ожидали. Так что, когда вы сомневаетесь, проверьте типы вещей. Эта функция GetType может быть супер полезно. Как правило, если вы делаете что-либо с плюсы или любые математические операторы, он собирается брать на себя что-нибудь разумным является только внутр. Так, у вас есть символ 1, или Строка 1, или фактический интервал 1, это будет предположить, что. Если вы хотите, чтобы приведение что-нибудь, вы полностью можете. Вы могли бы сделать что-то вроде удвоить здесь, я считаю. И в этом случае, это будет говорить, о. Я буду делать это дважды, потому что Вы явно сказал, что это двойная. Вы можете всегда явно сделать PHP-то сделать, но. АУДИТОРИЯ: Подождите, почему плюс 1 есть? АЛЛИСОН Бухгольц-AU: О. Там. Это было просто эхо. Это была моя ошибка. Таким образом, вы можете явно указать его сделать что-то определенного типа, но большую часть времени, это будет динамически решить, что во время выполнения. Так это будет продолжать идти через и это будет похоже, в порядке. То, что делает наиболее смысл, чтобы это было? Должен ли он быть на самом деле строку? Должна ли она быть в Int? Должна ли она быть поплавок? Должна ли она быть двойной? И это будет решать, что для вас. Вы можете заставить его сделать то, что вы хотите, но-- АУДИТОРИЯ: Делает ли это его медленнее? АЛЛИСОН Бухгольц-AU: Ну, Я имею в виду, C является очень эффективным. Я думаю, что это, безусловно, медленнее, потому что она имеет в процесс, как это происходит. С, я почти уверен, что это быстрее. Но, очевидно, есть много интересных вещей в здесь что мы не должны беспокоиться. Так что, если мы ищем через массив, мы не надо на самом деле создать некоторые поиск по массиву. Мы можем только попросить ключ и PHP будет заботиться о нем. Прохладный. Удивительный. Похоже, в конце моих примерах. Вы, ребята, никогда не собираются забывать, что сейчас. Вы собираетесь быть как, ой, PHP является просто как то мама, которая походит нет, нет, нет. Я знаю, что вы имеете в виду. Я знаю, что вы хотите. Хорошо. Так что это, как мы надеемся, полезной для вашего PSET, по крайней мере, в самом начале, потому что вы все о работе с формами и вещей от пользователя. Таким образом, есть два способа, которыми мы обойти информации с PHP и HTML когда мы передаем между этими двумя вещами. Поэтому у нас есть $ _GET, который прошел через URL, и у нас есть $ _POST, который передается в сообщении Тело, и поэтому мы считаем, что скрыто. Но одно дело понимать, что ни один из них считаются безопасными. Если у вас есть кто-то, кто является перехват сообщений, идущие туда и обратно между вами и Сервер, они все равно могут получить эти данные. Они просто должны посмотреть немного сложнее. Это на самом деле не that-- это просто скрыты от URL. Это все еще в теле сообщения, хотя, так что если у них есть доступ к, что, это действительно только like-- Это как разница между чем-то записываются на внешней стороне существо конверт и что-то написано на бумажке внутри. Это не так сложно, чтобы открыть конверт и получить бумажку внутри. Конечно, это было бы гораздо проще только что прочитал за пределами. Но это, как вы можете вид думать о них. Ни один из них действительно считается безопасным. Хорошо? Конечно, на самом деле не значения для вашего PSET потому что вы не имеете дело с коммерческой тайны, но это, как правило, один вещь, которую мы действительно хочу подчеркнуть, потому что людей думаю, о, хорошо, что это скрытая. Она должна быть супер безопасный. Нет. Это не безопасно. Это просто немного менее небезопасно, я думаю. Или небезопасным. Таким образом, мы на самом деле имеем пример. Как вы знаете, я люблю научить более с примерами. Я чувствую, что это помогает лучше. Так, у нас есть некоторые простую форму здесь который на самом деле, если вы, ребята, когда-либо путать о PHP, это действительно мало, но php.net на самом деле действительно хорошая документация. Мне очень нравится его. Я использовал его, чтобы подготовиться к этому раздел, так что я могу ветеринар это для вас. Это пример из них о том, как $ _POST и $ _GET работы. Единственная разница между двумя из них, кроме где информация отображается, является ли это в URL или в организме, также то, что этот метод. Так что в вашем виде на HTML-- This очень простой HTML форма. Может кто-нибудь сказать мне, что он делает? АУДИТОРИЯ: Спросите вашего имени и возраста. АЛЛИСОН Бухгольц-AU: Совершенно верно. Поэтому у нас есть какая-то форма действия. Это дает нам знать, что это какой-то акт формы. А что произойдет это, когда мы попали Отправить, он собирается назвать action.php, что и это, и он собирается назвать его с методом $ _POST. Таким образом, в этом случае, ваш Информация скрыта. и это только ваше имя, некоторые вход типа называют имя, некоторые возраст, тип входного = "текст", который мы также называем возраст. И потом, если мы попали Отправить, Отправить позвонит action.php. Поэтому, когда мы на самом деле удар Отправить нам известно, что она размещена, по существу, и мы на самом деле видим это в ваш Проблема установки, что, надеюсь, мы будем получить идти через немного. И все, что он делает здесь POST некоторые суперглобальная переменная что мы говорили о ходе лекции. И, как вы можете думать о $ _POST есть что это просто ассоциативный массив. Хорошо? Так что это какой-то ключ, это некоторые из ключевых, и все, что пользовательский ввод становится Значение для каждого из них. Хорошо? Так что, если бы мы должны были написать, что этот массив на самом деле выглядел сразу после мы представил форму, мы бы есть, это наш $ _POST, и некоторый массив, где у нас есть какое-то название. Давайте просто скажем, что мы будем делать свое имя, а то у нас некоторый возраст, 21. Ву. Так что это все $ _POST есть. $ _POST это просто ассоциативный массив, ОК? Это просто говорит, ОК. Какие вещи мы попросил от пользователя? Каковы переменные что мы передаем вокруг что мы попросили в таком виде? И тогда то, что являются значения, связанные с этим? Таким образом, в этом случае, если я представил его с именем Элли и возрасте 21 года, это то, что $ _POST выглядит. Хорошо? И это то, что это PHP-файл имеет доступ к. Хорошо? Таким образом, в данном случае, это так же, как получать любую другую вещь из нашего массива. Вместо того, чтобы индекс в нашем Массив, у нас есть некоторые клавиши. Таким образом, это будет давать мне значение в имени ключа. Так что это будет союзник, и это прямо здесь собирается дать мне значение в $ _POST, где Ключ возраст, который будет 21. Вы собираетесь быть делать это совсем немного. Да, из какой части? АУДИТОРИЯ: Когда вы были указывая на нижней части. АЛЛИСОН Бухгольц-AU: Это нижняя часть? Хорошо. Так, вы понимаете, это наш HTML сформировать, и у нас есть некоторые метод $ _POST, которая имеет значение. Это также может быть $ _GET, но для этой цели, мы только собираемся сказать, что это $ _POST. Когда мы представить эту форму, это частью PHP-файл, который называется. Так этот файл PHP теперь собирается выполнить учитывая информацию от нашего HTML форма. Так, что он делает это, когда мы хит Отправить в нашу форму HTML, это прохождение вам эту суперглобальная, который является только ассоциативный массив. Именно это. Это так же, как, кстати, что в файл. И то, что он говорит, является, в порядке, вот $ _POST. Это ваш ассоциативный массив. Делай с ним, что угодно. И мы говорили: ОК. Дайте мне значение на имя, и дать мне значение в возрасте. Так это только ключи, и это наш массив. Значит ли это, имеет смысл? АУДИТОРИЯ: Mhmm. АЛЛИСОН Бухгольц-AU: Awesome. АУДИТОРИЯ: Если у вас есть, чтобы повторно Форма это просто написать над данными? АЛЛИСОН Бухгольц-AU: Да. Mhmm? Зал: А почему у вас есть чтобы указать, что это интервал? АЛЛИСОН Бухгольц-АС: В этом случае, пользователь просто заставляя его быть внутр. АУДИТОРИЯ: ОК. АЛЛИСОН Бухгольц-AU: Я не знаю, если вы на самом деле нужно было бы что, но в своих целях, они решили что они хотели, чтобы он внутр. Они просто типажей его. Может быть, они используют его в качестве что-то еще позже. Это лишь один фрагмент. Да? АУДИТОРИЯ: Что делать, если они набрали 12, Т-W-E-L-V-Е, по возрасту? АЛЛИСОН Бухгольц-AU: Если они пытались ввести, что в качестве междунар? АУДИТОРИЯ: Да. АЛЛИСОН Бухгольц-AU: я забыть, что это делает. Я думаю, что это, возможно, попытаться преобразовать первый символ на междунар, или взять значение и преобразовать это, но я забываю, что именно его. Будьте забавная вещь, чтобы написать Программа и попробовать. У пару строк. ОК, так что это одна из главных вещи, которые вы собираетесь делать. Я собираюсь, надеюсь ходить через пару файлов от PSET с вами, ребята. Похоже, что мы собираемся есть время, так что мы можем это сделать. Но вы собираетесь быть делать много вещей как это, где вы проходите вещи из HTML формы в этом PHP форме, что будет потом выполнить некоторый набор инструкций на данных, которые были предоставлены. Вот буквально суть вашего PSET. Да. АУДИТОРИЯ: тип = "Отправить", что делает кнопки на HTML форме. Есть способ вызова что кнопка-то? Так вы бы, как имя = "Отправить"? Или, что кнопка просто будет опорожнить прямо сейчас, потому что вы только дал ему тип, а не имя. АЛЛИСОН Бухгольц-AU: Я думаю, что это просто будет пустым прямо сейчас. Мы можем определенно выглядят в PSET, потому что мы, безусловно, смотреть на зарегистрируйтесь рода вещи. Но да, вы можете определенно указать Текст, который вы хотите на кнопке. Итак, SQL. Когда вы покупки и продажи акций, Вы должны следить за тем,. Так как мы собираемся сделать это с SQL, который находится всего в базе данных. Думайте об этом как за столом, где Вы держите всю эту информацию о ваших различных пользователей. И вы, ребята, на самом деле собирается создать один из них. Это очень здорово. И есть только четыре основных вещи что вам нужно знать для этого PSET, и они обновление, так что вы в основном обновить данные. Это предполагает, что это уже есть. Если его там нет, он собирается ударить тебя с ошибкой, так что, возможно, вы захотите проверить. И вы будете обновлять on-- я должны actually- у меня есть время, Я напишу пару из них. Я на самом деле дать вам парням Пару образца, полные команды SQL, потому что это только основной те, но вы можете соединить их вместе. Так что я буду делать, что и я пошлю что к вам с этими нотами. Так что, если вы хотите обновить что-то, необходимо сказать ему, что вы обновляете и где вы его обновления. Так Типичная команда SQL будет обновление ID где-то равна то. Или как адрес обновление где ID равен 3, и это будет обновлять поле адреса Вашего пользователя, который имеет идентификатор из трех. Хорошо? Так что, если вы идете в SQL и W3Schools, у них есть удивительные примеры. На самом деле, я мог бы потянуть некоторые в немного. А потом вставить в, ты просто вставляя определенные ценности там. Так что, если вы пытаетесь создать какой-то новый запись, так вы создаете нового пользователя, вы могли бы сделать вставку в независимо от вашего база данных называется, и вам придется все эти ценности. Тогда у вас есть выбор, выбрать значения для просмотра. Так что, если вы пытаетесь проверить, см, если пользователь существует, или вы пытается захватить конкретных Информация о пользователе Вы собираетесь использовать выберите. А потом удалить, я думаю, довольно просто есть. Ты просто удаление что-то из-за стола. И в самом деле, я на самом деле тянуть до примерами для вас, ребята. О, смотрите, это моя страница 61. Так что, если мы идем в W3Schools, надеюсь, что это снова. Да, нравится. Мы идем в SQL. Так, это что-то здесь. Таким образом, это очень простой SELECT. Человек, я люблю эту функцию. Таким образом, вы можете иметь ВЫБОР некоторые поля от клиентов. В этом случае, относится к клиентам онлайновая база данных, что вы используете, поэтому все, что ваша таблица называется, и звезда просто означает выбрать все. Дайте мне каждый. Так что, я просто хочу дать вам парням Несколько примеров, где это. Поэтому у нас есть SELECT, UPDATE. Так вот вроде общего синтаксиса. Так UPDATE, все ваши имя таблицы, а затем SET где вы на самом деле происходит быть тем, что данные вы изменяете. Так что это может be-- Пусть мне привести пример здесь. Так это будет be-- Хорошо. Так что я создал небольшую базу данных для нас. Мы собираемся, чтобы иметь некоторую ID, некоторые год, а некоторые назвали. Так ID одна будет '15 году, и мы только собираемся сделать это мне. Кто хочет стать вторым человек в нашей таблице? Любой. Я просто хочу, чтобы выбрать Эмма потому что быстро ваш зовут. Эмма, в каком году вы? АУДИТОРИЯ: В каком году? АЛЛИСОН Бухгольц-AU: Да. АУДИТОРИЯ: '16. АЛЛИСОН Бухгольц-AU: '16. Ты просто будет моя морская свинка на сегодняшний день. Итак, у нас есть эти два человека. На самом деле, позвольте мне сделать это. Скажем, я слышал, как она не так, и я на самом деле сказал, что она на год младше. Она '17. Что мы хотим сделать здесь, если мы хотел обновить Эммы год чтобы быть правильным использованием, что, то, что мы сделать это, мы бы сказал Обновление данных здесь. И все это может быть на одной линии, но так как я сжаты для пространства здесь, Я собираюсь писать здесь. И мы хотим, чтобы установить. Так что это таблица мы обновляем. SET будет то, что столбец или какие данные мы на самом деле меняется. То, что мы меняем это год, так мы собираемся сказать SET год = 16, а затем, ГДЕ говорит нам, какой пользователь или что ряд мы на самом деле обновления этого. Так где? У нас есть два варианта здесь. Какие два? Они уникальны, не так ли? Таким образом, наши имена уникальны и наша ID является уникальным, так что это два варианта для которых мы могли бы это сделать? Я дам вам один. Мы могли бы сделать WHERE ID = 2, или мы могли бы делать то, что если мы собираемся от этой парадигмы здесь. АУДИТОРИЯ: [неразборчиво]. АЛЛИСОН Бухгольц-AU: Совершенно верно. Таким образом, мы могли бы сделать имя = Эмму. И любой из них будет работать. И мы побежали на это, он был бы как, в порядке. Мы изменим его. Вы на самом деле 16, так Теперь вы правы снова. ОК, так что это будет супер полезно в PSET где возможно кто-то решил, купить 100 акций из Apple, а затем они были, как, я просто шучу. Я хочу только 90 акций. И так они продают 10 из них, так что вы нужно обновить количество запасов что они имеют. Так, обновление запасов, обновление таблицы. Хорошо. Так вот один из примеров есть. Вот синтаксис обновление. УДАЛЕНИЕ. О. Вставьте в наш другой. Так, этот здесь очень похожа. Мы могли бы просто сказать, в этом Дело давайте добавим кого-то. Мы можем добавить Бена на этот раз. Мы вставить в, и мы хочу имя нашего стола. В данном случае это данные. А потом мы просто хотим, что вы собираетесь говорят ЦЕННОСТИ, и что вы собираетесь делать будет, вы на самом деле нужно, чтобы убедиться, что у вас есть что-то для каждой строки что вы хотите. Вы просто положить их в порядке. Таким образом, в данном случае, мы бы сказали 3. Ты 18, правый Бен? АУДИТОРИЯ: 19. АЛЛИСОН Бухгольц-AU: 19? АУДИТОРИЯ: 19. АЛЛИСОН Бухгольц-AU: '19 вашего году? Вы выпускник в '18, не так ли? АУДИТОРИЯ: О. АЛЛИСОН Бухгольц-AU: Выпускной год. АУДИТОРИЯ: ОК. АЛЛИСОН Бухгольц-AU: Я походил, вы уже планирует на целый год, здесь? Так, '18, у нас есть Бен. Таким образом, в данном случае, это было бы пройти, было бы создать новую запись здесь. Прохладный. Не слишком плохо, не так ли? Многое из этого будет быть синтаксис для вас, ребята. Понятия должны прийти, будем надеяться, относительно легко. Синтаксис это единственное, что может быть немного сложнее. И тогда наша последняя является УДАЛЕНИЕ, и, как вы заметили, Я очень рекомендую этот сайт. Здорово. Там в тонну материала. Так, в тот же самый путь, что мы должны были некоторые UPDATE, DELETE очень похож. Вместо этого мы Удалить из данных. Таким образом, в этом случае, наш последний один я напишу здесь. Скажем, мы хотели, чтобы удалить меня. Я не могу писать сегодня. Удалить из все Таблица мы в данные. И на самом деле существует три способа мы могли бы выбрать для удаления меня. Может вы, ребята, скажите мне, что три способы являются, как вы могли бы удалить меня? ID равен 1, где ID равен 1. Мы могли бы сделать, где год равен 15, или где имя равна Эллисон. Конечно, есть только три различных способа, потому что это все уникальны. Обычно в таблице, и особенно в вашем PSET, Вы собираетесь установить один из эти колонки должны быть уникальными. Это, вероятно, будет какой-то уникальный идентификатор число, потому что если вы have-- фактически, но на деле может позволить вам иметь два. Я не могу вспомнить, если он дам у вас есть два одинаковых вещи. АУДИТОРИЯ: Тогда это будет изменить свое поведение. АЛЛИСОН Бухгольц-AU: Это был бы. Это будет вызывать поведение, которое является неожиданным, что вы не можете на самом деле предсказать. Таким образом, вы, безусловно, есть один столбец в вашей базе данных, что будет уникальным, и это, как правило, вы можете установить это так, что это как уникальный идентификатор, и это будет просто обновить каждый При установке в таблицу. Каждый раз, когда вы создаете новый ряд, он будет автоматически увеличить и дать ему некоторое уникальный идентификатор. Так намекают на вашем PSET. Хорошо. Так что это SQL. Так что теперь мы собираемся говорить о Самая последняя вещь, которая связывает в на самом деле очень хорошо с вашим PSET, если она будет идти вперед. Так MVC, вид модели контроллера. Это просто способ чтобы держать вещи организовано. Таким же образом с C просим вас, ребята создавать функции и отдельные вещи вне, это просто способ выделить Код, когда вы делаете веб-разработки. Так что делает вещи намного более элегантным и упрощенная, и это на самом деле так что ваш PSET на самом деле настроить, так ли вам это нравится или нет, вы будете изучать его, даже если вы не думаете, Вы учитесь его. И одно, оно также позволяет сделать гораздо больше, как сотрудничество пользователя. Поэтому, когда я взял CS50, я сделал сайт для моего окончательного проекта, и я был бы, я буду обрабатывать материал базы данных. Я сделаю задний конец вещи, и мой сосед по комнате, который я брал с него был очень претенциозный. Она делает сценографию, и она хотел, чтобы все это довольно. Так что я, как, в порядке. Вы можете заботиться о все передняя часть вещи. И дело в том, как мы увидим очень скоро, что вид модели контроллера позволяет вам полностью отделить этот код так что я мог бы работать на реализации наших страниц, и манипулирования информацией в наших базах данных, и она могла бы просто сделать вещи довольно, и мы оба были действительно счастливы, потому что мы должны сделать то, что мы оба хотели, и мы не должны иметь дело с другой. Так мы болтались вместе. Мы хотели, чтобы болтаться. Я просто не хочу иметь дело с все CSS и HTML вещи. Я был, как, вы делаете это довольно. Я разберусь с базой данных. Поэтому у нас есть это действительно круто, здорово столик. Я люблю таблицы. А в принципе, модель можно думать о только ваша база данных. Я была моделью человек для моего проекта. Это все о хранении Информация и организации этих данных. Так что это то, что мы хотели, чтобы перезвонить конец. Так вы, ребята, будете иметь дело с база данных SQL и файлы данных. Это ваша модель. Ваше мнение, как Вы могли бы думаю, отчасти имеет смысл, является то, что ваш пользователь на самом деле видит. Это пользовательский интерфейс. Это что фронтальная компонент. Так вот то, что мой сосед по комнате приступили к работе на все время. Она была очень счастлив. Так вот все HTML, и есть очень немного PHP. Если вы только что говорили о что отображается для пользователя, мы говорим о гипертекста. Мы говорим о том, как он выглядит. Мы не говорим о логике, или условия, или еще много чего. Все, что получает обрабатываются контроллером, ОК? Так что обрабатывает запросы пользователей и получает информацию. Так одна вещь, вы должны знать о Ваш PSET, что, в ваших взглядах, все, что есть на самом деле отображения информации никогда не должно быть решений призывает к вашей модели. Все, что обрабатывается в контроллере. Ваш контроллер является одним посредником между этими двумя. Он попросит модель для определенной информации. Это может перебрать, что Информация, выяснить то, что вы на самом деле нужно от это, что делать с ним, а затем она пройдет по просто информация вам нужно мнение для вас, чтобы распечатать его вне или отображать его пользователю, ОК? Потому что мы видим, мнение как все, что обращена к пользователю, так что это будет намного легче для них, чтобы выяснить, Ну и, если вы делаете некоторые называют в вашей модели и вы просите для всех пользователей кто начинает с буквы А, и что вы делаете, что, на ваш взгляд, кто может увидеть ваш веб-страницу потенциально может открыть что. Вам не обязательно хотят что. Вы же не хотите, чтобы люди видели более в базу данных, чем то, что они должны видеть. Всего их конкретные предпочтения. Так контроллер обрабатывает все, что. Так что все ваши .php файлов, которые мы увидим Вы можете рассмотреть ваши файлы контроллера. И вот, когда ты действительно будет просить вещи из вашей базы данных, и итерации или манипулирования это, прежде, чем передачей его на быть просмотрены. Это действительно здорово PSET, на мой взгляд. Я думаю, что это немного больше как мгновенное удовлетворение, потому что вы реализуете много маленьких крошечных вещей, и каждая вещь должна работать сама по себе. Не нравится, делать все, а затем увидеть, если он работает. Как с программным обеспечением где вы, как и я действительно надеюсь, что это Хорошо, потому что если это не так, Есть много помещает это может быть не так. Хорошо. Просто чтобы убедиться, что я сказал, все, что я должен был сказать о MVC. Да. Прохладный. Таким образом, в CS50 финансов, у нас есть наша модель, как я только что сказал здесь. Это собирается быть MySQL и PhpMyAdmin. Я могу определенно тянуть тех, так вы, ребята, получите возможность взглянуть на него. Как я уже говорил, это ваш SQL В базе действует как модели, и вы можете отправить то, что мы называем запросы, которые находятся всего в такого рода вещах. Это так называемые запроса. Это запрос, где вы только просить вашу базу данных для чего-то, или вы изменив базы данных в некотором роде. Это все, что есть. И вы делаете это с Функции мы дали вам здесь. Вы также можете манипулировать их вручную с помощью PhpMyAdmin, которые мы можем определенно взглянуть на. Я создам образец В базе с вами, ребята. Хорошо. Так, контроллер. Таким образом, в этом случае, если вы Отметим, что это все PHP. Обратите внимание, что это своего рода ваш Главное из контроллера является то, что она должна быть в основном PHP. Если у вас есть HTML в вашем контроллере, не уверен, что там происходит. Так же, как я уже сказал, если вас удается [неразборчиво] с HTML, Я реальный заинтересованы. Итак, что мы имеем здесь это у вас есть запрос. Запрос является функцией, которая мы построили для вас, ребята. Это как обертку, чтобы сделать запросы к вашей базе данных немного легче. Если у вас не было, что, синтаксис на самом деле разговаривает с базой данных SQL будет отличаться, поэтому мы просто поставить его для вас, ребята. Мы хотели, чтобы облегчить жизнь. Таким образом, в данном случае, может вы, ребята, скажи мне, что эта линия делает? SELECT * из некоторой таблицы. АУДИТОРИЯ: Выберите все из этой таблицы. АЛЛИСОН Бухгольц-AU: Совершенно верно. Так говорит, дайте мне все из этой таблицы. И это хранить его в некоторая переменная результат. И это говорит, если результат не равен ложь, то мы делаем каждый из этого. Так что, если нет ничего здесь, если Таблица пусто или он просто не существует, он собирается вернуться ложным. Таким образом, в этом случае, мы просто делаем уверен, что что-то было на самом деле вернулся к нам. А потом здесь, у нас есть наш великий цикл по каждому элементу что мы перебора наш Результат, и мы называем его строка, и мы говорим, оказать этот шаблон где ваши данные этот результат. Хорошо? Так что это просто обработка строка результата. В противном случае, он кричит. Таким образом, это является примером контроллера. Как видите, это только place-- Да, жаль? АУДИТОРИЯ: Почему существует амперсанд перед подряд? АЛЛИСОН Бухгольц-AU: Амперсанд перед подряд. Мы просто итерации. Это также адрес of-- АУДИТОРИЯ: Так что это, как C ссылок. АЛЛИСОН Бухгольц-AU: Это убедившись, что вы на самом деле изменения оригинала, а не копия. Это так же, с С, где мы передаем по ссылке здесь, просто чтобы убедиться. АУДИТОРИЯ: Разве это не == вместо не = в PHP? АЛЛИСОН Бухгольц-AU: Это не ==. АУДИТОРИЯ: Потому что равняется в C является просто-- АЛЛИСОН Бухгольц-AU: Это просто не =. Да, нет. Это не ==. Потому == в PHP проверяет равенство с переключение, эксплуатацию, но дополнительное качество. Так, он не == в PHP. Это одна из мало синтаксические различия. Да. Таким образом, мы просто итерации по всем строкам, и оказать, если вы, ребята, Прочитала вашу спецификацию, это просто какой-то другой функции, что является на самом деле происходит, чтобы обработать всю HTML и отобразить его в ваш Веб-браузер для вас. Хорошо. Таким образом, мы хотели бы думать о контроллерах как то, что обрабатывает бизнес-логику. Как вы видите здесь, это то, где мы находимся принимая наши данные из таблицы, мы обрабатываем его каким-либо образом, а затем мы передаем его. Когда мы делаем оказать некоторое шаблон, некоторые шаблон на наш взгляд, и мы передаем его только Данные, которые он должен получить. Не все данные. Всего данные, которые мы хотим это получить. Хорошо? В основном данные после обработки. Так что это мнение, это Шаблон сумма, которая у нас есть, и все это проделывается, вы можете есть немного PHP в ваш взгляд. Это никогда не как не PHP в поле зрения. Вы должны просто очень минимальны PHP ввиду, и вы никогда не должны быть запросов на ваш взгляд. Вы никогда не должны говорить в базу данных, на ваш взгляд. Это большая разница. Так что же здесь происходит, у нас есть PHP, который перебора подряд. Таким образом, в этом случае, так как мы были перебора каждой строки и оказание то, что это было вероятно, как двумерного массива где у нас есть некоторые строки, что это, само по себе, массив, потому что мы итерации через это снова. И мы просто распечатав Название ряд, то закончить его. Вы не должны этого в Еогеасп. Я никогда не видел, что прежде, чем на самом деле. Я просто делаю Еогеасп. ОК, так что это мнение. Давайте посмотрим, если мы можем пройти через немного вашего PSET. У нас есть 15 минут, так что я уверен, что вы Ребята хотели, что больше, чем просто заканчивая рано. Позвольте мне посмотреть, если я могу принести это. Так что я не знаю, как многие из вас, ребята, скачали его и еще много чего еще, но у нас есть имя пользователя, и у нас есть некоторые пароль. И, к сожалению, не так ли Теперь база данных пуста, так что мы на самом деле нужно создать базу данных. Ну, это странно. Не ожидал, что. Технические ошибки. Технические трудности. У нас есть некоторые pset7. Прохладный. Так, одна вещь, вы можете сделать это, с query-- я создам таблицу. Так что это будет users-- что Вы можете сделать здесь есть, если у нас есть some-- Действительно сейчас? Хорошо. Очевидно, что я не делаю так жарко. О. Я знаю, почему. Потому что я никогда не создавал мои фактические таблицы. Поэтому, когда вы впервые начать с база данных, вы, очевидно, должны решить, какие вещи мне нужно иметь здесь? Так что, если мы просто уйти наша таблица данных здесь, у нас был некоторый идентификатор, который может просто остаться на Int. И если мы посмотрим сюда, есть круто that-- Так индекса. Если вы делаете первичный, он будет делать это вещь, что ваш стол организован, и это также сделает его уникальным. Таким образом, в данном случае, мы сделаем это первичная, и я собираюсь сделать это имя, Затем мы просто сделаем это VARCHAR из как 26 буквы, потому что почему бы и нет? И тогда вы можете пойти, чтобы сохранить, а затем если вы видите, у нас есть несколько пользователей здесь. Так что, если мы хотели сделать вставить, мы могли бы сделать это таким образом, или если вы хотели практику с queries-- О мальчик. Я не использовал это в вечно. Я беру это назад. Вы можете редактировать это самостоятельно либо просто вручную вставки информации что-то вроде, вас можно изменить любой из них если вы хотите make-- Если вы хотите, чтобы вдруг избавиться от имени, Вы можете оставить, Вы можете делать все эти вещи. Если вам нужно, чтобы когда-либо вручную изменить таблицу, Я предлагаю делать это в PhpMyAdmin против пытается выяснить SQL Запросы в целом. При первом запуске PSET, Вы будете иметь, чтобы работать здесь, так привыкнуть к этому. А потом, когда вы на самом деле хотите вставить вещи в вашей table-- Мне очень интересно, где это, потому there's-- Вот он. Это то, что я хотел. Так что, если вы идете в SQL, вы могли бы на самом деле увидеть, как мы видим, здесь, у нас есть SQL запросы. Так что, если мы хотели, чтобы выбрать что-то или если мы хотели, чтобы вставить что-то, мы можем сделать вставку в пользователей, не так ли? Я думаю, вам нужно обратную косую черту. Одна вещь, чтобы знать, является, если Вы когда-нибудь с помощью этого, Вы должны использовать их обратно апострофа, которые обычно, если вы находитесь на Mac, прямо над вкладке. Так хорошо, чтобы знать. Вы можете вставить в пользователей, и у нас есть свои ценности, не так ли? Поэтому у нас есть ценности, и наши ценности в этом случае будет просто, у нас есть только идентификатор, чтобы мы мог сделать один, если мы хотели. Это странно. Хорошо. Так вот, как краткой мелочь с SQL, но это может быть более полезным, чтобы фактически посмотреть на некоторые из файлов здесь. Так что для Загрузки. О, не Загрузки. Так, только быстрый путеводитель что в каждой из этих папок. Она включает в себя, мы просто есть вещи, что настроить свой браузер, у нас есть эти константы, и у нас есть эти функции. Если вы заинтересованы в любом из них, Я рекомендую смотреть на функции. Один из них, что это супер полезно, на самом деле это один здесь, свалка. Так что если вы используете это, это будет на самом деле просто распечатать независимо переменную что вам нравится его. Так что если у вас возникли проблемы, выясняя то, что этот массив выглядит, или то, что эти данные фактически, как это форматировании это большая вещь, чтобы использовать. Особенно, когда у вас есть Пользователь с множественной складе, это будет что-то большое, чтобы использовать. Потому что это может быть formatted-- Я знаю, по крайней мере, для меня, когда я сделал это PSET, он был отформатирован в пути что я не совсем ожидал. Так я пытался перебрать это и пытается манипулировать его, но я действительно не понять, что я делаю. Так что, если вы просто сбросить ее, она будет распечатать его в браузер, и вы можете точно узнать, как это отформатирован. Это будет, как правило, распечатать его, как массив с его ключами и ее ценностей. Так он может помочь там. Она также может помочь сделать Убедитесь, что вы на самом деле захвата данных, который Вы думали, что вы. Так что, если вы были, как, мой стол определенно говорит, что есть пользователь с этим ID, но когда вы идете на свалку Переменная, его там нет, Вы, очевидно, знаете, что это где ошибка будет. Это один из лучших инструментов для отладки, на мой взгляд. А тут еще пара других вещей здесь, но по большей части, это Кого я хочу обратить ваше внимание на, потому что это очень полезно. Общественный, то, что мы имеем здесь дело, это все наше CSS вещи. Так CSS, шрифты, наши образы, еще много чего. Это все вещи, которые Вы не должны изменять. Может вы, ребята, думаете о том, если это есть такие вещи, как CSS в шрифтах, это было бы модель, или вид, или контроллер? АУДИТОРИЯ: [неразборчиво] АЛЛИСОН Бухгольц-AU: Было бы быть больше вида, не так ли? Это обращение все вещи, как вещи выглядят. Так что, если мы откроем это здесь, мы видим, что все, что здесь происходит будет мы оказание то. Хорошо? Так что это будет очень много квалифицироваться как вид для этого. Так что это просто принимать некоторые, это звонит некоторое portfolio.php что у нас есть, и это прохождение в заголовке и портфеля. И это только оказание что. На самом деле, я беру свои слова обратно. Это контроллер, потому оказывать, помните, оказывает мнение. Так portfolio.php в этом Дело будет ваше мнение. К сожалению, ребята. Portfolio.php будет Ваше мнение, и это будет просто быть ваш контроллер для этого. И если мы посмотрим на это Последняя здесь, шаблоны, шаблоны всех ваших взглядов здесь. Так что, если мы посмотрим, очевидно, мы видим много HTML здесь. Так что это один только показывая вам, что страница Войти как должен выглядеть. Вы заметите, у нас есть некоторые образуют группы, есть представить. Вот как вы решите, что отображается на есть. У вас есть некоторый тип кнопку = "Отправить", и тогда у вас есть то, что вы хотите его для отображения в кнопке. Так вот, как бы вы это сделать показать, как все, что вы хотели бы. И мы видим, здесь у нас есть некоторые Имя пользователя, некоторые пароль, и когда мы на самом деле удар Отправить, это будет какой-то пост, и он собирается разместить на что? Что контроллер для этой точки зрения? Когда мы попали Отправить, что будет называться? Знаем ли мы,? Это прямо здесь, так login.php. Что-то вы, ребята, собираемся реализовать. Таким образом, вы всегда можете узнать, что будет называется после ударил Отправить по первой линии здесь. Что форма действия. Когда эта форма представляется, какие действия мы берем? Мы называем login.php, и мы называть его этим методом из поста, который имеет скрытая информация. Хорошо? Так что это ваше мнение, а затем, очевидно, если мы пошли в login.php-- у нас есть его еще? Да. Так как мы видим здесь, это имеет гораздо больше логики. Это все наша PHP здесь. Мы пытаемся, чтобы увидеть, если это было $ _GET, если это было $ _POST, проверки вещей, Запросы, это все мелочи. Итак, это просто три разные вещи здесь. Вы не должны что-то изменить. Вы будете создавать вещи в шаблоне, возможно, но, насколько HTML или стайлинг-либо из этого выходит, Вы можете оставить его в виде обычного или как сложна, как вы хотели бы. Некоторые люди действительно в это и сделать некоторые довольно удивительные сайты. Вы не должны этого делать. Если у вас есть время, это действительно классная вещь. Вы можете поиграть с CSS и HTML и получить намного лучшее чувство для этого, но не ощущать давление с целью. Там есть много для вас сделать на Задняя часть с реализации войти, и зарегистрируйтесь, и все эти вещи. Так что надеюсь, что помогает немного. вы, ребята, есть какие-либо вопросы о чем мы перешли, любые другие ресурсы? Я, безусловно, отправить все мой пример PHP кода для вас, ребята, и то не стесняйтесь взять фотографии или еще много чего из этого. Кроме того, это онлайн. Вы всегда можете просто смотреть снова. Так что, если это все, все хорошо? Да. Аудитория: Я просто хочу для подтверждения, когда мы делать выбор в SQL, звезда означает, что все, не так ли? АЛЛИСОН Бухгольц-AU: Да. АУДИТОРИЯ: И потом, если Вы не должны звезду, если вы хотите, чтобы принять от конкретных строка, то вы просто поставить имя of-- АЛЛИСОН Бухгольц-AU: Название подряд и то, что вы хотите, вы хотите, чтобы значение. АУДИТОРИЯ: А потом дата. АЛЛИСОН Бухгольц-AU: Независимо Вы ищете, да. Таким же образом, если вы делаете DELETE * от некоторые таблицы, это будет удалить все. Так, * это просто дикий карта на все. АУДИТОРИЯ: ОК. АЛЛИСОН Бухгольц-AU: Прохладный. Удивительный. Ну, есть большие понедельник, парней. Увидимся на следующей неделе. Удачи на PSET.