[Música tocando] ALLISON Buchholtz-AU: Todo ben, todos, Benvido de volta á sección. Espero que todos tiveron un excelente Fin de semana do Día das meiga, ou Halloweekend, como me gusta de dicir, todo descansado e recuperado. E por sorte non está nevando máis. Realmente soleado aí. Eu estaba moi feliz con iso. Non está preparado para arrastrar as miñas botas de inverno. Esperemos que, pset6 fun moi ben. Se estás canso de C, estou feliz quere dicir que está feito con C para agora. Temos plena transición en programación web, así estará a traballar en HTML, PHP, quizais un pouco de JavaScript. Non sei o que semana seguinte pset é, por iso eu non podo asegurar o seu próximo pset vontade ser, pero pset esta semana é CS50 Finanzas, que é basicamente aplicar o tipo de páxina web que lle permite mercar e vender almacenar e manter o control deles. E é moi legal, porque todos do que se xera dinamicamente. Pode ter diferentes usuarios que cada un ten a súa propia información, e vai ser implantación de todo isto. Leva un tempo. Eu definitivamente creo que iso é máis fácil Serie de exercicios que C, pero leva máis tempo. Está a aprender unha nova lingua, PHP, que é moi semellante a C, pero está claro que vai esixir ollar para arriba sintaxe e entender como converter entre as linguas. Pero eu non creo que hai calquera cousa Super conceptualmente difícil sobre este pset. É só aprender a nova lingua e recibindo a través de todos estes pequenos anacos. Se vós ten lido especificación, é moi longo. Creo que este é igual a 21 páxinas, se ben me lembra. É unha longa spec. Entón, se aínda non leu ele-- 22. 32. Guau. Entón, eu estaba fóra por 50% alí. Así, 32 páxinas. Por iso é moito tempo. Hai moitas pezas, pero ningún das pezas debe ser tan malo así. É só un monte. Entón, en definitiva comezar cedo se é posible, como de costume, pero eu creo que debe sentirse un pouco máis agradable do que especialmente as Serie de exercicios como recuperar e redimensionar que son só moi difícil de romper a cabeza por aí. Entón, con iso, imos mergullo. Non teño a súa axenda deslice hoxe, pero estamos será falando PHP. Vou che dar unha especie de curso intensivo sobre algunhas cousas que pode querer saber sobre PHP. Diferentes cousas sintaxe, cousas para ollar para fóra. Nós imos estar falando un pouco sobre SQL. Só cousas moi sinxelo alí, e logo, tamén MVC É Model View Controller, que é como o seu pset está configurado, de xeito que a comprensión de como obras será super útil. Todo correcto. Entón PHP. Vostedes deberían ter feito algo moi, moi sinxelo con PHP, que é esa cousa de fondo aquí, onde presentou algunha maneira na top aquí que tiña algún nome que entrada, e como diría Ola, Ben, ou Ola, Allison, e ía aparecer. Polo tanto, este é realmente o que debería parecía de seu pset, no caso de vós querían saber ou non chegou a descubrir iso. Pero temos eses puntos de interrogación aquí que indican que se trata PHP. Eles envolve-la e, a continuación, htmlspecialcharge, lembre, é só, asegurarse de que está seguro de calquera ataque de inxección tolo ou se alguén trata de poñer personaxes malicioso tolos no seu campo de nome, non fai coma se o servidor ou outros enfeites. E entón notar, este HTML forma tiña un método de $ _GET, que, se nos lembrar dos nosos superglobals PHP, $ _GET, $ _POST, estaremos entrando aqueles en un pouco. Pero sabemos que temos algún nome aquí que corresponde ao nome que presentou. Polo tanto, esta é só unha especie de como o moi sinxelo colaboración PHP HTML que vostedes tiveron de pset seis. Pero iso realmente non responder o que é PHP. Obviamente que é unha lingua, pero nós non temos realmente falamos sobre iso nesta sección, por iso hai algo máis sobre o PHP realmente é. Entón PHP é só PHP pre-procesador de hipertexto. Realmente considerada unha linguaxe de programación porque ten lóxica, mentres que se que lembro de ter falado sobre HTML, chamabamos iso dunha linguaxe de marcado contra unha linguaxe de programación HTML, porque é estrictamente modificación do modo como as cousas parecen na páxina. É só modificando se algo valente, ou se é unha forma, elemento, ou algo parecido. El non ten ningunha lóxica. Ela non ten lazos ou condicións. Non pode erro de verificación de cousas. Quere amosar cousas dunha certa maneira ou pedir cousas desde o usuario. É iso aí. Así, co PHP, realmente non nos permiten para facer todas estas cousas máis lóxicas, como validar a entrada ou manipula-lo de algunha maneira. Podemos combina-lo con HTML, como acabamos de viu na súa última pset e agora, e que nos permite crear estas páxinas web dinámicas. Entón, se vostedes Ever eu non sei se era como eu, pero o ensino medio eles tivesen nos sacar desta clase de TI, onde creamos só páxinas HTML, e eles eran fixas e prema en torno a para outras cousas, pero nunca cambiou. Cos dinámicos, o que podemos facer é, como con CS50 Finanzas, vai ter diferentes usuarios. Dependendo eses usuarios ' preferencias, eo que están a mercar ou o que están a ver polas súas accións, está indo a amosar cousas distintas. Polo tanto, se hai algún característica de identificación ao usuario a usar este páxina web, podemos dinamicamente decidir que amosar a eles. Non é o mesmo para todos os persoa, que se tivésemos acceso a HTML, a páxina sería o mesmo para cada persoa que visitou. PHP permítenos personalizar as páxinas. E, entón, pode poñer-los o mesmo ficheiro, o cal, como é o caso antes aquí, vimos que temos HTML todos aquí e despois temos este pouco de PHP. Podemos facer así, ou con CS50 Finanzas, se vostedes teñen mirado para o files-- e hai que ter tempo para percorrer un par deles xuntos ao final do que section-- pode ver como pode realmente mantelos separados, que é realmente unha cousa mellor que facer. So. Bater curso. Todas as cousas rápidas e sinxelas pode ter saber para PHP. Declarando variables. Ese azul é un pouco aburrido, pero espero que vostedes poidan velo. Se non, eu vou escribir na tarxeta de giz. As variables que declaran. Unha cousa a saber é que, a diferenza de C, PHP é vagamente ou tipagem dinámica, o que significa que non precisa contar unha variable que tipo é. Pode simplemente dicir algunha variable é igual a todo o que quere que el, e vai decidir o tipo de esta variable en tempo de execución para ti. Como verás, iso pode crear algunhas cousas moi interesantes. Pero para a maioría dos propósitos, ten Non é necesario especificar o tipo. Pode, e podes escribir lanzar cousas como normalmente non vería se quere forzalo a ser un certo tipo, pero non precisa. El non vai berrar contigo se acaba de declarar unha variable e non especificar un tipo para el. Polo tanto, se non pode ler isto-- Sei que non é o mellor. Eu penso que ía aparecer o melhor-- forma que arrincar calquera variable é só cun sinal de dólar, o que queres que sexa chamado, e entón o que está asignando a ela. Polo tanto, neste caso, este é preto de US $ var = 3. Entón, se nós nunca usar $ var nalgún lugar, ela só vai ser o mesmo que poñer 3 alí. Ok? Así, calquera variable, só sinal de dólar, o que quere que quere chamar a variable, e todo o que quere que el igual. Pouco máis frío. Menos de escribir para arrincar unha variable, non? Isto ten sentido para todos? Só rápida diferenza sintaxe entre C e PHP. Arrays son moito máis frío en PHP. Podemos darlles as chaves. Así, a forma de pensar sobre é que, se algunha vez quería acceder a un elemento dentro dun array, que necesitabamos saber o Índice del, non? Entón, nós sabemos que con C, que pode acceder ao primeiro elemento facendo soporte de matriz cero, ou se quere que o primeiro elemento, soporte matriz un. E se quixésemos algo alí, só podería ten para percorrer, a menos que nós realmente sabía o índice. Unha cousa que é realmente legal con matrices PHP é que son o que chamamos asociativo. Así, podemos asociar algúns clave para algún valor, e de feito estamos indo a-- Vou te amosar como podemos usar isto nun segundo. Pero, basicamente, se quere arrincar unha matriz así, Ten preto de US $ array. Así, do mesmo xeito, é só algunha variable que estamos creando. Isto podería ser chamado todo o que quería. Isto podería ser de US $ exemplo. Só outra variable. O que o fai unha matriz é o sintaxe soporte que temos aquí. Así como C. normal e nós Ten algunha clave para algún valor. Entón key1 vai a Valor1, key2 dous vai a valor2. Estes pares son separados cun coma, así como matrices normais. Con todo. Un Big. Chaves son opcionais. Non ten que usalos. E se non fai iso, entón é só normal. Pregunta? Ou, oh. Audiencia: Ben, sobre a dereita. Onde está a memoria vén? Tamén pode ser o mesmo como [Inaudível] e da pila? É que tamén usando PHP? Como cando estamos ligando-os? ALLISON Buchholtz-AU: Con PHP, non tenden preocuparse onde o noso memoria está a benvida. Non gastar moito tempo falando sobre iso, por iso non é realmente nada ten que se preocupar. Entón claves son opcionais. Do mesmo xeito, se non fai quero facer este asociado, só quere unha matriz normal, onde matriz cero é o primeiro elemento e unha matriz é a segunda elemento, pode facelo exactamente como faría en C. Ten algunha variable que será a súa matriz, e é igual a estes soportes aquí. Si. Audiencia: Será que ela ten a mesmo punto de notación. Tipo, podo facer como unha matriz ++, e que apunta á segunda. ALLISON Buchholtz-AU: Pode fazer-- Ben, pode que algún iterator, i, que pode facer i ++ e facer un matriz de i do mesmo xeito. Pero é iso. Así, como no presente caso, matriz de 1 sería igual 20. Mesmo tipo de notación de indexación. Esta é basicamente só unha cousa implícita aquí, onde el di que cero, cero a 10, de 1 a 20, 2 a 30. É só claves implícitas para el. O que cambia co PHP é que agora ten o poder reatribuído aquelas claves facer o que quere. Entón, unha cousa é aquí. Entón, eu teño só algúns exemplos aquí que escribín para vós porque eu sinto como exemplos sempre axudar máis que o resumo. Así, neste caso aquí, nós Ten algunha matriz asociativa que é o meu nome, o meu apelido, e eu estou facendo eco, que é só para todos os fins aquí vai imprimir á saída aquí. E di, Aceptar. Imprimir o valor que corresponde á matriz na clave Allison. E eu tamén pode enviar a vostedes todo este código despois da aula. Entón, cando executamos este, o que facer pensas que vai ocorrer? O que vai imprimir? Audiencia: O seu apelido. ALLISON Buchholtz-AU: O meu apelido. Fai. Ben aquí. Imprimir. Entón, se mudássemos iso e nós foron para engadir alguén á nosa lista-- Entón, digamos que temos Emma aquí, e nos asociamos a súa última nome-- A ver se eu deletrear ese dereito. Audiencia: Yeah. ALLISON Buchholtz-AU: Si. Audiencia: Bo traballo. ALLISON Buchholtz-AU: Lovely. Entón, agora, se temos isto aquí e queriamos atopar o seu apelido, tes iso aí. Entón podes só pensar niso como substituír esta chave aquí. Está só a substitución do índice. Entón, el permite que só busca a través dun conxunto moito máis fácil. Non precisa saber o índice. Mentres esa clave que está a buscar para existe nalgún lugar na matriz, PHP vai atopalo e ha volver o valor asociado a el. Por iso, dálle moito máis poder con súas matrices. Si. Audiencia: Se tes as dúas claves mesmo, será que vai darlle un erro? ALLISON Buchholtz-AU: É debe darlle un erro, si. Isto fai un pouco máis sentido para vostedes? E, do mesmo xeito, temos unha matriz aquí que non ten ningunha tecla. Tamén esta é unha sintaxe que pode querer ser consciente de, porque vai Ten que usar isto no seu pset. Sempre que está facendo unha echo, ten estas citas, e sempre que se está referindo a parte dunha matriz, ten que ter estes claves arredor deles. É medio aburrido, pero só ten que facelo. Así, só algo a ter en conta. Se está executando en erros de, Sei que iso existe na miña matriz pero está xogando erros para min, tente poñer as cintas en torno a el e debe funcionar. Polo tanto, neste caso aquí, este é un matriz normal C que estamos afeitos. Ten tres, cinco e seis, e nós só desexa imprimir o primeiro elemento, polo que debe imprimir tres. E eu execute de todo isto, polo que espero que nada cambiou. Vemos na parte inferior aquí, el só imprime tres. Legal. Isto ten sentido para todos? As matrices de asociación. Moito máis frío do que matrices normais. Este é entendermos que fixo David amosar-lle a posta en marcha de PHP pset6 durante charla en todo? Está ben. Entón, eu vou lle amosar. Non sei o que fóra do t-- Audiencia: Fixo a semana pasada. ALLISON Buchholtz-AU: Foi a semana pasada? Audiencia: Yeah. ALLISON Buchholtz-AU: Yeah. Entón ortográfico se pode facer en seis liñas, como con PHP, e parte da enerxía de que É esta matriz asociativa onde pode só premer cada palabra, e ten que igual a verdadeiro ou falso. E para que poida dicir, oh. Retorno dicionario nalgunha palabra, e se está alí, el pode voltar certo. Se non, non atopará el e vai voltar falso. Así, un tipo de cousa pouco fría. Todo correcto. Polo tanto, estas son as matrices de asociación. Son moi legal. Realmente me gusta deles. E, obviamente, isto-- Ah. Está ben. Agora que está a traballar. Quizais. Está ben. Outra cousa. Así, coa igualdade, a ser cousa legal para manter presente. Con PHP porque é ingresaran de forma dinámica, o tipo pode cambiar dependendo de cando executalo, como está executando-o. De feito, teño algúns cool exemplos que eu vou amosar para vós. Pero == só verifica a existencia igualdade tras tipo de malabarismo. Entón se ten algo que é como o personaxe e un número 1, PHP ía dicirlle que aqueles que son iguais porque poden manipular os tipos de dous deles ata que sexa igual, que quizais para o seu caso está ben. Se precisa ver se son o mesmo tipo de valor e do mesmo tipo, quere este ===. E eu creo que non ten ningunha caso en que ten que empregar ese na súa pset, pero para unha morea de vostede que vai continuar a facer páxinas web para os seus proxectos finais e as cousas, é bo saber que == e === son diferentes, e é unha boa distinción de entender. Está ben. So. Loops foreach. Son unha forma de iterado través dun array. Entón, así como matrices converteuse en moito máis legal en PHP, súa forma de interactuar a través dun conxunto, creo, tamén se fai moito máis frío e moito máis poderoso. Entón, en vez de ter que crear algúns para i é igual a 0 e todo, e logo, actualizar esta i como pasar por, temos ese loop foreach incrible. Entón aquí está o xeneral estándar estrutura destes dous. Entón quere ter algunha variedade foreach como o valor que quere interactuar como. Entón ese é o nome da matriz variable que quere facer referencia e isto é o que quere chamalo dentro do loop. Ok? Polo tanto, este corresponde a cada elemento da matriz, e usa ese valor dentro deste loop. Teño un exemplo. Sei que os exemplos son moito mellor. E así que é se existen sen chaves, de xeito que este é como se só temos un onde as claves son os índices normais para a súa matriz. Ou este tamén é o caso en si non ten ningún uso para as chaves. Se non se preocupan as claves e só quere para percorrer cos valores para cada un destes en calquera orde, iso é bo. Podes utilizar a estrutura. Se non, se hai teclas, o noso $ Valor só cambia a $ valor de clave. Por iso, só cambia a unha parella de valores clave. E entón, podemos referirnos a $ key e US $ valor dentro do noso loop. Ok? So. Exemplo. Facelo máis agradable. Está ben. Polo tanto, temos un agasallo aquí, que temos algunha é-- Tamén pode crear unha matriz como este por algunha variable igual a matriz con parénteses, ou pode só facer soporte. Ten que facer o soporte, pero esta é outra forma de facelo. Polo tanto, temos aquí algúns matriz de tres elementos de un, dous e tres, e temos o noso foreach. Teña en conta este corresponde ao matriz que estamos iterando, e iso é o que estamos chamando cada cousa na nosa matriz. E todo iso está facendo é que é vai imprimir cada valor. Entón, se nós executalo, entendemos que nós teñen valor un, valor dous, valor tres. E, do mesmo xeito que tipicamente matrices teñen que ser de un tipo, matrices non ten que todos ser do mesmo tipo aquí. Polo tanto, agora temos algúns int. Temos dúas cordas. Así, as súas matrices poden ser moito máis potente e quizais un pouco Messier pouco, dependendo sobre a forma que quere ollar para el. Así, podemos cambiar este para o que queiramos. Usan valor. Esta é só a cousa estándar que usan. Pero só importante saber que podemos chamar este contador como se quixésemos. E, mentres eles combinan, Obviamente, todo o mundo está feliz. Se quere realizar un PHP realizar algo parecido con este comando liña vostede sabe que este aquí, acaba de facer PHP, e logo, calquera arquivo que quere executar. Entón, se quere xogar con PHP, e máis a lóxica e realmente non precisa ver como nun navegador web, pode só executa-lo en na liña de comandos como esta e echo imprime o que quere que lle gusta. Está ben. A outra forma que temos é así. Polo tanto, este é un caso en que pode utilizar para usar tanto a clave e o valor, Sei que estas son como exemplos de super inventados pero eu espero que eles fan un pouco máis clara. Polo tanto, temos aquí algúns matriz de novo, pero esta vez, en vez de ter só vostede sabe que non hai ningunha clave. Temos claves para cada unha delas. Entón, un será un, b corresponderá a dous, e c corresponderá a tres. E neste caso, se nós escribilo lo deste xeito, temos acceso a ambos clave e valor de cada unha delas. Entón, cando executamos este, obtemos cada un deles. Entón, el imprime as nosas claves e os valores correspondentes. Outra cousa legal é que, e sei dixo como este non ten as chaves, pero sempre ten implicitamente unha clave, porque se non delegar unha chave, por suposto, o seu claves son só os seus índices ou índices para que puidésemos sempre tamén facer un regalo. Así. Vou imprimir. Polo tanto, neste caso, se observar, temos as nosas chaves implícitos de cero, un, dous e aquí. E do mesmo xeito con un presente, pode sempre dicir r como valor, e só ten acceso ao valor. Non lle importa sobre o chaves, aínda que o seu ten teclas, se non se preocupan eles, non necesariamente Debe poñer-los no seu loop foreach. Será que isto ten sentido para todos? Audiencia: Pode só chamar as claves, tamén? ALLISON Buchholtz-AU: Si, totalmente podería facelo tamén. De feito, espera. Aguante. sería ele-- No. Se queres a clave, a continuación, cómpre facer a clave para o valor. Audiencia: Engadir valor. ALLISON Buchholtz-AU: Yeah. E nunca usar o valor é todo. Audiencia: Aceptar. ALLISON Buchholtz-AU: Se só tes que poñer algo alí dentro, que vai asumir que está falando do valor, non a clave. Excelente pregunta. Todo correcto. Legal. De feito, espera. Déixeme ver o que eu teño. Entón, antes de entrar poste e conseguir, eu só quero mostrar a vostedes un pouco sobre como é dinámicamente ingresaran, o que é ben legal. Eu teño todo isto. Teño como catro exemplos aquí enriba, e eu vou enviar-lle todo este código despois da aula. Polo tanto, temos aquí algunha variable a. Isto é só 1 máis 1, non? E imos para imprimir o que é iso igual a, e entón temos algún tipo. E alguén ten algunha palpite sobre que tipo vai ser? Audiencia: Un int. ALLISON Buchholtz-AU: Si, é un int. Por iso, só engade-los xuntos. É un int. Todo de bo. Polo tanto, esta próxima, temos que parecen ser cadeas. Cando corremos tanto, el pensa, oh. Está realmente intentando só engadir cousas. Só quedou confuso. Entón, eu estou indo só para resolve-lo para ti. Quixo dicir int. Sei que quería dicir int. Polo tanto, esta é unha das formas que pode ver, PHP ten unha mente propia. Aínda que explicitamente dito, mira, estes son cadeas. Quero dicir a cadea un. Pero el di que, oh, pero estás a engadila los, polo que ten que dicir que é un enteiro. Só confíe en min. Por iso, di que é un número enteiro, e engade-los como normal. Entón legal se está indo para obter preguiceiro con súas cousas, ou se quere engadir algo. A gran pregunta é que si pensas que volta para pset2, algo que era usuario introducido, dereito, que pensamos é un char ou cadea en primeiro lugar. Agora non temos explicitamente digo, oh, fan deste un int. PHP sería como, oh si. Sei que significou un int. Parvo ti. Non quería dicir unha corda. Entón, nese caso, agora que temos isto, o que vostedes pensan que vai facer aquí? Temos unha corda e un int agora. Audiencia: Aínda é un int. ALLISON Buchholtz-AU: Aínda é un int. E a razón é-- eu colocaría máis exemplos, pero a diversión dun presente. A razón pola que está facendo iso é porque é como se está intentando engadir cousas. Entón, se está tentando engadir cousas, eu vou asumir, razoablemente, ten algo razoable que pode engadir. Eu estou indo só para facelo un int, e nós só estamos indo a engadir lo, como de costume. E, a continuación, do mesmo xeito, I creo que vostedes comeza a idea. Tamén temos este aquí, que é só carboniza, e fai o mesmo. É como, vostede parvo usuario. vostede sabe que quere un int. Audiencia: Se colocarmos unha carta, vontade fai o valor [inaudível], ou non? ALLISON Buchholtz-AU: Oh, que é unha boa pregunta. Imos ver. Non, aínda é un int. Polo tanto, é un pouco tolo. Esta é só unha especie de mostrarlle PHP ás veces pode comportarse de irrational-- Non totalmente irracional, pero pode comportarse de formas que realmente non espera. Así, cando en dúbida, comprobe tipo de cousas. Esta función gettype pode ser super útil. Normalmente, se está facendo algo con puntos positivos ou calquera operadores matemáticos, que vai asumir nada razoable é só un int. Entón, ten de char 1, ou un secuencia 1, ou o real int 1, que vai asumir iso. Se quere distribuír os papeis calquera cousa, pode totalmente. Podería facer algo así dobrar aquí, eu creo. E, nese caso, que vai dicir: oh. Vou facelo porque un dobre ti explicitamente dixo que é unha parella. Sempre poderá explicitamente facer PHP facer algo, pero. Audiencia: Agarde, por iso é un plus un alí? ALLISON Buchholtz-AU: Oh. Alí. Era só un eco. Esa foi a miña culpa. Así, pode dicir explicitamente que a facer algo dun certo tipo, pero a maior parte do tempo, que vai decidir dinámicamente que en tempo de execución. Entón, que vai manter a atravesar e que vai ser como, Aceptar. O que fai máis sentido para que isto sexa? Debe realmente ser unha cadea? Debe ser un int? Se é unha boia? Debe ser unha parella? E vai decidir isto por ti. Vostede pode forza-lo a facer o que quere, mas- Audiencia: Será que o fan máis lento? ALLISON Buchholtz-AU: Ben, Quero dicir, C é moi eficiente. Creo que é sempre máis lento porque ten para o proceso de como vai. C, teño case seguro de que é máis rápido. Pero, obviamente, hai unha chea de cousas legais en aquí que non temos que se preocupar. Entón, se estamos a buscar a través dunha matriz, nós Non ten que realmente crear algunha investigación a través da matriz. Podemos só pedir a clave e PHP vai coidar del. Legal. Impresionante. Parece que o fin dos meus exemplos. Vostedes nunca van esquecer iso agora. Vai ser como, oh, PHP é só como a nai que é como non, non, non. Sei o que quere dicir. Sei o que quere. Está ben. Polo tanto, esta é, espero, útil para a súa pset, polo menos en principio, porque é todo sobre como tratar con formas e cousas do usuario. Polo tanto, hai dúas formas que nós pasar arredor de información con PHP e HTML cando estamos pasando entre esas dúas cousas. Polo tanto, temos $ _GET, que é pasado a través da URL, e temos $ _POST, que é pasado na mensaxe corpo, e por iso consideramos que é escondido. Pero unha cousa a entender é que ningún destes son considerados seguros. Se tes alguén que é interceptando as mensaxes que van adiante e cara atrás entre vostede eo servidor, eles aínda poden obter estes datos. Eles só ten que mirar un pouco máis difícil. Non é realmente isso-- é só oculto da URL. É aínda no corpo da mensaxe, porén, por iso, se eles teñen acceso a iso, é realmente só como-- É como a diferenza entre algo sendo escrito na parte exterior do un ser sobre e algo escrito sobre un anaco de papel para dentro. Non é tan difícil de abrir o sobre e obter o anaco de papel no interior. Seguramente, sería moito máis fácil acabo de ler o exterior. Pero isto é como pode tipo de pensar neles. Ningunha destas son realmente considerado seguro. Ok? Concedido, realmente non importa ao seu pset porque non está lidando con segredos comerciais, pero é tipicamente un cousa que realmente quere salientar, porque a xente pensar, oh, así, é escondido. Debe ser super seguro. Non. Non é seguro. É só un pouco menos insegura, eu creo. Ou non seguro. Entón, nós realmente temos un exemplo. Como vostede sabe, eu amo ensinar máis con exemplos. Eu sinto que iso axuda mellor. Entón, nós temos algunha maneira simple aquí que, en realidade, se vostedes están sempre confuso sobre PHP, este é realmente pequeno, pero é, en realidade php.net realmente boa documentación. Realmente me gusta del. Eu estaba usando-o para prepararse para esta sección, para que eu poida lo veterinario para ti. Este é un exemplo a partir deles sobre como $ _POST e $ _GET traballo. A única diferenza entre os dous destes, ademais de onde a información é amosa, se é na URL ou no corpo, é tamén que o método é. Así, no seu formulario para HTML-- Este é unha forma de HTML moi sinxelo. Alguén me pode dicir o que fai? Audiencia: Pregunta ao seu nome e idade. ALLISON Buchholtz-AU: Exactamente. Entón, nós temos algunhas accións de formulario. Isto nos permite saber que é algún tipo acto. E o que vai pasar é, cando bateu Enviar, vai chamar action.php, que é o que é iso, e vai chamalo cun método de $ _ POST. Polo tanto, neste caso, o seu información está oculto. e é só o seu nome, algúns tipo de entrada chamado nome, algúns idade, input type = "text", que tamén chamamos idade. E entón, se se loita en Enviar, Enviar chamará action.php. Entón, cando nós realmente bateu presentar, nos sabe que publicou, por si só, e nós imos realmente ver iso no seu conxunto de problemas que espero que nos atopemos comeza a camiñar por un pouco. E todo o que está facendo aquí é POST é algunha variable superglobal que falamos durante a charla. E como pode pensar en $ _POST é que é só unha matriz asociativa. Ok? Polo tanto, esta é unha chave, esta é algunha clave, e calquera que sexa a entrada do usuario pasa a ser un valor para cada un deles. Ok? Entón, se fósemos escribir o que esta matriz realmente parecía despois que o formulario, que faría ter, este é o noso $ _POST, e algúns array onde temos algún nome. Nós só dicir que vou facer o meu nome, e entón temos algúns idade, 21. Woo. Entón, iso é todo o $ _POST é. $ _ POST é só unha matriz asociativa, OK? El só di, Aceptar. Cales son as cousas que nós pediu do usuario? Cales son as variables que estamos pasando en torno a que se require para esta forma? E entón o que son as valores asociados a iso? Polo tanto, neste caso, se eu someteu cun nome de Ally e unha idade de 21 anos, iso é o que $ _POST parece. Ok? E iso é o que este Arquivo PHP ten acceso. Todo certo? Polo tanto, neste caso, trátase só como recibindo calquera outra cousa da nosa matriz. En vez de un índice na nosa array, temos algunha clave. Entón, iso vai dar me o valor en nome da chave. Entón, iso vai ser Ally, e iso aquí me vai dar o valor de US $ _POST onde a clave é idade, que será 21. Vai ser facendo iso un pouco. Si, a partir do cal parte? Audiencia: Cando era apuntando cara á parte inferior. ALLISON Buchholtz-AU: Esta parte inferior? Está ben. Entón, entende que é o noso HTML formar, e temos algún método $ _POST, que importa. Isto tamén podería ser de US $ _GET, pero para estes efectos, nós só estamos indo a dicir que é $ _POST. Cando enviar este formulario, este é parte dun ficheiro PHP que se chama. Polo tanto, este ficheiro PHP está indo agora para realizar dada a información do noso HTML formulario. Entón o que está facendo é, cando nós Enviar bater no formulario HTML, está pasando-lle esta superglobal, que é só unha matriz asociativa. É iso. É como pasar isto para o ficheiro. E o que di é: OK, aquí está o $ _POST. É a súa matriz asociativa. Facer con el o que queiras. E nós estamos dicindo, Aceptar. Dáme o valor polo nome, e me dar o valor en idade. Entón, estas son só as teclas, e esta é a nosa matriz. Será que isto ten sentido? Audiencia: Mhmm. ALLISON Buchholtz-AU: Awesome. Audiencia: Se ten de volver a presentar o forma tan só escribir sobre os datos? ALLISON Buchholtz-AU: Yeah. Mhmm? Audiencia: Por que ten para especificar que é un int? ALLISON Buchholtz-UA: Neste caso, o usuario está só forzándoo a ser un int. Audiencia: Aceptar. ALLISON Buchholtz-AU: eu non sei se realmente precisa que, pero para os seus propósitos, decidiron que querían que fose un int. Están só typecasting-lo. Quizais eles están usando-o como outra cousa máis tarde. Este é só un fragmento. Si? Audiencia: E se eles ingresaran 12, T-W-E-L-V-E, para a idade? ALLISON Buchholtz-AU: Se eles intentou escribir isto como un int? Audiencia: Yeah. ALLISON Buchholtz-AU: I esquecer o que fai. Coido que podería tentar converter o primeiro personaxe a un int, ou ter o valor e converterse iso, pero eu esquezo o que. Sexa unha cousa divertida de escribir un programa e probar. Fai algunhas liñas. OK, entón que é un dos principais as cousas que vai estar facendo. Vou andar espero a través dun par de arquivos do pset convosco. Parece que imos ten tempo, para que poidamos facelo. Pero vai ser facendo unha morea de cousas como este, onde está pasando cousas dun formulario HTML para esta forma PHP que pode, a continuación, realizar un conxunto de instrucións sobre os datos que foron facilitados. Isto é, literalmente, a esencia do seu pset. Si. Audiencia: The type = "submit", que fai un botón no formulario HTML. Existe unha maneira de chamar que o botón de unha cousa? Entón sería como name = "submit"? Ou é este botón só será baleirar agora, porque só deulle un tipo, non un nome. ALLISON Buchholtz-AU: Creo que é só vai estar baleiro no momento. Podemos definitivamente ollar no pset, porque en definitiva estar a ollar para o Rexístrese tipo de cousas. Pero si, definitivamente pode especificar o texto que quere no seu botón. OK, entón SQL. Cando está a mercar e ver accións, Debe manter o control destes. Entón, o xeito que nós imos facer é que co SQL, que é só unha base de datos. Pense nisso como unha mesa onde está mantendo toda esta información sobre os seus diferentes usuarios. E vostedes son realmente vai crear un destes. É moi legal. E hai só catro cousas principais que precisa saber para este pset, e son de actualización, para que basicamente actualizar os datos. Isto supón que xa está aí. Se non está alí, que vai a baterlle con un erro, entón quizais queira dar un ollo. E vai actualizar on-- I debe verdade- teño tempo, Vou escribir un par destes. Realmente vai dar a vostedes un par de mostra, comandos SQL completos, porque estes son só o principal queridos, pero pode xuntalas. Entón, eu vou facer iso e vou enviarlle que para ti con esas notas. Entón, se quere actualizar algo, Debe dicir a el o que está a actualizar e onde está a actualizar-o. Así, un comando SQL típica sería actualización ID onde algo é igual a algo. Ou como enderezo actualización onde ID é igual a 3, e iso iría actualizar o campo enderezo do seu usuario que ten unha identificación de tres. Ok? Entón, se vai para SQL e W3Schools, eles teñen exemplos impresionantes. En realidade, eu podería tirar algúns ata aquí a pouco. E, a continuación, inserir, que é só inserción de determinados valores alí. Entón, se está tentando crear algunha nova entrada, entón está creando un novo usuario, podería facer inserción en calquera que sexa a súa base de datos se chama, e que tería todos estes valores. Entón tes selecto, seleccionar valores para ver. Entón, se está tentando comprobar a ver se un usuario existe ou está intentando coller específico información sobre un usuario vai estar a usar select. E, a continuación, eliminar, eu creo, é moi sinxelo alí. Só está excluíndo algo desde a táboa. E, de feito, déixeme realmente tirar algúns exemplos para vós. Ah, mira, é a miña páxina 61. Entón, se imos a W3Schools, espero que sexa novo. Si, o amor. Imos para SQL. Entón, iso é algo aquí. Entón, esa é unha forma moi simple SELECT. Cara, eu amo esa función. Así, pode ter seleccionar algún campo dos clientes. Neste caso, os clientes refírese a base de datos en liña que está a usar, así que o seu cadro chámase, e estrela significa só seleccionar todo. Dáme a cada un. Entón, eu só quero dar a vostedes unha algúns exemplos de onde iso é. Polo tanto, temos SELECT, UPDATE. Entón aquí é o tipo de sintaxe xeral. Entón actualización, calquera que sexa a súa nome da táboa e, a continuación, definir é o lugar onde está indo realmente ser o que os datos que está cambiando. Polo tanto, este podería ser-- Permitir me dar un exemplo aquí. Entón, iso vai ser-- Está ben. Entón, eu criei un pequeno banco de datos para nós. Nós imos ter algunha identificación, algúns anos, e algúns nomeados. Entón ID será un ano de '15, e nós só estamos indo a facelo de min. Quen quere ser a segunda persoa na nosa mesa? Calquera. Eu só vou escoller Emma porque rápida do seu nome. Emma, ​​que ano está? Audiencia: Que ano? ALLISON Buchholtz-AU: Yeah. Audiencia: '16. ALLISON Buchholtz-AU: '16. Só vai ser miña cobaia para hoxe. OK, entón temos estas dúas persoas. De feito, déixeme facer isto. Imos dicir que eu a oín mal, e eu de feito, dixo que é un ano máis novo. Ela é '17. O que queremos facer aquí, se nós quería actualizar ano Emma estar correcta usando este, o que tiñamos facer é que diría que actualizar datos ata aquí. E todo iso pode estar nunha liña, pero dende que eu estou a presión para o espazo aquí, Vou escribir aquí. E queremos definir. Polo tanto, esta é a mesa que está a actualizar. SET será o que columna ou cales os datos que estamos realmente cambiando. O que está cambiando é o ano, de xeito imos dicir SET ano = 16, e entón onde nos di que o usuario ou que liña que estamos realmente actualizar isto. Entón, onde? Temos dúas opcións aquí. Cales son os dous? Estes son únicos, non? Así, os nosos nomes son únicos e noso ID é único, entón o que son as dúas opcións onde poderiamos facelo? Vou darlle un. Poderiamos facer Where ID = 2, ou podemos facer o que se imos apagar ese paradigma aquí. Audiencia: [inaudível]. ALLISON Buchholtz-AU: Exactamente. Así, poderiamos tamén facer name = Emma. E calquera deles ía funcionar. E nós corremos este, que sería como, Aceptar. Nós imos cambiar isto. Vostede é, en realidade, 16 anos, entón agora está certo de novo. OK, entón iso sería super útil na súa pset onde quizais alguén decidiu para mercar 100 accións de Apple, e logo, eles eran como, só a xogar. Eu só quero 90 partes. E así que vender 10 deles, para que que actualizar a cantidade de stocks que teñen. Entón, a actualizar os stocks, actualizar a táboa. Está ben. Entón, iso é un exemplo alí. Esta é a sintaxe de actualización. DELETE. Oh. Inserir na nosa é outra. Entón, este aquí é moi semellante. Poderiamos simplemente dicir, neste caso imos engadir alguén. Podemos engadir Ben ese tempo. Nós INSERT INTO, e nós quero o nome da nosa mesa. Neste caso, é de datos. E entón nós só queremos, vai VALORES dicir, eo que vai facer é, en realidade ten que estar seguro de que ten algo para cada liña que quere. Simplemente poñelos en orde. Polo tanto, neste caso, diriamos 3. Ten 18 anos, Ben non? Audiencia: 19. ALLISON Buchholtz-AU: 19? Audiencia: 19. ALLISON Buchholtz-AU: '19 do seu ano? Vostede se forma en '18, non? Audiencia: Oh. ALLISON Buchholtz-AU: ano da graduación. Audiencia: Aceptar. ALLISON Buchholtz-AU: Eu era como, está xa planeando tirar un ano aquí? Entón, '18, temos Ben. Polo tanto, neste caso, ía pasar por, que ía crear unha nova entrada aquí. Legal. Non é tan malo, non? Unha morea de que isto vai ser sintaxe para vós. Conceptos debe vir, espero que, con relativa facilidade. A sintaxe é o único que pode ser un pouco complicado. E entón o noso último é DELETE, e como entende, Recomendo este sitio. É xenial. Hai unha tonelada de cousas. Así, do mesmo xeito que tiñamos algúns Update, Delete é moi semellante. Pola contra, temos Eliminar datos. Polo tanto, neste caso, o noso último que eu vou escribir aquí. Digamos que quería eliminar. Non podo escribir hoxe. Eliminar desde calquera mesa na que estamos, de datos. E en realidade hai tres formas poderiamos escoller para me eliminar. Podedes dicirme o que os tres formas son, como podería me borrar? ID é igual a 1, onde ID é igual a 1. Poderiamos facer en ano é igual a 15, ou en que o nome é igual a Allison. por suposto, non son só tres formas diferentes, porque estes son todos orixinais. Tipicamente, na súa mesa, e, sobre todo, na súa pset, vai establecer un dos estas columnas de ser único. El probablemente vai ser un único ID número porque se realmente have--, el realmente pode deixar de ter dous. Non me lembro se vai deixar ten dous o mesmo. Audiencia: A continuación, el tería cambiar o seu comportamento. ALLISON Buchholtz-AU: El faría. Isto vai causar un comportamento que é inesperado, que realmente non pode prever. Entón, vai definitivamente ter unha columna na súa base de datos que será único, e é, xeralmente, pode definir lo para que el é como unha identificación única, e ela só vai actualizar todo vez que inserir na táboa. Cada vez que crear un novo liña, el será automaticamente incrementar e darlle algún ID único. Entón información para o seu pset. Está ben. Así que é SQL. Entón, agora imos falar sobre o último, o que se coaduna realmente moi ben co seu pset, se ía para adiante. Entón, MVC, controlador de vista do modelo. Isto é realmente só unha forma para manter as cousas organizadas. Igualmente con C pedimos que vós para crear funcións e cousas separadas fóra, esta é só unha forma de separar código cando está facendo desenvolvemento web. Por iso fai as cousas moi máis elegante e simplificada, e este é realmente o camiño que o seu pset é realmente configurar, polo que se desexa ou non, está indo a aprender, mesmo se non cre que está a aprender. E unha cousa é, el tamén permite que facer moito máis como unha colaboración do usuario. Entón, cando eu tomei CS50, eu fixen un sitio para o meu proxecto final, e eu era como, eu vou manexar o material da base de datos. Vou facer de volta o material final, e meu compañeiro de cuarto que eu estaba tendo con el era moi artística. Ela fai escenografía, e ela quería facer todo bonito. Entón eu son como, Aceptar. Pode coidar de todo o material front-end. E a cousa é, como veremos moi pronto, este controlador de vista do modelo permite que separar completamente este código tan que eu podería traballar en implantación das nosas páxinas, e manipular información na nosa base de datos, e ela só podería facer as cousas fermosa, e nós dous estabamos moi felices, porque temos que facer o que nos dous queriamos e nos non ter que xestione o outro. Entón, nós saïamos xuntos. Nós gústanos de saír. Eu simplemente non quería tratar con todo o CSS e outras cousas HTML. Estaba como, facela fermosa. Vou tratar con a base de datos. Entón temos que realmente legal, gran mesa pequena. Eu amo táboas. E, basicamente, o modelo pode pensar é só a súa base de datos. Eu era o modelo de persoa ao meu proxecto. É todo sobre o almacenamento de información e organización de datos. Por iso, é o que nos gusta de chamarse de volta final. Entón vostedes van estar lidando con a base de datos SQL e os arquivos de datos. Ese é o seu modelo. O seu punto de vista, como pode pensar, tipo de sentido, é o que o usuario realmente ve. É a interface de usuario. É este compoñente para adiante. Entón é iso que o meu compañeiro de cuarto ten que traballar todo o tempo. Ela estaba super feliz. Entón, iso é todo do HTML, e hai moi pouco PHP. Se só está falando o que está a ser exhibida para o usuario, estamos a falar de hipertexto. Estamos a falar de como se parece. Non estamos falando de lóxica, ou condicións, ou outros enfeites. Todo iso queda manipulados polo controlador, OK? Entón, que trata sobre as solicitudes do usuario e obtén a información. Entón, unha cousa que ten que saber sobre seu pset é que, nos seus puntos de vista, todo o que é, en realidade, visualización de información nunca debe ser tomada chamadas ao seu modelo. Todo o que é tratada no seu controlador. O seu controlador é aquel mediación entre estes dous. El vai pedir o modelo para determinadas informacións. Pode interactuar sobre que información, descubrir o que realmente precisa el, o que facer con el, e entón el vai pasar só a información de que Debe o punto de vista para ti imprimir lo fóra ou amosar-lo ao usuario, OK? Porque vemos a vista como todo o que está virada para o usuario, polo que vai ser moito máis fácil para eles para descubrir, Oh, se está facendo algunha chamada ao seu modelo e está pedindo a todos os usuarios que comezan coa letra A, e está facendo que, na súa opinión, quen pode ver a súa páxina web pode potencialmente acceder iso. Non necesariamente quere iso. Non quere que a xente vexan máis na base de datos do que o que eles deben estar a ver. Só as preferencias específicas. Así, o controlador manipula todo isto. Así, todos os seus arquivos .PHP que veremos pode considerar os seus arquivos do controlador. E é aí onde está realmente será pedindo as cousas do seu banco de datos, e iteración ou manipulando como necesario antes pasalo para ser vistos. É un pset moi legal, na miña opinión. Creo que é un pouco máis como gratificación instantánea, porque implementar un chea de pequenas cousas pequenas, e cada cousa debe funcionar por conta propia. Non lle gusta, facer todo e despois ver se funciona. Como con software onde é como, eu son realmente esperando que este é seguro, porque se non é, hai un gran número de pon podería estar mal. Todo correcto. Só ten que ter a certeza de que eu dixen todo o que eu precisaba dicir sobre MVC. Si. Legal. Así, en CS50 Finanzas, temos noso modelo, como dixen aquí. Será MySQL e phpMyAdmin. Podo definitivamente tirar os ata entón vós ten a oportunidade de ollar para el. Como dixen antes, o SQL base de datos actúa como o seu modelo, e pode enviar o que chamamos consultas, que son só estes tipos de cousas. Estes son chamados de unha consulta. Esta é unha consulta, onde é só pedindo a súa base de datos para algo, ou está cambiando o seu base de datos, dalgún modo. Isto é todo o que é. E fai iso co funcións que lles demos aquí. Tamén pode manipular los á man vía phpMyAdmin, que definitivamente podemos dar un ollo. Vou crear unha mostra base de datos con vós. Está ben. Así, o controlador. Polo tanto, neste caso, se previo aviso, todo isto é PHP. Teña en conta que é unha especie de seu principal cousa da súa controladora é que deberá ser principalmente o PHP. Se ten HTML no seu controlador, realmente non sei o que está pasando alí. Igualmente, como dixen, se conseguen [inaudível] co HTML, Estou moi interesado. Entón o que temos aquí é que ten algunha consulta. A consulta é unha función que nós construímos a vós. É como un envoltorio para facer consultas para o seu banco de datos un pouco máis fácil. Se non ten iso, a sintaxe para en realidade, falar co seu banco de datos SQL sería diferente, por iso, só fornece-lo para vós. Nós gústanos facer a vida fácil. Polo tanto, neste caso, vostedes poden me diga o que esta liña está facendo? SELECT * dalgunha mesa. Audiencia: Seleccione todo dende esta táboa. ALLISON Buchholtz-AU: Exactamente. Entón está dicindo, dáme todo dende esta táboa. E está almacenando o en algún resultado variable. E iso, di, se o resultado non é igual a falsa, entón o que facemos cada un iso. Entón, se non hai nada aquí, se o mesa de baleiro ou simplemente non existe, vai voltar falso. Polo tanto, neste caso, estamos só facendo Asegúrese de que algo estaba realmente devolto a nós. E entón, aquí temos noso loop foreach gran que estamos interactuar sobre o noso resultado, e nós estamos chamando-liña, e dicimos facer este modelo onde os seus datos é este resultado. Ok? Entón, é só o procesamento a liña do resultado. Se non, el grita. Entón, este é un exemplo do controlador. Como verás, este é o só lugar-- Si, desculpe? Audiencia: Por que hai un e comercial antes de liña? ALLISON Buchholtz-AU: Un comercial antes da liña. Estamos só repetindo. Isto tamén é un enderezo de-- Audiencia: Entón, é como C referencia. ALLISON Buchholtz-AU: É asegurarse de que está realmente modificando o orixinal e non unha copia. É do mesmo xeito con C, onde estamos pasando por referencia aquí, só para estar seguro. Audiencia: Non é == no canto de non = en PHP? ALLISON Buchholtz-AU: Non é o ==. Audiencia: Por igual en C é apenas-- ALLISON Buchholtz-AU: Non é só =. Si, non. Non é ==. Porque == en PHP verifica igualdade con alternancia, concedido, pero a calidade extra. Entón, non é == en PHP. É un dos poucos diferenzas de sintaxe. Si. Entón, nós estamos só repetindo a través de cada liña, e render, se vostedes ler a través do seu spec, é só unha outra función que se realmente vai procesar todo o HTML e amosar-lo na súa navegador para ti. Está ben. Entón, nos gusta de pensar dos seus controladores como o que trata sobre a lóxica de negocio. Como pode ver aquí, aquí é onde estamos tendo os nosos datos a partir da táboa, estamos procesando el, dalgunha forma, e entón nós estamos pasando-off. Cando facemos prestar algún modelo, algún modelo é o noso punto de vista, e estamos pasando só os datos que debe estar. Non todos os datos. Só os datos que queremos que chegar. Ok? Basicamente os datos despois do procesamento. Polo tanto, este é o punto de vista, este é o modelo de suma que temos, e todo iso está facendo é, pode ter un pouco de PHP na súa opinión. Non é como se un non PHP en vista. Debe só ter moi PHP mínimo, para, e nunca debe ser consultar na súa opinión. Vostede non debe estar falando para o seu banco de datos na súa opinión. Esa é a gran diferenza. Entón, o que está pasando aquí é que temos PHP que está interactuando a través da liña. Polo tanto, neste caso, xa que foron iterado cada liña e prestación de algo, iso foi probablemente como unha matriz bidimensional onde temos algunha liña que é, en si, unha matriz, porque estamos interactuar por iso de novo. E nós estamos só imprimir o nome da liña, a continuación, acabar con ela. Non debe ter iso no foreach. Nunca vin isto antes, en realidade. Eu só fago o foreach. OK, entón esta é a vista. A ver se podemos camiñar a través un pouco de súa pset. Temos 15 minutos, entón eu estou seguro que rapaces gustaría que máis que rematando antes. Déixeme ver se podo traer iso. Entón, eu non sei cantos de vostedes xa baixei e aínda outros enfeites, pero temos nome de usuario aquí, e temos algunha contrasinal. E, por desgraza, a dereita agora a base de datos está baleiro, entón nós realmente necesitamos para crear unha base de datos. Ben, iso é raro. Non esperaba isto. Erros técnicos. Dificultades técnicas. Temos algunhas pset7. Legal. Entón, unha cousa que pode facer é, con un query-- vou crear unha táboa. Polo tanto, este será o que users-- pode facer aquí é, si temos some-- Realmente agora? Está ben. Obviamente, eu non estou facendo tan quente. Oh. Sei por que. Porque eu nunca creou miñas táboas reais. Entón, cando comeza con unha base de datos, ten obviamente ten que decidir cales son os as cousas que eu preciso ter aquí? Entón, se nós simplemente saír nosa táboa de datos aquí, tivemos algunha identificación, que pode só estar un int. E se miramos para aquí, non hai unha cousa legal isso-- índice Entón. Se fai primario, que vai facer a cousa que a súa táboa está organizada por, e que tamén pode facelo único. Polo tanto, neste caso, nós imos facelo primario, e eu vou facer este nome, entón imos facelo un varchar como de 26 letras, porque por que non? E entón podes ir a gardar, a continuación, se ves, temos algúns usuarios aquí. Entón, se nós queriamos facer unha inserir, poderiamos facelo Desta forma, ou se quería práctica co seu queries-- Oh neno. Nunca usei iso en sempre. Aproveito esta volta. Pode modificar esta no seu propio país ou só inserindo manualmente información con algo parecido, ten pode cambiar calquera destes se quixese make-- Se quere de súpeto se librar de nome, pode caer, pode facer todas estas cousas. Se precisa de cada vez cambiar manualmente súa táboa, Eu suxiro facelo en phpMyAdmin contra intentando para descubrir o SQL consultas en xeral. Cando iniciar o seu pset, vai ter que traballar aquí, así se acostumar con iso. E entón cando realmente quere para introducir as cousas no seu mesa-- Realmente me pregunto onde é dicir, porque there's-- Aquí está. Iso é o que eu quería. Entón, se vai para SQL, podería realmente ver, como vemos aquí, temos consultas SQL. Entón, se nós quería escoller algo ou se quixésemos introducir algo, podemos facer inserir na usuarios, non? Creo que ten que a barra invertida. Unha cousa a saber é que, se está sempre a usar iso, ten que usalos de volta apóstrofos, que son tipicamente, se está en un Mac, logo enriba guía. Así, unha boa cousa para saber. Pode introducir os usuarios, e temos os nosos valores, non? Polo tanto, temos valores e os nosos valores neste caso, sería só, só temos un ID para que podería facer un, se quixésemos. Isto é raro. Está ben. Entón, iso é só como unha breve pouca cousa co SQL, pero pode ser máis útil para realmente ollar para algúns dos arquivos aquí. Entón, vai a Descargas. Ah, e non de descargas. Así, só unha rápida pasaxe o que está en cada unha destas carpetas. Inclúe, só temos cousas que configurar o navegador, temos esas constantes, e temos estas funcións. Se vostede está interesado en ningún deles, Recomendo ollar funcións. Un deles que é super útil, en realidade é esta aquí, de desaloxo. Entón, se usa isto, vai realmente só imprimir calquera que sexa variable que desexa que el. Entón, se está a ter problemas para descubrir o que esta matriz se parece, ou o que estes datos realmente, como é formatado, esta é unha gran cousa para usar. Especialmente cando ten un usuario con accións múltiples, este será algo grande para usar. Porque se pode formatted-- Sei que polo menos para min, cando eu fixen este pset, foi formatado de forma que eu non tiña moito esperar. Entón eu estaba tentando iterado el e intentando manipule, pero eu realmente non entender o que eu estaba facendo. Entón, se só despejo-lo, que vai imprimir lo para o navegador, e podes ver exactamente como é formatado. El normalmente vai imprimir lo como un matriz con súas claves e os seus valores. Por iso, pode axudar alí. Tamén pode axudar a facer Asegúrese de que vostede é realmente agarrando os datos penso que eran. Entón, se fose como, miña mesa definitivamente di que hai un usuario con ese ID, pero cando vai para despexar o variable, non está alí, vostede obviamente sabe que é onde un erro será. Esta é unha das mellores ferramentas para depuración, na miña opinión. E despois hai unha par de outras cousas aquí, pero a maior parte, esa é a que quero chamar a súa atención, porque é moi útil. Público, o que temos aquí é, dicir todas as nosas cousas CSS. Entón, CSS, fontes, as nosas imaxes, outros enfeites. Isto é todo o que non ten que modificar. Podedes pensar que esta ten cousas como CSS nas fontes, iso sería un modelo, ou unha visión, ou un controlador? Audiencia: [inaudível] ALLISON Buchholtz-AU: Sería ter máis dun punto de vista, non? Iso é manipulación de todos cousas, como están as cousas. Entón, se abrirmos este aquí vemos que todo o que está pasando aquí é que estamos facendo algo. Ok? Entón, iso sería moi cualificar-se como unha visión para iso. Polo tanto, esta é só tomando algúns, está chamado algúns portfolio.php que temos, e está pasando en título e carteira. E está só facendo iso. En realidade, eu retiro o que dixen. Este é un controlador porque renderse, recorda, fai a vista. Así portfolio.php neste caso sería o seu punto de vista. Sentímolo, persoal. Portfolio.php será o seu punto de vista, e iso sería só ser o seu controlador para iso. E se derme un ollo neste último aquí, modelos, modelos son os seus puntos de vista aquí. Polo tanto, se miramos, obviamente vemos unha morea de HTML aquí. Entón, este é só dar a coñecer o que a páxina de inicio de sesión debe ser parecida. Entender que ten algunha formar grupos, teñen someter. Vexa como decidir que Amosarase na alí. Ten algún tipo de botón = "submit", e entón tes o que quere para amosar o botón. Entón é así que desexa facer isto mostrarse como o que desexa. E vemos aquí temos algúns nome de usuario, contrasinal algunha, e cando nós realmente bater Enviar, que será algún post, e que vai publicar o que? Cal é o controlador para este punto de vista? Cando bateu presentar, o que vai ser chamado? Sabemos? É aquí, entón login.php. Algo que vostedes son vai aplicar. Así, sempre pode dicir o que vai ser chamado despois de bater Enviar por esa primeira liña aquí. Que a acción é forma. Cando este formulario é enviado, cales as medidas que imos tomar? Chamamos login.php, e nós chamalo con este método de post, que ten a información ocultas. Ok? Polo tanto, este é o seu punto de vista, e entón, obviamente, se fomos a login.php-- Do temos aínda? Si. Así como podemos ver aquí, este ten moito máis lóxica. É todo o noso PHP aquí. Estamos tentando ver se era $ _GET, se foi de US $ _POST, valida as cousas, consulta, todo este material. Entón estes son só os tres cousas distintas aquí. non ten que cambiar as cousas. Estará creando cousas no molde, posiblemente, pero, tanto como o HTML ou o styling de nada diso vai, pode deixalo como simple ou tan complicado como desexa. Algunhas persoas están realmente para el e facer algúns sitios moi impresionantes. Non ten que facelo. Se ten tempo, é unha cousa moi legal. Pode xogar con CSS e HTML e comezar unha sensación moito mellor para el, pero non se senten presionados a. Hai moito para facer o back-end coa implementación de login, e rexistrar, e todas esas cousas. Polo tanto, agardamos que axuda un pouco. Vostedes teñen algunha dúbida sobre calquera cousa que teña ido máis, outros recursos? Vou mandar todos meu exemplo de código PHP para vós, e logo, Sinto-se libre para tomar imaxes ou outros enfeites deste. Tamén é en liña. Sempre pode só ver de novo. Entón, se é iso, todo ben? Si. Audiencia: Eu só quero para confirmar, cando estamos facendo select en SQL, o estrela significa todo, non? ALLISON Buchholtz-AU: Si. Audiencia: E entón se non ten a estrela, se quere tomar a partir dun determinado liña, entón acaba de poñer o nome de-- ALLISON Buchholtz-AU: O nome da cola eo que quere quere o valor de. Audiencia: E entón a data. ALLISON Buchholtz-AU: O que quere que está a buscar, si. Do mesmo xeito, se fai Borrar * from algunha mesa, que vai borrar todo. Así, * é só un salvaxe tarxeta para todo. Audiencia: Aceptar. ALLISON Buchholtz-AU: Cool. Impresionante. Ben, temos unha gran luns rapaces. Vexo vostede na próxima semana. Boa sorte na súa pset.