1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Então, em nossa vídeo sobre a sintaxe PHP, 3 00:00:07,620 --> 00:00:10,480 nós conversamos muito sobre como PHP pode ser usada na linha de comando 4 00:00:10,480 --> 00:00:13,620 para executar programas de uma forma que estamos bastante familiarizados com a partir de C. 5 00:00:13,620 --> 00:00:15,370 Mas, como eu também mencionou em que o vídeo, o PHP 6 00:00:15,370 --> 00:00:19,572 foi inicialmente desenvolvida para aplicar a programação web, websites. 7 00:00:19,572 --> 00:00:21,780 E assim, neste vídeo que estamos vai falar sobre como nós 8 00:00:21,780 --> 00:00:23,890 usar o PHP no contexto do desenvolvimento web. 9 00:00:23,890 --> 00:00:26,360 >> Sabemos, já, a partir de nosso vídeo em HTML, 10 00:00:26,360 --> 00:00:29,820 que os sites são construídos fora de um conjunto de tags HTML 11 00:00:29,820 --> 00:00:32,850 que definir semanticamente a estrutura de uma página da web. 12 00:00:32,850 --> 00:00:35,910 Mas sites que são construídos com HTML puro 13 00:00:35,910 --> 00:00:39,510 sofrem de uma muito, limitação muito grave. 14 00:00:39,510 --> 00:00:42,690 >> E para ilustrar essa limitação, vamos considerar o seguinte. 15 00:00:42,690 --> 00:00:45,665 Então agora eu quero construir uma página web que, sempre que o usuário visita de TI, 16 00:00:45,665 --> 00:00:49,760 dá-me a corrente tempo em Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 exibi-lo para a última hora. 18 00:00:52,620 --> 00:00:57,910 Se eu estava fazendo isso agora, Eu poderia dizer algo como isso. 19 00:00:57,910 --> 00:01:01,330 Hora em Cambridge-- então eu tenho HTML tags, etiquetas de cabeça, tags de título, 20 00:01:01,330 --> 00:01:04,610 corpo tags-- o actual tempo em Cambridge é 14:08, 21 00:01:04,610 --> 00:01:06,690 imprimindo tempo militar. 22 00:01:06,690 --> 00:01:11,390 >> O que acontece se agora é 14:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Bem, até agora, com HTML, eu tenho para entrar e alterá-lo para 14:09. 24 00:01:16,470 --> 00:01:19,390 E, em seguida, um minuto depois, Eu tenho que mudá-lo novamente. 25 00:01:19,390 --> 00:01:22,132 E, em seguida, um minuto depois, Eu tenho que mudá-lo novamente. 26 00:01:22,132 --> 00:01:24,590 E como você pode imaginar, isso é provavelmente o pior trabalho que nunca. 27 00:01:24,590 --> 00:01:29,420 Você é o webmaster de uma página web, e cada minuto, 24 horas por dia, 28 00:01:29,420 --> 00:01:35,970 você precisa atualizar a hora atual por abrindo manualmente time.html e mudando 29 00:01:35,970 --> 00:01:41,750 só que trecho de código para dizer o hora atual em horas e minutos. 30 00:01:41,750 --> 00:01:45,850 Isso provavelmente não é muito bom uso dos nossos recursos, 31 00:01:45,850 --> 00:01:48,880 tanto humanos e computacional. 32 00:01:48,880 --> 00:01:51,297 >> Sites que são todos HTML são completamente estático. 33 00:01:51,297 --> 00:01:53,630 A única maneira que você pode atualizar conteúdo, como acabamos de ver, 34 00:01:53,630 --> 00:01:56,339 é para abrir manualmente os fonte arquivos, editá-los e salvá-los. 35 00:01:56,339 --> 00:01:58,088 E, em seguida, quando o utilizador atualiza a página, 36 00:01:58,088 --> 00:02:01,080 ou visita a página pela primeira tempo, eles vão obter o conteúdo mais recente. 37 00:02:01,080 --> 00:02:03,970 Mas só porque nós temos editadas manualmente. 38 00:02:03,970 --> 00:02:07,980 >> Se começarmos a misturar um pouco de PHP lá, nosso código pode obter muito mais flexível. 39 00:02:07,980 --> 00:02:11,940 E podemos ter um caminho para nossas páginas ser dinâmico, ou atualizar-se, 40 00:02:11,940 --> 00:02:15,360 sem exigir a nossa pobre webmaster no exemplo anterior 41 00:02:15,360 --> 00:02:16,662 para ser manualmente actualizar as coisas. 42 00:02:16,662 --> 00:02:17,870 Eles podem fazê-lo automaticamente. 43 00:02:17,870 --> 00:02:19,130 Nós não temos de intervir. 44 00:02:19,130 --> 00:02:20,410 Podemos dormir um pouco. 45 00:02:20,410 --> 00:02:24,850 Que é provavelmente uma boa coisa se você está fazendo um monte de programação web. 46 00:02:24,850 --> 00:02:28,360 >> Assim, em CS50 IDE, corremos um servidor web Apache chamado. 47 00:02:28,360 --> 00:02:35,250 É muito comumente usado, sistema de servidor web open source. 48 00:02:35,250 --> 00:02:37,320 Este sistema tem a capacidade de interpretar 49 00:02:37,320 --> 00:02:41,260 PHP, que vai ser útil se você quer fazer qualquer tipo de programação PHP. 50 00:02:41,260 --> 00:02:45,230 >> E em CS50 IDE, temos um comando para fazer isto muito fácil de fazer, 51 00:02:45,230 --> 00:02:47,280 apache50 começar. 52 00:02:47,280 --> 00:02:49,445 E, em seguida, que barra caminho, cortar para, slash 53 00:02:49,445 --> 00:02:53,350 dir, que é apenas uma forma muito comum de indicando que você especificou aqui 54 00:02:53,350 --> 00:02:56,510 é um caminho para um determinado diretório que você 55 00:02:56,510 --> 00:03:00,800 quer ser a raiz local, ou a página de raiz, 56 00:03:00,800 --> 00:03:05,430 ou a pasta a partir do qual o servidor web vai começar a examinar os arquivos e servir 57 00:03:05,430 --> 00:03:07,850 -los aos clientes que o requeiram. 58 00:03:07,850 --> 00:03:12,110 Então, vamos estalar sobre a CS50 IDE, só para mostrar a você, realmente rápida, como isso funciona. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Então, aqui em CS50 IDE, eu estou em um diretório chamado Week Nine Zero. 61 00:03:36,240 --> 00:03:38,890 E eu tenho eu tenho dois-- executado um comando LS apenas 62 00:03:38,890 --> 00:03:41,910 acima para mostrar que eu tenho dois diretórios em aqui, PHP, 63 00:03:41,910 --> 00:03:46,410 que é o conjunto de arquivos que eu usei no o vídeo sintaxe PHP e, em seguida PHP-web, 64 00:03:46,410 --> 00:03:49,380 que é o conjunto de arquivos que eu gostaria de usar em um vídeo. 65 00:03:49,380 --> 00:03:53,480 >> E eu gostaria de começar uma instância do servidor web 66 00:03:53,480 --> 00:03:59,089 com o conteúdo da pasta PHP-web como os arquivos estão sendo servidos. 67 00:03:59,089 --> 00:04:00,130 Então o que é que eu vou fazer? 68 00:04:00,130 --> 00:04:05,710 I vai digitar apache50 espaço começar, espaço PHP, traço web. 69 00:04:05,710 --> 00:04:08,100 Esse é o caminho para o diretório de onde eu sou atualmente. 70 00:04:08,100 --> 00:04:09,127 Então eu bati Enter. 71 00:04:09,127 --> 00:04:10,960 Ele vai fazer uma pouco de coisas aqui. 72 00:04:10,960 --> 00:04:14,030 E, em seguida, ele vai dizer, Apache foi iniciado com êxito. 73 00:04:14,030 --> 00:04:20,689 Seu site já está disponível e at-- depois há o URL para o site. 74 00:04:20,689 --> 00:04:21,730 Então o que é que eu vou fazer? 75 00:04:21,730 --> 00:04:26,234 Vou copiar rapidamente isso. 76 00:04:26,234 --> 00:04:28,900 E eu vou abrir up-- e Eu vou afastar um pouco aqui-- 77 00:04:28,900 --> 00:04:31,570 Vou abrir uma nova aba no Chrome. 78 00:04:31,570 --> 00:04:34,320 E eu vou visitar essa URL. 79 00:04:34,320 --> 00:04:35,299 >> Eu vou bater Enter. 80 00:04:35,299 --> 00:04:36,090 Vai para carregar. 81 00:04:36,090 --> 00:04:37,510 E eu vou reduzir novamente. 82 00:04:37,510 --> 00:04:41,350 E podemos ver aqui é o conteúdo do meu diretório web PHP. 83 00:04:41,350 --> 00:04:45,290 >> Então agora o que está acontecendo, basicamente, aqui é, minha instância do CS50 IDE 84 00:04:45,290 --> 00:04:49,620 está servindo-se esses arquivos para qualquer pessoa que solicita-los. 85 00:04:49,620 --> 00:04:51,620 E ao longo de Neste vídeo, nós vamos resolver de 86 00:04:51,620 --> 00:04:55,400 dar uma olhada em um grupo destes diferentes arquivos no contexto. 87 00:04:55,400 --> 00:04:57,614 >> Para testar se o seu Apache servidor está funcionando, 88 00:04:57,614 --> 00:04:59,780 que vai geralmente ser o caso em CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 mas se você fizer isso de forma mais geral, e você começar a construir seu próprio Web 90 00:05:02,696 --> 00:05:04,990 servidores, há um realmente tipo comum de analógico para, 91 00:05:04,990 --> 00:05:08,500 "Olá mundo", que é normalmente usado para desenvolvimento web PHP. 92 00:05:08,500 --> 00:05:12,855 Que é ter um arquivo que consiste em apenas isso code-- 93 00:05:12,855 --> 00:05:18,247 um delimitador definido com PHP Informação PHP, parênteses, ponto e vírgula no meio. 94 00:05:18,247 --> 00:05:20,580 Que é basicamente um especial PHP função que lhe diz 95 00:05:20,580 --> 00:05:23,970 qual a versão do PHP você está executando. 96 00:05:23,970 --> 00:05:26,850 >> Assim, em CS50 IDE, eu tenho esse arquivo disponível apenas 97 00:05:26,850 --> 00:05:28,680 para mostrar o que este seria semelhante. 98 00:05:28,680 --> 00:05:32,860 Então, eu estou olhando para o meu índice da minha instância PHP. 99 00:05:32,860 --> 00:05:35,870 Meu exemplo Apache está em execução o conteúdo de PHP-Web. 100 00:05:35,870 --> 00:05:39,290 E eu tenho um arquivo chamado aqui info.php. 101 00:05:39,290 --> 00:05:41,164 >> Eu estou indo para clicar nele, zoom out. 102 00:05:41,164 --> 00:05:43,080 Isto é o que você está indo para ver, muito bonito. 103 00:05:43,080 --> 00:05:45,729 Este é apenas dizer-me que meu servidor Apache está funcionando. 104 00:05:45,729 --> 00:05:48,270 E esta é, aparentemente, o versão do PHP que eu estou correndo. 105 00:05:48,270 --> 00:05:51,590 Este é o meu analógico para "Olá mundo". 106 00:05:51,590 --> 00:05:53,070 >> Então eu sei que as coisas estão operacionais. 107 00:05:53,070 --> 00:05:54,150 Então, nós somos bons de ir. 108 00:05:54,150 --> 00:05:55,730 Podemos continuar a partir daqui. 109 00:05:55,730 --> 00:05:57,790 >> Então, vamos revisitar esse exemplo vez que foram 110 00:05:57,790 --> 00:06:01,950 falando com o nosso pobre webmaster que teve que atualizar a página constantemente. 111 00:06:01,950 --> 00:06:05,020 Esta pode ser uma correção para saber como Gostaria de implementar coisas 112 00:06:05,020 --> 00:06:08,080 de modo que o webmaster não fez tem que manter a atualização do tempo. 113 00:06:08,080 --> 00:06:10,270 Seria apenas uma espécie de acontece automaticamente. 114 00:06:10,270 --> 00:06:13,710 >> O abaixo, o HTML, é bastante semelhante, com uma exceção. 115 00:06:13,710 --> 00:06:16,720 Mas aqui eu tenho um pouco de PHP no topo. 116 00:06:16,720 --> 00:06:19,940 Eu, aparentemente, chamou este date_default_timezone_set função. 117 00:06:19,940 --> 00:06:22,106 >> E nós não falamos sobre tudo estas funções, em CS50 118 00:06:22,106 --> 00:06:24,670 porque o PHP tem, provavelmente, dezenas de milhares. 119 00:06:24,670 --> 00:06:27,540 Isso pode ser um pouco de um exagero, mas não pode ser. 120 00:06:27,540 --> 00:06:29,490 Ele tem um monte de funções embutidas. 121 00:06:29,490 --> 00:06:33,290 E por isso esta é uma função aparentemente define o meu fuso horário como EUA / Oriental, 122 00:06:33,290 --> 00:06:36,320 qual é o fuso horário que eu sou Atualmente em fazer este vídeo. 123 00:06:36,320 --> 00:06:38,430 >> Então eu fazer uma chamada para função chamada, a data. 124 00:06:38,430 --> 00:06:43,850 E, aparentemente, eu estou armazenando o HIS de algo chamado, o tempo. 125 00:06:43,850 --> 00:06:45,320 Então, o que está acontecendo aqui? 126 00:06:45,320 --> 00:06:48,040 >> Bem, basicamente o que é está acontecendo, eu estou fazendo uma chamada 127 00:06:48,040 --> 00:06:51,650 a algum servidor que vai me diga o que o tempo é atualmente. 128 00:06:51,650 --> 00:06:56,150 E eu estou convertendo-a em um formato de horas, minutos, segundos. 129 00:06:56,150 --> 00:07:00,540 E a razão é de capital H é este vai me dar tempo de 24 horas, não 12 130 00:07:00,540 --> 00:07:02,362 tempo de horas, o que seria h minúsculas. 131 00:07:02,362 --> 00:07:04,570 E eu só estou armazenando que em uma variável chamada, tempo. 132 00:07:04,570 --> 00:07:07,028 Assim que a segunda linha de PHP lá, a chamada para a função, 133 00:07:07,028 --> 00:07:09,037 data, está apenas começando alguma corda, que é 134 00:07:09,037 --> 00:07:12,120 vai me dar a data, eo tempo, e um monte de outras informações. 135 00:07:12,120 --> 00:07:16,480 E o primeiro argumento lá, que HIS, é apenas extrair a parte importante 136 00:07:16,480 --> 00:07:20,614 que eu me preocupo para este exemplo, que é a hora, minuto e segundo. 137 00:07:20,614 --> 00:07:22,030 Então esse é o tudo o que está acontecendo. 138 00:07:22,030 --> 00:07:23,562 Então eu guardar isso em um tempo variável $. 139 00:07:23,562 --> 00:07:25,270 E, em seguida, para baixo, para o muito inferior lá, eu 140 00:07:25,270 --> 00:07:28,980 tem que abreviada para imprimindo a hora atual. 141 00:07:28,980 --> 00:07:32,050 Então, eu estou indo só para imprimir o que o tempo atual é. 142 00:07:32,050 --> 00:07:37,220 >> Então, vamos dar uma olhada nisso em IDE CS50 e ver como estamos agora 143 00:07:37,220 --> 00:07:40,002 poupança que webmaster um monte de problemas. 144 00:07:40,002 --> 00:07:42,570 Tudo bem, então aqui estou eu de novo de volta para o diretório raiz 145 00:07:42,570 --> 00:07:45,040 da minha instância do Apache. 146 00:07:45,040 --> 00:07:51,585 E eu tenho um arquivo chamado aqui time.php. 147 00:07:51,585 --> 00:07:53,559 Eu só vou para clicar sobre isso. 148 00:07:53,559 --> 00:07:55,850 E eu vou rolar para cima, porque estamos ampliada muito longe. 149 00:07:55,850 --> 00:07:57,257 A hora atual é 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Então, eu estou fazendo isso horas, minutos e segundos. 151 00:07:59,090 --> 00:08:01,910 E eu posso atualizar a página e obter novo tempo. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Eu estou indo para atualizar a página e obter novo tempo, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Então, eu não sou claramente mudar nada mesmo. 155 00:08:10,490 --> 00:08:11,720 Estou aqui atualizar a página. 156 00:08:11,720 --> 00:08:13,711 Então eu não posso voltar lá de editá-lo. 157 00:08:13,711 --> 00:08:15,710 E eu prometo a você, eu não sei tem nenhum confederados 158 00:08:15,710 --> 00:08:18,230 que está editando o arquivo em meu nome ao lado. 159 00:08:18,230 --> 00:08:21,260 >> Eu só estou usando essa função PHP, tempo, para gerar o tempo para mim 160 00:08:21,260 --> 00:08:22,340 automaticamente. 161 00:08:22,340 --> 00:08:24,800 De modo que mesmo se eu estou dormindo, e meu servidor web está sendo executado, 162 00:08:24,800 --> 00:08:28,884 o usuário que visita essa página ainda é indo para obter exatamente a hora atual. 163 00:08:28,884 --> 00:08:29,800 Então, isso é muito bom. 164 00:08:29,800 --> 00:08:33,609 Eu fiz o meu site mais dinâmico com não muito código PHP. 165 00:08:33,609 --> 00:08:36,650 Era apenas duas linhas de código e, em seguida, um pouco de uma declaração de impressão. 166 00:08:36,650 --> 00:08:38,441 E já tenho uma site muito mais dinâmico 167 00:08:38,441 --> 00:08:42,750 do que nós vimos primeiro exemplo no início do vídeo. 168 00:08:42,750 --> 00:08:46,660 >> Então, lembre-se do vídeo sobre a sintaxe PHP que, quando o intérprete PHP é executado 169 00:08:46,660 --> 00:08:50,000 nosso programa, ignora tudo que não está dentro de delimitadores PHP, 170 00:08:50,000 --> 00:08:51,500 cuspi-la. 171 00:08:51,500 --> 00:08:54,410 Nesse exemplo, o que a coisa que estava cuspindo era HTML. 172 00:08:54,410 --> 00:08:58,080 E isso significa que eu posso agora intercalam HTML e PHP juntos. 173 00:08:58,080 --> 00:09:01,920 Porque o intérprete apenas ignorar o HTML e literalmente saída dele. 174 00:09:01,920 --> 00:09:04,140 O que é bom, certo? 175 00:09:04,140 --> 00:09:06,100 >> Porque presumivelmente, no fim do dia, 176 00:09:06,100 --> 00:09:08,360 Gostaria que o meu site para ser construídos com HTML. 177 00:09:08,360 --> 00:09:12,880 De modo que qualquer navegador pode interpretar -lo, ou compreender o HTML na página 178 00:09:12,880 --> 00:09:17,270 e torná-lo como algo que nós pode realmente entender como seres humanos. 179 00:09:17,270 --> 00:09:19,430 E eu só posso usar o PHP para as partes do meu site 180 00:09:19,430 --> 00:09:23,390 o exigem dinamismo, que me exigem para ter as coisas que atualizam constantemente. 181 00:09:23,390 --> 00:09:26,630 A informação estática pode permanecer o mesmo. 182 00:09:26,630 --> 00:09:27,540 >> OK, então isso é bom. 183 00:09:27,540 --> 00:09:28,540 Mas por que eu faria isso? 184 00:09:28,540 --> 00:09:30,400 Por que eu iria misturar HTML e PHP? 185 00:09:30,400 --> 00:09:33,850 Eu poderia simplesmente imprimir todo o HTML, usando a função de impressão PHP. 186 00:09:33,850 --> 00:09:35,870 Por que não estou fazendo isso? 187 00:09:35,870 --> 00:09:37,100 Pense nisso por um segundo. 188 00:09:37,100 --> 00:09:41,220 >> Por que, quando eu poderia simplesmente imprimir out-- I poderia ter linhas de PHP que apenas dizer, 189 00:09:41,220 --> 00:09:43,841 tag HTML de impressão, cabeça de impressão. 190 00:09:43,841 --> 00:09:44,840 Por que não estou fazendo isso? 191 00:09:44,840 --> 00:09:48,230 Por que eu estou misturando o PHP e HTML? 192 00:09:48,230 --> 00:09:50,080 >> Bem, se você pensar sobre isso por um segundo. 193 00:09:50,080 --> 00:09:52,824 PHP, o intérprete tem para interpretar o que vê. 194 00:09:52,824 --> 00:09:54,990 E assim vai ter para executar uma linha de código. 195 00:09:54,990 --> 00:09:56,450 Imprimir HTML. 196 00:09:56,450 --> 00:09:57,700 Imprimir marca de cabeça aberta. 197 00:09:57,700 --> 00:09:58,969 Imprima tag title aberto. 198 00:09:58,969 --> 00:10:00,760 Vai ter que executar e interpretar 199 00:10:00,760 --> 00:10:02,671 que cada passo do caminho. 200 00:10:02,671 --> 00:10:04,670 Porque não basta deixar o intérprete apenas encobrir 201 00:10:04,670 --> 00:10:06,878 coisas que não entendem e fazê-lo automaticamente? 202 00:10:06,878 --> 00:10:11,365 Ele vai me salvar um monte de tempo para misturar o meu HTML e PHP minha juntos. 203 00:10:11,365 --> 00:10:16,220 >> E é por isso que nós não apenas ter aberto delimitador PHP 204 00:10:16,220 --> 00:10:19,450 e depois é só imprimir o inteiro conteúdo da nossa página PHP como um gigante 205 00:10:19,450 --> 00:10:24,330 chamada para a função, Imprimir e, em seguida, perto delimitador PHP e estamos a fazer. 206 00:10:24,330 --> 00:10:27,620 Então é por isso que misturá-los juntos. 207 00:10:27,620 --> 00:10:32,345 >> Até agora, não vimos muito de uma diferença de sintaxe geral PHP. 208 00:10:32,345 --> 00:10:33,720 Tem sido bastante simples. 209 00:10:33,720 --> 00:10:35,553 Nós já vimos o ponto de interrogação, igual. 210 00:10:35,553 --> 00:10:39,012 Nós vimos um par de novas chamadas de função, mas nada realmente sofisticados acontecendo. 211 00:10:39,012 --> 00:10:40,720 Vamos talvez fazer coisas um pouco amador. 212 00:10:40,720 --> 00:10:44,360 E se queremos passar informações entre diferentes arquivos PHP, 213 00:10:44,360 --> 00:10:47,280 de modo que o utilizador pode talvez enviar informações para mim. 214 00:10:47,280 --> 00:10:50,230 E então eu poderia fazer algo com ele em outra página. 215 00:10:50,230 --> 00:10:52,990 >> Então PHP tem suporte para algo chamado Super global 216 00:10:52,990 --> 00:10:55,297 Variáveis, que soa bastante impressionante. 217 00:10:55,297 --> 00:10:57,130 Eles são realmente apenas arrays associativos gigantes 218 00:10:57,130 --> 00:10:59,900 que ajudam a implementar este funcionalidade de passagem 219 00:10:59,900 --> 00:11:05,010 informações entre arquivos PHP que são existente em nosso servidor web. 220 00:11:05,010 --> 00:11:07,760 >> A primeira destas super- globals é chamado $ _GET. 221 00:11:07,760 --> 00:11:10,140 E é provavelmente o mais simples de entender. 222 00:11:10,140 --> 00:11:12,430 O que acontece com $ _GET? 223 00:11:12,430 --> 00:11:16,240 Bem, basicamente, o usuário é vai digitar informação extra 224 00:11:16,240 --> 00:11:18,390 no final dos nossos URLs. 225 00:11:18,390 --> 00:11:21,460 E o que quer que escreva, assumindo ele é formatado de uma maneira particular 226 00:11:21,460 --> 00:11:25,830 chamado de uma cadeia de consulta, que é apenas um conjunto de pares de valores-chave separados 227 00:11:25,830 --> 00:11:27,810 por e comercial. 228 00:11:27,810 --> 00:11:32,362 Esses pares de valores-chave será armazenados em uma matriz associativa $ _GET. 229 00:11:32,362 --> 00:11:34,070 E do nosso vídeo sobre Sintaxe PHP, sabemos 230 00:11:34,070 --> 00:11:40,080 como trabalhar com arrays associativos já. 231 00:11:40,080 --> 00:11:44,090 Então, aqui está um exemplo de alguns PHP, onde talvez eu sou 232 00:11:44,090 --> 00:11:50,180 extração de todos os pares de valores-chave que o usuário fornecido na URL. 233 00:11:50,180 --> 00:11:51,970 Então, eu tenho meu Aberto delimitador PHP. 234 00:11:51,970 --> 00:11:53,410 Eu tenho um loop foreach. 235 00:11:53,410 --> 00:11:57,410 Estou repetindo todo o Super Matriz global chamada $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> E eu quero ser capaz de encaminhá tanto para a chave eo valor. 237 00:12:00,160 --> 00:12:02,410 E eu só estou imprimindo- para fora, uma em cada aparentemente 238 00:12:02,410 --> 00:12:03,780 seu próprio parágrafo tag aqui. 239 00:12:03,780 --> 00:12:07,620 Eu estou imprimindo algum HTML e interpolando os valores 240 00:12:07,620 --> 00:12:12,900 de chave e valor para essa afirmação. 241 00:12:12,900 --> 00:12:16,980 >> Então, vamos dar uma olhada em como este seria realmente trabalhar em nosso IDE. 242 00:12:16,980 --> 00:12:18,980 E talvez isso ajude ilustram um pouco 243 00:12:18,980 --> 00:12:21,880 GET do que está realmente fazendo. 244 00:12:21,880 --> 00:12:23,610 Então, eu estou de volta aqui em minha raiz web. 245 00:12:23,610 --> 00:12:25,318 E eu vou aumentar em um pouco para mostrar-lhe 246 00:12:25,318 --> 00:12:28,620 que eu tenho um arquivo chamado, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Então, vamos clicar em get1.php. 248 00:12:31,830 --> 00:12:36,600 E eu não estou vendo nenhum conteúdo. 249 00:12:36,600 --> 00:12:38,390 Isso é estranho, certo? 250 00:12:38,390 --> 00:12:39,740 Bem, não é realmente verdade. 251 00:12:39,740 --> 00:12:42,030 Porque eu não forneceu nada na URL. 252 00:12:42,030 --> 00:12:46,270 Vou get1.php, mas eu não forneceu quaisquer pares de valores-chave 253 00:12:46,270 --> 00:12:47,450 como parte da minha string de consulta. 254 00:12:47,450 --> 00:12:50,510 Então, vamos adicionar uma seqüência de consulta e ver o que este arquivo pode fazer. 255 00:12:50,510 --> 00:12:53,040 >> Para começar uma seqüência de consulta você basta digitar o ponto de interrogação. 256 00:12:53,040 --> 00:13:00,820 Então, talvez, eu vou dizer name = Doug & ano = 2015. 257 00:13:00,820 --> 00:13:02,914 E então eu vou pressione Enter. 258 00:13:02,914 --> 00:13:04,080 Agora, observe o que está acontecendo. 259 00:13:04,080 --> 00:13:05,480 Eu ainda estou no get1.php. 260 00:13:05,480 --> 00:13:08,445 Mas agora eu tenho fornecido pares de valores-chave, e eu sou 261 00:13:08,445 --> 00:13:14,940 imprimi-las por conta própria paragraph-- nome, ano Doug-- de 2015. 262 00:13:14,940 --> 00:13:17,970 Isso é exatamente o código que acabamos viu no slide um momento atrás. 263 00:13:17,970 --> 00:13:22,290 >> E se eu quiser adicionar talvez uma outra par de valores-chave, e class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Agora eu tenho um outro valor-chave par que está impresso 266 00:13:27,580 --> 00:13:30,025 quando eu revisitar o URL novamente. 267 00:13:30,025 --> 00:13:31,900 Agora, talvez isto não é formatado muitíssimo bem. 268 00:13:31,900 --> 00:13:33,660 Então, eu tenho uma outra versão do get.php. 269 00:13:33,660 --> 00:13:36,350 É get2.php. 270 00:13:36,350 --> 00:13:39,070 >> A diferença neste uma é que eu tenho de arquivos CSS, 271 00:13:39,070 --> 00:13:41,690 e ele formata as coisas um pouco mais muito bem para mim. 272 00:13:41,690 --> 00:13:43,940 Ele talvez não é o mais CSS bonita do mundo. 273 00:13:43,940 --> 00:13:45,650 Mas é apenas uma outra maneira de fazê-lo. 274 00:13:45,650 --> 00:13:52,840 Então, eu ainda pode obter acesso aos meus variáveis ​​usando $ _GET. 275 00:13:52,840 --> 00:13:56,610 E, neste caso, eu sou apenas um tipo de tornando a CSS um pouco mais extravagante. 276 00:13:56,610 --> 00:13:58,360 E se nós pop para meu IDE por um segundo, 277 00:13:58,360 --> 00:14:06,870 Eu vou mostrar-lhe em meu PHP web diretório aqui, get2.php. 278 00:14:06,870 --> 00:14:10,010 Vamos abri-lo, alguns HTML aqui. 279 00:14:10,010 --> 00:14:13,220 Aparentemente, eu estou ligando em que Arquivo CSS que eu estava falando. 280 00:14:13,220 --> 00:14:14,570 Abro uma marca de tabela. 281 00:14:14,570 --> 00:14:15,970 E então aqui está o meu loop foreach. 282 00:14:15,970 --> 00:14:18,450 >> Aqui é que, o que eu mostrou no slide antes. 283 00:14:18,450 --> 00:14:21,007 A única diferença é que eu ter esta chave e valor CSS 284 00:14:21,007 --> 00:14:22,340 estilo que eu estou aplicando a ele. 285 00:14:22,340 --> 00:14:25,622 Mas isso é tudo que eu estou fazendo, é que eu sou iteração através de $ _GET para obter todas 286 00:14:25,622 --> 00:14:26,580 um dos pares de valores-chave. 287 00:14:26,580 --> 00:14:28,890 >> E eu estou imprimi-las como a mesa. 288 00:14:28,890 --> 00:14:33,230 E, aparentemente, eu estou formatando as chaves de uma maneira, com a class = "chave" 00:14:40,057 Então, aparentemente, que se aplica a alguns seletor de classe no meu arquivo CSS GET.CSS. 290 00:14:40,057 --> 00:14:42,890 E, aparentemente, eu estou imprimindo meus valores uma maneira totalmente diferente. 291 00:14:42,890 --> 00:14:45,530 Que é muito bonito o que vimos aqui, onde 292 00:14:45,530 --> 00:14:47,710 nossos valores foram impressos com um fundo azul, 293 00:14:47,710 --> 00:14:49,969 e nossas chaves foram impressos com um fundo amarelo. 294 00:14:49,969 --> 00:14:52,010 Então é assim que eu estou ficando esses estilos diferentes. 295 00:14:52,010 --> 00:14:54,054 Porque eu estou usando diferentes classes CSS. 296 00:14:54,054 --> 00:14:55,470 Mas isso é muito bonito isso para GET. 297 00:14:55,470 --> 00:14:58,380 Como eu estou apenas extrair informações. 298 00:14:58,380 --> 00:15:01,000 E, neste caso, eu sou apenas imprimi-lo para a tela. 299 00:15:01,000 --> 00:15:04,310 Estou recebendo-o fora do URL, e é isso que GET faz por nós. 300 00:15:04,310 --> 00:15:06,470 >> Você vê um possível problema aqui embora? 301 00:15:06,470 --> 00:15:11,720 Por que nós talvez não quiser usar $ _GET? 302 00:15:11,720 --> 00:15:15,440 E se, talvez, eu estava fazendo esta pergunta? 303 00:15:15,440 --> 00:15:18,000 get3.php --to, que eu não tenho no meu IDE. 304 00:15:18,000 --> 00:15:19,640 É apenas um arquivo hipotético. 305 00:15:19,640 --> 00:15:22,187 Mas note aqui que, aparentemente, passando minha senha em. 306 00:15:22,187 --> 00:15:23,770 E talvez a minha senha é embaraçoso. 307 00:15:23,770 --> 00:15:28,070 Ou talvez eu não quero que as pessoas saber o que minha senha está, certo. 308 00:15:28,070 --> 00:15:33,140 >> Se eu estou passando-embora-- se estou usando o método $ _GET, o que acontece é, 309 00:15:33,140 --> 00:15:34,970 que vai estar na URL. 310 00:15:34,970 --> 00:15:39,890 Então, algum usuário mal-intencionado pode ser capaz de ver o que estou fazendo. 311 00:15:39,890 --> 00:15:42,040 Eu posso estar passando- informação sensível. 312 00:15:42,040 --> 00:15:43,310 Ou talvez não seja mesmo um usuário mal-intencionado. 313 00:15:43,310 --> 00:15:45,790 Talvez seja apenas seu amigo que está em pé sobre o seu ombro. 314 00:15:45,790 --> 00:15:47,650 E agora eles sabem a senha a sua conta do Facebook. 315 00:15:47,650 --> 00:15:49,483 >> E talvez eles não iriam fazer nada com ele. 316 00:15:49,483 --> 00:15:53,749 Mas se sua senha foram submetidos via $ _GET ao Facebook, 317 00:15:53,749 --> 00:15:55,290 agora eles sabem que sua senha do Facebook. 318 00:15:55,290 --> 00:15:59,000 Porque é ali mesmo no URL quando você fez a apresentação de informações. 319 00:15:59,000 --> 00:16:01,887 >> E assim, talvez, esse não é o melhor maneira de passar informações confidenciais. 320 00:16:01,887 --> 00:16:04,470 É uma boa maneira de passar informações que nós não particularmente 321 00:16:04,470 --> 00:16:05,886 se preocupam como sendo muito sensível. 322 00:16:05,886 --> 00:16:09,347 Porque GET é bastante rápido, em relação às outras variáveis ​​globais de super 323 00:16:09,347 --> 00:16:10,430 vamos falar sobre. 324 00:16:10,430 --> 00:16:13,330 Mas talvez não seja o melhor instrumento para informações sensíveis. 325 00:16:13,330 --> 00:16:15,990 >> Para que nós pode querer usar algo chamado $ _POST, 326 00:16:15,990 --> 00:16:18,560 que é outra variável Super global. 327 00:16:18,560 --> 00:16:20,750 É uma outra matriz associativa. 328 00:16:20,750 --> 00:16:23,240 Assim, ele funciona muito bem exatamente o mesmo que GET. 329 00:16:23,240 --> 00:16:26,850 Exceto, em vez de extrair informações a partir do URL, 330 00:16:26,850 --> 00:16:29,870 ele faz algo através de cabeçalhos HTTP. 331 00:16:29,870 --> 00:16:32,080 Então lembro do nosso vídeo em HTTP, nós falamos 332 00:16:32,080 --> 00:16:34,850 sobre como navegadores, servidores, e os clientes se comunicam. 333 00:16:34,850 --> 00:16:38,070 E a informação é passada de volta e para trás em cabeçalhos HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Com US $ _POST, a informação é tipicamente enviado através desses cabeçalhos HTTP. 335 00:16:43,330 --> 00:16:49,770 E nós vamos ver mais comumente em $ _POST o contexto de envio de formulários HTML. 336 00:16:49,770 --> 00:16:52,390 Você ainda pode usar formulários HTML para enviar as coisas para chegar. 337 00:16:52,390 --> 00:16:56,120 Mas eles são geralmente usados no contexto de POST. 338 00:16:56,120 --> 00:17:00,280 >> Então aqui está um exemplo de um formulário HTML. 339 00:17:00,280 --> 00:17:06,750 Agora temos visto estes antes, mas temos não vi esta parte, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 Então, quando nós falamos sobre formas no contexto de HTML, eu tinha um botão Enviar. 341 00:17:10,756 --> 00:17:13,630 E se você se lembra, eu clique em Enviar e, em seguida, a página apenas refrescado, 342 00:17:13,630 --> 00:17:14,660 Não fiz nada. 343 00:17:14,660 --> 00:17:18,250 >> Neste caso, Estou enviando o que quer que eu escreva neste formulário, 344 00:17:18,250 --> 00:17:20,750 para um arquivo PHP chamado post.php. 345 00:17:20,750 --> 00:17:25,810 E, aparentemente, a maneira que eu estou fazendo isso nessa forma é utilizando o método POST. 346 00:17:25,810 --> 00:17:29,040 Então, cada pedaço de informação que eu escreva para esta forma 347 00:17:29,040 --> 00:17:31,470 serão submetidas através dos cabeçalhos HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Vai ser acessível em post.php, porque essa é a ação da minha forma. 349 00:17:36,440 --> 00:17:39,811 Será acessível indo até $ _POST. 350 00:17:39,811 --> 00:17:42,310 E, aparentemente, a maneira que eu puder obter em cada elemento individual 351 00:17:42,310 --> 00:17:44,765 com essa matriz associativa É com este atributo, 352 00:17:44,765 --> 00:17:48,130 o atributo Nome de nossas marcas de entrada. 353 00:17:48,130 --> 00:17:53,540 >> Então, aparentemente, o que posso dizer $ _POST quadrado suportes nome para obter o que quer que o usuário 354 00:17:53,540 --> 00:17:55,440 digitado no primeiro campo. 355 00:17:55,440 --> 00:18:01,030 E $ _POST senha, em vez de pw, para chegar a qualquer o usuário digitou 356 00:18:01,030 --> 00:18:03,650 no segundo campo. 357 00:18:03,650 --> 00:18:06,414 >> Então, vamos dar uma olhada esta mais em CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Então aqui estamos nós, e eu vou zoom e por um segundo. 359 00:18:08,330 --> 00:18:12,380 E nós temos um arquivo chamado post.html. 360 00:18:12,380 --> 00:18:13,690 Eu clicar em post.html. 361 00:18:13,690 --> 00:18:16,300 No topo aqui eu tenho um formulário web muito simples. 362 00:18:16,300 --> 00:18:18,750 É a forma que acabamos de ver no slide um segundo atrás. 363 00:18:18,750 --> 00:18:25,610 >> I pode digitar, Doug, e eu puder digitar minha senha, o que todos nós 364 00:18:25,610 --> 00:18:27,340 sei é squadgoals. 365 00:18:27,340 --> 00:18:30,100 E eu vou bater em Enviar. 366 00:18:30,100 --> 00:18:32,290 E, aparentemente, que submete a post.php. 367 00:18:32,290 --> 00:18:33,810 E eu estou aparentemente imprimir isso. 368 00:18:33,810 --> 00:18:36,490 Então, eu estou se livrar de toda a segurança POST que me dá apenas por imprimir 369 00:18:36,490 --> 00:18:37,720 o nome de usuário e senha. 370 00:18:37,720 --> 00:18:38,960 >> O nome do usuário é Doug. 371 00:18:38,960 --> 00:18:40,810 A senha do usuário é squadgoals. 372 00:18:40,810 --> 00:18:42,480 Como é que eu faço isso? 373 00:18:42,480 --> 00:18:44,800 Bem, estalar sobre a IDE novamente por um segundo. 374 00:18:44,800 --> 00:18:51,340 Nós vamos rolar para baixo para tomar uma olhada post.php, que foi 375 00:18:51,340 --> 00:18:54,040 a ação que eu costumava apresentar aqui. 376 00:18:54,040 --> 00:18:55,739 Essa foi a ação do meu formulário HTML. 377 00:18:55,739 --> 00:18:56,780 E isso é tudo que eu estou fazendo. 378 00:18:56,780 --> 00:19:01,370 O nome do usuário é, e eu tenho a impressão o conteúdo de $ _ POST "name". 379 00:19:01,370 --> 00:19:04,660 E, em seguida, a senha do usuário é de R $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 Então, me foi dada essa informação por enviar o formulário HTML. 381 00:19:08,920 --> 00:19:13,790 E agora eu posso extraí-lo usando $ _POST porque o método utilizado para transmitir 382 00:19:13,790 --> 00:19:17,470 dados com que forma foi o método POST. 383 00:19:17,470 --> 00:19:20,640 >> Agora provavelmente não é então eu vou great-- 384 00:19:20,640 --> 00:19:24,510 para voltar para uma segunda para o nosso conjunto aqui-- 385 00:19:24,510 --> 00:19:30,120 provavelmente não é tão grande se eu sou a apresentação de informações com POST, 386 00:19:30,120 --> 00:19:32,532 que é aparentemente mais seguro. 387 00:19:32,532 --> 00:19:34,740 Provavelmente não é tão grande se eu estou fazendo isso e, em seguida, 388 00:19:34,740 --> 00:19:36,470 imprimir a senha do usuário. 389 00:19:36,470 --> 00:19:38,540 É suposto ser mais seguro. 390 00:19:38,540 --> 00:19:40,870 >> OK, mas não é inteiramente seguro. 391 00:19:40,870 --> 00:19:42,910 E assim, este pequeno snippet aqui que eu quero 392 00:19:42,910 --> 00:19:46,410 apenas para chamar a atenção para alguns as preocupações de segurança de dados, apenas algo 393 00:19:46,410 --> 00:19:51,200 para pensar sobre como você está trabalhando ou usando a internet. 394 00:19:51,200 --> 00:19:53,890 Este é apenas algo a considerar. 395 00:19:53,890 --> 00:19:57,980 >> Eu lhe disse que a informação é apresentadas através cabeçalhos HTTP 396 00:19:57,980 --> 00:19:59,724 quando você usa o método POST. 397 00:19:59,724 --> 00:20:01,390 O que significa que eles não são totalmente seguras. 398 00:20:01,390 --> 00:20:05,610 Eles são mais difíceis de encontrar do que usando o método GET, onde 399 00:20:05,610 --> 00:20:06,882 é apenas para a direita na URL. 400 00:20:06,882 --> 00:20:08,340 Mas ainda há uma maneira de encontrá-lo. 401 00:20:08,340 --> 00:20:10,423 E eu só quero te mostrar isso para que você talvez 402 00:20:10,423 --> 00:20:12,940 começar a pensar sobre isso como você está trabalhando, ou usando 403 00:20:12,940 --> 00:20:14,560 sites e submetê- senhas, e talvez usando 404 00:20:14,560 --> 00:20:16,518 a mesma senha em um monte de lugares diferentes. 405 00:20:16,518 --> 00:20:22,060 Saiba que é ainda é realmente muito fácil de descobrir a senha de alguém. 406 00:20:22,060 --> 00:20:25,190 >> E por isso aqui, eu vou para ir para post2.html. 407 00:20:25,190 --> 00:20:28,850 E a diferença com post2.html e post2.php é bastante sutil. 408 00:20:28,850 --> 00:20:31,420 A diferença é apenas que eu não imprimir 409 00:20:31,420 --> 00:20:33,520 a senha quando eu enviar o formulário. 410 00:20:33,520 --> 00:20:35,260 >> Então eu vou para digitar, Doug. 411 00:20:35,260 --> 00:20:38,365 E eu vou escrever em, squadgoals, mesmo 412 00:20:38,365 --> 00:20:40,770 embora saibamos que é a senha. 413 00:20:40,770 --> 00:20:42,540 Antes de submeter o formar embora, eu vou 414 00:20:42,540 --> 00:20:45,864 para abrir Ferramentas de Desenvolvimento, apenas para mostrar-lhe o que vai acontecer aqui. 415 00:20:45,864 --> 00:20:47,530 Assim, em Chrome, eu só estou indo bater F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 E que vai abrir meu Ferramentas de Desenvolvimento do lado direito. 418 00:20:57,230 --> 00:20:59,480 Eu não apresentaram a forma ainda. 419 00:20:59,480 --> 00:21:02,680 Agora eu vou bater em Enviar na minha forma. 420 00:21:02,680 --> 00:21:05,370 E, aparentemente, eu fiz uma chamar, ou eu fiz um pedido 421 00:21:05,370 --> 00:21:07,620 para post2.php, o que faz sentido. 422 00:21:07,620 --> 00:21:10,040 Eu estou indo para clicar sobre isso. 423 00:21:10,040 --> 00:21:13,802 >> Então aqui, eu vou para clicar em cabeçalhos. 424 00:21:13,802 --> 00:21:15,410 Há um monte de coisas acontecendo aqui. 425 00:21:15,410 --> 00:21:21,310 Mas se eu rolar para baixo para o próprio fundo, aviso direito há-- meu calendário 426 00:21:21,310 --> 00:21:25,180 bloqueou-lo por um certo second-- lá no canto muito inferior, 427 00:21:25,180 --> 00:21:27,386 nome-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Assim, mesmo que eu estou usando o POST método, que é mais seguro, 429 00:21:30,010 --> 00:21:33,570 apenas estar ciente de que quando você faz isso, você ainda está transmitindo informações 430 00:21:33,570 --> 00:21:34,430 através de HTTP. 431 00:21:34,430 --> 00:21:36,770 E ele ainda pode ser encontrado por um adversário. 432 00:21:36,770 --> 00:21:39,270 É apenas algo que vamos ter de lidar com realmente. 433 00:21:39,270 --> 00:21:41,980 Talvez haja algumas maneiras para criptografar nosso senhas antes de enviá-los, 434 00:21:41,980 --> 00:21:44,410 que seria a melhor, que eu não estou fazendo aqui. 435 00:21:44,410 --> 00:21:47,010 >> Mas apenas estar ciente de que o POST método também tem limitações. 436 00:21:47,010 --> 00:21:49,801 É uma melhoria em relação GET em termos de ser imediatamente visível. 437 00:21:49,801 --> 00:21:51,280 Mas não é uma correção completa. 438 00:21:51,280 --> 00:21:53,280 Então aqui está um exemplo de um rápido em casa exercício 439 00:21:53,280 --> 00:21:56,350 que você pode usar para obter algum praticar trabalhando com PHP. 440 00:21:56,350 --> 00:21:58,300 Crie o seguinte par de páginas da web. 441 00:21:58,300 --> 00:22:00,960 O primeiro deve ser apenas uma forma muito simples formar com um único campo e um Submeta 442 00:22:00,960 --> 00:22:01,460 botão. 443 00:22:01,460 --> 00:22:04,070 Então, muito semelhante ao que nós apenas fiz com post.html. 444 00:22:04,070 --> 00:22:07,450 >> E, em seguida, o segundo arquivo que você deve criar 445 00:22:07,450 --> 00:22:11,687 é um arquivo, um arquivo PHP, que está esperando a entrada, via POST, 446 00:22:11,687 --> 00:22:14,770 e com base no que o usuário digitou, que você pode supor que vai ser um inteiro. 447 00:22:14,770 --> 00:22:16,160 Você não tem que fazer qualquer verificação de erros ou semelhantes. 448 00:22:16,160 --> 00:22:18,284 Você pode assumir o usuário irá digitar um valor inteiro, 449 00:22:18,284 --> 00:22:22,230 ou algo como um interpretada por PHP como um inteiro, em que forma. 450 00:22:22,230 --> 00:22:24,790 Você só quer criar um n pela tabela n multiplicação. 451 00:22:24,790 --> 00:22:28,480 >> Portanto, se o usuário envia 10, queremos tem uma mesa de 10 até 10 de multiplicação. 452 00:22:28,480 --> 00:22:31,832 Se o usuário envia um 12, queremos uma mesa de 12 por 12 multiplicação. 453 00:22:31,832 --> 00:22:33,790 Só assim você pode ver o que nós estamos dirigindo em aqui, 454 00:22:33,790 --> 00:22:36,040 vamos dar uma olhada esse arquivo no meu IDE. 455 00:22:36,040 --> 00:22:38,080 >> Então, aqui em IDE, tenho mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Vou clique nele. 458 00:22:43,100 --> 00:22:46,020 Tudo o que eu quero fazer é apresentar um valor. 459 00:22:46,020 --> 00:22:47,590 Digite 10, bateu em Enviar. 460 00:22:47,590 --> 00:22:51,190 E, aparentemente, mult_table.php, que podemos ver no topo lá na URL, 461 00:22:51,190 --> 00:22:53,970 Estou criando um 10 por 10 tabela de multiplicação. 462 00:22:53,970 --> 00:22:59,365 >> Se eu digitar 15 e bateu apresentar, agora eu tem uma mesa de 15 até 15 de multiplicação. 463 00:22:59,365 --> 00:23:02,240 Estou, é claro, não vai mostrar você o conteúdo de mult_table.php, 464 00:23:02,240 --> 00:23:04,781 porque isso iria levar a diversão fora deste exercício em casa. 465 00:23:04,781 --> 00:23:07,480 Mas é uma ótima maneira de obter algum praticar trabalhando com loops PHP 466 00:23:07,480 --> 00:23:10,889 e POST, muito simples, espero que estresse exemplo livre, justa 467 00:23:10,889 --> 00:23:12,180 para fazer um pouco de prática. 468 00:23:12,180 --> 00:23:16,540 E eu tenho um pouco de CSS acontecendo aqui para fazer o meu tabela individual 469 00:23:16,540 --> 00:23:19,710 células apenas uma espécie de pop fora de um pouco e olhar um pouco mais 470 00:23:19,710 --> 00:23:22,205 como uma mesa de multiplicação, em oposição a apenas o texto apenas 471 00:23:22,205 --> 00:23:23,261 tipo de sentado lá. 472 00:23:23,261 --> 00:23:26,260 O último Super mundial falaremos sobre neste vídeo é algo chamado 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 E talvez esta é realmente o melhor exemplo de algo 475 00:23:29,930 --> 00:23:31,700 poderíamos considerar global. 476 00:23:31,700 --> 00:23:33,189 É uma outra matriz. 477 00:23:33,189 --> 00:23:34,480 É uma outra matriz associativa. 478 00:23:34,480 --> 00:23:40,580 Mas é acessível através de cada Arquivo PHP que existe no nosso sistema. 479 00:23:40,580 --> 00:23:43,410 >> Nós não têm de apresentar informações de uma página de cada vez 480 00:23:43,410 --> 00:23:45,400 como fazemos com GET e POST com. 481 00:23:45,400 --> 00:23:46,380 É sempre lá. 482 00:23:46,380 --> 00:23:50,040 E assim, este é ótimo para uma página onde você está logado, por exemplo, 483 00:23:50,040 --> 00:23:53,120 e você quer suas informações de login a persistir de uma página para a página. 484 00:23:53,120 --> 00:23:58,180 >> Você pode simplesmente começar uma sessão e, em seguida, use $ _SESSION para salvar coisas como 485 00:23:58,180 --> 00:24:02,320 o nome do usuário, ou o usuário do Informações de identificação, e assim por diante. 486 00:24:02,320 --> 00:24:07,600 E essa informação permanecerá em $ _SESSION Até que você destruir a sessão 487 00:24:07,600 --> 00:24:09,550 um pouco mais tarde. 488 00:24:09,550 --> 00:24:12,375 >> Escrevendo sites dinâmicos com PHP torna muito melhor. 489 00:24:12,375 --> 00:24:14,250 Seus sites tornam-se muito dinâmico, e você não faz 490 00:24:14,250 --> 00:24:17,670 tem que fazer muito mais do que aquilo caso contrário você teria feito apenas 491 00:24:17,670 --> 00:24:18,920 fazê-lo com HTML. 492 00:24:18,920 --> 00:24:21,630 Mas isso requer prática, um monte de prática. 493 00:24:21,630 --> 00:24:26,897 >> Você já sabe como trabalhar com C, e assim por saltar para PHP não é muito complicado. 494 00:24:26,897 --> 00:24:28,730 O que é talvez um pouco pouco complicado está funcionando 495 00:24:28,730 --> 00:24:33,180 com essa nova idéia de GET e POST, e talvez misturando seu HTML e PHP seu 496 00:24:33,180 --> 00:24:34,220 junto. 497 00:24:34,220 --> 00:24:37,570 Mas também estar ciente de que a internet é um vasto repositório de informações. 498 00:24:37,570 --> 00:24:41,670 E documentação do PHP está disponível em muitos lugares, mas talvez o mais 499 00:24:41,670 --> 00:24:43,354 canonicamente no php.net. 500 00:24:43,354 --> 00:24:45,520 E você pode encontrar lá, lotes de diferentes funções, 501 00:24:45,520 --> 00:24:48,330 e casos de uso, e exemplos de exemplos, mediante exemplos. 502 00:24:48,330 --> 00:24:51,340 Onde se você quer tentar e figura como fazer algo, as probabilidades são, 503 00:24:51,340 --> 00:24:52,964 alguém provavelmente já fez isso antes. 504 00:24:52,964 --> 00:24:55,840 E você pode usá-los como inspiração para implementar qualquer 505 00:24:55,840 --> 00:24:58,230 é que você está tentando implementar também. 506 00:24:58,230 --> 00:24:59,230 >> Eu sou Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Este é CS50. 508 00:25:01,210 --> 00:25:02,608