1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Así que en nuestro video en la sintaxis de PHP, 3 00:00:07,620 --> 00:00:10,480 hablamos mucho acerca de cómo PHP se puede utilizar en la línea de comandos 4 00:00:10,480 --> 00:00:13,620 para ejecutar programas de una manera que estamos bastante familiarizados con de C. 5 00:00:13,620 --> 00:00:15,370 Pero como yo he mencionado en ese video, PHP 6 00:00:15,370 --> 00:00:19,572 se desarrolló inicialmente para aplicar la programación web, sitios web. 7 00:00:19,572 --> 00:00:21,780 Y así, en este video estamos vamos a hablar de la forma en que 8 00:00:21,780 --> 00:00:23,890 usar PHP en el contexto de desarrollo web. 9 00:00:23,890 --> 00:00:26,360 >> Sabemos ya, desde nuestro video en HTML, 10 00:00:26,360 --> 00:00:29,820 que los sitios web se construyen de un conjunto de etiquetas HTML 11 00:00:29,820 --> 00:00:32,850 que definen semánticamente la estructura de una página web. 12 00:00:32,850 --> 00:00:35,910 Pero los sitios web que son construido con pura HTML 13 00:00:35,910 --> 00:00:39,510 sufrir de una muy, limitación muy seria. 14 00:00:39,510 --> 00:00:42,690 >> Y para ilustrar esta limitación, vamos a considerar lo siguiente. 15 00:00:42,690 --> 00:00:45,665 Así que ahora quiero construir una página web que, siempre que el usuario visita it, 16 00:00:45,665 --> 00:00:49,760 me da la corriente tiempo en Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 mostrarla al último minuto. 18 00:00:52,620 --> 00:00:57,910 Si yo estaba haciendo esto ahora mismo, Yo podría decir algo como esto. 19 00:00:57,910 --> 00:01:01,330 Hora en Cambridge-- así que tengo Etiquetas HTML, etiquetas de la cabeza, las etiquetas de título, 20 00:01:01,330 --> 00:01:04,610 cuerpo tags-- la corriente tiempo en Cambridge es 14:08, 21 00:01:04,610 --> 00:01:06,690 impresión de hora militar. 22 00:01:06,690 --> 00:01:11,390 >> ¿Qué pasa si ahora es 14:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Pues hasta ahora, con HTML, tengo para entrar y cambiar a 14:09. 24 00:01:16,470 --> 00:01:19,390 Y luego un minuto más tarde, Tengo que cambiar de nuevo. 25 00:01:19,390 --> 00:01:22,132 Y luego un minuto más tarde, Tengo que cambiar de nuevo. 26 00:01:22,132 --> 00:01:24,590 Y como se puede imaginar, eso es probablemente el peor trabajo nunca. 27 00:01:24,590 --> 00:01:29,420 Tú eres el webmaster de una página web, y cada minuto, las 24 horas del día, 28 00:01:29,420 --> 00:01:35,970 tiene que actualizar la hora actual abrir manualmente time.html y cambiando 29 00:01:35,970 --> 00:01:41,750 sólo que fragmento de código para decir lo hora actual en horas y minutos. 30 00:01:41,750 --> 00:01:45,850 Eso probablemente no es muy buen uso de nuestros recursos, 31 00:01:45,850 --> 00:01:48,880 tanto humanos como computacional. 32 00:01:48,880 --> 00:01:51,297 >> Los sitios web que son todos HTML son completamente estático. 33 00:01:51,297 --> 00:01:53,630 La única manera que usted puede actualizar contenido, como acabamos de ver, 34 00:01:53,630 --> 00:01:56,339 es abrir manualmente los fuente archivos, editarlos y guardarlos. 35 00:01:56,339 --> 00:01:58,088 Y luego cuando el usuario refresca la página, 36 00:01:58,088 --> 00:02:01,080 o visita la página por primera tiempo, van a tener el contenido más reciente. 37 00:02:01,080 --> 00:02:03,970 Pero sólo porque hemos manualmente editado. 38 00:02:03,970 --> 00:02:07,980 >> Si empezamos a mezclar un poco de PHP en allí, nuestro código puede conseguir mucho más flexible. 39 00:02:07,980 --> 00:02:11,940 Y podemos tener una manera para que nuestras páginas ser dinámico, o actualizar a sí mismos, 40 00:02:11,940 --> 00:02:15,360 sin necesidad de nuestro pobre webmaster en el ejemplo anterior 41 00:02:15,360 --> 00:02:16,662 ser manualmente la actualización de las cosas. 42 00:02:16,662 --> 00:02:17,870 Pueden hacerlo de forma automática. 43 00:02:17,870 --> 00:02:19,130 No tenemos que intervenir. 44 00:02:19,130 --> 00:02:20,410 Podemos dormir un poco. 45 00:02:20,410 --> 00:02:24,850 Lo cual es probablemente una buena cosa si que está haciendo una gran cantidad de programación web. 46 00:02:24,850 --> 00:02:28,360 >> Así que en CS50 IDE, corremos un servidor web llamado Apache. 47 00:02:28,360 --> 00:02:35,250 Es una muy usada, sistema del servidor web de código abierto. 48 00:02:35,250 --> 00:02:37,320 Este sistema tiene la capacidad de interpretar 49 00:02:37,320 --> 00:02:41,260 PHP, que va a ser útil si que quiere hacer ningún tipo de programación PHP. 50 00:02:41,260 --> 00:02:45,230 >> Y en IDE CS50, tenemos un comando para que este muy fácil de hacer, 51 00:02:45,230 --> 00:02:47,280 apache50 empezar. 52 00:02:47,280 --> 00:02:49,445 Y luego esa barra camino, barra de, recortar 53 00:02:49,445 --> 00:02:53,350 dir, que es sólo una forma muy común de indicando lo que has especificado aquí 54 00:02:53,350 --> 00:02:56,510 es un camino a un particular, anuario que 55 00:02:56,510 --> 00:03:00,800 quiero ser la raíz sitio, o la página raíz, 56 00:03:00,800 --> 00:03:05,430 o en la carpeta de la que su servidor web comenzará a examinar los archivos y servir 57 00:03:05,430 --> 00:03:07,850 les permitió llegar a los clientes que lo soliciten. 58 00:03:07,850 --> 00:03:12,110 Así que vamos a pop a CS50 IDE, sólo para mostrar, muy rápido, ¿cómo funciona esto. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Así que aquí en IDE CS50, estoy en un directorio llamado Semana Cero Nueve. 61 00:03:36,240 --> 00:03:38,890 Y tengo dos-- tengo ejecutar un comando LS solo 62 00:03:38,890 --> 00:03:41,910 arriba para mostrar que tengo dos directorios en aquí, PHP, 63 00:03:41,910 --> 00:03:46,410 que es el conjunto de archivos que he usado en el video sintaxis de PHP, y luego de PHP en la web, 64 00:03:46,410 --> 00:03:49,380 que es el conjunto de archivos que le gustaría utilizar en este video. 65 00:03:49,380 --> 00:03:53,480 >> Y me gustaría empezar una instancia de servidor web 66 00:03:53,480 --> 00:03:59,089 con el contenido de la carpeta PHP-web a medida que se sirven de los archivos. 67 00:03:59,089 --> 00:04:00,130 Entonces, ¿qué voy a hacer? 68 00:04:00,130 --> 00:04:05,710 Yo voy a escribir apache50 espacio iniciar, PHP espacio, guión web. 69 00:04:05,710 --> 00:04:08,100 Esa es la ruta al directorio desde donde actualmente soy. 70 00:04:08,100 --> 00:04:09,127 Entonces me golpeó Intro. 71 00:04:09,127 --> 00:04:10,960 Se va a hacer un poco de cosas aquí. 72 00:04:10,960 --> 00:04:14,030 Y luego se va a decir, Apache se inició correctamente. 73 00:04:14,030 --> 00:04:20,689 Su sitio ya está disponible at-- y luego está la dirección URL del sitio. 74 00:04:20,689 --> 00:04:21,730 Entonces, ¿qué voy a hacer? 75 00:04:21,730 --> 00:04:26,234 Voy a copiar rápidamente esto. 76 00:04:26,234 --> 00:04:28,900 Y yo voy a abrir up-- y Voy Alejar un poco aquí-- 77 00:04:28,900 --> 00:04:31,570 Voy a abrir una nueva pestaña en Chrome. 78 00:04:31,570 --> 00:04:34,320 Y yo voy a visitar esa URL. 79 00:04:34,320 --> 00:04:35,299 >> Voy a pulsar Enter. 80 00:04:35,299 --> 00:04:36,090 Se va a cargar. 81 00:04:36,090 --> 00:04:37,510 Y voy a alejar el zoom de nuevo. 82 00:04:37,510 --> 00:04:41,350 Y podemos ver aquí es el contenido de mi directorio web PHP. 83 00:04:41,350 --> 00:04:45,290 >> Así que ahora lo que está ocurriendo básicamente aquí está, mi instancia de CS50 IDE 84 00:04:45,290 --> 00:04:49,620 está sirviendo estos archivos cualquiera que lo solicite. 85 00:04:49,620 --> 00:04:51,620 Y en el transcurso de este video, vamos a ordenar de 86 00:04:51,620 --> 00:04:55,400 echar un vistazo a un montón de ellos diferentes archivos en su contexto. 87 00:04:55,400 --> 00:04:57,614 >> Para probar que su Apache servidor está funcionando, 88 00:04:57,614 --> 00:04:59,780 que generalmente se va ser el caso en CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 pero si lo hace de manera más general, y empezar a construir su propia web 90 00:05:02,696 --> 00:05:04,990 servidores, hay una realidad tipo común de analógico a, 91 00:05:04,990 --> 00:05:08,500 "hola mundo", que suele ser utilizado para el desarrollo web PHP. 92 00:05:08,500 --> 00:05:12,855 ¿Qué es tener un archivo que consiste en sólo esta code-- 93 00:05:12,855 --> 00:05:18,247 un delimitador PHP conjunto con información de PHP, paréntesis, punto y coma en el medio. 94 00:05:18,247 --> 00:05:20,580 Que es básicamente una especial Función de PHP que te dice 95 00:05:20,580 --> 00:05:23,970 qué versión de PHP que está ejecutando. 96 00:05:23,970 --> 00:05:26,850 >> Así que en CS50 IDE, tengo ese archivo disponible justo 97 00:05:26,850 --> 00:05:28,680 para mostrar lo que este se vería así. 98 00:05:28,680 --> 00:05:32,860 Así que estoy buscando en mi índice desde mi ejemplo PHP. 99 00:05:32,860 --> 00:05:35,870 Mi ejemplo Apache está funcionando los contenidos de PHP en web. 100 00:05:35,870 --> 00:05:39,290 Y tengo un archivo llamado aquí info.php. 101 00:05:39,290 --> 00:05:41,164 >> Voy a hacer clic en él, alejar. 102 00:05:41,164 --> 00:05:43,080 Esto es lo que vas para ver, más o menos. 103 00:05:43,080 --> 00:05:45,729 Esto se me acaba diciendo que mi servidor Apache está funcionando. 104 00:05:45,729 --> 00:05:48,270 Y esto es, al parecer, el versión de PHP que estoy corriendo. 105 00:05:48,270 --> 00:05:51,590 Este es mi analógica a "hola mundo". 106 00:05:51,590 --> 00:05:53,070 >> Así que sé que las cosas están en funcionamiento. 107 00:05:53,070 --> 00:05:54,150 Así que estamos bien para ir. 108 00:05:54,150 --> 00:05:55,730 Podemos continuar desde aquí. 109 00:05:55,730 --> 00:05:57,790 >> Así que vamos a revisar que ejemplo vez que estuvimos 110 00:05:57,790 --> 00:06:01,950 hablando con nuestro pobre webmaster que tuvo que actualizar la página constantemente. 111 00:06:01,950 --> 00:06:05,020 Esto podría ser una solución para la forma Me gustaría poner en práctica las cosas 112 00:06:05,020 --> 00:06:08,080 por lo que el webmaster no lo hizo tiene que mantener la actualización de la época. 113 00:06:08,080 --> 00:06:10,270 Sería sólo una especie de sucederá automáticamente. 114 00:06:10,270 --> 00:06:13,710 >> El abajo, el código HTML, es bastante similares, con una excepción. 115 00:06:13,710 --> 00:06:16,720 Pero aquí tengo algo de PHP en la parte superior. 116 00:06:16,720 --> 00:06:19,940 He, al parecer, llamó a este date_default_timezone_set función. 117 00:06:19,940 --> 00:06:22,106 >> Y no hablamos de todo estas funciones en CS50, 118 00:06:22,106 --> 00:06:24,670 porque PHP tiene, probablemente, Decenas de miles. 119 00:06:24,670 --> 00:06:27,540 Eso podría ser un poco de una exageración, pero no pudo ser. 120 00:06:27,540 --> 00:06:29,490 Tiene una gran cantidad de funciones integradas. 121 00:06:29,490 --> 00:06:33,290 Y por lo que esta es una función aparentemente establece mi zona de tiempo que nosotros / Este, 122 00:06:33,290 --> 00:06:36,320 que es la zona horaria que soy Actualmente en la toma de video. 123 00:06:36,320 --> 00:06:38,430 >> Entonces hago una llamada a función de llamada, fecha. 124 00:06:38,430 --> 00:06:43,850 Y, al parecer, estoy almacenando el HIS de algo que se llama, el tiempo. 125 00:06:43,850 --> 00:06:45,320 Entonces, ¿qué está pasando aquí? 126 00:06:45,320 --> 00:06:48,040 >> Bueno, básicamente lo que hay sucediendo es, estoy haciendo una llamada 127 00:06:48,040 --> 00:06:51,650 a algún servidor que va a dime lo que el tiempo del que actualmente es. 128 00:06:51,650 --> 00:06:56,150 Y estoy convertirlo a un formato de horas, minutos, segundos. 129 00:06:56,150 --> 00:07:00,540 Y la razón es de capital H es esto se me va a dar tiempo de 24 horas, no 12 130 00:07:00,540 --> 00:07:02,362 tiempo de horas, lo que sería h minúscula. 131 00:07:02,362 --> 00:07:04,570 Y sólo estoy almacenando que en una variable llamada, el tiempo. 132 00:07:04,570 --> 00:07:07,028 Así que la segunda línea de PHP allí, la llamada a la función, 133 00:07:07,028 --> 00:07:09,037 fecha, se acaba de conseguir una cuerda, la cual es 134 00:07:09,037 --> 00:07:12,120 me va a dar la fecha y el tiempo, y un montón de otra información. 135 00:07:12,120 --> 00:07:16,480 Y el primer argumento allí, que HIS, se acaba de extraer la parte importante 136 00:07:16,480 --> 00:07:20,614 que me importa en este ejemplo, que es la hora, minuto y segundo. 137 00:07:20,614 --> 00:07:22,030 Así que ese es el único que está pasando. 138 00:07:22,030 --> 00:07:23,562 Así que almaceno que en un tiempo variable $. 139 00:07:23,562 --> 00:07:25,270 Y luego hacia abajo en el muy inferior allí, 140 00:07:25,270 --> 00:07:28,980 tener esa abreviatura de impresión de la hora actual. 141 00:07:28,980 --> 00:07:32,050 Así que sólo voy a imprimir lo que el tiempo actual. 142 00:07:32,050 --> 00:07:37,220 >> Así que echemos un vistazo a esto en IDE CS50 y ver cómo estamos ahora 143 00:07:37,220 --> 00:07:40,002 ahorro que webmaster un montón de problemas. 144 00:07:40,002 --> 00:07:42,570 Muy bien, así que aquí estoy de nuevo de vuelta en el directorio raíz 145 00:07:42,570 --> 00:07:45,040 de mi instancia de Apache. 146 00:07:45,040 --> 00:07:51,585 Y tengo un archivo llamado aquí time.php. 147 00:07:51,585 --> 00:07:53,559 Yo sólo voy a hacer clic en eso. 148 00:07:53,559 --> 00:07:55,850 Y voy a desplazarse hacia arriba, porque estamos acercado bastante lejos. 149 00:07:55,850 --> 00:07:57,257 La hora actual es 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Así que lo estoy haciendo horas, minutos y segundos. 151 00:07:59,090 --> 00:08:01,910 Y puedo actualizar la página y obtener nueva hora. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Voy a actualizar la página y obtener nuevo tiempo, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Así que claramente no soy cambiar nada a mí mismo. 155 00:08:10,490 --> 00:08:11,720 Estoy aquí actualizar la página. 156 00:08:11,720 --> 00:08:13,711 Así que no puedo volver allí editarlo. 157 00:08:13,711 --> 00:08:15,710 Y te prometo, no lo hago tener cómplices 158 00:08:15,710 --> 00:08:18,230 que está editando el archivo en mi nombre a un lado. 159 00:08:18,230 --> 00:08:21,260 >> Sólo estoy usando esa función PHP, tiempo, para generar el momento para mí 160 00:08:21,260 --> 00:08:22,340 automáticamente. 161 00:08:22,340 --> 00:08:24,800 Así que incluso si estoy dormido, y mi servidor web está funcionando, 162 00:08:24,800 --> 00:08:28,884 el usuario que visita la página sigue siendo va a conseguir exactamente en el momento actual. 163 00:08:28,884 --> 00:08:29,800 Así que eso es bastante bueno. 164 00:08:29,800 --> 00:08:33,609 He hecho mi sitio más dinámico con no demasiado código PHP. 165 00:08:33,609 --> 00:08:36,650 Fue tan sólo dos líneas de código y después un poco de una sentencia print. 166 00:08:36,650 --> 00:08:38,441 Y ya tengo un sitio mucho más dinámico 167 00:08:38,441 --> 00:08:42,750 que el primer ejemplo que vimos al comienzo del vídeo. 168 00:08:42,750 --> 00:08:46,660 >> Por lo tanto, recordar del video sobre la sintaxis de PHP que cuando el intérprete PHP corre 169 00:08:46,660 --> 00:08:50,000 nuestro programa, ignora todo eso no es dentro de los delimitadores de PHP, 170 00:08:50,000 --> 00:08:51,500 escupirlo. 171 00:08:51,500 --> 00:08:54,410 En este ejemplo, lo que la cosa que estaba escupiendo era HTML. 172 00:08:54,410 --> 00:08:58,080 Y esto significa que ahora puede intercalar HTML y PHP juntos. 173 00:08:58,080 --> 00:09:01,920 Debido a que el intérprete simplemente ignorar el HTML y literalmente salida ello. 174 00:09:01,920 --> 00:09:04,140 Lo cual es bueno, ¿no? 175 00:09:04,140 --> 00:09:06,100 >> Debido a que, presumiblemente, al final del día, 176 00:09:06,100 --> 00:09:08,360 Me gustaría que mi sitio para ser construida de HTML. 177 00:09:08,360 --> 00:09:12,880 Así que cualquier navegador puede interpretar , o entender el código HTML de la página 178 00:09:12,880 --> 00:09:17,270 y hacerlo como algo que nos puede entender realmente como seres humanos. 179 00:09:17,270 --> 00:09:19,430 Y sólo puedo usar PHP para las partes de mi sitio 180 00:09:19,430 --> 00:09:23,390 la requieren dinamismo, que me requieren tener las cosas que se actualizan constantemente. 181 00:09:23,390 --> 00:09:26,630 La información estática puede permanecer igual. 182 00:09:26,630 --> 00:09:27,540 >> OK, así que está bien. 183 00:09:27,540 --> 00:09:28,540 Pero ¿por qué iba yo a hacer esto? 184 00:09:28,540 --> 00:09:30,400 ¿Por qué debería mezclar HTML y PHP? 185 00:09:30,400 --> 00:09:33,850 Yo sólo podía imprimir toda la HTML, utilizando la función de impresión de PHP. 186 00:09:33,850 --> 00:09:35,870 Por qué no estoy haciendo eso? 187 00:09:35,870 --> 00:09:37,100 Piensa en ello un segundo. 188 00:09:37,100 --> 00:09:41,220 >> ¿Por qué, cuando yo sólo pudiera imprimir fuera-- I podría tener líneas de PHP que acaba de decir, 189 00:09:41,220 --> 00:09:43,841 impresión de etiquetas HTML, cabezal de impresión. 190 00:09:43,841 --> 00:09:44,840 Por qué no estoy haciendo eso? 191 00:09:44,840 --> 00:09:48,230 ¿Por qué estoy mezclando el PHP y HTML? 192 00:09:48,230 --> 00:09:50,080 >> Bueno, si usted piensa en esto por un segundo. 193 00:09:50,080 --> 00:09:52,824 PHP, el intérprete tiene interpretar lo que ve. 194 00:09:52,824 --> 00:09:54,990 Y así va a tener para ejecutar una línea de código. 195 00:09:54,990 --> 00:09:56,450 Imprima HTML. 196 00:09:56,450 --> 00:09:57,700 Imprima etiqueta de la cabeza abierta. 197 00:09:57,700 --> 00:09:58,969 Imprima etiqueta del título abierta. 198 00:09:58,969 --> 00:10:00,760 Va a tener que ejecutar e interpretar 199 00:10:00,760 --> 00:10:02,671 que cada paso del camino. 200 00:10:02,671 --> 00:10:04,670 ¿Por qué no dejar que el intérprete acaba de brillo más 201 00:10:04,670 --> 00:10:06,878 cosas que no entiende y hacerlo de forma automática? 202 00:10:06,878 --> 00:10:11,365 Se me va a ahorrar un montón de tiempo mezclar mi HTML y mi PHP juntos. 203 00:10:11,365 --> 00:10:16,220 >> Y por eso no lo hacemos sólo hay abierta delimitador PHP 204 00:10:16,220 --> 00:10:19,450 y luego simplemente imprimir la totalidad contenido de nuestra página como uno PHP gigante 205 00:10:19,450 --> 00:10:24,330 llame a la función, Imprimir, y luego cerca PHP delimitador y hemos terminado. 206 00:10:24,330 --> 00:10:27,620 Así que por eso mezclamos ellos juntos. 207 00:10:27,620 --> 00:10:32,345 >> Hasta ahora, no hemos visto demasiado de una diferencia de sintaxis general de PHP. 208 00:10:32,345 --> 00:10:33,720 Ha sido bastante sencillo. 209 00:10:33,720 --> 00:10:35,553 Ya hemos visto la signo de interrogación, iguales. 210 00:10:35,553 --> 00:10:39,012 Vimos un par de nuevas llamadas a funciones, pero nada realmente de lujo pasando. 211 00:10:39,012 --> 00:10:40,720 Vamos a hacer las cosas lo mejor un poco más de lujo. 212 00:10:40,720 --> 00:10:44,360 ¿Qué pasa si queremos pasar información entre los diferentes archivos PHP, 213 00:10:44,360 --> 00:10:47,280 por lo que tal vez el usuario puede presentar información para mí. 214 00:10:47,280 --> 00:10:50,230 Y entonces yo podría hacer algo con ella en otra página. 215 00:10:50,230 --> 00:10:52,990 >> Así que PHP tiene soporte para algo llamado Super Global 216 00:10:52,990 --> 00:10:55,297 Variables, que suena bastante impresionante. 217 00:10:55,297 --> 00:10:57,130 Son realmente sólo matrices asociativas gigantes 218 00:10:57,130 --> 00:10:59,900 que ayudar a implementar este funcionalidad de fallecimiento 219 00:10:59,900 --> 00:11:05,010 información entre archivos PHP que están existente en nuestro servidor web. 220 00:11:05,010 --> 00:11:07,760 >> El primero de estos súper globales se llama $ _GET. 221 00:11:07,760 --> 00:11:10,140 Y es probablemente el más simple de entender. 222 00:11:10,140 --> 00:11:12,430 ¿Qué pasa con $ _GET? 223 00:11:12,430 --> 00:11:16,240 Bueno, básicamente, el usuario es va a escribir información adicional 224 00:11:16,240 --> 00:11:18,390 al final de nuestras direcciones URL. 225 00:11:18,390 --> 00:11:21,460 Y todo lo que escriba, asumiendo que está formateado de una manera particular 226 00:11:21,460 --> 00:11:25,830 llama una cadena de consulta, que es justo un conjunto de pares de valores clave separada 227 00:11:25,830 --> 00:11:27,810 por símbolos de unión. 228 00:11:27,810 --> 00:11:32,362 Estos pares de valores clave serán almacenado en un array asociativo $ _GET. 229 00:11:32,362 --> 00:11:34,070 Y a partir de nuestro video en Sintaxis de PHP, sabemos 230 00:11:34,070 --> 00:11:40,080 cómo trabajar con matrices asociativas ya. 231 00:11:40,080 --> 00:11:44,090 Así que aquí es un ejemplo de algo de PHP, donde tal vez soy 232 00:11:44,090 --> 00:11:50,180 extracción de todos los pares de valores clave que el usuario que se proporciona en la URL. 233 00:11:50,180 --> 00:11:51,970 Así que tengo mi Abrir delimitador PHP. 234 00:11:51,970 --> 00:11:53,410 Tengo un bucle foreach. 235 00:11:53,410 --> 00:11:57,410 Estoy iterar a través de la Súper Matriz Global llamó $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> Y yo quiero ser capaz de referirse tanto a la clave y el valor. 237 00:12:00,160 --> 00:12:02,410 Y sólo estoy imprimirlas a cabo, cada uno en apariencia 238 00:12:02,410 --> 00:12:03,780 su propia etiqueta de párrafo aquí. 239 00:12:03,780 --> 00:12:07,620 Estoy imprimiendo algo de HTML e interpolando los valores 240 00:12:07,620 --> 00:12:12,900 de la clave y el valor en esa declaración. 241 00:12:12,900 --> 00:12:16,980 >> Así que echemos un vistazo a cómo este sería realmente trabajar en nuestro IDE. 242 00:12:16,980 --> 00:12:18,980 Y tal vez esto le ayudará ilustrar un poco 243 00:12:18,980 --> 00:12:21,880 de lo que se obtiene es realmente hacer. 244 00:12:21,880 --> 00:12:23,610 Así que estoy de vuelta aquí en mi web raíz. 245 00:12:23,610 --> 00:12:25,318 Y voy a zoom en un poco para mostrarle 246 00:12:25,318 --> 00:12:28,620 que tengo un archivo llamado, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Así que vamos clic en get1.php. 248 00:12:31,830 --> 00:12:36,600 Y yo no estoy viendo cualquier contenido. 249 00:12:36,600 --> 00:12:38,390 Eso es raro, ¿no? 250 00:12:38,390 --> 00:12:39,740 Bueno, no realmente en realidad. 251 00:12:39,740 --> 00:12:42,030 Porque yo no proveo nada en la URL. 252 00:12:42,030 --> 00:12:46,270 Voy a get1.php, pero yo no suministrar ningún pares de valores clave 253 00:12:46,270 --> 00:12:47,450 como parte de mi cadena de consulta. 254 00:12:47,450 --> 00:12:50,510 Así que vamos a agregar una cadena de consulta y ver lo que este archivo puede hacer. 255 00:12:50,510 --> 00:12:53,040 >> Para empezar una cadena de consulta que sólo tienes que escribir el signo de interrogación. 256 00:12:53,040 --> 00:13:00,820 Entonces tal vez voy a decir el nombre = Doug y año = 2.015. 257 00:13:00,820 --> 00:13:02,914 Y entonces les presione Enter. 258 00:13:02,914 --> 00:13:04,080 Ahora note lo que está sucediendo. 259 00:13:04,080 --> 00:13:05,480 Todavía estoy en get1.php. 260 00:13:05,480 --> 00:13:08,445 Pero ahora he suministré pares de valores clave, y estoy 261 00:13:08,445 --> 00:13:14,940 imprimirlos por su cuenta Nombre paragraph--, año Doug--, 2015. 262 00:13:14,940 --> 00:13:17,970 Eso es exactamente el código que acabamos de vio en la diapositiva hace un momento. 263 00:13:17,970 --> 00:13:22,290 >> Y si quiero añadir tal vez otro par de valores clave, y class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Ahora tengo otro valor clave par que se imprime 266 00:13:27,580 --> 00:13:30,025 cuando vuelva a visitar la URL de nuevo. 267 00:13:30,025 --> 00:13:31,900 Ahora tal vez esto no es formateado terriblemente bien. 268 00:13:31,900 --> 00:13:33,660 Así que tengo otra versión de get.php. 269 00:13:33,660 --> 00:13:36,350 Es get2.php. 270 00:13:36,350 --> 00:13:39,070 >> La diferencia en este una es que tengo el archivo CSS, 271 00:13:39,070 --> 00:13:41,690 y formatos de las cosas poco más agradable para mí. 272 00:13:41,690 --> 00:13:43,940 Es tal vez no es el más hermosa CSS en el mundo. 273 00:13:43,940 --> 00:13:45,650 Pero es sólo otra manera de hacerlo. 274 00:13:45,650 --> 00:13:52,840 Así que puedo conseguir todavía el acceso a mis variables utilizando $ _GET. 275 00:13:52,840 --> 00:13:56,610 Y en este caso, yo soy sólo un poco haciendo que la CSS un poco más de lujo. 276 00:13:56,610 --> 00:13:58,360 Y si nos pop a mi IDE por un segundo, 277 00:13:58,360 --> 00:14:06,870 Te voy a mostrar en mi web PHP directorio de aquí, get2.php. 278 00:14:06,870 --> 00:14:10,010 Abriremos para arriba, algo de HTML aquí. 279 00:14:10,010 --> 00:14:13,220 Al parecer estoy vinculando en ese Archivo CSS que estaba hablando. 280 00:14:13,220 --> 00:14:14,570 Abro una etiqueta de mesa. 281 00:14:14,570 --> 00:14:15,970 Y entonces aquí está mi bucle foreach. 282 00:14:15,970 --> 00:14:18,450 >> Aquí es que, lo que yo mostró en la diapositiva anterior. 283 00:14:18,450 --> 00:14:21,007 La única diferencia es que yo tienen esta clave y valor CSS 284 00:14:21,007 --> 00:14:22,340 estilo que estoy aplicando a la misma. 285 00:14:22,340 --> 00:14:25,622 Pero eso es todo lo que estoy haciendo, es que soy iterar a través de $ _GET para obtener toda la 286 00:14:25,622 --> 00:14:26,580 de los pares de valores clave. 287 00:14:26,580 --> 00:14:28,890 >> Y estoy imprimirlos como la tabla. 288 00:14:28,890 --> 00:14:33,230 Y, al parecer, estoy formatear las llaves de una manera, con la clase "clave" 00:14:40,057 Así que al parecer eso se aplica a algunos selector de clase en mi archivo CSS GET.CSS. 290 00:14:40,057 --> 00:14:42,890 Y, al parecer, estoy imprimiendo mis valores de una manera totalmente diferente. 291 00:14:42,890 --> 00:14:45,530 Lo cual es más o menos lo que vimos aquí, donde 292 00:14:45,530 --> 00:14:47,710 Se imprimieron nuestros valores con un fondo azul, 293 00:14:47,710 --> 00:14:49,969 y las llaves fueron impresos con un fondo amarillo. 294 00:14:49,969 --> 00:14:52,010 Así que eso es lo que estoy recibiendo los diferentes estilos. 295 00:14:52,010 --> 00:14:54,054 Porque yo estoy usando diferentes clases CSS. 296 00:14:54,054 --> 00:14:55,470 Pero eso es más o menos por GET. 297 00:14:55,470 --> 00:14:58,380 Como estoy extraer información. 298 00:14:58,380 --> 00:15:01,000 Y en este caso, sólo soy la impresión a la pantalla. 299 00:15:01,000 --> 00:15:04,310 Me estoy poniendo fuera de la URL, y eso es lo que hace GET para nosotros. 300 00:15:04,310 --> 00:15:06,470 >> ¿Ves un posible un problema aquí, sin embargo? 301 00:15:06,470 --> 00:15:11,720 ¿Por qué tenemos tal vez No quiero usar $ _GET? 302 00:15:11,720 --> 00:15:15,440 ¿Y si, tal vez, yo estaba haciendo esta consulta? 303 00:15:15,440 --> 00:15:18,000 get3.php --to, que me no tener en mi IDE. 304 00:15:18,000 --> 00:15:19,640 Es sólo un archivo hipotético. 305 00:15:19,640 --> 00:15:22,187 Pero notar aquí que, aparentemente, pasando mi contraseña. 306 00:15:22,187 --> 00:15:23,770 Y tal vez mi contraseña es vergonzoso. 307 00:15:23,770 --> 00:15:28,070 O tal vez no quiero que la gente a sé lo que mi contraseña es, a la derecha. 308 00:15:28,070 --> 00:15:33,140 >> Si estoy pasándolo aunque-- si estoy usando el método $ _GET, lo que pasa es, 309 00:15:33,140 --> 00:15:34,970 que va a haber en la URL. 310 00:15:34,970 --> 00:15:39,890 Así que algún usuario malintencionado podría ser capaz de ver lo que estoy haciendo. 311 00:15:39,890 --> 00:15:42,040 Se me puede pasarlos información sensible. 312 00:15:42,040 --> 00:15:43,310 O tal vez ni siquiera es un usuario malicioso. 313 00:15:43,310 --> 00:15:45,790 Tal vez es sólo su amigo que está de pie sobre su hombro. 314 00:15:45,790 --> 00:15:47,650 Y ahora que saben la contraseña a tu cuenta de Facebook. 315 00:15:47,650 --> 00:15:49,483 >> Y tal vez no lo haría hacer nada con ella. 316 00:15:49,483 --> 00:15:53,749 Pero si su contraseña fuera presentado a través de $ _GET a Facebook, 317 00:15:53,749 --> 00:15:55,290 ahora saben la contraseña de Facebook. 318 00:15:55,290 --> 00:15:59,000 Porque es allí mismo, en la URL cuando se ha hecho la presentación de la información. 319 00:15:59,000 --> 00:16:01,887 >> Y lo que tal vez esa no es la mejor manera de pasar información sensible. 320 00:16:01,887 --> 00:16:04,470 Es una buena manera de pasar la información que no lo hacemos todo 321 00:16:04,470 --> 00:16:05,886 preocuparse por ser demasiado sensible. 322 00:16:05,886 --> 00:16:09,347 Debido GET es bastante rápido, respecto a las otras variables globales súper 323 00:16:09,347 --> 00:16:10,430 vamos a hablar. 324 00:16:10,430 --> 00:16:13,330 Pero tal vez no sea la mejor herramienta para obtener información sensible. 325 00:16:13,330 --> 00:16:15,990 >> Para que podamos desear utilizar algo llamado $ _POST, 326 00:16:15,990 --> 00:16:18,560 que es otra variable de Super Global. 327 00:16:18,560 --> 00:16:20,750 Es otra matriz asociativa. 328 00:16:20,750 --> 00:16:23,240 Así funciona más o menos exactamente el mismo que GET. 329 00:16:23,240 --> 00:16:26,850 Excepto, en lugar de extraer información de la URL, 330 00:16:26,850 --> 00:16:29,870 que hace algo a través de cabeceras HTTP. 331 00:16:29,870 --> 00:16:32,080 Así que recordar de nuestra video en HTTP, hablamos 332 00:16:32,080 --> 00:16:34,850 sobre cómo navegadores, servidores, y los clientes se comunican. 333 00:16:34,850 --> 00:16:38,070 Y la información se pasa de nuevo y adelante en las cabeceras HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Con $ _POST, la información es típicamente enviado a través de esas cabeceras HTTP. 335 00:16:43,330 --> 00:16:49,770 Y veremos más comúnmente $ _POST en el contexto de la presentación de los formularios HTML. 336 00:16:49,770 --> 00:16:52,390 Puede seguir utilizando formularios HTML a presentar las cosas de conseguir. 337 00:16:52,390 --> 00:16:56,120 Pero se usan por lo general en el contexto de POST. 338 00:16:56,120 --> 00:17:00,280 >> Así que aquí está un ejemplo de un formulario HTML. 339 00:17:00,280 --> 00:17:06,750 Ahora que hemos visto esto antes, pero tenemos que no se ve esta parte, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 Así que cuando hablamos de formas en el contexto de HTML, tuve un botón Enviar. 341 00:17:10,756 --> 00:17:13,630 Y si usted recuerda, yo clic en Enviar y luego la página actualiza, 342 00:17:13,630 --> 00:17:14,660 no hacer nada. 343 00:17:14,660 --> 00:17:18,250 >> En este caso, estoy presentando todo lo que escribo en este formulario, 344 00:17:18,250 --> 00:17:20,750 a un archivo PHP llamado post.php. 345 00:17:20,750 --> 00:17:25,810 Y, al parecer, la manera en que yo estoy haciendo que en esta forma es utilizando el método POST. 346 00:17:25,810 --> 00:17:29,040 Así que cada pieza de información que escribo en este formulario 347 00:17:29,040 --> 00:17:31,470 se presentará a través de las cabeceras HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Será accesible en post.php, porque esa es la acción de mi forma. 349 00:17:36,440 --> 00:17:39,811 Será accesible yendo a $ _POST. 350 00:17:39,811 --> 00:17:42,310 Y al parecer, la forma en que puedo obtener en cada elemento individual 351 00:17:42,310 --> 00:17:44,765 con esa matriz asociativa es con este atributo, 352 00:17:44,765 --> 00:17:48,130 el atributo Nombre de nuestras etiquetas de entrada. 353 00:17:48,130 --> 00:17:53,540 >> Así que al parecer lo que puedo decir $ _POST cuadrado soportes de nombre para obtener lo que el usuario 354 00:17:53,540 --> 00:17:55,440 escrito en el primer campo. 355 00:17:55,440 --> 00:18:01,030 Y $ _POST contraseña, de pw más bien, para llegar a lo que el usuario escribió 356 00:18:01,030 --> 00:18:03,650 en el segundo campo. 357 00:18:03,650 --> 00:18:06,414 >> Así que echemos un vistazo a esta otra vez en IDE CS50. 358 00:18:06,414 --> 00:18:08,330 Así que aquí estamos, y voy a ampliar la imagen durante un segundo. 359 00:18:08,330 --> 00:18:12,380 Y tenemos un archivo llamado post.html. 360 00:18:12,380 --> 00:18:13,690 Hago clic en post.html. 361 00:18:13,690 --> 00:18:16,300 En la parte superior aquí tengo un formulario web muy simple. 362 00:18:16,300 --> 00:18:18,750 Es la forma que acabamos de ver en la diapositiva hace un segundo. 363 00:18:18,750 --> 00:18:25,610 >> Puedo escribir, Doug, y puedo escribir mi contraseña, que todos 364 00:18:25,610 --> 00:18:27,340 saber es squadgoals. 365 00:18:27,340 --> 00:18:30,100 Y voy a golpear en Enviar. 366 00:18:30,100 --> 00:18:32,290 Y al parecer, que somete a post.php. 367 00:18:32,290 --> 00:18:33,810 Y estoy aparentemente imprimir eso. 368 00:18:33,810 --> 00:18:36,490 Así que me voy a deshacerme de toda la seguridad que la POST me da con sólo imprimir 369 00:18:36,490 --> 00:18:37,720 el nombre de usuario y contraseña. 370 00:18:37,720 --> 00:18:38,960 >> El nombre del usuario es Doug. 371 00:18:38,960 --> 00:18:40,810 La contraseña del usuario es squadgoals. 372 00:18:40,810 --> 00:18:42,480 ¿Cómo puedo hacer esto? 373 00:18:42,480 --> 00:18:44,800 Bueno, pop a IDE de nuevo por un segundo. 374 00:18:44,800 --> 00:18:51,340 Vamos a desplazarse hacia abajo para tomar un vistazo a post.php, que era 375 00:18:51,340 --> 00:18:54,040 la acción que solía presentar aquí. 376 00:18:54,040 --> 00:18:55,739 Esa fue la acción de mi formulario HTML. 377 00:18:55,739 --> 00:18:56,780 Y eso es todo lo que estoy haciendo. 378 00:18:56,780 --> 00:19:01,370 El nombre del usuario es, y estoy de impresión el contenido de $ _POST "nombre". 379 00:19:01,370 --> 00:19:04,660 Y luego la contraseña del usuario es $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 Así que me dieron esa información mediante la presentación del formulario HTML. 381 00:19:08,920 --> 00:19:13,790 Y ahora puedo extraerlo usando $ _POST debido a que el método que utiliza para transmitir 382 00:19:13,790 --> 00:19:17,470 datos con esa forma fue el método POST. 383 00:19:17,470 --> 00:19:20,640 >> Ahora es probable que no así great-- voy 384 00:19:20,640 --> 00:19:24,510 volver para una segunda a nuestro aquí-- conjunto 385 00:19:24,510 --> 00:19:30,120 probablemente no es tan grande si soy la presentación de información con POST, 386 00:19:30,120 --> 00:19:32,532 que es ostensiblemente más seguro. 387 00:19:32,532 --> 00:19:34,740 Es probablemente no tan grande si estoy haciendo eso y luego 388 00:19:34,740 --> 00:19:36,470 imprimir la contraseña del usuario. 389 00:19:36,470 --> 00:19:38,540 Se supone que es más seguro. 390 00:19:38,540 --> 00:19:40,870 >> OK, pero no es del todo seguro. 391 00:19:40,870 --> 00:19:42,910 Y así, en este pequeño fragmento aquí quiero 392 00:19:42,910 --> 00:19:46,410 simplemente llamar su atención sobre algunos las preocupaciones de seguridad de datos, sólo algo 393 00:19:46,410 --> 00:19:51,200 pensar en lo que eres trabajo o el uso de internet. 394 00:19:51,200 --> 00:19:53,890 Esto es algo a considerar. 395 00:19:53,890 --> 00:19:57,980 >> Te dije que la información es presentada a través de las cabeceras HTTP 396 00:19:57,980 --> 00:19:59,724 cuando se utiliza el método POST. 397 00:19:59,724 --> 00:20:01,390 Lo que significa que no son del todo seguro. 398 00:20:01,390 --> 00:20:05,610 Son difíciles de encontrar que utilizando el método GET, donde 399 00:20:05,610 --> 00:20:06,882 que es justo en la URL. 400 00:20:06,882 --> 00:20:08,340 Pero todavía hay una manera de encontrarla. 401 00:20:08,340 --> 00:20:10,423 Y yo sólo quiero mostrar esto para que usted tal vez 402 00:20:10,423 --> 00:20:12,940 empezar a pensar en esto como usted está trabajando, o el uso de 403 00:20:12,940 --> 00:20:14,560 sitios web y enviar contraseñas, y tal vez utilizando 404 00:20:14,560 --> 00:20:16,518 la misma contraseña en un muchos lugares diferentes. 405 00:20:16,518 --> 00:20:22,060 Sepan que es todavía es en realidad bastante fácil averiguar la contraseña de alguien. 406 00:20:22,060 --> 00:20:25,190 >> Y aquí, me voy ir a post2.html. 407 00:20:25,190 --> 00:20:28,850 Y la diferencia con post2.html y post2.php es bastante sutil. 408 00:20:28,850 --> 00:20:31,420 La diferencia es sólo que no me imprimo 409 00:20:31,420 --> 00:20:33,520 la contraseña cuando se presento el formulario. 410 00:20:33,520 --> 00:20:35,260 >> Así que voy a escribir, Doug. 411 00:20:35,260 --> 00:20:38,365 Y yo voy a escribir en, squadgoals, incluso 412 00:20:38,365 --> 00:20:40,770 aunque sabemos que es la contraseña. 413 00:20:40,770 --> 00:20:42,540 Antes de que me someto al formo sin embargo, me voy 414 00:20:42,540 --> 00:20:45,864 para abrir Herramientas de Desarrollo, para mostrar lo que va a pasar aquí. 415 00:20:45,864 --> 00:20:47,530 Así que en Chrome, yo sólo voy a golpear F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 Y eso va a abrir mi Herramientas de Desarrollo en el lado derecho. 418 00:20:57,230 --> 00:20:59,480 Yo no he enviado el formulario todavía. 419 00:20:59,480 --> 00:21:02,680 Ahora voy a golpear en Enviar en mi forma. 420 00:21:02,680 --> 00:21:05,370 Y al parecer, hice un llamo a, o que hice una petición 421 00:21:05,370 --> 00:21:07,620 a post2.php, lo cual tiene sentido. 422 00:21:07,620 --> 00:21:10,040 Voy a hacer clic en eso. 423 00:21:10,040 --> 00:21:13,802 >> Entonces aquí, voy hacer clic en Encabezados. 424 00:21:13,802 --> 00:21:15,410 Hay un montón de cosas que hacer aquí. 425 00:21:15,410 --> 00:21:21,310 Pero si me desplazo hasta el más mínimo abajo, preaviso allí-- derecho mi calendario 426 00:21:21,310 --> 00:21:25,180 ha bloqueado por un derecho second-- allí en la esquina muy inferior, 427 00:21:25,180 --> 00:21:27,386 nombre-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Así que a pesar de que estoy usando el POST método, que es más seguro, 429 00:21:30,010 --> 00:21:33,570 sólo ten en cuenta que cuando lo hace, usted todavía está la transmisión de información 430 00:21:33,570 --> 00:21:34,430 a través de HTTP. 431 00:21:34,430 --> 00:21:36,770 Y todavía puede ser encontrado por un adversario. 432 00:21:36,770 --> 00:21:39,270 Es algo que vamos a tener que lidiar con la realidad. 433 00:21:39,270 --> 00:21:41,980 Tal vez hay algunas maneras de cifrar nuestra contraseñas antes de enviarlos a través, 434 00:21:41,980 --> 00:21:44,410 que sería una mejor, que yo no estoy haciendo aquí. 435 00:21:44,410 --> 00:21:47,010 >> Pero acaba de ser conscientes de que el POST método tiene limitaciones. 436 00:21:47,010 --> 00:21:49,801 Es una mejora sobre GET en términos de ser inmediatamente visibles. 437 00:21:49,801 --> 00:21:51,280 Pero no es una solución completa. 438 00:21:51,280 --> 00:21:53,280 Así que aquí está un ejemplo de un rápido al ejercicio en el hogar 439 00:21:53,280 --> 00:21:56,350 que se puede utilizar para conseguir algo practicar el trabajo con PHP. 440 00:21:56,350 --> 00:21:58,300 Cree el siguiente par de páginas web. 441 00:21:58,300 --> 00:22:00,960 La primera debe ser sólo un muy simple formar con un solo campo y Enviar 442 00:22:00,960 --> 00:22:01,460 botón. 443 00:22:01,460 --> 00:22:04,070 Así que es muy similar a lo que acaba de hacer con post.html. 444 00:22:04,070 --> 00:22:07,450 >> Y entonces el segundo archivo que debe crear 445 00:22:07,450 --> 00:22:11,687 es un archivo, un archivo PHP, que está a la espera de entrada, a través de POST, 446 00:22:11,687 --> 00:22:14,770 y en base a lo que el usuario escribió, que se puede asumir que será un entero. 447 00:22:14,770 --> 00:22:16,160 Usted no tiene que hacer ningún comprobación de errores o similares. 448 00:22:16,160 --> 00:22:18,284 Se puede suponer que el usuario se escriba un valor entero, 449 00:22:18,284 --> 00:22:22,230 o algo así como una interpretación de PHP como un entero, en esa forma. 450 00:22:22,230 --> 00:22:24,790 Lo que desea es crear un n por n tabla de multiplicar. 451 00:22:24,790 --> 00:22:28,480 >> Así que si el usuario envía 10, queremos tener una tabla de 10 por 10 multiplicación. 452 00:22:28,480 --> 00:22:31,832 Si el usuario envía un 12, queremos una tabla de 12 por 12 multiplicación. 453 00:22:31,832 --> 00:22:33,790 Sólo para que pueda ver lo que estamos conduciendo a aquí, 454 00:22:33,790 --> 00:22:36,040 vamos a echar un vistazo a este archivo en mi IDE. 455 00:22:36,040 --> 00:22:38,080 >> Así que aquí en el IDE, tengo mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Voy a hacer clic ella. 458 00:22:43,100 --> 00:22:46,020 Todo lo que quiero hacer es presentar un valor. 459 00:22:46,020 --> 00:22:47,590 Escriba 10, pulse enviar. 460 00:22:47,590 --> 00:22:51,190 Y al parecer, mult_table.php, que podemos ver en la parte superior existe en la URL, 461 00:22:51,190 --> 00:22:53,970 Estoy creando un 10 por 10 tabla de multiplicación. 462 00:22:53,970 --> 00:22:59,365 >> Si escribo 15 y pulse enviar, ahora tener una tabla de 15 por 15 multiplicación. 463 00:22:59,365 --> 00:23:02,240 Estoy, por supuesto, no va a mostrar que el contenido de mult_table.php, 464 00:23:02,240 --> 00:23:04,781 porque eso sería tomar la diversión fuera de este ejercicio en casa. 465 00:23:04,781 --> 00:23:07,480 Pero es una gran manera de conseguir un poco de practicar trabajar con bucles PHP 466 00:23:07,480 --> 00:23:10,889 y POST, muy simple, es de esperar el estrés ejemplo gratis, sólo 467 00:23:10,889 --> 00:23:12,180 hacer un poco de práctica. 468 00:23:12,180 --> 00:23:16,540 Y tengo un poco de CSS pasando aquí para hacer mi mesa individual 469 00:23:16,540 --> 00:23:19,710 células sólo un poco de pop fuera un poco y mirar un poco más 470 00:23:19,710 --> 00:23:22,205 como una tabla de multiplicar, en lugar de sólo texto justo 471 00:23:22,205 --> 00:23:23,261 tipo de sentarse allí. 472 00:23:23,261 --> 00:23:26,260 El último súper mundial hablaremos en este video se llama algo 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 Y tal vez esto es en realidad el mejor ejemplo de algo 475 00:23:29,930 --> 00:23:31,700 consideraríamos global. 476 00:23:31,700 --> 00:23:33,189 Es otra matriz. 477 00:23:33,189 --> 00:23:34,480 Es otra matriz asociativa. 478 00:23:34,480 --> 00:23:40,580 Pero es accesible a través de todos los Archivo PHP que existe en nuestro sistema. 479 00:23:40,580 --> 00:23:43,410 >> No tenemos a presentar información de una página a la vez 480 00:23:43,410 --> 00:23:45,400 como hacemos con GET y con POST. 481 00:23:45,400 --> 00:23:46,380 Siempre está ahí. 482 00:23:46,380 --> 00:23:50,040 Y así, esto es genial para una página donde está en el sistema, por ejemplo, 483 00:23:50,040 --> 00:23:53,120 y usted quiere que su información de acceso a persistir de una página a la página. 484 00:23:53,120 --> 00:23:58,180 >> Usted sólo puede iniciar una sesión y después usar $ _SESSION para guardar cosas como 485 00:23:58,180 --> 00:24:02,320 el nombre del usuario, o el usuario de Información de ID, y así sucesivamente. 486 00:24:02,320 --> 00:24:07,600 Y esa información se mantendrá en $ _SESSION Hasta que se destruye la sesión 487 00:24:07,600 --> 00:24:09,550 un poco más adelante. 488 00:24:09,550 --> 00:24:12,375 >> Escribir sitios web dinámicos con PHP los hace mucho mejor. 489 00:24:12,375 --> 00:24:14,250 Sus sitios se vuelven muy dinámico, y no lo hace 490 00:24:14,250 --> 00:24:17,670 tener que hacer mucho más de lo que que de otro modo habría hecho exactamente 491 00:24:17,670 --> 00:24:18,920 hacerlo con HTML. 492 00:24:18,920 --> 00:24:21,630 Pero requiere práctica, mucha práctica. 493 00:24:21,630 --> 00:24:26,897 >> Usted ya sabe cómo trabajar con C, y así saltar a PHP no es demasiado complicado. 494 00:24:26,897 --> 00:24:28,730 ¿Cuál es quizás un poco poco complicado está trabajando 495 00:24:28,730 --> 00:24:33,180 con esta nueva idea de GET y POST, y tal vez la mezcla de su HTML y su PHP 496 00:24:33,180 --> 00:24:34,220 juntos. 497 00:24:34,220 --> 00:24:37,570 Pero también en cuenta que el Internet es un gran repositorio de información. 498 00:24:37,570 --> 00:24:41,670 Y la documentación de PHP está disponible en muchos lugares, pero quizás lo más 499 00:24:41,670 --> 00:24:43,354 canónicamente en php.net. 500 00:24:43,354 --> 00:24:45,520 Y usted puede encontrar allí, un montón de diferentes funciones, 501 00:24:45,520 --> 00:24:48,330 y casos de uso, y ejemplos en ejemplos, en ejemplos. 502 00:24:48,330 --> 00:24:51,340 Donde si quieres probar y figura la manera de hacer algo, las probabilidades son, 503 00:24:51,340 --> 00:24:52,964 alguien probablemente lo ha hecho antes. 504 00:24:52,964 --> 00:24:55,840 Y usted puede utilizarlos como inspiración para poner en práctica lo que sea 505 00:24:55,840 --> 00:24:58,230 que es lo que está tratando de poner en práctica también. 506 00:24:58,230 --> 00:24:59,230 >> Soy Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Esto es CS50. 508 00:25:01,210 --> 00:25:02,608