1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> Doug LLOYD: Entón, na nosa vídeo sobre a sintaxe PHP, 3 00:00:07,620 --> 00:00:10,480 falamos moito sobre como PHP pode ser usada na liña de comandos 4 00:00:10,480 --> 00:00:13,620 para realizar programas de forma que estamos moi familiarizados coa dende C. 5 00:00:13,620 --> 00:00:15,370 Pero, como eu tamén mencionou en que o vídeo, o PHP 6 00:00:15,370 --> 00:00:19,572 foi inicialmente desenvolvido para aplicar a programación web, sitios web. 7 00:00:19,572 --> 00:00:21,780 E así, neste video que estamos vai falar sobre como nós 8 00:00:21,780 --> 00:00:23,890 usar o PHP no contexto do desenvolvemento web. 9 00:00:23,890 --> 00:00:26,360 >> Sabemos, xa, desde noso vídeo en HTML, 10 00:00:26,360 --> 00:00:29,820 que os sitios son construídos fóra dun conxunto de etiquetas HTML 11 00:00:29,820 --> 00:00:32,850 que definir semanticamente a estrutura dunha páxina web. 12 00:00:32,850 --> 00:00:35,910 Pero sitios que son construídos con HTML puro 13 00:00:35,910 --> 00:00:39,510 padecen unha moi, limitación moi grave. 14 00:00:39,510 --> 00:00:42,690 >> E para ilustrar esta limitación, imos considerar o seguinte. 15 00:00:42,690 --> 00:00:45,665 Entón agora eu quero construír unha páxina web que, cada vez que o usuario visita das TIC, 16 00:00:45,665 --> 00:00:49,760 dáme a cadea tempo en Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 amosar-lo para a última hora. 18 00:00:52,620 --> 00:00:57,910 Se eu estaba facendo iso agora, Eu podería dicir algo como isto. 19 00:00:57,910 --> 00:01:01,330 Hora en Cambridge-- entón eu teño HTML tags, etiquetas de cabeza, etiquetas de título, 20 00:01:01,330 --> 00:01:04,610 corpo tags-- o actual tempo en Cambridge é 14:08, 21 00:01:04,610 --> 00:01:06,690 imprimindo tempo militar. 22 00:01:06,690 --> 00:01:11,390 >> Qué acontece se agora é 14:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Ben, ata agora, con HTML, eu teño para entrar e cambia-lo para 14:09. 24 00:01:16,470 --> 00:01:19,390 E, a continuación, un minuto despois, Teño que mudalo de novo. 25 00:01:19,390 --> 00:01:22,132 E, a continuación, un minuto despois, Teño que mudalo de novo. 26 00:01:22,132 --> 00:01:24,590 E como podes imaxinar, iso é probablemente o peor traballo que nunca. 27 00:01:24,590 --> 00:01:29,420 Vostede é o webmaster da páxina web, e cada minuto, 24 horas ao día, 28 00:01:29,420 --> 00:01:35,970 precisa actualizar a hora actual por abrindo man time.html e cambiando 29 00:01:35,970 --> 00:01:41,750 só que fragmento de código para dicir o hora actual en horas e minutos. 30 00:01:41,750 --> 00:01:45,850 Isto probablemente non é moi bo uso dos nosos recursos, 31 00:01:45,850 --> 00:01:48,880 tanto humanos e computacional. 32 00:01:48,880 --> 00:01:51,297 >> Sitios que son todos HTML son completamente estático. 33 00:01:51,297 --> 00:01:53,630 O único xeito que pode actualizar contido, como acabamos de ver, 34 00:01:53,630 --> 00:01:56,339 é para abrir a man os fonte arquivos, editalos e garda-los. 35 00:01:56,339 --> 00:01:58,088 E, a continuación, cando o usuario actualiza a páxina, 36 00:01:58,088 --> 00:02:01,080 ou visita a páxina por primeira tempo, van recuperar o contido máis recente. 37 00:02:01,080 --> 00:02:03,970 Pero só porque temos editadas manual. 38 00:02:03,970 --> 00:02:07,980 >> Se comezar a mesturar un pouco de PHP alí, noso código pode obter máis flexible. 39 00:02:07,980 --> 00:02:11,940 E podemos ter un camiño para as nosas páxinas ser dinámico, ou actualizar-se, 40 00:02:11,940 --> 00:02:15,360 sen esixir a nosa pobre webmaster no exemplo anterior 41 00:02:15,360 --> 00:02:16,662 para ser a man actualizar as cousas. 42 00:02:16,662 --> 00:02:17,870 Poden facelo automaticamente. 43 00:02:17,870 --> 00:02:19,130 Non temos que intervir. 44 00:02:19,130 --> 00:02:20,410 Podemos durmir un pouco. 45 00:02:20,410 --> 00:02:24,850 Que pode ser unha boa cousa que está facendo unha morea de programación web. 46 00:02:24,850 --> 00:02:28,360 >> Así, en CS50 IDE, corremos un servidor web Apache chamado. 47 00:02:28,360 --> 00:02:35,250 É moi comunmente usado, sistema de servidor web de código aberto. 48 00:02:35,250 --> 00:02:37,320 Este sistema ten a capacidade de interpretar 49 00:02:37,320 --> 00:02:41,260 PHP, que será útil se quere facer calquera tipo de programación PHP. 50 00:02:41,260 --> 00:02:45,230 >> E en CS50 IDE, temos un comando Para facer isto, moi fácil de facer, 51 00:02:45,230 --> 00:02:47,280 apache50 comezar. 52 00:02:47,280 --> 00:02:49,445 E, a continuación, que barra camiño, cortar para, slash 53 00:02:49,445 --> 00:02:53,350 dir, que é só unha forma moi común de indicando que especificou aquí 54 00:02:53,350 --> 00:02:56,510 é un camiño para un determinado directorio que 55 00:02:56,510 --> 00:03:00,800 quere ser a raíz local, ou a páxina de raíz, 56 00:03:00,800 --> 00:03:05,430 ou o cartafol desde o que o servidor web comezará a examinar os arquivos e servir 57 00:03:05,430 --> 00:03:07,850 Los aos clientes que o requiran. 58 00:03:07,850 --> 00:03:12,110 Entón, imos estalar sobre a CS50 IDE, só para amosar a vostede, realmente rápida, como funciona isto. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Entón, aquí en CS50 IDE, eu estou nun directorio chamado Week Nine Cero. 61 00:03:36,240 --> 00:03:38,890 E eu teño eu teño dois-- executado un comando ls só 62 00:03:38,890 --> 00:03:41,910 arriba para amosar que eu teño dous directorios en aquí, PHP, 63 00:03:41,910 --> 00:03:46,410 que é o conxunto de arquivos que eu usei no o video sintaxe PHP e logo PHP-web, 64 00:03:46,410 --> 00:03:49,380 que é o conxunto de arquivos que quere empregar nun vídeo. 65 00:03:49,380 --> 00:03:53,480 >> E gustaríame comezar unha instancia do servidor web 66 00:03:53,480 --> 00:03:59,089 co contido do cartafol PHP-web como os arquivos están sendo servidos. 67 00:03:59,089 --> 00:04:00,130 Entón que é o que eu vou facer? 68 00:04:00,130 --> 00:04:05,710 I vai escribir apache50 espazo comezar, espazo PHP trazo web. 69 00:04:05,710 --> 00:04:08,100 Ese é o camiño para o directorio de onde eu son actualmente. 70 00:04:08,100 --> 00:04:09,127 Entón eu bati Intro. 71 00:04:09,127 --> 00:04:10,960 Vai facer unha pouco de cousas aquí. 72 00:04:10,960 --> 00:04:14,030 E, a continuación, que vai dicir, Apache iniciouse con éxito. 73 00:04:14,030 --> 00:04:20,689 O seu sitio xa está dispoñible e at-- despois hai a URL para o sitio. 74 00:04:20,689 --> 00:04:21,730 Entón que é o que eu vou facer? 75 00:04:21,730 --> 00:04:26,234 Vou copiar rapidamente iso. 76 00:04:26,234 --> 00:04:28,900 E eu vou abrir up-- e Vou afastar un pouco aqui-- 77 00:04:28,900 --> 00:04:31,570 Vou abrir unha nova pestana en Chrome. 78 00:04:31,570 --> 00:04:34,320 E eu vou visitar esa URL. 79 00:04:34,320 --> 00:04:35,299 >> Vou bater Intro. 80 00:04:35,299 --> 00:04:36,090 Vai para cargar. 81 00:04:36,090 --> 00:04:37,510 E eu vou reducir novo. 82 00:04:37,510 --> 00:04:41,350 E vemos aquí é o contido do meu directorio web PHP. 83 00:04:41,350 --> 00:04:45,290 >> Entón agora o que está pasando, basicamente, aquí é a miña sesión de CS50 IDE 84 00:04:45,290 --> 00:04:49,620 está servindo-se eses arquivos calquera persoa que solicita a eles. 85 00:04:49,620 --> 00:04:51,620 E ao longo Neste vídeo, imos resolver de 86 00:04:51,620 --> 00:04:55,400 dar un ollo a un grupo destes diferentes arquivos no contexto. 87 00:04:55,400 --> 00:04:57,614 >> Para comprobar se o seu Apache servidor funciona, 88 00:04:57,614 --> 00:04:59,780 que vai xeralmente ser o caso en CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 pero se fai iso de forma máis xeral, e comezar a construír o seu propio sitio 90 00:05:02,696 --> 00:05:04,990 servidores, hai un realmente tipo común de analóxico a, 91 00:05:04,990 --> 00:05:08,500 "Ola mundo", que adoita usado para desenvolvemento web PHP. 92 00:05:08,500 --> 00:05:12,855 Que é ter un ficheiro que consiste en só iso code-- 93 00:05:12,855 --> 00:05:18,247 un delimitador definido con PHP Información PHP parénteses, punto e coma no medio. 94 00:05:18,247 --> 00:05:20,580 Que é basicamente un especial PHP función que lle di 95 00:05:20,580 --> 00:05:23,970 que versión de PHP está executando. 96 00:05:23,970 --> 00:05:26,850 >> Así, en CS50 IDE, eu teño o ficheiro dispoñible 97 00:05:26,850 --> 00:05:28,680 para mostrar o que este sería semellante. 98 00:05:28,680 --> 00:05:32,860 Entón, eu estou ollando para o meu índice da miña instancia PHP. 99 00:05:32,860 --> 00:05:35,870 Meu exemplo Apache está en execución o contido de PHP-web. 100 00:05:35,870 --> 00:05:39,290 E eu teño un arquivo chamado aquí info.php. 101 00:05:39,290 --> 00:05:41,164 >> Eu estou indo a facer clic nel, zoom out. 102 00:05:41,164 --> 00:05:43,080 Isto é o que está indo a ver, moi bonito. 103 00:05:43,080 --> 00:05:45,729 Este é só dicirme que meu servidor Apache funciona. 104 00:05:45,729 --> 00:05:48,270 E esta é, ao parecer, o versión de PHP que estou correndo. 105 00:05:48,270 --> 00:05:51,590 Este é o meu analóxico para "Ola mundo". 106 00:05:51,590 --> 00:05:53,070 >> Entón eu sei que as cousas están operativos. 107 00:05:53,070 --> 00:05:54,150 Entón, nós somos bos de ir. 108 00:05:54,150 --> 00:05:55,730 Podemos seguir a partir de aquí. 109 00:05:55,730 --> 00:05:57,790 >> Entón, imos revisitar este exemplo xa que foron 110 00:05:57,790 --> 00:06:01,950 falando co noso pobre webmaster que tivo que actualizar a páxina constantemente. 111 00:06:01,950 --> 00:06:05,020 Esta pode ser unha corrección para saber como Quere aplicar cousas 112 00:06:05,020 --> 00:06:08,080 de xeito que o webmaster non fixo ten que manter a actualización do tempo. 113 00:06:08,080 --> 00:06:10,270 Sería só unha especie de pasa automaticamente. 114 00:06:10,270 --> 00:06:13,710 >> O baixo, o HTML, é moi semellante, cunha excepción. 115 00:06:13,710 --> 00:06:16,720 Pero aquí eu teño un pouco de PHP na parte superior. 116 00:06:16,720 --> 00:06:19,940 Eu, ao parecer, chamou este date_default_timezone_set función. 117 00:06:19,940 --> 00:06:22,106 >> E nós non falamos todo estas funcións, en CS50 118 00:06:22,106 --> 00:06:24,670 porque o PHP ten, probabelmente, decenas de miles. 119 00:06:24,670 --> 00:06:27,540 Isto pode ser un pouco de un esaxero, pero non pode ser. 120 00:06:27,540 --> 00:06:29,490 Ten unha morea de funcións embutidas. 121 00:06:29,490 --> 00:06:33,290 E polo que esta é unha función aparentemente define o meu fuso horario como EUA / Oriental, 122 00:06:33,290 --> 00:06:36,320 cal é a zona horaria que eu son Actualmente en facer este vídeo. 123 00:06:36,320 --> 00:06:38,430 >> Entón eu facer unha chamada a función chamada, a data. 124 00:06:38,430 --> 00:06:43,850 E, ao parecer, eu estou almacenando o HIS de algo chamado, o tempo. 125 00:06:43,850 --> 00:06:45,320 Entón, o que está pasando aquí? 126 00:06:45,320 --> 00:06:48,040 >> Ben, basicamente o que é está a suceder, eu estou facendo unha chamada 127 00:06:48,040 --> 00:06:51,650 a un servidor que vai me diga o que o tempo é actualmente. 128 00:06:51,650 --> 00:06:56,150 E eu estou converténdoa en formato de horas, minutos, segundos. 129 00:06:56,150 --> 00:07:00,540 E a razón é de capital H é este me vai dar tempo de 24 horas, non 12 130 00:07:00,540 --> 00:07:02,362 tempo de horas, o que sería h minúsculas. 131 00:07:02,362 --> 00:07:04,570 E eu só estou almacenando que nunha variable chamada, tempo. 132 00:07:04,570 --> 00:07:07,028 Así que a segunda liña de PHP alí, a chamada á función, 133 00:07:07,028 --> 00:07:09,037 data, está só comezando algunha corda, que é 134 00:07:09,037 --> 00:07:12,120 me vai dar a data, eo tempo, e unha morea de outras informacións. 135 00:07:12,120 --> 00:07:16,480 E o primeiro argumento alí, que HIS, é só extraer a parte importante 136 00:07:16,480 --> 00:07:20,614 que me preocupo para este exemplo, que é a hora, minuto e segundo. 137 00:07:20,614 --> 00:07:22,030 Entón ese é o único que está a suceder. 138 00:07:22,030 --> 00:07:23,562 Entón eu gardar iso nun tempo variable $. 139 00:07:23,562 --> 00:07:25,270 E, a continuación, para abaixo, para o moi inferior alí, eu 140 00:07:25,270 --> 00:07:28,980 ten que abreviada para imprimindo a hora actual. 141 00:07:28,980 --> 00:07:32,050 Entón, eu estou indo só para imprimir o que o tempo actual é. 142 00:07:32,050 --> 00:07:37,220 >> Entón, imos dar un ollo niso en IDE CS50 para ver como estamos agora 143 00:07:37,220 --> 00:07:40,002 aforro que webmaster unha morea de problemas. 144 00:07:40,002 --> 00:07:42,570 Todo ben, entón aquí estou eu de novo ao seu directorio raíz 145 00:07:42,570 --> 00:07:45,040 da miña instancia de Apache. 146 00:07:45,040 --> 00:07:51,585 E eu teño un arquivo chamado aquí time.php. 147 00:07:51,585 --> 00:07:53,559 Eu só vou para premer sobre o tema. 148 00:07:53,559 --> 00:07:55,850 E eu vou rolar para arriba, porque estamos ampliada moi lonxe. 149 00:07:55,850 --> 00:07:57,257 A hora actual é 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Entón, eu estou facendo iso horas, minutos e segundos. 151 00:07:59,090 --> 00:08:01,910 E podo actualizar a páxina 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 a actualizar a páxina e obter novo tempo, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Entón, eu non son claramente cambiar nada mesmo. 155 00:08:10,490 --> 00:08:11,720 Estou aquí actualizar a páxina. 156 00:08:11,720 --> 00:08:13,711 Entón eu non podo volver alí de editalo. 157 00:08:13,711 --> 00:08:15,710 E eu prometer a vostede, eu non sei ten confederados 158 00:08:15,710 --> 00:08:18,230 que está a editar o ficheiro no meu nome xunto. 159 00:08:18,230 --> 00:08:21,260 >> Eu só estou usando esa función PHP tempo, para xerar o tempo para min 160 00:08:21,260 --> 00:08:22,340 automaticamente. 161 00:08:22,340 --> 00:08:24,800 De xeito que mesmo se eu estou durmindo, e meu servidor web está en execución, 162 00:08:24,800 --> 00:08:28,884 o usuario que visita esta páxina aínda é indo para obter exactamente o momento actual. 163 00:08:28,884 --> 00:08:29,800 Entón, iso é moi bo. 164 00:08:29,800 --> 00:08:33,609 Eu fixen o meu sitio máis dinámico con non moi código PHP. 165 00:08:33,609 --> 00:08:36,650 Era só dúas liñas de código e, a continuación, un pouco de unha declaración de impresión. 166 00:08:36,650 --> 00:08:38,441 E xa teño unha sitio moito máis dinámico 167 00:08:38,441 --> 00:08:42,750 do que vimos primeiro exemplo no inicio do vídeo. 168 00:08:42,750 --> 00:08:46,660 >> Entón, lembre-se do vídeo sobre a sintaxe PHP que, cando o intérprete PHP é executado 169 00:08:46,660 --> 00:08:50,000 noso programa, ignora todo que non está dentro delimitadores PHP 170 00:08:50,000 --> 00:08:51,500 cuspídela. 171 00:08:51,500 --> 00:08:54,410 Nese exemplo, o que a cousa que estaba cuspindo era HTML. 172 00:08:54,410 --> 00:08:58,080 E isto significa que podo agora intercalam HTML e PHP xuntos. 173 00:08:58,080 --> 00:09:01,920 Porque o intérprete só ignorar o HTML e literalmente saída del. 174 00:09:01,920 --> 00:09:04,140 O que é bo, non? 175 00:09:04,140 --> 00:09:06,100 >> Porque presuntamente, ao final do día, 176 00:09:06,100 --> 00:09:08,360 Gustaríame que o meu sitio para ser construídos con HTML. 177 00:09:08,360 --> 00:09:12,880 De xeito que calquera navegador pode interpretar Lo, ou comprender o HTML na páxina 178 00:09:12,880 --> 00:09:17,270 e facelo como algo que realmente entender como seres humanos. 179 00:09:17,270 --> 00:09:19,430 E eu só podo usar PHP para as partes do meu sitio 180 00:09:19,430 --> 00:09:23,390 o esixen dinamismo, que me esixen para ter as cousas que actualizan constantemente. 181 00:09:23,390 --> 00:09:26,630 A información estática pode permanecer o mesmo. 182 00:09:26,630 --> 00:09:27,540 >> OK, entón iso é bo. 183 00:09:27,540 --> 00:09:28,540 Pero por que eu faría iso? 184 00:09:28,540 --> 00:09:30,400 Por que eu ía mesturar HTML e PHP? 185 00:09:30,400 --> 00:09:33,850 Podería simplemente imprimir todo o HTML, usando a función de impresión PHP. 186 00:09:33,850 --> 00:09:35,870 Por que non estou facendo iso? 187 00:09:35,870 --> 00:09:37,100 Pense nisso por un segundo. 188 00:09:37,100 --> 00:09:41,220 >> Por que, cando eu podería simplemente imprimir out-- I podería liñas de PHP que dicir, 189 00:09:41,220 --> 00:09:43,841 tag HTML de impresión, cabeza de impresión. 190 00:09:43,841 --> 00:09:44,840 Por que non estou facendo iso? 191 00:09:44,840 --> 00:09:48,230 Por que eu estou mesturando PHP e HTML? 192 00:09:48,230 --> 00:09:50,080 >> Ben, se pensar sobre iso por un segundo. 193 00:09:50,080 --> 00:09:52,824 PHP, o intérprete ten para interpretar o que ve. 194 00:09:52,824 --> 00:09:54,990 E así vai ter para realizar unha liña 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 cabeza aberta. 197 00:09:57,700 --> 00:09:58,969 Imprimir etiqueta 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 paso do camiño. 200 00:10:02,671 --> 00:10:04,670 ¿Por que non basta deixar o intérprete só encubrir 201 00:10:04,670 --> 00:10:06,878 cousas que non entenden e facelo automaticamente? 202 00:10:06,878 --> 00:10:11,365 El me vai gardar unha chea de tempo para mesturar o meu HTML e PHP miña xuntos. 203 00:10:11,365 --> 00:10:16,220 >> E é por iso que non só abrir delimitador PHP 204 00:10:16,220 --> 00:10:19,450 e despois é só imprimir o enteiro contido da nosa páxina PHP como un xigante 205 00:10:19,450 --> 00:10:24,330 chamada á función, Imprimir e, a continuación, preto delimitador PHP e estamos a facer. 206 00:10:24,330 --> 00:10:27,620 Entón é por iso que mestura-los xuntos. 207 00:10:27,620 --> 00:10:32,345 >> Ata agora, non vimos moito de unha diferenza de sintaxe xeral PHP. 208 00:10:32,345 --> 00:10:33,720 Foi moi sinxelo. 209 00:10:33,720 --> 00:10:35,553 Xa vimos o punto de interrogação, igual. 210 00:10:35,553 --> 00:10:39,012 Vimos un par de novas chamadas de función, pero nada realmente sofisticados suceder. 211 00:10:39,012 --> 00:10:40,720 Imos quizais facer cousas un pouco afeccionado. 212 00:10:40,720 --> 00:10:44,360 E se queremos pasar información entre diferentes arquivos PHP, 213 00:10:44,360 --> 00:10:47,280 de xeito que o usuario pode talvez enviar información para min. 214 00:10:47,280 --> 00:10:50,230 E entón eu podería facer algo con el noutra páxina. 215 00:10:50,230 --> 00:10:52,990 >> Entón PHP ten soporte para algo chamado Super global 216 00:10:52,990 --> 00:10:55,297 Variables, que soa moi impresionante. 217 00:10:55,297 --> 00:10:57,130 Son realmente só arrays asociativos xigantes 218 00:10:57,130 --> 00:10:59,900 que axudan a aplicar este función de paso 219 00:10:59,900 --> 00:11:05,010 información entre arquivos PHP que son existente no noso servidor web. 220 00:11:05,010 --> 00:11:07,760 >> A primeira destas super- globals chámase $ _GET. 221 00:11:07,760 --> 00:11:10,140 E pode ser o máis sinxelo de entender. 222 00:11:10,140 --> 00:11:12,430 Que pasa con $ _GET? 223 00:11:12,430 --> 00:11:16,240 Ben, basicamente, o usuario é vai escribir información extra 224 00:11:16,240 --> 00:11:18,390 a finais dos nosos directorio. 225 00:11:18,390 --> 00:11:21,460 E o que quere que escriba, asumindo é formatado dun xeito particular 226 00:11:21,460 --> 00:11:25,830 chamado dunha cadea de consulta, que é só un conxunto de pares de valores clave separadas 227 00:11:25,830 --> 00:11:27,810 por e comercial. 228 00:11:27,810 --> 00:11:32,362 Estes pares de valores clave será almacenados nunha matriz asociativa $ _GET. 229 00:11:32,362 --> 00:11:34,070 E do noso vídeo sobre Sintaxe PHP, sabemos 230 00:11:34,070 --> 00:11:40,080 como traballar con arrays asociativos xa. 231 00:11:40,080 --> 00:11:44,090 Entón, aquí está un exemplo de algúns PHP, onde quizais eu son 232 00:11:44,090 --> 00:11:50,180 extracción de todos os pares de valores clave que o usuario indicado na URL. 233 00:11:50,180 --> 00:11:51,970 Entón, eu teño o meu Aberto delimitador PHP. 234 00:11:51,970 --> 00:11:53,410 Eu teño un 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 quero ser capaz de encamiñar tanto para a chave eo valor. 237 00:12:00,160 --> 00:12:02,410 E eu só estou imprimindo- a fóra, unha en cada aparentemente 238 00:12:02,410 --> 00:12:03,780 seu propio apartado tag aquí. 239 00:12:03,780 --> 00:12:07,620 Estou imprimindo algún HTML e interpolando valores 240 00:12:07,620 --> 00:12:12,900 de clave e valor para esa afirmación. 241 00:12:12,900 --> 00:12:16,980 >> Entón, imos dar un ollo a como esta sería realmente traballar na nosa IDE. 242 00:12:16,980 --> 00:12:18,980 E quizais isto axude ilustran un pouco 243 00:12:18,980 --> 00:12:21,880 GET que está realmente facendo. 244 00:12:21,880 --> 00:12:23,610 Entón, eu estou de volta aquí na miña raíz web. 245 00:12:23,610 --> 00:12:25,318 E eu vou aumentar nun pouco para amosar-lle 246 00:12:25,318 --> 00:12:28,620 que eu teño un arquivo chamado, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Entón, imos premer en get1.php. 248 00:12:31,830 --> 00:12:36,600 E eu non estou a ver ningún contido. 249 00:12:36,600 --> 00:12:38,390 Isto é raro, non? 250 00:12:38,390 --> 00:12:39,740 Ben, non é realmente verdade. 251 00:12:39,740 --> 00:12:42,030 Porque eu non facilitou nada na URL. 252 00:12:42,030 --> 00:12:46,270 Vou get1.php, pero eu non facilitou ningún pares de valores clave 253 00:12:46,270 --> 00:12:47,450 como parte da miña cadea de consulta. 254 00:12:47,450 --> 00:12:50,510 Entón, imos engadir unha secuencia de consulta e ver que este ficheiro pode facer. 255 00:12:50,510 --> 00:12:53,040 >> Para comezar unha secuencia de consulta vostede escriba o punto de interrogación. 256 00:12:53,040 --> 00:13:00,820 Entón quizais eu vou dicir name = Doug & ano = 2015. 257 00:13:00,820 --> 00:13:02,914 E entón eu vou prema Intro. 258 00:13:02,914 --> 00:13:04,080 Agora, teña en conta o que está pasando. 259 00:13:04,080 --> 00:13:05,480 Eu aínda estou no get1.php. 260 00:13:05,480 --> 00:13:08,445 Pero agora eu teño solicitado pares de valores clave, e eu son 261 00:13:08,445 --> 00:13:14,940 imprimir-las por conta propia paragraph-- nome, ano Doug-- de 2015. 262 00:13:14,940 --> 00:13:17,970 Iso é o código que acabamos viu no slide un momento atrás. 263 00:13:17,970 --> 00:13:22,290 >> E se eu queira engadir quizais outra par de valores clave, e class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Agora eu teño un outro valor clave par que está impreso 266 00:13:27,580 --> 00:13:30,025 cando revisitar a URL de novo. 267 00:13:30,025 --> 00:13:31,900 Agora, quizais isto non é formato moitísimo ben. 268 00:13:31,900 --> 00:13:33,660 Entón, eu teño unha nova versión do get.php. 269 00:13:33,660 --> 00:13:36,350 É get2.php. 270 00:13:36,350 --> 00:13:39,070 >> A diferenza neste unha é que eu teño de arquivos CSS, 271 00:13:39,070 --> 00:13:41,690 e formata as cousas un pouco máis ben para min. 272 00:13:41,690 --> 00:13:43,940 El quizais non é o máis CSS fermosa do mundo. 273 00:13:43,940 --> 00:13:45,650 Pero é só outra forma de facelo. 274 00:13:45,650 --> 00:13:52,840 Entón, eu aínda pode acceder aos meus variables usando $ _GET. 275 00:13:52,840 --> 00:13:56,610 E neste caso, eu son só un tipo de facendo a CSS un pouco máis extravagante. 276 00:13:56,610 --> 00:13:58,360 E se nós pop para meu IDE por un segundo, 277 00:13:58,360 --> 00:14:06,870 Eu vou amosar-lle no meu PHP web directorio aquí, get2.php. 278 00:14:06,870 --> 00:14:10,010 Imos abri-lo, algúns HTML aquí. 279 00:14:10,010 --> 00:14:13,220 Ao parecer, eu estou conectando en que Arquivo CSS que eu estaba falando. 280 00:14:13,220 --> 00:14:14,570 Abro unha marca de táboa. 281 00:14:14,570 --> 00:14:15,970 E entón aquí está o meu loop foreach. 282 00:14:15,970 --> 00:14:18,450 >> Aquí é que, o que eu mostrou no slide antes. 283 00:14:18,450 --> 00:14:21,007 A única diferenza é que eu ter a clave e valor CSS 284 00:14:21,007 --> 00:14:22,340 estilo que eu estou aplicando a el. 285 00:14:22,340 --> 00:14:25,622 Pero iso é todo o que eu estou facendo, é que eu son iteración través $ _GET para todas 286 00:14:25,622 --> 00:14:26,580 un dos pares de valores clave. 287 00:14:26,580 --> 00:14:28,890 >> E eu estou imprimir-las como a mesa. 288 00:14:28,890 --> 00:14:33,230 E, ao parecer, eu estou de formateo as claves dun xeito, coa class = "clave" 00:14:40,057 Entón, ao parecer, que se aplica a algúns selector de clase no meu arquivo CSS GET.CSS. 290 00:14:40,057 --> 00:14:42,890 E, ao parecer, eu estou imprimindo meus valores dun xeito totalmente diferente. 291 00:14:42,890 --> 00:14:45,530 Que é moi fermoso o que vimos aquí, onde 292 00:14:45,530 --> 00:14:47,710 nosos valores foron impresos cun fondo azul, 293 00:14:47,710 --> 00:14:49,969 e as nosas chaves foron impresos cun fondo amarelo. 294 00:14:49,969 --> 00:14:52,010 Entón é así que eu estou quedando estes estilos diferentes. 295 00:14:52,010 --> 00:14:54,054 Porque está a usar distintas clases CSS. 296 00:14:54,054 --> 00:14:55,470 Pero iso é moi fermoso isto para Get. 297 00:14:55,470 --> 00:14:58,380 Como eu estou só extraer información. 298 00:14:58,380 --> 00:15:01,000 E neste caso, eu son só imprimir lo para a pantalla. 299 00:15:01,000 --> 00:15:04,310 Estou recibindo-o fóra do URL, e iso é o que Get fai por nós. 300 00:15:04,310 --> 00:15:06,470 >> Ve un posible problema aquí aínda? 301 00:15:06,470 --> 00:15:11,720 Por que nós quizais non quere usar $ _GET? 302 00:15:11,720 --> 00:15:15,440 E se, quizais, eu estaba facendo esta pregunta? 303 00:15:15,440 --> 00:15:18,000 get3.php --to, que eu non teño no meu IDE. 304 00:15:18,000 --> 00:15:19,640 É só un arquivo hipotético. 305 00:15:19,640 --> 00:15:22,187 Pero teña en conta aquí que, ao parecer, pasando meu contrasinal. 306 00:15:22,187 --> 00:15:23,770 E quizais o meu contrasinal é embaraçoso. 307 00:15:23,770 --> 00:15:28,070 Ou que eu non quero que a xente saber o que o meu contrasinal está, non. 308 00:15:28,070 --> 00:15:33,140 >> Se eu estou pasando embora-- se está a usar o método $ _GET, o que pasa é, 309 00:15:33,140 --> 00:15:34,970 que estará na URL. 310 00:15:34,970 --> 00:15:39,890 Entón, algún usuario malicioso pode poder ver o que estou facendo. 311 00:15:39,890 --> 00:15:42,040 Podo estar passando- información confidencial. 312 00:15:42,040 --> 00:15:43,310 Ou que non sexa aínda un usuario malicioso. 313 00:15:43,310 --> 00:15:45,790 Quizais sexa só o seu amigo que está en pé sobre o seu ombreiro. 314 00:15:45,790 --> 00:15:47,650 E agora saben o contrasinal a súa conta de Facebook. 315 00:15:47,650 --> 00:15:49,483 >> E quizais eles non ían facer nada con el. 316 00:15:49,483 --> 00:15:53,749 Pero se o seu contrasinal foron sometidos vía $ _GET a Facebook, 317 00:15:53,749 --> 00:15:55,290 agora saben que o seu contrasinal de Facebook. 318 00:15:55,290 --> 00:15:59,000 Por alí mesmo no URL cando fixo a presentación de información. 319 00:15:59,000 --> 00:16:01,887 >> E así, quizais, ese non é o mellor forma de pasar información confidencial. 320 00:16:01,887 --> 00:16:04,470 É unha boa forma de pasar información que non particularmente 321 00:16:04,470 --> 00:16:05,886 se preocupan como moi sensible. 322 00:16:05,886 --> 00:16:09,347 Porque GET é moi rápido, en relación ás outras variables globais de super 323 00:16:09,347 --> 00:16:10,430 imos falar. 324 00:16:10,430 --> 00:16:13,330 Pero quizais non sexa o mellor instrumento para información sensibles. 325 00:16:13,330 --> 00:16:15,990 >> Para que pode querer usar algo chamado $ _POST, 326 00:16:15,990 --> 00:16:18,560 que é outra variable Super global. 327 00:16:18,560 --> 00:16:20,750 É outra matriz asociativa. 328 00:16:20,750 --> 00:16:23,240 Así, funciona moi ben exactamente o mesmo que Get. 329 00:16:23,240 --> 00:16:26,850 Excepto no canto de extraer información desde o URL, 330 00:16:26,850 --> 00:16:29,870 fai algo a través de cabeceiras HTTP. 331 00:16:29,870 --> 00:16:32,080 Entón lembro do noso vídeo en HTTP, falamos 332 00:16:32,080 --> 00:16:34,850 sobre como navegadores, servidores, e os clientes se comunican. 333 00:16:34,850 --> 00:16:38,070 E a información é pasada ao e cara atrás en cabeceiras HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Co US $ _POST, a información é tipicamente enviado a través destes cabeceiras HTTP. 335 00:16:43,330 --> 00:16:49,770 E nós imos ver máis comunmente en $ _POST o contexto de envío de formularios HTML. 336 00:16:49,770 --> 00:16:52,390 Aínda pode usar formularios HTML para enviar as cousas para chegar. 337 00:16:52,390 --> 00:16:56,120 Pero son xeralmente usados no contexto POST. 338 00:16:56,120 --> 00:17:00,280 >> Entón aquí está un exemplo dun formulario HTML. 339 00:17:00,280 --> 00:17:06,750 Agora vimos estes antes, pero temos non vin esta parte, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 Entón, cando falamos de formas no contexto de HTML, eu tiña un botón Enviar. 341 00:17:10,756 --> 00:17:13,630 E se se lembra, eu prema en Enviar e, a continuación, a páxina só refrescado, 342 00:17:13,630 --> 00:17:14,660 Non fixen nada. 343 00:17:14,660 --> 00:17:18,250 >> Neste caso, Estou enviando o que quere que eu escriba neste formulario, 344 00:17:18,250 --> 00:17:20,750 a un arquivo PHP chamado post.php. 345 00:17:20,750 --> 00:17:25,810 E, ao parecer, o xeito que eu estou facendo iso nesa forma é mediante a entrada POST. 346 00:17:25,810 --> 00:17:29,040 Entón, cada peza de información que escriba a esta forma 347 00:17:29,040 --> 00:17:31,470 serán sometidas través das cabeceiras HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Será accesible en post.php, porque esa é a acción da miña forma. 349 00:17:36,440 --> 00:17:39,811 Será accesible indo ata $ _POST. 350 00:17:39,811 --> 00:17:42,310 E, ao parecer, o xeito que eu poida obter en cada elemento individual 351 00:17:42,310 --> 00:17:44,765 con esa matriz asociativa É con este atributo, 352 00:17:44,765 --> 00:17:48,130 o atributo Nome das nosas marcas de entrada. 353 00:17:48,130 --> 00:17:53,540 >> Entón, ao parecer, o que podo dicir $ _POST cadrado soportes nome para obter o que quere que o usuario 354 00:17:53,540 --> 00:17:55,440 ingresaran no primeiro campo. 355 00:17:55,440 --> 00:18:01,030 E $ _POST contrasinal no canto de pw, para chegar a calquera usuario escribiu 356 00:18:01,030 --> 00:18:03,650 no segundo campo. 357 00:18:03,650 --> 00:18:06,414 >> Entón, imos dar un ollo esta máis en CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Entón aquí estamos nós, e eu vou zoom e por un segundo. 359 00:18:08,330 --> 00:18:12,380 E nós temos un arquivo chamado post.html. 360 00:18:12,380 --> 00:18:13,690 Eu premer en post.html. 361 00:18:13,690 --> 00:18:16,300 Na parte superior aquí eu teño un formulario web moi sinxelo. 362 00:18:16,300 --> 00:18:18,750 É a forma que acabamos de ver no slide un segundo atrás. 363 00:18:18,750 --> 00:18:25,610 >> I pode escribir, Doug, e eu poida escribir o meu contrasinal, o que todos 364 00:18:25,610 --> 00:18:27,340 sei é squadgoals. 365 00:18:27,340 --> 00:18:30,100 E eu vou bater en Enviar. 366 00:18:30,100 --> 00:18:32,290 E, ao parecer, que somete a post.php. 367 00:18:32,290 --> 00:18:33,810 E eu estou aparentemente imprimir iso. 368 00:18:33,810 --> 00:18:36,490 Entón, eu estou se librar de toda a seguridade POST que me dá só por imprimir 369 00:18:36,490 --> 00:18:37,720 o nome de usuario e contrasinal. 370 00:18:37,720 --> 00:18:38,960 >> O nome de usuario é Doug. 371 00:18:38,960 --> 00:18:40,810 Requérese o contrasinal do usuario é squadgoals. 372 00:18:40,810 --> 00:18:42,480 Como é que eu fago isto? 373 00:18:42,480 --> 00:18:44,800 Ben, estalar sobre a IDE de novo por un segundo. 374 00:18:44,800 --> 00:18:51,340 Nós imos rolar para abaixo para tomar un ollo post.php, que foi 375 00:18:51,340 --> 00:18:54,040 a acción que eu adoitaba presentar aquí. 376 00:18:54,040 --> 00:18:55,739 Esa foi a acción do meu formulario HTML. 377 00:18:55,739 --> 00:18:56,780 E iso é todo o que eu estou facendo. 378 00:18:56,780 --> 00:19:01,370 O nome de usuario é, e eu teño a impresión o contido de $ _ POST "name". 379 00:19:01,370 --> 00:19:04,660 E, a continuación, o contrasinal do usuario é de R $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 Entón, me foi dada esa información por enviar o formulario HTML. 381 00:19:08,920 --> 00:19:13,790 E agora podo extraelo lo usando $ _POST porque o método utilizado para transmitir 382 00:19:13,790 --> 00:19:17,470 datos que forma foi o método POST. 383 00:19:17,470 --> 00:19:20,640 >> Agora probablemente non é entón eu vou great-- 384 00:19:20,640 --> 00:19:24,510 para volver a unha segunda para o noso conxunto aqui-- 385 00:19:24,510 --> 00:19:30,120 probablemente non é tan grande que eu son a presentación de información con POST, 386 00:19:30,120 --> 00:19:32,532 que é aparentemente máis seguro. 387 00:19:32,532 --> 00:19:34,740 Probablemente non é tan grande se eu estou facendo iso e, a continuación, 388 00:19:34,740 --> 00:19:36,470 imprimir o contrasinal do usuario. 389 00:19:36,470 --> 00:19:38,540 É suposto ser máis seguro. 390 00:19:38,540 --> 00:19:40,870 >> OK, pero non é enteiramente seguro. 391 00:19:40,870 --> 00:19:42,910 E así, este pequeno fragmento aquí que quero 392 00:19:42,910 --> 00:19:46,410 só para chamar a atención sobre algúns os problemas de seguridade de datos, só algo 393 00:19:46,410 --> 00:19:51,200 para pensar sobre como está traballar ou a través da internet. 394 00:19:51,200 --> 00:19:53,890 Este é só algo a considerar. 395 00:19:53,890 --> 00:19:57,980 >> Eu lle dixen que a información é presentadas a través cabeceiras HTTP 396 00:19:57,980 --> 00:19:59,724 cando usa o método POST. 397 00:19:59,724 --> 00:20:01,390 O que significa que eles non son totalmente seguras. 398 00:20:01,390 --> 00:20:05,610 Son máis difíciles de atopar que usando o método GET, onde 399 00:20:05,610 --> 00:20:06,882 é só para a dereita na URL. 400 00:20:06,882 --> 00:20:08,340 Pero aínda hai un xeito de atopalo. 401 00:20:08,340 --> 00:20:10,423 E eu só quero te amosar isto para que quizais 402 00:20:10,423 --> 00:20:12,940 comezar a pensar sobre iso como se está a traballar, ou usando 403 00:20:12,940 --> 00:20:14,560 sitios e submetê- claves, e quizais usando 404 00:20:14,560 --> 00:20:16,518 o mesmo código en un chea de lugares diferentes. 405 00:20:16,518 --> 00:20:22,060 Saber que é aínda é realmente moi fácil de descubrir o contrasinal de alguén. 406 00:20:22,060 --> 00:20:25,190 >> E por iso aquí, eu vou para ir post2.html. 407 00:20:25,190 --> 00:20:28,850 E a diferenza con post2.html e post2.php é moi sutil. 408 00:20:28,850 --> 00:20:31,420 A diferenza é só que eu non imprimir 409 00:20:31,420 --> 00:20:33,520 o contrasinal cando enviar o formulario. 410 00:20:33,520 --> 00:20:35,260 >> Entón eu vou para escribir, Doug. 411 00:20:35,260 --> 00:20:38,365 E eu vou escribir en, squadgoals, mesmo 412 00:20:38,365 --> 00:20:40,770 aínda que saibamos que é o contrasinal. 413 00:20:40,770 --> 00:20:42,540 Antes de enviar o formar aínda que, eu vou 414 00:20:42,540 --> 00:20:45,864 para abrir Ferramentas de Desenvolvemento, só para amosar-lle o que vai pasar aquí. 415 00:20:45,864 --> 00:20:47,530 Así, en Chrome, só vou bater F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 E que vai abrir o meu Ferramentas de Desenvolvemento do lado dereito. 418 00:20:57,230 --> 00:20:59,480 Non presentaron a forma aínda. 419 00:20:59,480 --> 00:21:02,680 Agora eu vou bater en Enviar ao meu xeito. 420 00:21:02,680 --> 00:21:05,370 E, ao parecer, eu fixen unha chamar, ou eu fixen unha proposta 421 00:21:05,370 --> 00:21:07,620 para post2.php, o que ten sentido. 422 00:21:07,620 --> 00:21:10,040 Eu estou indo a facer clic sobre el. 423 00:21:10,040 --> 00:21:13,802 >> Entón aquí, eu vou para premer en cabeceiras. 424 00:21:13,802 --> 00:21:15,410 Hai unha morea de cousas a suceder aquí. 425 00:21:15,410 --> 00:21:21,310 Pero se eu rolar para abaixo para o propio fondo, aviso dereito há-- meu calendario 426 00:21:21,310 --> 00:21:25,180 bloqueou-lo por un certo second-- alí na esquina moi inferior, 427 00:21:25,180 --> 00:21:27,386 nome-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Así, aínda que eu estou usando o POST método, que é máis seguro, 429 00:21:30,010 --> 00:21:33,570 só ser consciente de que cando fai isto, aínda está transmitindo información 430 00:21:33,570 --> 00:21:34,430 mediante HTTP. 431 00:21:34,430 --> 00:21:36,770 E aínda se pode atopado por un adversario. 432 00:21:36,770 --> 00:21:39,270 É só algo que imos ter que xestione realmente. 433 00:21:39,270 --> 00:21:41,980 Se houbese algunhas formas para cifrar noso contrasinais antes de envialos, 434 00:21:41,980 --> 00:21:44,410 que sería a mellor, que eu non estou facendo aquí. 435 00:21:44,410 --> 00:21:47,010 >> Pero só ser consciente de que o POST método tamén ten limitacións. 436 00:21:47,010 --> 00:21:49,801 É unha mellora en relación GET en termos de ser inmediatamente visible. 437 00:21:49,801 --> 00:21:51,280 Pero non é unha corrección completa. 438 00:21:51,280 --> 00:21:53,280 Entón aquí está un exemplo de un rápido na casa exercicio 439 00:21:53,280 --> 00:21:56,350 que pode usar para obter un practicar a traballar con PHP. 440 00:21:56,350 --> 00:21:58,300 Crea o seguinte par de páxinas web. 441 00:21:58,300 --> 00:22:00,960 O primeiro debe ser só unha forma moi simple formar cun único campo e un someta 442 00:22:00,960 --> 00:22:01,460 botón. 443 00:22:01,460 --> 00:22:04,070 Entón, moi semellante ao que nos só fixen con post.html. 444 00:22:04,070 --> 00:22:07,450 >> E, a continuación, o segundo ficheiro que ten que crear 445 00:22:07,450 --> 00:22:11,687 é un ficheiro, un arquivo PHP, que está esperando a entrada, vía POST, 446 00:22:11,687 --> 00:22:14,770 e sobre a base do que o usuario introduciu, que pode supoñer que vai ser un enteiro. 447 00:22:14,770 --> 00:22:16,160 Non ten que facer calquera comprobación de erros ou semellantes. 448 00:22:16,160 --> 00:22:18,284 Pode asumir o usuario ha introducir un valor enteiro, 449 00:22:18,284 --> 00:22:22,230 ou algo como un interpretada por PHP como un enteiro, en que forma. 450 00:22:22,230 --> 00:22:24,790 Só quere crear un n pola táboa n multiplicación. 451 00:22:24,790 --> 00:22:28,480 >> Polo tanto, se o usuario envía 10, queremos ten unha mesa de 10 ata 10 de multiplicación. 452 00:22:28,480 --> 00:22:31,832 Se o usuario envía un 12, queremos unha mesa de 12 por 12 multiplicación. 453 00:22:31,832 --> 00:22:33,790 Só así se pode ver o que estamos dirixido aquí, 454 00:22:33,790 --> 00:22:36,040 imos dar un ollo o ficheiro no meu IDE. 455 00:22:36,040 --> 00:22:38,080 >> Entón, aquí en IDE, teño mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Vou clic nel. 458 00:22:43,100 --> 00:22:46,020 Todo o que quero facer é presentar un valor. 459 00:22:46,020 --> 00:22:47,590 Escriba 10, bateu en Enviar. 460 00:22:47,590 --> 00:22:51,190 E, ao parecer, mult_table.php, que vemos na parte superior alí na URL, 461 00:22:51,190 --> 00:22:53,970 Estou creando un 10 por 10 táboa de multiplicación. 462 00:22:53,970 --> 00:22:59,365 >> Se eu escribir 15 e bateu presentar, agora ten unha mesa de 15 ata o 15 de multiplicación. 463 00:22:59,365 --> 00:23:02,240 Estou, por suposto, non vai amosar vostede os contidos de mult_table.php, 464 00:23:02,240 --> 00:23:04,781 porque iso ía levar a diversión fóra deste exercicio na casa. 465 00:23:04,781 --> 00:23:07,480 Pero é unha boa forma de obter un practicar a traballar con loops PHP 466 00:23:07,480 --> 00:23:10,889 e POST, moi sinxelo, espero que estrés exemplo libre, xusta 467 00:23:10,889 --> 00:23:12,180 para facer un pouco de práctica. 468 00:23:12,180 --> 00:23:16,540 E eu teño un pouco de CSS suceder aquí para facer o meu táboa individual 469 00:23:16,540 --> 00:23:19,710 células só unha especie de pop fóra dun pouco e mirar un pouco máis 470 00:23:19,710 --> 00:23:22,205 como unha mesa de multiplicación, en oposición a só o texto só 471 00:23:22,205 --> 00:23:23,261 tipo de sentado alí. 472 00:23:23,261 --> 00:23:26,260 O último Super mundial falaremos sobre neste video é algo chamado 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 E quizais esta é realmente o mellor exemplo de algo 475 00:23:29,930 --> 00:23:31,700 poderiamos considerar global. 476 00:23:31,700 --> 00:23:33,189 É outra matriz. 477 00:23:33,189 --> 00:23:34,480 É outra matriz asociativa. 478 00:23:34,480 --> 00:23:40,580 Pero é accesible a través de cada Arquivo PHP que existe no noso sistema. 479 00:23:40,580 --> 00:23:43,410 >> Non teñen que presentar información dunha páxina á vez 480 00:23:43,410 --> 00:23:45,400 como facemos con get e POST con. 481 00:23:45,400 --> 00:23:46,380 É sempre alí. 482 00:23:46,380 --> 00:23:50,040 E así, este é óptimo para unha páxina onde está rexistrado, por exemplo, 483 00:23:50,040 --> 00:23:53,120 e quere a súa información de inicio de sesión a persistir dunha páxina para a páxina. 484 00:23:53,120 --> 00:23:58,180 >> Pode simplemente comezar unha sesión e, a continuación, use $ _SESSION para salvar cousas como 485 00:23:58,180 --> 00:24:02,320 o nome de usuario ou o usuario do Información de identificación, e así por diante. 486 00:24:02,320 --> 00:24:07,600 E esa información estará en $ _SESSION Ata que destruír a sesión 487 00:24:07,600 --> 00:24:09,550 un pouco máis tarde. 488 00:24:09,550 --> 00:24:12,375 >> Escribindo sitios dinámicos con PHP fai moito mellor. 489 00:24:12,375 --> 00:24:14,250 Seus sitios fanse moito dinámico, e non fai 490 00:24:14,250 --> 00:24:17,670 ten que facer moito máis que o se non faría só 491 00:24:17,670 --> 00:24:18,920 facelo con HTML. 492 00:24:18,920 --> 00:24:21,630 Pero iso require práctica, unha morea de práctica. 493 00:24:21,630 --> 00:24:26,897 >> Xa sabe como traballar con C, e así por ir para PHP non é moi complicado. 494 00:24:26,897 --> 00:24:28,730 ¿Que é quizais un pouco pouco complicado funciona 495 00:24:28,730 --> 00:24:33,180 con esa nova idea de GET e POST, e quizais mesturando seu HTML e PHP seu 496 00:24:33,180 --> 00:24:34,220 en conxunto. 497 00:24:34,220 --> 00:24:37,570 Pero tamén ser consciente de que a Internet é un amplo repositorio de información. 498 00:24:37,570 --> 00:24:41,670 E a documentación PHP está dispoñible en moitos lugares, pero quizais o máis 499 00:24:41,670 --> 00:24:43,354 canonicamente no php.net. 500 00:24:43,354 --> 00:24:45,520 E pode atopar alí, lotes de diferentes funcións, 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 quere probar e figura como facer algo, as probabilidades son, 503 00:24:51,340 --> 00:24:52,964 alguén probablemente xa fixo iso antes. 504 00:24:52,964 --> 00:24:55,840 E pode usalos como inspiración para aplicar calquera 505 00:24:55,840 --> 00:24:58,230 é que estás a aplicar tamén. 506 00:24:58,230 --> 00:24:59,230 >> Eu son Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Este é CS50. 508 00:25:01,210 --> 00:25:02,608