Curso PHP Completo

collar aplicaciones web en el lado del servidor con php las aplicaciones de servidor son parecidas a lo que hayamos hecho previamente con javascript la única diferencia de banyas es que el código no se ejecuta en el cliente sino que se ejecuta en el servidor esto hace que sea menos y menos flexible pero más seguro porque el cliente en principio nunca puede ver nuestro código php y como no puede ver el código php lo hace más apto para hacer aplicaciones web el principio que retirar más seguridad como por ejemplo una tienda online o cosas así por tanto vamos a estar hablando de hp y sus vuelan a caminar las bases de datos si efectivamente no podrían existir pero lo primero que te voy a decir es que a diferencia de lo que nos ha pasado hasta ahora antes de empezar a trabajar en comprar esp nos hace falta entre requisitos qué es convertir a nuestro ordenador en un pequeño servidor web ya que he dicho que los archivos php se ejecutan en el lado del servidor hace falta tener un servidor que pueda ejecutar php no escoja ver si se puede ejecutar en cualquier navegador contar tenemos que de webb ponernos en las rutas de la seda’ para poder no tener una mano o te puede venir bien tener que contratar un servicio web un servidor web o donde sea para todo practicar pero por otra parte el proceso de convertir un ordenador en un servidor web es un proceso hasta empresarios o especialmente la primera vez que lo haces por tanto lo que voy a hacer es usar el universal de / buscado el paquete llamado usar el samp es un paquete que básicamente voy a poner en google salud con dos presas nos permite de una manera fácil de hecho bastante fácil instalar a un paquete que ese paquete él solito configure todo aquello que tiene que configurar para convertir nuestro ordenador en un software cortando vamos a descargar el sham evidentemente debemos querer que aquella versión de sap que esté adaptada a nuestro sistema operativo con facto en este caso no voy a descargar la versión para linux ni para wii ni la de windows sino que ya que estoy normal de descargas de ser para la marca estás formas como podemos ver aquí lo que contienen es bastante similar la versión para mac contiene apache mysql php y pierre s kulite el nombre es en principio no te dirán nada pero conforme vayamos avanzando no queremos haciendo es experto iremos haciendo es aprender cada una de estas tecnologías por tanto voy a hacer clic para descargar sound para marcos 10 me voy a ir a descargar pero voy a descargar como binario universal y con suerte la descarga en pocos segundos empezarán sólo 36 megas de descarga 82 de descarga sin embargo las ventajas que nos dan decir vale la pena de largo de sobra esperar porque las ventajas que nos da el tiempo y el trabajo que nos ahorra está funcionando prácticamente en 10-15 minutos y a partir de ahí poder empezar a desarrollar sin el tendido que supone tener que montar un servidor web puede llevar prácticamente una semana una vez que tenemos el software correctamente descárgalo lo que vamos a hacer es en este caso al ser una imagen más vamos a hacer doble clic para montar la imagen y a partir de ahí en el proceso de instalación de lo que tenemos que hacer es simplemente arrastrar la carpeta sanz a aplicaciones arrastramos la carpeta esperamos a que acabe de copiar todos los archivos que es necesario recopilar menos de 85 megas descomprimido pasada 312 5 megas y una vez que tenemos esto lo que voy a hacer es arrancar el servidor y para arrancar el servidor voy a ir a aplicaciones me voy a fijar que ahora en último lugar tengo el psrm y me voy a fijar que hay un ejecutable único ejecutar llamado control por tanto voy a hacer clic y aparece por aquí se encontró la primera vez estoy seguro que state en abril por tanto tengo aquí esto es un mini starter de sus panes de bienvenida el bank y los controles pensar claro que es un programa bastante ciego y que consiste en esto que podemos ver aquí nos permite arrancar estas tres cosas están estas tres cosas apache mysql de datos y ftp que es un servidor de archivos por tanto como de momento vamos a empezar con apache y php vamos a pulsar the stars tendremos que poner la contraseña para aceptar que permitimos que se arranque el servicio y si no ha habido ningún problema si nuestro suárez de los permisos suficientes la luz se pondrá de color verde lo cual quiere decir que ya podremos empezar a buscar apache no podemos poner nuestros escribes php en cualquier parte del disco duro sino que los tenemos que poner únicamente dentro de la carpeta ht docs que tenemos dentro de esa en ninguna otra parte podemos poner realmente nuestros scripts emplear es lo que voy a hacer vamos a ver si aquí lo que voy a hacer es hd2 quiero tener información y ahora sí que lo puedo porque estoy trabajando realmente con un son files con un acceso directo pero muy a the sun fire voy a aceptarlos y lo que voy a hacer es meterle docs es 3 de información para decirle que cualquier usuario no sólo pueda leer sino que pueda leer y escribir ya que si no tendré dificultades para cambiar el contenido interior por tanto leer y escribir leer y escribir aplicó a los intentos incluido esto es importante seguro que desea seguro que sí y a continuación cierro para aceptar los cambios aquí dentro puedo hacer lo que quiera de hecho ahora ocurre una cosa muy graciosa ahora que tengo ya por fin este servidor web de instalador y es que se abre una pestaña nueva y pongo los campos aparece este mensaje de bienvenida si bien este mensaje de bienvenida el buen trabajo de mi cuerpo porque ya tengo sam’s correctamente instalada por tanto salvo igualmente quizás será un proceso un poco más largo de instalar pero ahora como podemos comprobar en un momento nos permite tener estos torneado perfectamente preparado para funcionar por tanto bueno el hijo del idioma que voy a estar trabajando con char así que insisto cuando la frase y no sé cómo se hace todo esto pero mira en español es seleccionado por tanto voy a pulso en español y este es el mensaje de bienvenida de sap de hecho me he metido en la carpeta de bienvenida de sal lo que voy a hacer ahora no es sino demostrarte que yo realmente cada vez que pongo el local host y hago lo que estoy haciendo realmente es trabajar en esta carpeta de 72 así que será como logran host barra 3 existe esta carpeta temps no existe luego que me va a decir este objeto el número ha sido encontrado pero si yo era tiempo de destacar pena y crea una carpeta nueva llamada tele y ahora recargo me dice que la carpeta está vacía porque evidentemente está vacía pero me dice que existe luego acabamos de comprobar que realmente estoy trabajando dentro de esas si lo que veía en el navegador es lo que voy a ver en esa carta bien además lo que voy a hacer es por ejemplo aquí dentro crear hoy una información no voy a crear un archivo nuevo voy a crearlo desde el gerente es un programa que voy a usar pero que hemos visto antes con esta labró es un programa para el texto para realizar únicamente texto por tanto voy a aplicaciones voy a hacer pero tengo lo tengo en descargas y aquí está por tanto voy a hacer doble clic y probablemente en su momento lo descomprimir pero no lo ha instalado tanto vamos a ver si me deja el programa instalarlo y así se queda siempre para siempre en la barra de dirección bien brandeis en applications y parece que de alguna manera ya lo mismo instalado simplemente recordar y aquí estamos que el xerez se encuentra fácilmente o sx o here y ford la plataforma que sea la página project.org barra genil donde veremos que podemos descargarlo tanto para linux como para windows como para amar por tanto es un programa que me gusta bastante en cuanto a que con un solo grado podemos desarrollar en nuestros de formas diferentes sin ningún problema así que bueno ya lo he arrastrado en principio por tanto yo creo que ya puedo ir a aplicaciones y el color rojo ya veréis que está por aquí el zenit con el que puedo empezar a trabajar lo que voy a hacer ahora esto me puedo olvidar de dejar un poco escondido porque no lo voy a usar más gente es la aplicación que es tan extravagante plan de seguro que desea así y seguro de que diseñó abrir es por tanto lo que voy a hacer es que ejercite ocupe esa mitad de la pantalla y crear otra mitad la cumbre del navegador por tanto ahora yo te digo si yo vengo aquí y guardo este archivo vamos a ver por donde aparece y lo que voy a hacer aquí es configurar las tantas cosas que decirle energía que quiero ver el panel lateral momento ahora como lo escondo no quiero trabajar con documentos quiero trabajar con el navegador y quiero y vamos a ver al sistema de archivos applications quiero ir a 720 guías pérez y aquí quiero hacer un archivo nuevo que por ejemplo se llame ola junto a html para comprobar ese ahora estoy aquí en temps y algo recarga comprobar cómo aparece o la html una señal más de que estoy trabajando en la carpeta correcta y es más si entro dentro de html no hay nada evidentemente porque el archivo para cargarlo no tiene nada pero si pongo hola y por supuesto guardo me daré cuenta que más recargar pone hola luego estos primeros pasos de sant son un poco más lentos que cuando trabajamos con html css y con avastin ya que requieren tener un servidor montado pero una vez tenemos un servidor montado simplemente siempre tenemos que escribir en esta carpeta que acabamos de crear hoy quiero hacer más carpetas simplemente tenemos que pulsar botón derecho carpeta nueva aprendiendo php pero os dejaremos como si entro dentro de aprendiendo php dentro de esa carpeta veréis que tengo ya una carpeta lista y vacía y preparada para empezar a trabajar con ella por tanto me voy a meter dentro de esta carpeta y voy a hacer un primer archivo por tanto voy a impulsar como congreso archivos nuevos que se va a llamar 1.7 y es que los archivos que contienen php tienen que tener la extensión php hay una regla está bien olvidada trujillo luego con la práctica más oportunidad que es que un archivo php 9 contener html pero un archivo html no puede contener de hp por tanto por una línea que tengas de php una sola línea que tengas y proactivo ya tiene que tener la extensión que hace y esta otra sino más comenzar a ejecutarse abajo voy a hacer doble clic para cargar uno php dentro del navegador vamos a verlo año tengo uno que atener voy a cargar una rcp voy a poner o la guarda o recargo y tengo aquí ahora luego parece que este archivo php de repente soporta bastante bien los archivos las etiquetas en html esto es un título guardo recargo esto es un título luego estoy trabajando con html dentro de un archivo que hp es un principio no hay ningún problema la única si trabajo con artículos php es porque tengo instalado y corriendo de esa y estoy trabajando en la carpeta correcta ahora bien yo voy a hacer lo siguiente desde el 44 será guardado y recargo en la pantalla s 44 se me revuelve es como simplemente en cuatro más cuando porque lo está procesando ese pero no lo está procesando php sin embargo ahora voy a hacer lo siguiente voy a escribir una etiqueta un poco especial que es menor que interrogante php y ahora por aquí abajo respiro ya que es interrogante mayor que estas son las etiquetas de comienzo y final de php y estas etiquetas quieren decir que todo aquello que yo escriba en la etiqueta de apertura y la etiqueta de cierre va a ser el php y todo lo que escriba antes de esta etiqueta o después de esta etiqueta puede ser estar escrito en cualquier otro lenguaje por dalma si yo vengo a ti dentro de esta de esta línea que hp y escribo priorice tengo los generales configuradas no no tengo los ingresos comprobadas no mentí preferencias y voy a decirle que quiero el editor activado sangría y que lanzó el tabulador no sea de 8 si lo que sea es una forma de decir ahora por ejemplo que hace 3 hace 3 esto es un título fijémonos que se aguardó y el recargo para empezar en cuanto a colores al programa no le he hecho la misma gracia que le ponga aquí que lo ponga aquí fijémonos que éste ha hecho un hombre apostó de color de vélez como diciendo esto es algo en cambio éste verá puesto completamente de otro color si ahora se me ocurre guardar y recargar comprobar que lo que tengo directamente es un error de sintaxis esta es una de las cosas buenas y malas que tienes de hp y es que un solo error que cometa y no funcionarán nada en lugar de disfrutar de nada ni siquiera la parte inicial que está correcta simplemente no funciona nada y me da un error lo bueno de php la verdad comparado con hamás tienes que por lo menos me dice dónde está el error y me dice en qué línea mueve el control así que es un lenguaje de digamos valor de tiquismiquis pero a cambio por lo menos cada error me permite corregir ese error con cierta soltura para eso también va a ser importante que vaya a gente que vaya a preferencias y que vaya a mostrar números de línea para que cuando me dice que comete un error las uñas 6 verdad se paró realizar dos meses por tanto lo que voy a hacer es vamos a recuperar esta carpeta hacer es escribir correctamente los archivos de php lo que voy a hacer es empezar de la más mágica de las instrucciones que es una institución que se llama eco eco es médico el deco es no rebote en la pared pero rebota en el navegador y usted diga pregunta en el navegador así que voy a poner eso es muy importante 4 + 4 en todas las líneas deberá acabar con un punto y coma todas las instrucciones en php no las puede contraer múltiples instrucciones pero todas las instrucciones tienen que acabar en punto y coma y así como hub astic es bastante relajado en cuanto a esta regla de hp no es nada relajado por tanto hay que poner punto y coma punto y coma en todas las líneas cuál es la diferencia entre h pues llegó 1 449 va a donde en la pantalla de 4 + 4 me va a devolver 8 lo cual quiere decir que este hp es un lenguaje de programación no es un lenguaje de marcado por tanto es un lenguaje en el que estoy introduciendo un contenido realizando unas operaciones con este contenido y devolviendo un resultado con ese contenido una vez más puede parecer una diferencia pequeña pero sin embargo nadal es al igual que pasaba de javascript por eso hay muchas cosas no barça en catamarca tercero con php sino muchas cosas dejamos tinte van a ser nadal en php que se comportan muy parecido al igual que acaba si yo no puedo poner echo hola porque se la guardó y recargo me vuelve a decir que vaya debería haber un error al determinar por donde no lo hago todo aquello que sea hasta el médico tiene que ir entre comillas formando todo aquello que sea cadenas de caracteres tienen que vivir comillas si yo tengo un número un número no tiene por cliente comillas pero si tengo varias letras aunque las letras contengan combinación de letras y números con una sola letra que haya tengo que poner comillas para expresarla y después vamos a empezar a trabajar con él php y al final inevitablemente también las cosas porque porque esto es la primera forma en la que vamos a poder conectar el cptm y es que si te fijas como continuar otro y es que un archivo php contiene esp ml y un archivo un espíritu que puede contener html por ejemplo yo puedo poner aquí h4 al c4 y poner aquí esto es otro título pero este menor ha de h m ward oms recargo y compruebo cómo estos otros títulos pero me lo da por tanto guardo recargo quiero rescatar ha vuelto más provecho en el orden contrario y ahora recargo y medio la amplia s vez por tanto no hay ningún problema porque nosotros [Música] pero lo que vamos a hacer es integrar html dentro de hp usando el comando dijo destructor tco es una instrucción un poco esta que insisto no podemos vivir porque bhp al final voy a simplificar los muchos pero php es un lenguaje que calcula cosas y todas las veces si no tienes un eco que te devuelva los cálculos en pantalla realmente para qué te sirve para calcular el sonido de nuestro físico de la masa que quieren cambiar trayectorias difíciles entonces nombres que para ordenador vete a la base de datos conéctate saca mejores tecnologías de mostrarnos en pantalla es algo seguro cuando digo un cálculo todo el mundo piensa en cálculos probabilísticos estadísticos los contables cosas aquí pero no prácticamente cualquier cosas de las que antes cotidianamente contra ordenador requiere un cálculo del objetivo un cierto palo por tanto vamos allá hay una invitación hay una licitación en php que la debes conocer que es la siguiente este es otro título y voy a poner esto en comillas si yo pongo esto en comillas no hay ningún problema porque como esto en comillas porque aquí tengo comillas dobles ya que tengo comillas sencillas y las comillas sencillas no cierran a las comillas dobles el problema vendría si yo pongo entre comillas dobles ahí tengo un problema guardó recargo y tengo un error porque el programa ha creído que cuando yo quería poner estas comillas verdad lo que quería hacer era finalizar esta carrera hay varias soluciones por ejemplo una solución es si quieres usar comillas dobles dentro pues cuerpo en fuera comillas sencillas y el programa digamos que es el otra y el programa se lo traga por lo que sea puede haber ocasiones en las que no puedas elegir guardamos recargamos y digo que por lo que quiero una victoria de comillas dobles aquí y comillas dobles aquí pues lo que hago entonces es usar una cosa que se llama los caracteres de escape es poner antes de las dobles comillas una contra barra pongo contra barra aquí y contra barra aquí le estoy diciendo oye éstas son comillas sí pero no son comillas para trabajar unas comillas millas de esta manera fíjate que sólo de esta manera puedo hacer que ponga aquí dobles comillas sin estropear la cadena general [Música] vamos a empezar a hablar funcionalmente hp de 36 permíteme hacer más sobre nuevo dos puntos de hp y luego otro yo estuve la incrementada de los puntos que hp lo que tenemos ahí fecha donde grit y sube ahí y aquí voy a cargar directamente dos puntos php y de lo primero que vamos a agregar son de los dos operadores los operadores son muy parecidos por no decir iguales a javascript los primeros operadores tendremos otras bolsas y específicos disparadores por ejemplo de suma si yo quiero sumar tres más tres la suma aritmética entre hp se escribe con un signo más por tanto como el signo más recargo y si pongo 323 aparece el número 6 este es el operador el médico de su madre para el 5-3 el operador aritmético le resta es el guión 5 – 3 evidentemente más grande bueno el operador aritmético de multiplicación igual que en cualquier aplicación de ofimática es este disco por tanto pulsa asterisco guardado y 5 por 3 es evidentemente no se recibió ningún dato pero vuelvo a recargar había llegado un error y 5 por 3 es igual a 15 y evidentemente el operador de aritmético de división es la barra la barra que hay en mayúsculas 7 donde el 5 partidos 3 evidentemente me da 1,6 periodo luego aparte tenemos evidentemente también el porcentaje que me da el resto y el resto evidentemente en este caso estas 2 recordamos que el resto nos sirven básicamente para decir que el 5 entre 3 cada uno pero si 50 veces que había 18 grados por tanto el porcentaje es el módulo que es lo que me sobra de la división vemos por tanto como los operadores aritméticos son bastante sencillos de usar vamos a continuación a declarar algunas variables ya trabajar con los operadores de incremento o decremento por incremento o decremento post [Música] es que deja el msp no hace falta la palabra reserva lamar para declararme a bañarlo pero ahora sí hace falta que todas las variables se declaren con un signo dólar el número de variables depende el extremo primer signo del dólar por ejemplo mi variable una variable tiene que empezar con una vocal una consonante un carácter a lo médico no puede empezar ni con un número fíjate como válido yo puedo poner mi variable 2 pero no puedo poner 2 mi marcha por tanto mi variable es igual a 3 cuál es el resultado de este trozo de código en pantalla los recordemos que yo siempre que declaró una variable recargo y el resultado en pantalla es ninguno porque de crear una variable no es combinar la variable pantalla sino es guardarla de memoria para usarlas más adelante cuando quieran cuando mejor ver otra cosa diferente es decir eco mi variable mi variables igual a 3 quiero que me devuelvan variables en pantalla así que algo y belice 3 lo que tendríamos es almacenar 3 contenedor y lo voy a decir vale quiero saber el contenido del contenedor a partir de ahí con esta sencilla introducción a las variables quiero hablar de los operadores de incremento y del incremento son aquellos operadores que le permiten añadir y eliminar valores de una variable vamos a empezar con los incrementos los incrementos incrementando el incremento se quiere representarlos con dos signos más seguidos y puedes dar al tendrá variables o puede estar después de la siesta antes de la variable recibe el nombre de pre incremento pre porque está antes de la mañana si yo verdad guardo y recala muestra en la pantalla evidentemente es 4 porque lo que estoy haciendo es oye suma de un valor y luego devuélveme la mañana el problema al igual que ocurre con javascript es que puede tener un hacer uso del post incremento si hago uso del poste incremento resulta que cuando recargo el resultado de estrés porque porque vuelvo a la variable y sólo después de devolver el valor de la variable entonces después le aumentó mal por tanto se ahora un hueco mi variable guardo recargo y la primera vez a 3 pero la segunda vez a la 4 por qué porque con mi variable tengo 37 dicho 3 con lo cual cuando la vuelvo a llamar pero es que era el original más que ese valor que le daría un vendedor que al final que es el post incremento al es por tanto una solución esto pudiera especular tales mesas tienen decir que el pre incremento es mejor ahora necesariamente sino que puedo lograrlo tan sencillo como esto es decir oye declaro una variable realmente un valor y luego dar vuelvo porque si lo que estoy haciendo aquí es aumentarlo un valor da igual que se aumente antes o después sino que está siendo activamente de cardona variable sumarle un valor y luego al final del todo devolver la pantalla te preguntarás explica los comentarios en parte para funcionar igual entonces siguen las mismas reglas si yo quiero hacer un comentario de una única línea tenemos que poner dos barras dos barras con mayúsculas 7 primero declaro una variable si yo quiero hacer un comentario muy mi línea hasta el disco el para fresco perdón asterisco barra y todo lo que ponga aquí en medio aunque ocupe varias líneas es un comentario y los comentarios como ves se marcan de otro color en este caso se están marcando de color azul ya que estamos permíteme decirte una cosa cuando recargo evidentemente los comentarios te puedes imaginar no tienen representación visual en la pantalla pero ahora llegamos a un punto y este es el punto en el que vas a comprender cuál es la diferencia entre lenguajes de servidores lenguajes de cliente y es que lo que voy a hacer ahora en la pantalla es pulsar el botón derecho del código fuente de la página y ver qué parte de todo este código de aquí puedo ver yo viendo el código fuente de la página y sabes que no puedo ver nada si yo fuese a ver código fuerte de la página el código fuente de la página es directamente el 4 orlando sabes aquello de lo que pasa en las vegas se queda en las vegas es lo que pasa en thc se queda en el servidor y no se transfiere al cliente por ratón y puedes poner comentarios puedes poner variables puedes hacer operaciones puedes hacer lo que quieras que sabes que el cliente va a recibir al final el resultado final no las tripas de todas las operaciones que estamos haciendo y esta es la demostración de por qué junto con la spp son los preferidos para lo que quieras porque la gente puede ver el resultado de tu blog pero no puede ver cómo está hecho por dentro tu blog vamos a continuar vamos a continuar y lo quería hacer ahora es demostrar que una cosa es todo todavía pero poco para que te crees tranquilo voy a poner nuestros tres puntos y hay una técnica entonces qué es la modificación del código con la función del código lo que se hace es comprimir el código de tal manera que un navegador lo pueda interpretar correctamente pero una persona no lo puede ver por ejemplo porque no te interesa darle el código a un cliente o cosas así por donde estuvimos con google algo como php o skater por ejemplo esto voy a pasar uno debe ser bastante bueno en esto parece que una vez bueno tú eres una muestra ahora yo compré speed y dijo que hp tengo hola yo me llamo josé vicente 2 mi variable es igual a hola yo me llamo josé vicente y con mi variable comió pero y si yo era del mismo mes vamos a ver con él lo que les devuelve el programa en la pantalla es esto esta vez así que copio las manos copio diferente hasta arriba y el código buscado eso estoy aquí allí les lo que pone no pero sin embargo si ahora guardo y recargo y recalará con la página 3 ahora yo me llamo josé vicente por tanto ha convertido este código ofuscado ese código escondido en un código real de esta manera yo voy a los buscadores todavía más profundos me permite esconder el código para que una persona no lo pueda leer y no le pueda calificar pero que sin embargo se puede interpretar correctamente en cualquier navegador te hace pensar lenguaje interpretado que no es lenguaje no es un lenguaje como java o como me forcé que al final de generar un binario punto exe que no lo puedes tocar no puedes abrir por tanto la busca ción es una de las pocas maneras que tenemos en php de conseguir de lograr esconder nuestro código bien pues vamos a continuar vamos a crear un archivo 4th pero lo cargó aquí lo cargó también aquí y continuamos ahora los operadores los operadores porque voy a grandes operadores aritméticos a verlos travers aritméticos resumidos por ejemplo no sobresalen médicos de incrementos de incrementos cuando decidiste quitar un valor pero qué pasa cuando quiere incrementar los valores 1 puesto más variables una variable 1 a 1 es igual a 2 pero yo puedo decir bar uno más va uno más más eco 1 pero claro porque si efectivamente no voy a poner aquí tantas líneas verdes quiere incluir tampoco como ya vimos en java si puedo hacer esto puedo poner cuatro meses porque programa simplemente no lo pilla simplemente era un error por tanto lo que puede hacer es si lo que realmente quiero escribir es bar uno es igual a bar uno más dos esto sí que es correcto 24 es poner lo siguiente es más igual 2 lo cual equivale a decir que van o no voy a poner aquí y 5 otra vez me aparece 5 más igual 2 quiere decir coge el resultado de la variable original y sumarle 2 por tanto el resultado evidentemente es de la misma manera los los modificadores de de ésta también funcionan por ejemplo menos igual 2 es igual a 35 menos dos por igual 2 es igual a miel y evidentemente partido igualados equivale a 2.5 vertir esto me evita tener que decir bar uno es igual a la par 1 partidos si no me permite directamente ahora que nos hace falta para trabajar por tanto dentro de los siguientes operadores que vamos a ver podemos encontrar los operadores lógicos pero es lógico saber lo siguiente voy a hacer el archivo 5 punto php voy a escribir mi gente hp y voy a poner lo siguiente es lógico me sirven para especificar los progres julianos para verificar si el resultado de una validación es verdadero o es falso y esta validación lado sale más adelante para prácticamente cualquier cosa en conexiones masa de datos o el paso inmediato en estructuras de control entonces yo digo 53 vamos a ver aquí 3 es igual a 3 el igual en principio es el operador de asignación pero el donde igual es el operador de comparación el resultado en la pantalla es 1 como que uno cuando el ramón este verdadero me dice 14 el falso o me dice 0 o directamente no me dice nada así que yo le preguntaba es cierto que 3 es igual a 3 el probable dice uno es cierto pero es cierto que 3 es igual a 4 el resultado es nada porque es verdad por ejemplo es cierto que 3 es menor que 4 el resultado es 1 porque es cierto pero es cierto que 3 es mayor que 4 el resultado es nada de la misma manera yo le puedo decir es cierto que 3 es mayor o perdón es menor o igual que 4 escrito mal porque el menor va antes que el igual guardo un recargo y me dice 1 por qué porque 3 no es igual pero es menor de la misma manera ya le puedo decir es cierto que 3 es mayor o igual a sino mayor o igual que 4 como no cumple ni que sea mayor ni que sea igual el resultado es otro operador muy interesante es el operador negativo el operador negativo francamente cualquier lenguaje de programación es el símbolo de dominación hasta el cielo es cierto que 3 no es igual a 4 sí es cierto es como la negación por tanto el resultado evidentemente es que bien vamos a hablar a continuación de hemos visto los mayores los iguales los menor que ayer que todo esto y lo que vamos a hacer ahora es ponernos siguiente para hacerlo es verdad qué estrés es igual a comillas 3 ese grado pero es triple igual que 3 es igual a 3 no es cierto que es el triple igual el ph t hasta ahora el cps tiene un lenguaje de tipificación débil lo cual quiere decir que no es necesario como otros lenguajes para cambio java qué tipo de variables [Música] esta es una cadena de empresas por médicos necesita saber con qué tipo de datos está trabajando por tanto la igualdad lo que están haciendo no es sólo evaluar que el valor es el mismo sino lo que está bueno también es evaluar que el tipo de datos es el mismo el valor es el mismo pero el equipo de datos es el mismo no porque esto es un número y esto aunque representa un número tres es una cadena de caracteres alfanuméricos por tanto la triple igualdad en este caso devuelve el falso vamos a continuar y vamos a continuar con los operadores lógicos de am director me permite evaluar varias estaciones a la vez todo esto alrededor cuando veremos a estructuras de control veras que empieza a que dé un gran significado y digo es cierto que 3 es igual a 3 y para poder y pongo otras veces el símbolo más pesados que encuentro con mayúsculas 6 y que 4 es igual a 4 el resultado de esta validación como esto es cierto y esto es cierto es uno en la batalla puedo poner tantas realidades como quiera no sólo funciona con dos y es 10 panel que 5 es igual a 5 el resultado sigue siendo el problema del operador lógico es que uno solo de ellos que no sea cierto y todas las estaciones un conjunto no es cierta por tanto si llego 3,34 segura de 4 y 5 es igual a 6 por tanto guardo recargo y el resultado de la operación global espacio porque te digo es cierto que 3 es igual a 3 y 4 se iguala 4 y 5 según las seis veces y globalmente no es cierto porque hay una de ellas que no es cierta sin embargo el otro símbolo es corta y el número 1 las formas radicales sports lo que estoy diciendo es es cierto que es igual a tres o cuatro es igual a cuatro o de cinco o separan seis no estoy diciendo y estoy diciendo por tanto el resultado es verdadero porque este es cierto o éste es cierto o este es cierto es cierto estos dos sitios mejor si ahora por ejemplo como 4 igual a 5 el resultado sigue siendo cierto porque al menos uno de ellos es cierto sin embargo ya no puedo más sin ninguno de ellos es cierto evidentemente la el resultado de la presión no es paz por tanto básicamente para resumir nuestras redes lógicos de combinación y requieren que todos los todas las expresiones sean verdaderas una sola y el probador de es falso mientras que el oro requiere que al menos una de ellas sea verdadera para que el conjunto en la expresión responda y verdadero vamos a hablar a continuación de las estructuras de control para eso voy a hacer un archivo nuevo 6 punto de hp que voy a cargar tanto el editor de hecho podría ir ya cerrando algunos 6 puntos bhp y aquí voy a cargar también 6 puntos pero muy bien pues voy a continuar voy a continuar como decía con las estructuras de control que yo diría que es como el motor que hace que se mueva realmente un programa hagamos que las variables son el combustible la gasolina vale pero estructuras de control son lo que realmente hace que se muevan las cosas ahí podríamos clasificar las estructuras de control en dos tipos de estructuras las estructuras creativas y las estructuras de decisión las estructuras operativas simplemente se encargan de repetir una cosa todas las veces título díaz de la ramita mientras que las estructuras de decisión se encargan de preguntarse si era verdadero o falso y tomar alguna decisión según sea verdadero o según se acabe la primera estructura de control vamos a ver la más sencilla de todas una de las más antiguas y yo diría que está presente prácticamente de todos los lenguajes de programación en la del plan de control forma la estructura de control ford repite un cierto código todas las veces que tú letras por tanto digo form paréntesis y llaves form esto es cuando se va a repetir este solo código bien y lo que dentro de las llaves es que el código se va a ejecutar cuando saben en qué códigos se va a ejecutar dentro de cuándo se va a repetir hay tres cosas que tenemos que decir y es el inicio punto y coma el final punto y coma y el incremento porque como digo de todas formas tengo que volver es director de veces mientras que esto evidentemente es el código que se va a dar también crear una variable el contador que va a ser igual a 1 y digo siempre que contador empiece siendo uno quiere sobraba pero bueno es obra de arte siempre que contador esté siendo uno hasta que el contador o sea menor de 3 metros cada vez que pasas por aquí al contador le voy a aumentar un valor finalmente se ejecutó esto se queda que era un error pero yo aquí le voy a decir echo rico hola cuando recargo y me dice hola hola hola hola hola me lo dice tres mil y una veces si quieres es momento de empezar a poner aquí html y que te des cuenta como tengo treinta y una veces porque tengo un tanto de línea y en definitiva como no es necesario trabajar digamos php y extenderle por separado sino que php perfectamente puede contener hasta ml lo que pongas dentro de por ejemplo yo voy a hacer de aquí arriba en html en 1 voy a hacer planificador o dietario ing por ejemplo un día hay un alto que es contador del rey y me hago un campo input y antes día 1 del mes dime lo que vas a hacer día 2 del mes diré lo que vas a hacer día 3 del mes vive lo que vas a hacer yo lo que he hecho realmente este día contador bella 1234 derretido un contador evidentemente en html y luego un input evidentemente para poder con el texto de esto con aplicación real evidentemente aquí al final hace un botón para enviar y lo metería en una base de datos pero antes de eso me falta por explicarte este puntito de aquí que es este pudiendo de aquí ese puntito de aquí es el operador de encadenamiento php es lo mismo que jamás pide se hace con un signo más pero tendré este se aseguró un punto fíjate que yo aquí tengo una cadena numérica tengo una variable y tengo otra cadena para américa que va desde aquí hasta aquí como juntos como encadenó yo esos diferentes tipos dados por los encadena con este punto hamas que es conocido más pero php es con el punto para decir que encadenó una cosa con otra como podemos realmente realizar los elementos que tenemos aquí pues lo que hacemos es combinar antes en medio y después elementos de html por ejemplo yo aquí el importe unitario voy a poner una ‘tablet’ es un buen recurso para aliviar y les digo por gente que ha empezado y ha acabado antes de thc sin embargo vengo aquí y digo mira esto es un té r que era un repunte de una milla de la tabla y aquí acaba el tr vas a cantar ver entonces y les digo esto es una columna de la tabla aquí se acaba la columna de la tabla esto es otra columna de la tabla y aquí se acaba lo que hace esto con un border igual a 1 para que veas bien el borde lo que hace esto es esto es ponerme todo esto para asegurarme el borde igual a cero para quitar el truco para asegurarme que la alineación es lo más perfecta posible logros acá todo es que ahora si te fijas si veo el código fuente de la página aquí ha llegado directamente de rpp de perder el verde lo ha convertido directamente por tanto lo bueno que tiene php es que no veo el código fuente de la aplicación quirúrgica cielo sino que sólo veo de su producción al y en este caso en estas tres líneas de código me ha ahorrado el tener que poner en todo esto otras no sacrificio eléctricas que fíjate cómo realmente html entre aquí aquí contiene hp y php a su vez contiene también html lo digamos que son capaces de mezclar siguiendo unas reglas y no saltándose las reglas pero sólo capaces de combinarse entre ellos para jugar y para al final conseguir lo mejor de cada uno pero vamos a ver más bucles liberación yo diría que es pero hay otros núcleos que podemos usar por ejemplo voy a voy a comentar este para disponer el código y hay otro bucle parecido que es el wire el cual ejecuta un código y siempre que se dé una condición esté pgr existe es casi igual al foro porque el foro era por paréntesis y llaves este es guay en pareces iniciar pero hay una diferente y es que el foro contiene tanto la condición de inicio como la condición del final como la condición de incremento mientras que uruguay es más bajo y sólo contiene la comisión de finalización por tanto le digo while contador perdón hasta que el contador sea menor que 32 en ese caso ponme este código en la pantalla hago así 4 y recargo que crees que va a pasar si quieres incluso para no marear te voy a eliminar este código que crees que va a pasar lo que va a pasar es que va a entrar en un boom en un bucle infinito es más probablemente es también un error pero no ha entrado directamente en el núcleo infinito de gente que este día del mes día del mes pero es que es muy bajando si voy bajando casi fíjate día después ves todo lo que estaba haciendo una vez que has visto ahí la que pasa ha entrado en un móvil infinito porque he dicho mientras el contador sea menor de 32 tu sigue haciendo que pasa que siempre espero entre 32 porque dice no me dices cuánto es pues era pero y como nunca me dices que el contador crezca o yo lo voy haciendo crecer el problema ha entrado en un bucle city lo cual quiere decir que el servidor tendrá el todos al rato lo cual quiere decir que la página del final se colgarán así que básicamente voy a hacer lo siguiente no he parado vamos a esperar y voy a hacer lo siguiente contador empieza siendo igual a 1 y cada vez que pasa por aquí contador más más si ahora guarda y recargo fíjate como ahora hay un error que errores cometido vamos a verlo si el error fíjate lo que he dicho y es que todas las líneas tienen que acabar con un punto y con una sola que no ha acabado error que me ha dado por tanto guardo recargo y ahora ya tengo si desde el día 1 hasta el día 31 todos los días guardados por tanto podemos decir que el wine es una estructura de control parecida al pool sólo que no contiene las condiciones de inicio y las condiciones de parada sino que las condiciones de inicio y de parada hay que ponerlas fuera y dentro respectivamente roll que te sonará también bastante del hamas tintes de wilde porque mientras que wild sólo ejecuta la acción si es pierna dubai no hace esto mira contador es igual a 33 ejecutará alguna vez esta oración no contador es igual a 33 mientras que sea cierto que el contador es menor que 32 ejecutará este código el contador es menor que tres ceros 33 es menor que 32 no nuevo nunca ejecutará ese código sin embargo hay otra estructura de control es de algo wayne se cumpla una condición en el wine primero para la expresión y luego realizar acción en el turbay primero realizar acción y luego válida si la tenía que haber ejecutarlo por tanto de mí con tu estético while el contador sea éste y por cierto ya que estamos aquí le voy a decir que contador más si quieres si quieres voy a poner entero para que veas bien cada línea y vea si entiendes o el contador sea menos que 32 y la estructura de control while es la única de ellas que nos recomienda acabar un punto y joven así que ahora yo te pregunto en principio se tendría porqué ejecutar esta estructura de control es cierto que contador 33 es menor derroteros no es cierto sin embargo si era guardó y recargo comprobar en cómo al menos una vez ha ejecutado porque uruguay lo que hace es primero ejecutar el código y luego preguntarse si tenía que haberlo ejecutado problema llega aquí dice no no tenía que haber ejecutado pero ya lo he ejecutado así que bueno para la próxima a 926 punto de una segunda vez ya no lo ejecutó pero nadie lo ejecutado por tanto esta es la definición de una estructura de control de uruguay y se asegura que al menos una vez se ejecuta el código ah a continuación vamos a correr las estructuras de control de las deliberaciones y no las de decisión las de toma de decisiones estas no es que sean más fáciles de comprender 7 eléctrica archivo 7 punto php lo que hago lo mejor ah y vimos las estructuras de control basadas en decisiones donde la estructura de control live es la principal de hecho desde las más clásicas lo que hace simplemente es preguntarme si algo es verdadero o falso y si es verdadero ejecutará un código y si es falso ejecutará otro corriente por ejemplo mi edad es igual a 34 creó una variable que se llama edad y 34 así que digo y y paréntesis llaves es llaves y esto es expresión código verdadero y con y mojado va a evaluar una expresión si esa expresión resulta verdadera en este caso se contará este código por contra las personas resulta falsa ejecutará este código así que le digo si la edad es menor que 30 viene tengo es un joven sí no mire ya no eres tan joven cuando estoy resultado de esta estructura de control bueno que voy a hacer es decir eran este 4 34 así que es cierto que 34 es menor que 30 en caso afirmativo ejecutaré eres un joven en caso negativo ejecutaré ya no eres tan joven y evidentemente sea recargo y ejecutó es decir me dirá ya no eres tan joven porque ha rentado pausa y evidentemente ha ejecutado la línea falsa lo bueno de los javascript es que se pueden agregar es bueno pero también es difícil de ver por ejemplo y aquí pongo otro if y pongo la misma estructura de control y eres digo si la edad es menor que 20 tengo eres un chaval sí no eco eres un joven aquí repito y explosión expresión será es menor que 50 eco todavía y conservas tecos ya eres una persona respetable que tengo al vamos vamos a analizar edad voy a poner 24 yo digo mi edad es menor que 30 24 es cierto que es así que mira del norte 30 sí pero no quiero profundizar un poco más pero dentro de que se cree 30 que soy un niño sobre el adolescente y un joven con lo cual aquí a continuación digo ciega de saber que 30 vale además si además de ser menor que 30 es menor que 20 te digo eres un chaval pero si no eres un joven sino de lógica sí es cierto que tengo menos de 30 años pero es falso que tengo menos de 20 años cuántos años tengo entre 20 y 30 igual que aquí por ejemplo supongamos que tengo 34 si edad es menor que 30 sanz 34 es mayor y precisa en tres pasó aquí abajo sí vale pero la edad es menor que 50 es decir tienes más de 30 años sí pero puedes llegar a 50 personas de mayores o poder superar los 50 una persona aquí me dice 34 pero dentro de que es cierto que tienes más de 30 éstas entre 30 y 50 o 50 y superior lo que estoy haciendo en 34 es todavía que contaré más pero si por ejemplo pusiera el 54 y todo esto se puede anidar todas las veces como quieras en todos los niveles que quieras pero claro el problema es que analizar y la agregación es una práctica bastante habitual es que hay agregar y aumenta la complejidad en la lectura y en la compresión del código no ya por ordenador porque el ordenador no tiene ningún problema en procesar y sagrados sino a nivel del ser humano verdad aunque insisto una vez creo que estoy hecho previamente pero aunque todos los días nos preguntamos y vale yo digo por ejemplo y digo tengo sed sí o no mi respuesta es sí pero a continuación hay una salida no tengo un paso cerca sin mirar y de suerte tengo sed y tengo un vaso cerca pero a veces esperar de 6 dijo prefiere armas no son 3 y salida 2 tengo sed si tengo un barça cerca si tenía la uar nosotros pensamos lo que sé tengo ser si tengo un paso cercano lo que sería una opción es ir a por los regalos esto pero si lo hacemos todos los días inconscientemente sin darnos cuenta el problema de los ix e incluso de los examinados es que hay situaciones en las que no nos vienen a la piel por ejemplo unir anidado para los días de la semana es un problema porque es es cierto que estamos en la segunda mitad de la semana es cierto que estamos en la primera mitad de semana pero además es cierto que es lunes pero además es cierto que es martes vale por tanto hay una cantidad de ir salir a la distancia imagen caso impacto con los batería son especialmente complejos para eso es mejor por tanto usar una estructura de control que se llama switch así que voy a hacer lo siguiente voy a hacer el número 8 voy a entrar el archivo número 8 y voy a escribir lo siguiente simplemente voy a hacer vamos a ver voy a hacer php y voy a escribir lo siguiente digo día de la semana es igual a lunes así que en lugar de usar una estructura de control y voy a usar una estructura de control switch por tanto digo switch día de la semana a y van a tener la siguiente estructura va a tener 62 puntos libres para cada uno de los casos qué es lunes i hoy es un día duro libres y así repito con cada uno de los días en lugar de ir mirando y lo que hago es crear casos específicos para cada una de las variaciones que se puede negar que es martes que es miércoles 6 jueves queréis viernes que el sábado y que el domingo hoy es el segundo día hoy estamos la mitad había raro en empresas por fin y mañana de vuelta al foro por tanto en este caso señora recargo evidentemente lo que me sale de la pantalla es hoy es un día duro porque la variable día de la semana es igual a martes la lunes si pongo martes vivirá hoy es el segundo día si yo pongo viernes me dirá hoy empresas es decir el switch es como un ir pero no sólo admite el caso verdadero o falso sino que admite un número virtualmente ilimitado de casos diferentes lo único que hay que marcar del switch es que al igual que el javascript requiere el uso de el comando break porque si no por ejemplo en el caso del lunes ejecutaría este este de texto de aquí y ya sé que suena raro pero es así continuaría ejecutando el resto de casas por donde hay que poner en el caso el código que quieres ejecutar y a continuación un break para decirle para dejar a finalizado y ahora salte del switch y no ejecute en ninguna línea de código más vamos a divertirnos un poco con ph te vamos a hacer algo desde qué nos va a servir y va a ser un ejemplo bastante claro primero para repasar todos los que hemos visto hasta ahora y segundo un ejemplo que yo creo que tiene a general es que a partir de la base de todas las páginas bloqueadas que es el típico df que te dice oye es pirata del estado de la ciudad y son las 3 y 4 y 5 segundos por tanto vamos a crear el archivo 9 php y voy a hacer lo siguiente voy a cargar 9 hp voy a descargar aquí 9.3 y voy a hacer lo siguiente hay 1 hay una instrucción ya está implementada dentro de crear esa instrucción 6 por ejemplo dentro de aquí dentro del paréntesis según lo que le pongas te va a dar una cosa u otra por ejemplo si no digo veis y me devuelve el año 20 1 me devuelve el año en el que estamos no no me devuelve el años registrados es verdad y es mi parte favorita de bay y me devuelve el número de segundos que han pasado desde el 1 de enero de 1970 en el documental de hecho te recomiendo ver porque ahí está todo el manual de cuáles son los códigos que puedes poner si miras la uv segundos desde la época yo mix que es el 1 de enero de 1970 a las 0 00 gmt pero yo lo que quería decirte es que si yo pongo lugar de lado la y me dice que estamos en 2012 pero si como la y minúsculas me dice que estamos en el año 12 pero si pongo la m mayúsculas me dice que estamos en ser septiembre pero si pongo la n en minúsculas me dice que estamos en el 2009 tú miras vale pero como te sabes todo esto no menos sino simplemente cada vez me abro la documentación oficial del dsp que ésta emplea chepe punto net y veo los códigos que puedo usar cada uno a que s corresponde por tanto voy a hacer lo siguiente voy a hacer eco vamos a ver hoy es mayor respeto fuera hoy es que cuatro cuartos 24 hoy es 24 de septiembre y son las 18 27 y pongamos que de 30 autos cuando recargo esto es muy bonito pero no me sirve para nada porque es texto completamente estático no voy a entrar cada día cada hora cada segundo canal me desea cambiar la fecha que quiero que esto lo haga al ordenador automáticamente para eso está precisamente la instrucción de él por tanto voy a hacer lo siguiente hoy es el 24 de septiembre de 2012 no 64 y principal de septiembre y voy a decir hoy es pero junto a dave y digo cuál es el rey que me permite trabajar con el billar no sé qué tengo aquí y digo hoy es de una vez minúsculas días del mes con ceros iniciales o que os interés igual te gusta más sinceros pues día del mes sinceros iniciales la j así que vamos a verlo hoy es 24 de este 24 te puedo asegurar que ya no es estático ahora es dinámico de la misma manera copio pero y digo él un problema hoy es 24 de sep de set que de septiembre pero lo que pasa aquí representaciones contextual con el verdor textual completa efe permite un chasco porque claro como cualquier lenguaje de programación hoy es 24 de septiembre se cumple que no voy a responder es la mitad está en castellano a la mitad pero podemos no soluciona esto viene de 2012 ya sabemos que esto es el de con y mayúsculas por tanto copiamos pegamos ya sabemos que try y mayúsculas y son las 18 lo quieres en formato de 24 horas son formatos sociales 24 pues entonces vemos que el formato de 24 es la h mayúsculas río h formato de 24 horas con ceros iniciales conocer nuestros sinceros pero sin duda es las mayúsculas así que vengo aquí pego h minúsculas los minutos siempre de acuerdo es en minúsculas siempre les voy a decir fíjate minutos con ceros iniciales y no sé de dónde sale pero es así y los segundos es la s bueno hermanos copiar pero me las guardo a ver si al final en todo caso no porque está aquí es que está bien punto comillas comillas punto.com punto pero vamos a verlo así que guardo recargo y me dice que es 24 de septiembre del 2012 y son las 16 31 07 bueno si el servidor está un poquito herido de ahora pero no pasa nada fíjate cómo va aumentando aumentando y oye y si el servidor tiene un desfase pues me cojo el rate a la hora que le sumo dos y tan contentos y ya son las 18 y no pasa nada bueno pero ahora a continuación lo que vamos a hacer es arreglar un poco este código porque este código está bien pero tiene en español de que me dice september y no me va a decir otra cosa sino que se entiende me puedes hacer temer me pondré todo entre nunca delate en septiembre así que yo me tengo que currar algo que me permita traducir los meses al castellano vamos a continuar y el problema que tenemos el mes de septiembre cuando voy a hacer lo siguiente nada vamos a decidir sus días de la semana por tanto dijo switch veic y el día de la semana recordamos perdón en el mes del año recordamos qué efe así que pongo ahí los corchetes y dijo hay una variable así mes veis es igual a hacer para darle un valor exacto en casa de que sea yo 9 en ese caso un mes es igual a enero por comillas y no te olvides [Música] del rey copio pego pero pero luego ip 6 ferrari el meses en febrero chris marrs el mes smart 6 y greene el meses abril smile el mes es malo y un meses junio que yo lo haré el mes es julio 62 el mes es agosto y por fin llegamos que se tenga el mes de septiembre guardamos recargamos y aquí en lugar de decirle efe quiero que me devuelvas la variable de mes por tanto guardo recargo y me dice que es 24 de septiembre con lo cual en lugar de devolverme directamente la fecha lo que va a hacer es antes procesar y traducir y mediante una estructura de control switch debemos por tanto un caso práctico de para que nos puede servir una estructura de control switch hemos conseguido realizar una producción de las fechas tenemos una de las funciones las funciones son incomprensiones en un primer momento pero más adelante nos sirven para mucho las funciones nos pueden servir por ejemplo para encapsular trozos de código por tanto para crear una función yo escribo la palabra mágica y reserva la función a continuación elijo yo el nombre de la función dime la fecha le pongo paréntesis le pongo paréntesis de momento vacío más adelante veremos que se puede poner parámetros y pongo unos corchetes que encierran todo el código todo este código está encerrado como puedes ver dentro de una función cuál es el resultado en pantalla el resultado en pantalla es ninguno porque porque al crear una función yo he hecho lo mismo que cuando creó una variable lo que ha hecho es poner en la memoria del ordenador un trozo de código que más adelante si quiero ejecutar pero que ahora mismo de momento no he querido ejecutar por tanto lo que he hecho hasta ahora es crear una función lo que voy a hacer a partir de ahora es llamar a la función la fecha supongo dime la fecha paréntesis esta fórmula llama y ejecuta a la función que acabo de definir aquí aceite guardo recargo y saber la fecha cerrar la fecha porque aquí la es guardado en una función y aquí es llamado a la función son muy explicar el uso de funciones con parámetros por ejemplo yo voy a crear un parámetro que será nombre así que ahora voy a decir hola cómo nombre punto espacio fíjate que si recargo ahora la función de huarmey error advertencia realmente un error tres advertencias y es que me dice yo esperaba que tú me dirás el argumento arandina y la fecha porque aquí me has dicho dime la fecha y les ha asegurado que me ibas a dar un nombre pero acá ni aquí no me has dado un nombre así que voy a poner hola jose vicente guardo recargo hola josé vicente hoy es 24 de septiembre de 2012 y son unas papas pero si yo quisiera cambiar esto por otro nombre hola jaime guardo recargo y comprobamos como esa misma función se puede adaptar para varios usos con el uso de parámetros los parámetros por tanto son elementos e introducimos dentro de los paréntesis y que nos sirven para personalizar y para adaptar el funcionamiento y el uso interno de las funciones lo que acabo de hacer esto de hecho lo voy a eliminar me quedo solo con la función y esto no hace nada así que a esto me voy a archivo guarda estoy aquí en el archivo guardar como y le voy a decir que me lo guardo como fechas hay una ayuda a crear transformarlo hay una instrucción de php que me gusta mucho y que es muy usada que es la función incluye la instrucción si era por ejemplo vivo dime la fecha vive la fecha con el parámetro josé vicente guardo eso aquí recargo para que vea enseña para hacer fechas aquí recargo el número 10 estoy trabajando con archivo número 10 recargo y me dice error fallas es normal serológico has llamado a una función no definida llamada dime la fecha como que no definida no no no no yo la he detenido en fechas punto php pero claro 10 punto php no sabe lo que yo he detenido en fechas punto php porque porque son dos archivos diferentes por tanto hay una función está muy bien que es incluye incluye me permite incluir el archivo que quiera por ejemplo incluye el archivo fechas php y se hará recargo este archivo hola jose vicente hoy es 24 de septiembre porque al decirle incluye fechas punto php lo que le estoy diciendo ‘estoy recoge el código de fechas punto php e inserta lo a continuación aunque tú no lo veas insertarla a continuación de tal manera que ahora sí evidentemente podrás usar el método que he definido la función que definieron llamada vive la fecha una cosa más voy a hacer otro archivo que se va a llamar nada punto php y dentro de nada punto php yo voy a decir te co nada vivo una variación de incluye es rico ayer por ejemplo yo digo incluye y dibujo nada dos puntos de hp ahí va nada 2 existe luego la cuestión es que si ahora recargo tengo un warning tengo un warning que me dice oye cuidado he fallado al abrir este archivo pero son guarne no es un error fatal con lo cual al final aunque me dan las advertencias me dice que ejecuta el código otra otro tipo de llamada hermano del club es rico área si él incluye allá él aún warner pero si el rico ayer falla según fatal error y si te da un fatal error no te deja seguir ejecutando el código que tienes a continuación por tanto incluye y ree cuales son dos cosas que vamos a usar extensivamente e intensamente centros donde los programas para hay que tener cuidado porque hay que tener cuidado de que debe existir el archivo que realmente estamos llamando

vamos a empezar a crear un blog antes de crear el blog lo que voy a hacer es analizar qué es lo que quiero obtener de esta aplicación voy a analizar un poco cómo funciona un blog en primer lugar siendo una aplicación web 2.0 tengo que tener muy claro que en el fondo va a haber una base de datos esta base de datos almacenará información ahora veremos que almacena exactamente esta base de datos un blog como muchas aplicaciones web hoy en día es una aplicación que tiene dos caras por una parte tiene una interfaz de usuario tiene lo que se llama un front-end tiene una parte vista por el usuario final y por otra parte tiene un back-end tiene lo que se llama coloquialmente un panel de control las dos partes van a tirar de la base de edad pero curiosamente cada parte será un poco independiente por tanto tenemos una primera parte que va a tirar de la base de datos tenemos también una segunda parte panel de control que va a tirar también de la base de datos dentro de esta primera parte podremos sobre todo lo más importante leer entradas del blog evidentemente lo primero que hace un usuario es poder leer entradas del blog a partir de ahí tendremos más funciones tales como por ejemplo buscar entre las entradas o también podremos filtrar por categoría hay muchas más cosas que se pueden hacer dentro de un blog pero digamos que estas son las tres piezas esenciales cualquier cosa que hagamos finalmente lo que va a hacer es tirar de la base de datos va a extraer información de la base de datos curiosamente además esta flecha digamos que estaría incorrecta porque en la parte frontal del blog generalmente no vamos desde la parte frontal hasta la base de datos sino que la base de datos es la que introduce información dentro de la parte frontal también es cierto que puede haber una parte donde el usuario un usuario un lector pueda generar un comentario generar comentarios solo esta parte sólo la parte de generar comentarios tendría una cierta componente de escribir en la base de datos filtrar buscar leer en definitiva todo es leer pero generar comentarios es escribir un comentario dentro de la base de datos con todos los peligros en cuanto a seguridad web que esto conlleva ahora luego hablamos de ellos esto es lo que ocurriría digamos en el front end déjame que ponga un texto por aquí escapado front qué es lo que se conoce como la parte frontal de una aplicación web siendo la parte frontal la parte que al final ve un usuario plano de esta aplicación web a partir de ahí tenemos una segunda parte que es el back end o lo que se conoce como el panel de control dentro del panel de control hay muchas cosas que podemos hacer como por ejemplo podremos gestionar entradas cuando digo gestionar me refiero al pack crudo de crear entradas eliminar entradas actualizar entradas y buscar entre las entradas puedo crear puedo leer puede actualizar puedo eliminar también podré realizar acciones como gestionar comentarios en la parte de gestión de entradas evidentemente hablando de un blog suele servir para crear entradas sin embargo la parte de comentarios suele servir para gestionar los comentarios dentro del blog por supuesto ya que hablamos de gestión poder realizar otras operaciones tales como por ejemplo gestionar usuarios en definitiva todo va a tratar de lo mismo todo va a tratar de dadas entradas comentarios usuarios registros plugins plantillas lo que sea de poder realizar una operación de gestión siendo la gestión insisto un pack que comprende leer escribir modificar y eliminar y diré por tanto también que esta parte no sólo va a leer sino que también va a escribir mientras que en la parte frontal la lectura es lo más importante la escritura de vez en cuando puede ocurrir en la parte trasera lo que suele ocurrir sobre todo es escritura lo que hago es el contenido bueno esto es un blog realmente técnicamente esta estructura se cumple tanto en el blog como en la tienda online como la red social como en muchos otros sitios hay una parte frontal con la que interactúa el usuario hay una parte posterior con la que interactúa el administrador y las dos inevitablemente van a trabajar con una base de datos centralizada que está en el medio de las dos una vez que tenemos claro qué es lo que queremos conseguir vamos a empezar a implementarlo por tanto en ver lugar voy a ir a el disco duro local ce me voy a ir a la carpeta de sound me voy a ir a http y voy a crear un nuevo proyecto llamado blog dentro de este proyecto vacío es la carpeta vacía llamada blog voy a crear por una parte un archivo llamado index php y por otra parte voy a crear una carpeta llamada admin así que este archivo corresponderá a la página principal del blog y admin corresponderá a una carpeta donde estará situado el panel de control es decir esto será el principio al menos el principio del front end y este será el principio del back-end del panel de control además quieras que no sabemos que hay ciertas cosas que vamos a usar a lo largo de nuestro proyecto por tanto voy a crear otra carpeta que se llamará css seguro que voy a necesitar almacenar css en mi proyecto también voy a crear una carpeta llamada js también creará una carpeta llamada img y en muchos proyectos se crea una nueva carpeta llamada photo foto puede parecer lo mismo que img pero no lo es img son aquellas imágenes que forman parte de la propia aplicación del blog por ejemplo el fondo por ejemplo la cabecera el logotipo y foto forman parte del contenido que ponemos dentro del blog por ejemplo las entradas que introducimos dentro del blog o por ejemplo en mi tienda online ing guardaría las imágenes de la plantilla de la tienda online mientras que foto guardaría las fotos de los productos que están dentro de la tienda online otra cosa que voy a poner es una carpeta llamada incluye por tanto la voy a llamar como ink para empezar a trabajar y una vez que tengo esta mínima estructura jerarquía de mi carpeta tal vez más adelante lo que haré es trabajar directamente con más carpetas pero ahora en principio lo que voy a hacer va a ser sencillamente empezar por aquí a trabajar así que como estoy trabajando la carpeta de ht docs voy a arrancar el control panel para asegurarme de que tanto apache como mysql están en verde están correctamente ejecutados en este caso lo están porque previamente los he instalado como servicios por tanto una vez que me ha asegurado arranco un editor de texto por ejemplo head y por ejemplo sublime por ejemplo cualquier editor de adobe en definitiva cualquier editor de código voy a poner el código por aquí y ahora me voy a por supuesto lo voy a cargar dentro del editor como no lo tenemos y por otra parte voy a abrir un navegador web donde me iré a localhost blog ya que dentro de esa carpeta si aquí pongo hola voy a encontrar que hola es decir estoy trabajando con la misma carpeta bien a continuación voy a hacer una etiqueta docta y voy a crear la estructura mínima la estructura básica que debe tener cualquier página web por tanto voy a crear un here voy a crear un móvil por otra parte dentro del head voy a poner el siguiente contenido por una parte voy a poner title y voy a poner blog este proyecto se llama blog obligatorio también que está meta charset es igual a usted 8 y con esto tendría ya suficiente como para poder empezar a trabajar dentro del body voy a poner un con y de igual a contenedor vive y dentro de este blog voy a poner un género una gente que también que tendrá la parte principal y un footer aquí voy a poner una etiqueta hace 1 donde pondremos el blog de cada uno quisiera el blog de jose vicente bardo recargo aquí tenemos etiqueta h1 puesta a continuación un h 2 es algo así como bueno voy a poner directamente jose vicente catalá y aquí en h2 blog oficial cuando recargo y me sobra una fe aquí tenemos tanto el uno como el h2 ahora en maine pondríamos por ejemplo una plantilla de un artículo del blog por tanto un artículo lo pondríamos con usando la etiqueta arctic el centro de arte y que vamos a poner algo como h 3 título del artículo una etiqueta a time fecha del artículo por ejemplo 0 01/01/2010 y 6 no lo sé a partir de aquí una etiqueta de parágrafo el contenido del artículo que vamos a leer y por encima de todo esto quizás algún ing src en img cargaremos una imagen con alto contenido es decir tenemos por una parte un título tenemos un subtítulo y para cada uno de los artículos tenemos por una parte una imagen en este caso una imagen vacía no he cargado ninguna por otra parte un título del artículo por otra parte la fecha de publicación y por otra parte el contenido del artículo que vamos a leer más adelante también él [Música] títulos se convertirá en un hipervínculo se convertirá en un hipervínculo donde podremos leer el artículo completo php pero de momento no no hay artículo completo simplemente igual en la página oficial tendremos un resumen de todos los artículos y cuando pinchamos en el cabezal pues accederemos a leer el artículo completo al igual que funcionan la gran mayoría de blogs hoy en día esto es una plantilla de un artículo sabemos que finalmente tendremos x artículos dentro de un blog por ejemplo precisamente esta para eso está para tener múltiples artículos y por último dentro del footer pues tendremos algo así como copyright 2015-2016 o el año que sea josé vicente carratalá además lo que quiere es que cuando abramos el blog ese año cambia automáticamente es decir que en lugar de ser estático coja la fecha actual del año en el que estemos ahora mismo lo que hemos creado por tanto es con html una estructura muy característica de un blog únicamente en html es decir lo que he hecho es crear únicamente el contenido una vez que ya tengo una mínima estructura me voy a crear una hoja de estilo vamos a crearla directamente externa por tanto link wray es igual a esta el sit y h red es igual a entrar dentro de la carpeta css y cargar estilo punto css por tanto en este caso lo que voy a hacer evidentemente es entrar dentro de esa carpeta voy a entrar dentro del css y voy realmente el archivo estilo punto css por tanto cargo este archivo evidentemente aquí dentro y voy a maquetar algo como lo siguiente dado que estoy en el estilo voy a especificar que quiero trabajar con zonas y esto lo voy a hacer de la siguiente manera voy a crear una especie de separadores de libro voy a hacer lo siguiente estilos generales me creo un separador inicial me creo un separador final era por tanto digo body son estilos que se aplican a todo dijo body manning 0 píxeles margin 0px él es voy a decirle que background es igual algo limpio a rgb 220 220 220 y en principio hasta lo que tengo es que se me pone el fondo de color gris clarito a continuación saber muy bien a continuación voy a hacer algo como cambiar la fuente sencillo por tanto font family es igual a assange y así me cambia todo el texto a color y tipo de letra sin decoración ahora voy a decir que el contenedor tendrá una anchura del 80 por ciento quizás tendrá un fondo blanco tendrá un margin auto para centrarse en la pantalla con tener no contenedor muchos errores son por haber escrito incorrectamente las cosas y va a tener también un padding de 20 píxeles y también para que quede lo más limpio posible un box shadow de 0 píxeles 10 píxeles 20 píxeles rgb 0000 punto 4 es decir va a tener una sombra un poco arrojada un poco para que parezca este efecto de página en blanco sobre fondo un pelín más oscuro incluso podríamos poner el fondo un poco más claro porque tampoco me acaba de gustar que el fondo sea tan oscuro una cosa así que quede el fondo un pelín más gris que se note como el blog es una página en blanco que está por encima una vez que tengo estos estilos generales voy a trabajar me vez el otro separador mirad y lo voy a llamar estilos cabecera este es un separador este es otro y ahora voy a hacer algo como que h1 por ejemplo tendrá un parking de 0 píxeles un margin de cero píxeles es más este estilo lo voy a aplicar tanto h1 como h2 y ahora lo que haré es algo tan sencillo como decir lo siguiente severo será text align center voy a hacer una maquetación pensando directamente en dispositivo móvil en tableta o teléfono y por otra parte por último prácticamente simplemente voy a decir que el h2 quiero que tenga un font size más pequeño quizás de 14 píxeles guardamos recargamos y vemos como tenemos el texto por ahí por último dentro del heather quiero crear una marca quiero crear una línea que me separe el header del contenido así que en este caso es colocar que en el género un border botón de un píxel solid grave un borde en la parte de abajo de un píxel sólido de color gris también lo que puede hacer por tanto es poner en el header un párking un botón de 20 píxeles es decir para que haya un poquito de espacio y también un margin bottom de 20 píxeles para que ese parador también empuje con respecto a la parte de abajo cuidado que más jean botón no escrito incorrectamente y por eso no funcionaba vemos como el parking lo que está haciendo es poner un margen un poco hacia arriba y el margen lo que está haciendo es poner un margen un poco hacia abajo a partir de ahí también podemos en lugar de gris pues poner un color tal como por ejemplo 220 como 220 220 para que esa separación este pero se note lo menos posible para que los elementos estén pero queden lo más estilizados posibles continuamos acabando un poco de estilo para los artículos incluso ahora luego quiero poner un contenido así de un contenido tangencial pero ahora voy a maquetar los artículos por tanto hago lo siguiente estilos artículos y curiosamente en este proyecto estilos artículos quiero maquetar atención mirad en el principal quiero marcar por una parte atención artículos una sección es una parte del contenido que contiene algo en este caso esta sección contiene artículos fijaos como los artículos están dentro de la sección y ahora voy a crear otra sección con el id tangencial tangencial pues tangencial por ejemplo tendrá un artículo que se llamará buscador tendrá otro artículo que se llamará categorías tendrá otro artículo que se llamará últimos artículos en definitiva una serie de utilidades adicionales a nuestro blog pero cuidado no quiero que aparezcan aquí quiero que aparezcan aquí a la derecha por eso voy a hacer lo siguiente estilos artículos ahora digo él vive el sexual perdón que se llama artículos voy a decirle que tenga un width del 70 por ciento no se ve pero ahí está y si lo queréis ver mejor le puedo decir por the border right y le digo que es de un pixel solid rgb 220 220 220 es decir esta pequeña línea vamos a verlo border right un píxel solid y se lo estoy poniendo en h2 que hago yo poniéndose la noche 2 nosotros vamos a poner ahí viene aquí en artículos ahí está ese separador que se para por una parte de los artículos y por otra parte el contenido tangencial ahora estilo es tangencial es otra sección veis cómo este separador viene bastante bien para separar temáticamente los estilos css y ver claramente que hace cada bloque voy a poner tangencial pero mirad sería mucho mejor que lo pusiera dentro de una etiqueta llamada a side ya que la etiqueta side de html5 sirve específicamente para eso sirve específicamente para poner contenido tangencial ahora digo artículos cloud leaf y ahora en estilo tangencial digo aquello que es así tiene un width del 25% tiene un flow drive y ya está fíjate como por tanto tengo aquí el buscador categorías y últimos artículos tengo aquí un copyright y tengo el copyright porque ya sabéis que siempre que me pongo a flotar tengo problemas de que los objetos me empiezan a salir sabemos que como siempre la solución consiste en poner un deber style 2 puntos 2 para conseguir para propiciar que la flotación sea correcta y que los elementos no se salgan del contenedor por tanto maquetado a grandes rasgos este blog por una parte tengo el artículo por otra parte tengo la fecha y el contenido vamos a maquetar un poquito más los artículos digo lo siguiente h 3 quiero un padre de 0 píxeles quiero un margen de 0 píxeles no me importa me importa cuidado esta h 3 esto no es una y de esto va sin almohadilla ahora si no me importa que el título se quede hasta un subrayado así que es mejor para la usabilidad de parte quiero hacer lo mismo con el time y con el parágrafo ahora voy a decir lo siguiente time p quiero que el fondo size o sea de 10 píxeles que sea más pequeño no es igual o hecho demasiado pequeño pero bueno lo voy a dejar en 11 píxeles y con eso empezamos a trabajar y más adelante veremos si es muy grande o si es muy pequeño en cada uno de los artículos artículos arctic él quiero poner lo siguiente primero un padding de 10 pixeles segundo un border botón de un píxel sol y rgb 220 220 220 personal que se ha pesado con los márgenes pero así vemos exactamente dónde acaba cada bloque y dónde empieza el siguiente de hecho este color gris clarito es el que quería haber puesto en el margen del asa aquí estamos y punto y coma para que se quede estructurado y que se quede claro no es la bomba de en cuanto a diseño gráfico pero por lo menos es claro y ahora por último los estilos footer estilos pie de página copiamos y pegamos este bloque y vamos a hacer lo siguiente en estilo es pie de página voy a decir algo como por ejemplo footer es text align centre y en principio lo vamos a dejar así porque para el futuro tampoco quiero mucho más como mucho voy a decir un padding top de 20 píxeles y un pub link botón de 20 píxeles y nada más simplemente para que se quede un poco con espacio que respire el footer y ya está tenemos por tanto por aquí la estructura tanto la estructura html como una serie de estilos mínimos en css para poder empezar a trabajar lo bueno de empezar con html y css es que ahora en cuanto lleguemos a la base de datos al haber creado una maquetación por defecto sabemos un poco que necesitamos sabemos que para cada artículo necesitamos una imagen necesitamos un título necesitamos una fecha necesitamos un texto vale por tanto incluso puede ser que necesitáramos un autor ahora lo veremos en definitiva tenemos ya una idea de que le vamos a pedir de que le tenemos que pedir a la base de datos y una vez que ya tenemos mínimamente la parte gráfica marcada vamos a empezar con la base de datos yo me abro una nueva pestaña voy al panel de control de sant me voy a la base de datos y voy a crear en este caso una nueva base de datos llamada blog a la que le pondré el cotejamiento en ute f8 español y dentro del blog voy a crear las siguientes tablas es evidente que tiene que haber una tabla llamada entradas el núcleo del blog voy a ponerle de momento 10 campos no sé cuántos va a tener el blog esta es la gracia de ph mirad menjo puedo crear 10 si me hacen falta pondremos sino hace cuatro tantos los que se queden en blanco se eliminan para una entrada sé que tengo un campo primario auto incremental siempre esto lo voy a hacer para prácticamente cada cada tabla y a partir de aquí voy a poner utc para la fecha el título para el título del post el título de la entrada del blog el autor que será una clave foránea ahora hablamos de esto el texto del artículo la imagen del artículo la categoría a la que pertenece y en principio en principio creo que no necesito nada más tal vez más adelante me di cuenta de que necesito algo más pero no pasa nada porque más adelante puedo volver y puedo añadir más elementos y de vamos a ir pensando un poco en la deficiencia de 255 caracteres pero es probable que yo llegue a tener un 1 y 255 ceros en cuanto al número de entradas no lo creo no voy a poner 2 porque eso querría decir que el máximo tendría 100 entradas es que igual sí pongo no digo ya 4 pero por ejemplo 6 tendría millones de entradas tendría 9 millones de entradas incluso le pongo 10 y tendría un billón de entradas por tanto es simplemente lo que voy a hacer es dejarlo con un parámetro razonable a lo que quiero poner etc es un parámetro que se basa en el número de segundos que han pasado desde el jueves 1 de enero de 1970 por tanto dios que tiene ocho caracteres el utc pasarán muchos años hasta que tenga más por si acaso le voy a poner 20 caracteres título le voy a poner por ejemplo 255 caracteres autor de 32 155 texto ni siquiera le voy a poner 25 del texto y contexto lo que ocurre es que ese campo es mucho mayor de todas formas 2.550 caracteres quizás más adelante vuelva y lo modifique la ruta de la imagen no debería exceder 255 caracteres y la categoría mucho 255 caracteres con lo cual he hecho esto tengo mi primera tabla dentro del blog creada llamada entradas voy a crear alguna entrada más por ejemplo autores donde además los autores también son los usuarios del blog quien puede publicar en este blog 10 cosas para empezar el campo primero es el id es índice primario auto incremental el nombre en este caso es usuario password ya que cada usuario se tendrá que lograr en el panel de control sobre los usuarios de esta aplicación podrán entrar el resto no el nombre real voy a poner apellidos que tenga uno que ponga uno que tenga dos que ponga dos y ya está en principio podría poner cosas como por ejemplo el email el teléfono por si en un momento dado necesito enviarle un mail ese usuario elides entero 20 caracteres por ejemplo el usuario será un bar de 255 caracteres la contraseña de 255 el nombre de 255 no creo que nadie tenga un nombre que ocupe tantos caracteres 3 por si acaso basta que yo diga que nadie lo tiene para que tenga alguien y lo tenga así que por si acaso lo voy a tener y email lo mismo 255 caracteres pulsamos finalizar guardar y ya tenemos nuestra tabla de autores usuarios en este caso es la misma vamos también a crear una tabla de categorías esto es muy sencillo simplemente lo que voy a hacer es poner una tabla y de una columna y de primario auto incremental y lo que haré en este caso es simplemente poner nombre categoría y ya está y de 10 nombre categoría será un marcha que tendrá 255 caracteres voy a hacer una cosa por si acaso que es el padre que es la categoría padre por si en algún momento hago categorías y subcategorías categorías que dependen de otras categorías simplemente ya lo tengo por tanto le doy a guardar vamos a ver lo tengo autores tengo categorías tengo entradas creo que más o menos tengo todo lo que me hace falta y yo una vez que tenemos esto suelo crear un campo adicional que es registros es un campo con registros para en cualquier momento tener un registro de quién ha entrado esa aplicación que ha hecho que ha visto qué navegador ha usado que ip tenía y un poco me sirve para si en un momento dado la aplicación falla o alguien la ataca poder tener alguna pista de qué es lo que ha pasado así que voy a poner una idea técnicamente no haría falta porque el campo utc podría actuar de idea pero digamos que lo pongo así que yo quiero guardar cuando ha entrado cualquier persona quiero guardar su ip quiero no guardar su navegador y quiero ver qué página estaba viendo en ese momento son los otros mínimos que puedo guardar así que esto es un campo de 10 esto es un campo también ponerle 20 la ip es un campo de tipo marchar carácter es el navegador 255 y la página que estaba viendo por si acaso le voy a poner también 255 caracteres así le voy a guardar y como veis ya tengo preparado una base de datos con los elementos mínimos para poder trabajar para poder compartir información dentro de esta aplicación web ahora lo que voy a hacer es lo que se llama una carga estática es decir voy a crear pues un autor voy a crear un usuario voy a crear un par de entradas de muestra no he creado todavía el panel de control por tanto de momento lo voy a hacer manualmente así que me he ido autores me voy a insertar y diego el usuario es jo casa con la contraseña dejó carsa el nombre es josé vicente en los apellidos es carratalá sanchis y el email es info jose vicente que rata la puntocom tengo ya por tanto una autoría atención porque el ide para ese autor es el número uno a continuación voy a crear una nueva categoría iba a ser la categoría general y no va a tener ningún padre ya que es la categoría mayor por último voy a crear una entrada así que voy a decir lo siguiente en el tc cuál es el utc de ahora mismo eso no se convierte es una página web tiene utilidades para convertir de un tc a fecha normal y vuelta y me dice que el utc de ahora mismo es este de aquí entonces ahora luego me lo pondrá automáticamente la aplicación por de momento lo pongo yo manualmente el título esta es la primera entrada del blog vaya venga algo más sencillito primera entrada autor 1 en autor no pongo el nombre del autor pongo el código del autor ahora luego veremos por qué en texto lo que hago es poner es la primera entrada del blog que estoy creando en esta clase en imagen de momento no voy a poner nada y en categoría voy a poner 1 bien cuidado porque vamos a ver que la imagen requiere no se es un apuesto incluso vamos a verlo no le he puesto nada me ha puesto nada en imagen básicamente en imagen se ve que me lo he dejado con un valor numérico no no sé cuándo dudo esto pero yo creo que cuando veo que si veo qué imagen me lo he dejado como entero e imagen no puede ser un entero imagen debe ser un marchar no pasa nada cuando detectó algún error de ese tipo me voy a estructurada segunda pestaña me voy a imagen me voy a cambiar y dentro de aquí puedo cambiar el tipo de datos así que lo pongo como marchar y fijaos como ahora he modificado correctamente la estructura de esa tabla bueno voy a crear una segunda entrada etc a ver ahora ha cambiado un poco voy a crear un segundo artículo título segundo artículo autor número 1 texto este es el texto para el segundo artículo y esperemos que se vea correctamente en la web simplemente para poner un poco de texto e imagen nada categoría 1 continuó ya no da error porque modificado el campo entero con lo cual lo que he hecho es una carga estática de datos he metido un autor he metido una categoría he metido un par de entradas en registros no tiene sentido que ponga nada porque sólo tiene sentido que ponga cosas cuando realmente empiece a entrar dentro de la aplicación y una vez que hemos realizado una carga estática lo que tenemos que hacer ahora es llamar a los elementos de esa base de datos e introducirlos aquí dentro del contenido por eso me voy a ir a este index php y lo llamado precisamente php con la extensión php porque voy a poner contenido aquí dentro así que eliminó los artículos y me quedo solo con un artículo que va a ser un poco va a actuar un poco de plantilla este va a actuar de plantilla para ahora utilizar este artículo estático para devolver cosas de la base de datos ahí dentro así que cuidado me hace falta una cosa muy importante en la base de datos me hace falta crear privilegios crear un usuario con privilegios así que me voy a privilegios agregó un usuario y digo el usuario blog con la contraseña blog muy poco original lo estoy haciendo así evidentemente porque los desarrollando en local esto no es nada seguro para subirlo a un servidor en producción le pondría una contraseña más segura bien en este caso lo que voy a hacer es que me voy a la plantilla de cualquier elemento desarrollado en en php para conectar la base de datos así que por ejemplo en sql crm voy a cargar esto y voy a buscar una estructura de control que tenga un bucle while como por ejemplo ésta así que me tengo aquí y vamos a desgranar un poco lo que voy a hacer quito los comentarios para ahorrar líneas de código y digo me conecto en localhost con el usuario blog con la contraseña blog a la base de datos llamada blog pongo los datos en ute f8 y digo selecto all from entradas quiero que me selecciones todo lo que hay en entradas este eco es donde realmente voy a poner la plantilla por tanto aquí voy a poner esta plantilla pongo las sangrías lo más claro posible y ahora me voy a ir escapando para hacer cosas como por ejemplo lo siguiente en título del artículo voy a poner fila el título fila porque aquí he dicho fila aquí donde pone el contenido voy a poner fila no me acuerdo qué nombre le dado creo que era texto pero lo voy a mirar en la base de datos y ya está y entradas y veo que es título de autor texto muy bien y en fecha aquí donde pone fecha time voy a poner fila efe así que guardo recargo y fijaos cómo va y pone según primera entrada segunda artículo bueno sería segundo artículo voy a corregirlo desde aquí segundo artículo lo voy a cambiar directamente desde la base de datos a ver si no lo veo segundo artículo pero simplemente esto también nos sirve para comprobar como lo que estamos haciendo aquí segundo artículo está siendo extraído en tiempo real desde la base de datos técnicamente esto es lo más importante del ejercicio el con esta estructura de control simplemente una maquetación estática realizada en html y hacer que el contenido provenga directamente desde la base de datos me quedaría un poco la fecha no queda muy amigable probablemente el hecho de que allí ponga la fecha en utc internamente para la base de datos es muy bueno por una razón muy sencilla yo por ejemplo este bloque está mal ordenado el segundo artículo debería estar por encima del primero porque normalmente en un blog los artículos más recientes están más arriba entonces esto lo voy a hacer muy sencillamente si aquí pongo select el from entradas order by etc descendiente y menor ordenas por el campo utc de mayor a menor y simplemente haciendo eso ahora aparece el segundo artículo arriba primera entrada abajo quiero decir con esto que para gestión de base de datos la fecha en formato utc es mucho mejor para hacer cualquier tipo de operación que por ejemplo en este caso la fecha con año mes vía hora minuto segundo pero de cara al ser humano esta fecha es horrible de cara al ser humano queremos verlo en una fecha un poco más humana por eso voy a hacer lo siguiente vamos a ver si me sale correctamente voy a decir qué fecha es beige y voy a decir año mes día d fila vamos a ver lo guardo y recargo y fijaos como el programa automáticamente se traduce según la fórmula que yo le diga es decir y ese año eme minúsculas es mes día es la letra de recordamos que hay una página fantástica que se llama pspv que es la documentación oficial de php y sale una tabla magnífica que te dice cada letrita a que corresponde y en qué número de parámetros se mueve qué parámetros devuelve por tanto yo hay algunos que me sé de memoria y otros que no que consulto cada vez que los quiero usar entonces por ejemplo incluso voy a decir qué de m&m y voy a poner h y la tina minúscula s h mayúscula es ahora y latina es minuto s es segundo por tanto ahora fijaos cómo guarde recargo y fijaos qué bien me dice a partir de esa fecha utc el año mes día hora minuto segundo ahora simplemente marchetto un poquito el contenido para que quede lo más bien posible lo último que me quedaría para complicar un poco la cosa sería poner el autor pero lo que voy a hacer es hacerlo en la siguiente parte porque puede ser más complejo de lo que en principio parece anteriormente en el diseño de la base de datos lo que he hecho es derivar a los autores y a las categorías a una página externa a una tabla externa por tanto yo ahora podría decir que creo por aquí vamos a verlo pues por aquí voy a crear un live de clase autor y devuelvo la fila autor cuidado que se me ha ido un punto también podría crear un día de esta clase llamado categoría y la fila sería categoría guardo recargo y aquí lo tengo el problema está en que tanto en fila como en categoría aparece un número uno y un número uno esto quiere decir que por ejemplo en autor de esta entrada he puesto el número uno y yo sé qué autor con él y de nombre uno es jose vicente catalá sanchis pero hay un problema y es que como le digo yo a mi página que ese uno se debe transformar en un nombre de autor por ejemplo o en un nombre de categoría bueno para eso existen unas cosas llamadas los lesiones los lesiones los joint realmente las uniones de tabla me sirven para unir datos de dos tablas diferentes así que fijaos lo que voy a hacer voy a hacerme un poco de hueco se va a permitir y voy a decir selector from entradas lección autores aunque no sé vamos a verlo donde el autor para que te encuentre en el autor y aquí está con autor es igual autores punto y d eso quiere decir ahora me puede dar error quizás bien eso puede eso quiere decir que ahora en lugar de llamar al autor puedo llamar al nombre porque lo que he hecho realmente si queréis lo vemos voy a hacerlo en una pestaña específica de sql lo que hago es una tabla crear una tabla como combinación del artículo y del autor eso es lo que hace el helio en dos tablas y las une en una tabla gigantesca eso quiere decir por tanto que ahora puedo venir aquí y le digo que la fila es nombre y fijaos que pone jose vicente voy a hacer lo siguiente fila nombre cuidado con los dos puntos y fila apellidos simplemente para que cuando recargue ponga cuidado me falta o me sobra un punto vamos a verlo ahí me sobra un punto efectivamente así que guardo recargo y pone nombre y apellido ahora embarque está un poquito con css para utilizarlo además más adelante podemos utilizar este autor para pinchando en el autor filtrar y sólo verlo los artículos de ese autor bien lo que voy a hacer ahora es lo mismo pero para la categoría cuidado he hecho un lección con los autores pero no con las categorías así que ahora digo lo siguiente le point esto está complicando categorías no me acuerdo y es que tengo memoria de text entonces entradas categoría categorías y de dónde yo no me acuerdo categoría es igual a entradas punto y de fijaos que las peticiones que se cuele se pueden llegar a hacer bastante largas por tanto para poder leerlas mejor lo que suele hacer la gente y no pasa nada porque tanto php como ese como lo permiten es dividirlas en varias líneas lección un autor es este le vio en en categorías este order by utc desk de esa manera una línea muy larga la dividimos en cuatro líneas y podemos saber un poco mejor qué es lo que ocurre en cada una de ellas selecciona me de entradas y me lo juntas con la tabla autores y me lo juntas con la tabla categorías y me lo ordenadas por un tc así que déjame ver en categorías nombre categoría y lo tenemos y la categoría no nombre categoría y si ahora guardo y recargo podremos ver vamos a verlo como en este caso lo he guardado dentro de la categoría general parece que el segundo artículo no tiene categoría no sé no me acuerdo deja de verlo parece que en entradas el segundo artículo categoría número uno vamos a verlo bien el primero tiene categoría general el segundo no tiene categoría ahora mismo no caigo porque pero ahora luego revisó el código en principio lo normal es que ocurriera esto es que aparezca la categoría bien una vez que tengo esto lo que voy a hacer es un poco estilizar porque tengo la clase autor y la clase categoría me voy por tanto a estilos artículos y digo autor coma categoría te voy a decir font-size de 11 píxeles vamos a verlo ahora para qué tanto el título como la categoría aparezcan más pequeños y ahora por último esto por último voy a decirle que el autor es a ser de momento a ninguna parte y h red en alguna parte también es el nombre de la categoría es decir de esa manera mirad pinchando en el nombre del artículo vamos un artículo extendido pinchando en el nombre del autor filtramos entradas sólo por ese autor y pinchando en la categoría solo visualizamos las cartel en las entradas que participen de esa categoría aunque no hayamos acabado con la parte frontal desde luego sí que tenemos lo más importante que es haber extraído artículos desde la base de datos fijaos que si voy al segundo artículo no voy a ninguna parte si voy a por autor no voy a ninguna parte si voy a por categoría no voy a ninguna parte pero me da igual de momento lo que quiero es poblar artículos desde la base de datos más adelante completaremos cada uno de estos enlaces lo que quiero ahora es trabajar un poquito con la con el panel de control por eso me voy a ir al panel de control recordamos que estoy en blog recordamos que tengo una carpeta llamada admin y recordamos que voy a empezar evidentemente como os podéis imaginar con un artículo llamado index punto php lo cargo y si ahora pongo admin pues empezaría a editar el panel de control panel de control y aquí podría gestionar usuarios gestionar entradas gestionar comentarios y todo pero cuidado esto no debe ser así esto no debe ocurrir no es posible que cualquier persona que esté viendo el blog de repente entré aquí a admin y pueda ya entrar en el panel de control así que lo primero que se suele hacer en cualquier panel de control de cualquier aplicación es crear un acceso autentificado con usuario y contraseña así que vamos a hacer eso voy a crear por tanto un dock type html html por aquí html por allá un boli por aquí ahora ya le voy a poner algo tan sencillo como un formulario que va a tener un input type text neymar usuario un input kite password me llamo password y por supuesto un input d type submit guardo recargo y tengo esto tengo el clásico formulario el axón va a ser login punto php login punto php es un script que se encargará de ver si me deja entrar o no me deja entrar y voy a poner un método que va a ser igual a post para asegurarme que esta información la voy a enviar por post dejadme poner un pequeño estilo esta página realmente no tiene un estilo propio solo para ella con lo cual lo voy a poner interno y va a ser lo siguiente body va a ser background rgb 220 220 220 ahora voy a hacer lo siguiente bueno esto es esto y ahora voy a decir que el forma va a tener un width de 200 píxeles un height de 200 píxeles un padding de 20 píxeles un background blanco un margin auto y un top de 100 píxeles si hago esto veréis cómo aparece una caja una cajita como para el login si creéis lo pongo en líneas diferentes para que lo podáis leer mejor vamos a ponerlo aquí ya he cortado por donde no debía por aquí y esto por aquí bien ahora voy a decir lo siguiente input un wish del 100% un padre de 10 píxeles un margin top de 10 píxeles y un margin-bottom de 10 píxeles mira el top me lo voy a ahorrar ahora veréis por qué guardo recargo tengo ahí esto cuidado el wish lo voy a hacer del 95% para qué el 90% para que no se me salga de la pantalla otra cosa que voy a hacer es que al forma le voy a decir text alain center y así los elementos me quedarán centrados por último lo que haré es usuario no voy a poner place holder en este caso lo voy a hacer con texto y contraseña el año va a salir mal simplemente porque no tengo la etiqueta meta char set es igual a efe 8 y aquí lo tenemos bien y por último quizás en el body podría poner algo así como font-family sans serif y tengo por tanto maquetado un login o por lo menos el formulario del login ahora yo pondría un usuario pondría una contraseña le daría a enviar login php no existe todavía lo voy a crear ahora pero lo que se tiene que validar es que el usuario y la contraseña que ponga realmente coinciden con ese usuario y con esa contraseña que tenemos ahí aquí la sangría se me ha ido por tanto aquí la llave tendría que estar a esta altura y aquí el input tendría que estar a esta altura ahora sí en cuanto a maquetación se ven mejor verdad para el programa da igual pero para nosotros para luego ver el código es mucho mejor es mucho más fácil bien a partir de ahora por tanto tengo que dibujar el login y por tanto mirad me voy a ir a admin me voy a crear un documento llamado login php por supuesto lo voy a cargar dentro del editor así que el login va a ser realmente un script ciego que va a hacer lo siguiente me voy a volver al index principal a cargar el index voy a cargar otra vez esta estructura de control que le pide algo a la base de datos y vamos a hacer lo siguiente cuidado porque la descarga de doble no sé qué cerrado creo que cerrado el forma y ahora digo lo siguiente selector front autores e incluso puedo hacer lo siguiente selector forma de autores web usuario es igual algo más word es igual a algo el usuario es igual al usuario que he enviado y el password es igual al password que enviado dejadme resolver esto con contadores veréis contador es igual a cero contador es igual a 1 sí es cierto a ver si aquí nada de esto es cierto si no hay ningún autor que tenga este usuario y tenga esta contraseña nunca entraré aquí y si nunca entro aquí contador seguirá siendo cero por tanto ahora sí por supuesto hay algún autor que tenga este usuario de esta contraseña autor en ese caso contador en este caso será igual a uno por tanto ahora aquí abajo puedo hacer de momento algo sencillo que es un y fels si contador es igual a 1 en ese caso echo el usuario que has puesto existe si no echo el usuario que has puesto no existe probemos lo yo vengo aquí y pongo esto y pongo esto envío y me dice el usuario que has puesto no existe pero recordemos que tengo en la base de datos un autor con usuario hijo carsa hamburgo casa por tanto si todo va bien ahora pongo k’asa y pongo k’asa le doy a enviar y me dice el usuario que has puesto existe así que vemos como simplemente reutilizando la estructura de control que ya sabemos porque ha hecho un copia pega y voy a hacer muchas más copias y pega simplemente lo que hago es seleccionar método de autores donde el usuario sea igual a lo que me envía este por post desde el formulario con el name usuario y que el password sea igual a lo que me envía este por post desde el formulario con el password simplemente lo que hago ahora es decir contador es igual a 1 y digo lo siguiente demás sesión start voy a arrancar una sesión voy a trabajar con variables de sesión voy a decir lo siguiente sesión de usuario es igual fila y de ya esta hora diré algo como el usuario que has puesto existe y su vida y punto sesión de cuidado que he puesto dos dólares y no es conveniente vamos a verlo usuario o cars a casa y me dice que vamos a ver y su vida es este sesión de usuario de usuario si ahí pongo y de usuario a que debo poner y de usuario por tanto volvemos a casa y me dice y suite es la número uno lo que estoy haciendo por tanto es asumir que el usuario es correcto y darle una propiedad darle una galleta para que se la quede para toda la sesión para identificarlo evidentemente así que por último voy a hacer lo siguiente voy a buscar html direct es una etiqueta meta muy divertida que me sirve para cuando entre esa etiqueta irme a otra página así que me copió este ejemplo y hago lo siguiente mira seco esto eco esto que hago aquí lo que hago es lo siguiente si me he logrado correctamente me voy a escritorio punto php escritorio ahora así ya es el panel de control sí no me voy a index.php es decir vuelvo al principio vamos a probarlo y comprobamos como déjame volver atrás comprobamos como si pongo cualquier cosa le voy a enviar y se me devuelve veis como se me ha devuelto se me devuelve porque no es correcto en cambio si pongo un usuario y una contraseña correctos se me lleva hasta escritorio punto php que sí que claro que que no existe todavía pero ahora existirá lo que he conseguido por tanto simplemente reutilizando esa petición a la base de datos es crear un login crear un sistema al cual tú le pasas un usuario y contraseña se conecta a la base de datos mira así lo que has enviado es correcto y en el caso de que sea correcto te deja realmente entrar a la parte del panel de control de la aplicación ahora sí ya que nos hemos ganado acceso a el escritorio del panel de control lo que voy a hacer es crear este archivo realmente dentro de admin que se llama escritorio un tope hp lo cargo ahora escritorio veréis ya no está vacío y ahora voy a hacer una cosa mirada qué pasa si hay alguien bueno primero sesión start o por descontado qué pasa si hay alguien que directamente mira es muy listo y se salta este login porque sabe que hay un escritorio y se me cuela directamente en el escritorio php y me empieza a hacer maldades pues le voy a hacer una pequeña protección y voy a decir lo siguiente no hice si no está puesto si no existe la variable de sesión y de usuarios así no existe es que nadie te ha dado y declarados que te has colado aquí en este caso usamos una instrucción que me encanta en php que se llama die que es muere vale muere es para la ejecución de este script muere tú no deberías estar aquí y por último voy a poner otro html directo vamos a verlo en login con lo cual le voy a decir que en 5 segundos me vuelva a index punto php por tanto index.php en este caso no me va a decir nada ojo para decir nada porque a mí no me dice nada porque sí que me había registrado había puesto el usuario y contraseña correctos si queréis creo que tengo por aquí el firefox como me he registrado en chrome firefox desde firefox y voy a intentar colar pero voy a decir tú no deberías estar aquí y contamos cinco en cinco segundos veréis cómo se me redirige a la parte principal aventín vamos a verlo venga ya perdona perdona no muy mal si le digo die todo lo que ocurra después del die ya no se ejecuta porque se ha muerto por tanto le tengo que poner el re direct antes del die así que refrescó no debería estar aquí contamos 5 y ahora si volvemos un paso para atrás y me devuelve al panel de control simplemente los 5 segundos es para dar tiempo a la gente para que lea el cartel de tu nombre estar aquí adicionalmente si ocurre eso también se debería hacer algo así como guardar un registro en la base de datos como este usuario o está y ha intentado entrar sin pasar por el login como un poco avisando de que igual te pueden ser intentando atacar pero para de momento con esta mini protección ya tenemos suficiente y más adelante nos preocuparemos por proteger mejor el sistema una vez que tengo esto ahora voy a crear el html para el panel de control de octay para html html por aquí pero por allá voy por aquí y dentro del body voy a hacer en primer lugar una etiqueta nada en otro lugar una etiqueta sexual en este caso no tiene nada que ver el diseño gráfico de la parte frontal de un blog con el diseño gráfico del panel de control para el panel de control me gusta un poco basarme en el diseño de wordpress que es un diseño que se bastante incluso prestashop ahora las dos versiones se basan en el diseño de wordpress que se basan en un menú de navegación a la izquierda y el contenido de la derecha en lugar del clásico menú arriba y contenido abajo por tanto dentro del nap voy a hacer lo siguiente voy a hacer un pull voy a hacer un link y voy a hacer una h rev y digo entradas que es lo primero y lo más importante de momento vuelve a dejar sin tocar entradas sigo poniendo elementos entradas es para gestionar entradas categorías comentarios usuarios y registros creo que con esto ya tenemos suficiente con esto ya tenemos como para empezar permitirme estilizar un poco lo voy a utilizar dentro no lo voy a utilizar fuera es igual a tal fin h ref es igual a estilo css por tanto ahora me voy al blog me voy a la carpeta de admin me creó un archivo llamado estilo css no es el mismo estilo que el de la web normal es el estilo del panel de control y ahora voy a hacer algo como lo siguiente ya sabéis me hago estos separadores que vienen bastante bien estilo de la navegación por ejemplo empieza aquí y acaba aquí y ahora digo nada es list style no para bing pero píxeles martín 0 píxeles louis 20% height 100% background black black color malta no se verá ahora todavía tengo eso por ahí voy a poner estilos generales generales voy a poner algo así como por ejemplo que el body y el html tienen un wish del 100% un hype del 100% un padding de 0 píxeles un margen de 0 píxeles ya me gusta un poquito más pero el hype yo quería que fuera más grande bueno una cosa tengo un error de consola como potrero error de consola porque falla al cargar escritorio no pasa nada es un error anterior nadal y él es esto en este caso le voy a decir también que nada tiene un height del 100% ahora sí ya tengo una barra de izquierda que lo coge todo claro cuidado porque ahora tengo que poner nada es decir el que está dentro del dique está dentro del el que está dentro del nap y le digo color in here it es decir hereda el color del que viene por detrás y le digo text decoration no no no quiero nada de decoración bien ahora además digo que font family sunseri y ahora hago algo como lo siguiente nada un link pero va a tener un padre de 10 píxeles no no le quería ahora sí y le voy a poner por ejemplo también un mar no un border a ver cómo queda de un border botón de un píxel soler white como separador entre los diferentes elementos y bueno más o menos ya la verdad es que me ha gustado cómo ha salido con lo cual para qué más ahora lo que quiero es que cuando pinchen entradas gestione entradas cuando pincha en categorías gestión de categorías cuando pincha en comentarios gestión de comentarios es decir quiero que al pinchar en cada uno de estos pues simplemente pueda gestionar correctamente cada uno de los recursos del blog ahora viene una parte delicada tengo que explicar realmente dos conceptos a la vez uno cómo filtrar por elementos de menú y dos cómo crear una tabla donde se pueda crear eliminar leer y actualizar así que por eso voy a dejarme la primera parte y simplemente me voy a centrar en dentro del main ser capaz de leer por eso aquí me cojo una estructura de control php me la pego aquí y hago lo siguiente voy a empezar con selector from entradas y ahora me hago una tabla hago lo siguiente primero creó una tabla también no nos olvidemos de cerrar la tabla y dentro de cada una de las filas de la tabla voy a abrir pr y voy a poner una serie de tres tv tv fila fila título no me acuerdo de la estructura entradas asia etc título autor texto imagen y categoría guardamos recargamos y aquí la tenemos bien en este caso tengo que maquetar un poco más voy a decir estilo del bloque principal y digo el bloque principal bueno para empezar el nap le voy a decir flow left a verlo ahí cuidado porque en este caso ya no me reconocen este elemento el sexo no me había llamado mail también es flow leaf y ahora por tanto lo que voy a hacer si acaso es decirle aquí 100 píxeles cloud left y que flote todo lo que tenga que afrontar al menos me falta decirle que tendrá un wifi de pues no sé el 70% y ahí empieza a aparecer y ahora voy a poner algo como lo siguiente el table la tabla tendrá un wish del 100% vamos a verlo vamos a poner 80% bien y bueno voy a hacer un par de cosas voy a hacer algún truco no os digo que no fs aquí en table voy a poner un t r p h voy a poner un table heading para que se sepa qué es lo que estoy pidiendo en cada celda entonces fecha autor no título autor texto imagen y categoría guardo recargo ahí tenemos la celda original y ahora voy a hacer un truco efe ss que es el siguiente béisbol tere tere realmente es main main table trv 2 puntos 2 y en este caso quiere decir parte en inglés steven de spar y ven impar entonces voy a decir background rgb 220 420 420 y es un truco vamos a ver y ven y es un truco para que los elementos de la tabla en par impar se meten con el fondo de un color por ejemplo para poder ver mejor qué es cada una de las celdas e incluso ‘lamentable’ ahora toco eso del odiel y ven el font size de 10 píxeles para que puesto de un poquito más despacio bien no era directamente even sino que era en sal entonces ahora hago así fijaos como bueno en este caso las dos me las ha marcado es realmente este ere es la fila la que tiene que marcarse y ahora sí la primera gris la segunda blanca la tercera gris y ahora veréis conforme vayamos escribiendo más como realmente veréis que hay más más filas más más celdas bien sigo ya puedo leer pero es muy importante es importantísimo que pueda escribir así que dentro del escritorio php voy a hacer lo siguiente me creo un th vacío me creo un té de vacío y ahora voy a hacer lo siguiente tr me creo un formulario es añadir entrada axel es igual a añadir php mesón es igual a post y ahora digo tv nada vais a poner porque todo se lee desde los artículos no los pone la base de datos automáticamente así que nada voy a copiar esto es 1 2 3 4 5 6 7 y 8 así que digo input type neymar el título y flores esto vendría aquí vienes te voy a dejar así para ver por qué autor de momento nada bueno lo voy a poner autor texto imagen y categoría así que esto es título autor imagen y categoría cuando recargo y si os fijáis veréis que aparece un elemento más de la tabla donde podéis poner más cosas claro empujan un poco no te digo que no y por último un input type submit es decir para enviar esto a la base de datos vamos a verlo a pantalla completa y veréis como tenemos un formulario para empezar para listar elementos pero también un formulario para escribir el contenido de un nuevo post así que ahora lo que voy a hacer es cumplir la promesa de crear el script php por tanto me voy a admin la crear un script llamado anadir php lo cargo y básicamente a nadie va a hacer esto coge toda esta información la tiró para atrás y digo selector hecho el wild y además sirve para nada esto es insert into entradas values y ahora digo se puede poner enter mucho más cómodo para vosotros y digo no comer a la fecha gates es la fecha en formato etc el título el título es el título el autor el post autor el texto es el post texto la imagen es el post imagen y la categoría es el post categoría después de haber hecho esto es muy recomendable que hagamos un eco meta refresh al escritorio php es decir us insertado el registro vuelve al escritorio así que voy a probarlo a ver si funciona bien la primera yo digo título tercera entrada autor un momento texto éste es el de la tercera entrada está mal escrito me da igual imagen nada y categoría 10 envío me voy a escribir vale parece que algún problema ha habido vamos a verlo porque no ha escrito la entrada insert into entradas values estos de aquí vamos a examinar un poquito la estructura de la tarde vamos a ver qué requiere uno dos tres cuatro cinco seis y siete campus y yo he puesto [Música] 1 2 3 4 5 6 7 campus en este caso seguimos investigando vemos qué etc el rey que viene título es título autor es autor vamos a ver la imagen y categoría a claro ya sé lo que falla y es que todos aquellos campos que son de tipo texto requieren la doble la comida sencilla para sql y la comilla doble para p h bien ahora sí vamos a probarlo y digo otra vez tercera entrada autor 1 texto del texto imagen nada categoría 1 pero vamos a enviar y si nos fijamos ahora hay tres entradas así que por ejemplo cuarta entrada autor 1 texto este es otro texto imagen de momento nada ahora hablaremos de ello y categoría 1 le voy a enviar ya tengo cuatro artículos dentro de este panel de control esto en cuanto al panel de control pero si ahora entro dentro del blog comprobaremos podremos comprobar como no sólo se van poniendo en el panel de control sino que también se van poniendo dentro del propio blog es decir se ponen tanto en el back end como en el front end en este caso para empezar con el autor no es ya que yo no sepa a qué autor pertenece ese número es que de cara a escribir el autor yo me vemos a ver los códigos de autor y esto es muy incómodo por eso lo que voy a hacer es algo mucho más sencillo entonces escritor yo me voy a ir al autor en el autor en lugar de poner un campo de tipo input voy a poner un campo de tipo select select select y le voy a decir option value 1 josé vicente carga está al lado de esa manera ahora cuando recargo en un desplegable donde yo puedo seleccionar n autores bien yo ahora me vengo aquí y podría poner con el valor 2 pongo a juan garcía y fíjate como ahora al recargar yo puedo elegir entre con suficiente carratalá y juan garcía y de hecho cuando mándela autor por cierto que en el select tendría que poner name autor se mandaría realmente de uno vicente catalá y se mandaría de elite 2 si cojo juan garcía esto es medio cómodo pero no del todo cómodo para empezar juan garcía todavía no existe en la base de datos por tanto ahora eso quiere decir que tendría que venir autores e insertar un nuevo autor y decir que el usuario es juan con contraseña garcía decir nombre juan contraseña garcía email juan carlos garcía puntocom yo continuó y ahora efectivamente existe un usuario con él y de número 2 que se llama juan garcía pero esto es poco eficiente porque yo he tenido que duplicar mi esfuerzo he tenido que hacer manualmente en sql dos elementos manualmente en el selectos elementos y cruzar los dedos para que coincidan que me puedo equivocar lo más práctico no es esto lo más práctico es que el valor del selecto provenga directamente de la base de datos cómo se hace esto es muy sencillo lo que hago yo ahora por tanto es hacerme otro código php no hace falta que vuelva a conectar a la base de datos porque ya he conectado arriba se puede hacer pero sería un malgasto de recursos digo select from autores y ahora aquí me cojo esta plantilla y digo select option value es igual a fila y d esto es fila el nombre y esto es fila apellidos con lo cual si ahora recargo quiero que veas cómo vaya aparece jose vicente catalá sánchez y juan garcía pero no porque lo haya puesto yo manualmente sino porque lo está obteniendo de la base de datos esto qué quiere decir pues que señora me voy a la base de datos y en autores me creó un nuevo autor usuario jaime contraseña usuario jaime lópez nombre jaime apellidos lópez e mail jaime lópez puntocom y yo ahora recargo y quiero que veáis cómo solo por hacer eso automáticamente aparece jaime lópez aquí preparado para ser usado además como le he puesto por una parte el value y por otra parte el nombre y apellidos se inspecciona este elemento podréis comprobar como jose vicente es el número 1 juan es el número 2 y jaime es el número 3 es decir le está poniendo automáticamente ley de que le toca porque en value le he puesto el id de esa fila correspondiente dentro de la base de datos lo mismo como os podéis imaginar podría hacer con categoría así qué categoría lo que voy a hacer de nuevo es mirar copiar todo este select lo pego select name categoría select all from categorías y digo fila y de nombre categoría y si ahora guardo y recargo vamos a verse funcionado la primera fíjate como y pone general evidentemente como te puedes imaginar si voy a hablar por ejemplo de cosas de programación pues inserto un nuevo elemento le digo nombre categoría es igual a programación guardo recargo el panel de control y ahora podrás comprobar cómo está general y programación no le he puesto en el escritorio el meta charset ahora sólo pongo para que el acento se represente correctamente pero vamos es simplemente cuestión de poner esa etiqueta de compatibilidad html esto ha sido para escribir es decir lo que hemos hecho es poner el que al crear un nuevo elemento dentro del formulario es el nuevo elemento aparezca traducido con el nombre correcto en digamos en humano y que envíe el valor correcto pero ahora a continuación haremos la segunda mitad la segunda mitad es que aunque en la base de datos el autor ponga uno porque tiene que ponerlo cuando se nos presente en la pantalla pondrá autor y el nombre correcto del autor el autor lo que voy a hacer ahora es que el autor no aparezca con el número uno sino que una vez más voy a hacer de hecho yo creo que voy a hacer la misma petición cruzada que he hecho antes tanto para autor como para categoría así que igual incluso me la voy a copiar esta de aquí select el from entradas tal cual selector de entradas así que en autor no voy a poner autor directamente sino nombre apellidos y en categoría voy a poner nombre categoría porque para eso he hecho una petición cruzada donde a la tabla de entradas la he cruzado con autores y con categorías si ahora guardo y recargo podréis comprobar como aunque internamente en la tabla sigue poniendo que el autor es 1 y que la categoría es 1 aquí no había categoría todavía de cara a mostrar en la pantalla lo muestra un poco más en formato humano para redondear esta entrada a redondear este listado de entradas la fecha también la podríamos cambiar a un formato más humano por tanto igual que hemos hecho un poco al principio en los posts pues voy a poner el formato de beit y m de h es decir año mes día hora minuto segundo por tanto me voy a escritorio me voy a sustituir por toda esa cadena con la instrucción de muy polivalente y lo que hago por tanto al recargar es darnos cuenta como tengo ya la fecha escrita en formato humano podría maquetar un poquito más evidentemente pero otra cosa que quería hacer para acabar de maquetar un poquito este este este blog es que en el texto en lugar de poner un input voy a poner un text área por tanto en texto voy a poner de hectárea y voy a poner por supuesto name es igual a texto y otra cosa que quería hacer otra cosa que quería hacer es que en este caso es aquí tenemos un texto más para escribir multilínea en este caso la fecha la estamos poniendo obligatoria para que sea la fecha del momento en el que escribimos el artículo pero si no nos interesa esto y si quiero escribir un artículo y hacer como que lo escrito mañana o como que escribí ayer para eso os voy a decir que hay un campo muy divertido nos va a dar algún pequeño problema del ordes pero es el siguiente vamos a verlo dónde estás fecha no estás no estás te pongo yo entonces input type y esto es lo divertido late en lugar de texto pongo fecha neymar es igual a la fecha en anadir les voy a decir que no me añadas el dato y si no añade me finalmente todo esto lo que me envíes por fecha por cierto que igual tengo que cambiar el tipo de datos en mysql momento ahora veréis estructura les voy a decir que el utc este tipo marchar a la vez por qué y vamos a probarlo así que guardo y recargo y quiero que veáis como bueno esto es un campo select esto es un campo text área esto es un campo ahora trabajamos esto por cierto esto es un campo de categorías pero esto es un campo de fecha que me saca una del selector de fechas muy interesante yo pongo por ejemplo fecha de mañana y digo quinta entrada este autor este es el texto de la quinta entrada imagen ahora trabajamos con eso general vale fijaos que en fecha en este caso en la quinta entrada me pide me pone 1970 haya habido un problema vamos a ver cuál es el problema el problema es que si yo vengo aquí vamos a verlo me dice que yo hasta ahora estaba escribiendo los campos del tc pero ese campo de ahí este campo lo que hace el campo de html es devolverme la fecha en términos de año y un mes y un día así que yo lo que tengo que hacer es convertir esa fecha de año y un mes y un día en una fecha en formato etc pero una vez más la instrucción de el objeto de que lo va a permitir porque yo entonces hago lo siguiente dejadme que me concentré y ahora digo vamos a ver la fecha y lo voy a poner vamos a ver si me dejan y lo pongo voy a poner algo envío bien no me ha puesto nada y lo que voy a hacer ahí lo tengo no me ha puesto fecha lo que voy a hacer es convertir el campo de fecha a etc y en lugar de usar el death voy a hacer lo siguiente voy a hacer un gmt donde le digo que quiero formatear en y en lo que quiero formatear es el post-it efe vamos a verlo ahora un valor no he encontrado bien no pasa nada dónde está vale voy a eliminar ese registro en la línea 49 no pasa nada [Música] bien creo por tanto una fecha 22 es otra entrada interesante dejadme que no ponga texto porque en este caso no me interesa le doy a enviar vamos a verlo me sigue poniendo 1970 por cierto que me pone en un en la fecha vamos a verlo examinó me pone cero en el aire me pone 0 otra entrada interesante y lo que tengo que hacer bueno eso lo que estoy enviando creo que no creo que hay puede ser el problema el input de beit main fecha mein fecha me borrar esta entrada y ahora guardamos es otra entrada día 15 guardamos la entrada esta es otra entrada vamos a ver ahora cómo se ha cargado bien en este caso 2015 y lo que tendría que hacer es ya tengo 2015 cargado pero quiero convertir a gm de it en un es decir quiero convertir esa fecha en una época iunics vamos a hacerlo a continuación lo único que tenía que hacer era poner str to time dentro del fecha es decir creo en gm dip le digo que me devuelva la información en formato 1 y a partir de ahí le digo que convierta en string to time es decir que convierta una cadena en tiempo que es el post fecha de esa manera voy a borrar aquellas entradas que no valgan vamos a ello y por tanto ahora puedo venir aquí el ide aparece y ahora digo que por ejemplo el día 16 una entrada del día 16 autor josé vicente este es el texto de entrada del día 16 imagen hablamos de ello y ya lo tenemos por aquí tenemos por tanto esta es la entrada del día 16 si lo vemos en el panel de control o si lo vemos mejor dicho en la parte frontal esta es una entrada del día 16 únicamente tengo que eliminar una entrada que es de aquí 2015 ya lo tenemos llegará por tanto el panel de control se me queda bastante más limpio que antes únicamente me quedaría como urgente por poner dentro de esta tabla la gestión de las imágenes y la gestión de las imágenes de lo que puedo hacer es en lugar de poner un campo de texto subir una imagen cuidado porque al subir una imagen tengo que tener varios aspectos en cuenta a continuación por tanto especificamos que la imagen dentro del escritorio es un campo de tipo file por tanto en imagen en categoría name imagen aquí lo tenemos pues voy a hacer algo tan sencillo como import type pregunta file name imagen si simplemente por hacer esto recargo y veis como ese campo cambia al típico selector de cosas por ejemplo pues cara cargo una imagen que tenía por ahí en el escritorio pero sin embargo sólo eso no va a hacer que la imagen se suba solo eso no va a hacer que la imagen se cargue ves en falta dos cosas más en primer lugar me hace falta que el propio formulario tenga una cosa que es en type que es multi parte forma data creo que no lo escrito bien con lo cual voy a pedir cómo viene la llamada así que en html forma file no en esta página que la conozco aquí está el hentai de multipark for data ahí está me estaba confundiendo un guión en lugar de ser guión era barro multiparte foronda esto es lo primero que necesitamos para realmente añadir elementos al formulario lo que hacemos ahora desde el punto de vista de php una vez que en el formulario tenemos electa multiparte form grata es hacer lo siguiente me voy a ir a anadir php y aquí donde pone imagen lo que voy a hacer es decir lo siguiente por una parte dejo esto tal cual está que es post imagen por otra parte voy a decir que mire aplaudan fáil donde esta función tiene por una parte como parámetro uno el nombre de la imagen temporal al subirla y como parámetro 2 el nombre del directorio donde vas a guardar esa imagen así que usó una variable de servidor un poco especial que es files y dentro de files pongo imagen y una segunda dimensión para la matriz que es tema name te mp de recordar que todo aquello que está en inglés es que no podemos cambiarlo ahora esto lo voy a mover a la carpeta foto punto files imagen quito el tema y pongo el link correcto vamos a ver si funciona correctamente me voy a admin pongo usuario y contraseña y lo que voy a hacer ahora va a ser simplemente decir qué en el día 22 creó una entrada texto selecciono archivo seleccionó una imagen y los hubo si todo ha ido bien y no sé si ha ido bien pero vamos a comprobarlo si todo ha ido bien me voy a localhost entro dentro de php my admin me voy a la base de datos blog me voy a entradas por una parte compruebo si es cierto que ha aparecido texto e imagen en principio no ha puesto nada no pasa nada primera parte no conseguida pero ahora veréis que lo solucionamos fácilmente segunda parte me voy a san memory ht docs me voy a blog me voy a foto bueno tampoco hemos subido correctamente esta parte así que vamos a mute ar esta parte de aquí bien en costa imagen voy a decirle que quiero poner files imagen files imagen mail voy a volver a hacerlo así que este es un contenido este es un título esta es una imagen y le doy a enviar muy aplaudida dice que no hay ningún archivo o ningún directorio lo que me dice en este caso es que no puede mover ahí está el té mp name vamos a moverlo vamos a verlo selecciona archivo ejercicio 1 ahora lo apuesto y estaba correcto fijaos como ejercicio uno lo ha puesto lo que ha fallado es esto ya ha fallado eso claro ya sé por qué sí que había funcionado así que había funcionado lo que pasa está en que en lugar de llevármelo a la foto me lo ha llevado a admin y dentro de admin probablemente me ha intentado crear una carpeta llamada foto lo que tengo que hacer es decirle estás en admin baja una carpeta sube a la carpeta foto y ahí ponlo bien vamos a probarlo por tanto ahora vuelvo a hacerlo una nueva fecha una nueva entrada un nuevo texto selecciona archivo info 1 le doy a enviar en principio no hay ningún error si no hay ningún error compruebo dos cosas lo primero es que al examinar aparece el nombre de la imagen que he cargado y lo segundo a ver si todo sale bien es que dentro de la carpeta foto aparece la imagen que he subido ya tengo por tanto el blog a nivel de imágenes y fecha ha conseguido voy a implementar un botón de borrar y al implementar un botón de borrar lo que haremos es crear nuevas entradas para el blog pero ahora ya así subiendo para cada entrada una imagen nueva bien para esto lo que voy a hacer es crear un botón de borrar personalizado para cada una de las entradas continuamos creando un botón personalizado para borrar voy a ver atar esta redirección para que pueda volver a la página principal y ahora voy a aprovechar esta columna que está vacía el escritorio php para crear vamos a verlo aquí está un segundo que no está para crear un botón de borrar borrar php creo un botón borrar cuidado porque lo que debo hacer es borrar php y de es igual a algo ese tiene que ser el líder del artículo con el que estoy trabajando quiero decir con esto que será guarde y recargo si queréis inspección el código voy a poner control y para que veáis que es borrar y de es igual a 1 y de es igual a 2 y de es igual a algo no lo está cogiendo fijaos que no lo está cogiendo si no lo está cogiendo ahora que algo que puede ser por él por los lecciones porque cada uno de estos tiene un y de cada una de las tablas tiene una idea cuando yo pido una idea como sabe el programa que me estoy refiriendo voy a hacer una prueba las páginas no responden esperar voy a hacer una prueba esto no me suele funcionar entradas punto y de localizó tabla y columna recargo bien y en este caso me dice que entradas punto y de no reconoce como ya os he dicho no me suele funcionar llegado a este punto tengo que poner una cosa que se llama alias mirad entradas punto y d y d total todo lo que hago es decir aquello que está que se llama aire y que está dentro de entradas lo voy a llamar y de total y por tanto ahora aquí pongo y de total y así no confundo unos y dzeko nosotros porque lo que estaba pasando con toda probabilidad es que el programa no sabe a cuál de los tres y des me estoy refiriendo por tanto guarde y recargo vamos a ver esperaba qué fuera uno pero dice que no ha devuelto ningún resultado entradas punto y de eso quiere decir que no ha cogido ninguna ahora sí que no ha cogido ningún resultado muy bien los líderes por lo menos está cogiendo ahora bien y ahora le digo y de total pues etc título nombre con apellidos como texto como imagen como nombre categoría y así lo que hago es seleccionar sólo los campos que voy a querer usar si todo va bien ahora ya nos fallará ahora veré los ideas correctamente y si miro el código fuente de la página veré como ahora cada botón y de uno cuidado hay dos que tienen el y de uno y eso no es bueno en la primera entrada está duplicado bueno ahora vélez porque 12-13 1 y así nos cuenta como ahora cada botón tiene el aire correcto si cada botón tiene el aire correcto ahora puedo crear en la administración un nuevo archivo un nuevo documento llamado borrar php y en borrar voy a copiar un poco el código de añadir y le voy a decir del it from entradas no de las entradas no delito fromme entradas bueno y d es igual agett y den vamos a verlo estudiar me hace falta espero no tener ningún error por si acaso tuviera algún error voy a bloquear ese eco y vamos a verlo cojo el que tiene el número 13 y lo borro no hay ningún error por tanto cuando vuelvo al escritorio el 13 ya no está bien ya puedo desbloquear esto viendo que no he cometido ningún error y por tanto ahora borro este y borró este y fijaos cómo estoy borrando los registros que hasta ahora había hecho ya llega el momento por tanto de hacernos un blog como realmente toca es decir quiero por ejemplo mañana poner el curso del programa número uno autor yo esta es una entrada para decirte qué voy a hacer un curso de java seleccionó algo no tengo internet si tengo internet categoría general y ya tengo una entrada me voy ahora a editar por último el código d el index para decirle que el ing ahora si la imagen fila y margen si ahora me abro otra pestaña con el blog veremos como ahora bien cuidado img no foto ahí lo tenemos cuidado creo que está claro que va a tener que retocar un poco el css verdad entonces le digo lo siguiente pss estilo css y le digo vamos a ver artículos le digo artículos arctic el ing with 100 es decir ocupan el 100 de esa columna y así tengo imagen tengo auto oro tengo categoría debería tener y esta es una entrada para decirte que voy a hacer un curso de java bien voy a ver si tengo html 5 luego me descargar una imagen de por ahí de internet html5 luego veo la imagen me la guardo en imágenes y creo otra entrada para el blog vaya he salido no bien te digo noticia del día 14 curso de html5 autor yo el próximo mes estaré impartiendo un curso de html5 selecciono archivo el logotipo de html5 categoría programación le doy a enviar y si ahora a ver el blog podremos comprobar como tengo una noticia que es curso de html5 y es la noticia que es curso del programa número uno si queréis ahora lo que puedo hacer es para creo que tan verdad tan grande que pueden hacer es algo como por ejemplo index y le digo lo siguiente wef 50 píxeles flow tlet lo que hago es que las imágenes se queden a la izquierda de los contenidos y le digo también un martín raid de 20 píxeles un margin top de 20 pixeles un martín botón de 20 pixeles para que el texto se ha quedado ahí cuidado que flota y flota simplemente porque cuando acabo cada artículo debería poner ya sabéis que flotación es igual al problema de la flotación pero le pongo un clear boat siempre creo que las cosas se empiezan a montar es un síntoma inequívoco verdad de que hay algo que está pasando bien lo que voy a hacer ahora es descargar por ejemplo wordpress luego y márgenes solo el logotipo más grande este de aquí de la imagen me lo guardo y ahora en el panel de control pongo algo como por ejemplo noticia del día 15 el curso de wordpress así dentro de dos meses e impartiendo un curso de wordpress subo archivo su logotipo noticias programación le doy a enviar y si ahora miro el blog podréis comprobar como a medida que voy metiendo noticias pues tengo para cada noticia tanto el logotipo como el título como el autor como el texto como todo lo que haga falta únicamente nos queda por programar no digo que sean detalles porque al final son cosas importantes pero el núcleo del blog por lo menos ya lo tenemos que nos queda pues noticias por autor noticias por categoría lista de los últimos artículos y programar un buscador entre otras cosas que podemos hacer aparte de que el panel de control debemos hacer esto mismo que acabamos de hacer también para poder evitar una entrada podemos leer podemos añadir podemos borrar todavía no podemos editar y por supuesto hacer que esta misma tabla también está disponible para categorías comentarios usuarios y registros una parte importante para ir recogiendo la información es la parte del registro dentro del portal por tanto aquí abajo de html de momento lo estoy escribiendo todo directamente dentro de esta página más adelante lo que haré es ‘ir externalizando en archivos externos de momento se escriben todo en la misma página yo voy a hacer lo siguiente voy a borrar o añadir realmente y voy a editar voy a copiar esta línea y la voy a pegar aquí no me hace falta volver a conectarme a la base de datos porque ya me he conectado anteriormente así que le digo insert into registros los siguientes valores en primer lugar vamos a ver la estructura en primer lugar y de muy bien en segundo lugar 1 2 3 4 5 en segundo lugar quiero ver el utc el utc es blade en tercer lugar quiero ver la ip la ip es una variable del servidor en el acuerdo de memoria php get ip que es reboteadores remote address es estar de aquí a continuación quiero ver el navegador php get browser y el browser ai ss no realmente ahí estamos quiero el you sergent y por último quiero la página que se está visitando así que php get current url no no no no está así si hago esto cuidado me faltan unas comillas si hago esto este trozo de código tan silencioso y tan inofensivo hace lo siguiente mirado y me voy a 1921 68 11 blog vamos a verlo 1 681 227 quien soy yo bueno no es que quiero acceder a través de aquí pues quiero ver mi ip en fin soy 1 21 681 17 y solo por hacer esto no ha ocurrido nada aquí en la parte de abajo pero si no bien la base de datos veréis que en registros ya pone que en este etc está ip con este navegador de aquí y con este sistema operativo que no lo veis pero yo os lo enseño con este navegador con este sistema operativo con este kit con este sub kit y con esta su versión de chrome he visto la página de blog esto por tanto permite que sea nos conectamos a mí conectados a mi blog conectados a esta misma dirección a medida que os vayáis conectando veré el rastro que vais dejando las páginas que veis que de momento sólo hay una página para ver e incluso el navegador y el momento en el que os habéis conectado

vamos a empezar trabajando con la base de datos sql ese culito es una base de datos no tan potente como por ejemplo mysql pero que tiene ciertas ventajas por ejemplo su ligereza no requiere una instalación de un gestor de bases de datos sino que es un plugin para php y es bastante más portable que una base de datos mysql a cambio no es tan potente y no tiene las mismas opciones de usuarios y seguridad que tiene por ejemplo mysql ahora si es una base de datos es muy buena para trabajar con un archivo flash file un archivo plano en el disco duro pero aún así trabajar con la sintaxis sql que nos da tanta facilidad para trabajar correctamente buscando insertando eliminando o actualizando registros hay varias herramientas para poder trabajar con ese culito de hecho de este curso vamos a ver cómo trabajar ese culito directamente desde cero con php pero me gustaría hacer una introducción bastante más visual a lo que nos puede ofrecer ese culito para eso me voy a bajar una herramienta llamada at my air and mine él es un script php que me permite gestionar de una manera completamente visual diferentes bases de datos entre ellas las bases de datos hechas en el circulito 2 o en ese culito 3 de usar ese culito 2 ya que la instalación de sant que he hecho trae instalado exit publicados por tanto no voy a bajar descargo y lo voy a bajar en cualquier idioma aunque seguramente le gustaría en inglés puso el link de descarga directa y me encontraré con qué arma es tal cual un único archivo php es un único archivo es lo que voy a hacer es mostrarlo en la carpeta no estoy copiando [Música] desde mi carpeta de descargas hasta la carpeta voy a buscar la del disco duro hasta la carpeta ese cliente que he creado voy a renombrar el archivo para que sea más fácil de usar llamarlo wine el punto php pero lo que haré es dentro de la carpeta de security abrir el archivo admin el punto de apetito es un archivo de hp ya eso es que me ha bajado desde internet de amainar punto o hereje pero cuando lo ejecutó lo que hace es llevarme a un gestor visual bases de datos que puedo trabajar con mysql o trabajar con ese código y tres puedo trabajar con el circulito 2 que es lo que voy a hacer ahora con conos de sql con oracle o con microsoft sql voy a trabajar en este caso con s kulite 2 ya que se cuide 2 no es como mysql no pide servidor usuario y contraseña no queremos ser mysql sino que directamente puedo hacer login ya entrando en al mined usando ese culito 2 y ahora lo que puedo hacer es usar una base de datos ya existente o bien crear una nueva base de datos como no tengo una base de datos ya existentes lo que voy a hacer es ingresar una nueva base de datos podemos usar el programa en español podemos usar el inglés para usarlo en cualquier idioma de los que vienen ya instalados hoy de momento a usarlo en español así que ingresó a la base de datos y les voy a decir qué nombre de la base de datos a llamar cr debe aguardar rm punto debe detener la extensión bebé para hacer una base de datos válida y ahora mismo ya estoy trabajando con la base de datos crm puntos debe decir de una manera completamente visual lo que he hecho es crear una base de datos en formato sq litros aunque no lo vea porque no haya actualizado si pulsó el botón actualizar comprobar como al lado de admin el punto php se ha creado automáticamente un archivo llamado crm puntos de ver que es la base de datos donde voy a trabajar me voy a crear mis elementos y en mis recursos en sqp lo primero que hago al entrar en una base de datos sql es crear tablas voy a continuar nuestro del ejercicio con el circulito de maximizado aquí de momento lo voy a usar el código php para luego lo usaré pero no existen todavía tablas y existen vistas así que voy a crear una nueva tabla o bien haciendo clic en el enlace nueva tabla o bien con el botón crear la hora enlace crédito a los dos y llevan al mismo sitio voy a crear una tabla nueva llamada clientes a continuación ya que creó una tabla debe crear el nombre de sus columnas por tanto voy a crear una columna llamada y de que va a ser un entero el nombre el teléfono la dirección el país y el email por ejemplo el líder va a ser un número único y va a ser un número entero por tanto lo que voy a hacer es auto incrementar y decirle que va a ser un entero el nombre va a ser un texto el teléfono bueno podría ser un entero pero por si tiene caracteres extraños voy a poner el texto dirección bien va a ser un texto a ingresar un texto email va a ser un texto en longitud pondré la longitud máxima de caracteres que va a tener cada uno de estos elementos en colación de momento no voy a poner nada y entonces voy a poner que no sean nubes que no sean nulos si quisiera eliminar alguno podría hacerlo desde aquí si quisiera añadir más podría hacerlo desde aquí pero el circulito es bastante interesante al main es bastante interesante pero cada vez que por un campo nuevo automáticamente añade uno abajo por tanto no hace falta en principio este botón de agregar además siempre me deja un campo vacío pero tampoco pasa nada porque cuando debe aguardar lo que va a hacer el programa es eliminar a que el último campo que esté vacío por eso voy a darle a guardar y compruebe cómo tengo ya mi base de datos clientes que ha quedado guardada con las columnas de registros dirección todo si ahora visualizo contenido es así de momento no estaréis visualizando ningún contenido dentro de esta tabla una cosa muy muy muy importante que ocurre en maine y también ocurre en php inmediatamente para mayores y q l es que a medida que yo voy haciendo operaciones and my day además de realizarlas me va diciendo el código sql correspondiente a la operación que voy realizando por tanto ver el contenido equivale a la sentencia sql seleccionar todo de la tabla clientes con límite 30 en este caso si hubiera más de 30 registros sólo me estarían mostrando 30 es importante que cada operación que hacemos vayamos visualizando el código sql correspondiente ya que lo necesitaremos más adelante cuando trabajemos sqlite directamente desde php por ahora lo que vamos a hacer es insertar nuevos registros y para eso hay dos maneras la primera la más sencilla es crear un nuevo registro desde este enlace que tengo aquí nuevo registro al crear un nuevo registro introduzco manualmente los valores el nombre teléfono la dirección [Música] el país cuando acabo de insertar este registro lo que puedo hacer es guardar o bien guardar e insertar otros le digo guardar lo que hago es volver a la vista de contenido mientras que se le digo guardar e insertar otro lo guarda pero envuelve a este formulario y d2 con su teléfono con su selección con su país con su correo sí guardo ese es otro programa vuelve automáticamente a este formulario y me permite introducir varios registros dentro dentro de esta tabla de la base de datos además si lo que esto es insertar nuevo registro aunque aparezca oculto siempre puedo ver el comando sql que ha generado esta entrada y veo que ya no estoy haciendo un select select es para ver contenido de la base de datos sino que estoy haciendo un insert estoy insertando dentro de la tabla clientes con estos y des de columna los siguientes valores por tanto yo recomiendo que cada instrucción cada operación que hagamos dentro de ese kulite le echemos un vistazo a la sql ya que insisto lo necesitaremos más tarde dentro de ese culito en php otra manera de introducir contenido es importando lo pero cómo puedo yo importar si todavía no sé en qué formato tengo que importar bueno pues una manera muy sencilla de importar es primero exportar veo aquí abajo que tengo dos enlaces que son exportar y luego importar me inventé la exportación lo que hago es estos registros sacarlos a un formato externo lo bueno es que ese formato ya está en el formato correcto para luego importar por eso voy a exportar y puedo o bien mostrar bien guardar o bien guardar comprimido voy a guardar en un archivo no lo voy a guardar en formato sql sino que lo voy a guardar en formato csv por tanto voy a exportar como comas para intervalos y valores separados por comas compruebo cómo exportar y ahora hablo el momento es abierto con [Música] y abierto con un editor de textos y abierto mejor con heavy pero siempre puedo abrir lo que no es y decirle que lo que quiero es abrir en descargas por fecha clientes csv y lo que hace por tanto es reconocer que exportado con punto y coma separador de texto comillas afecto y lo que obtengo por tanto son los datos de ese kulite exportados en formato de excel poder open o fiscal lo divertido ahora es que puedo introducir aquí dentro directamente en una hoja de cálculo nuevos valores como por ejemplo que podría hablarte ejemplo cuando ya por teléfono con una dirección un país estos dos valores voy a poner angela teléfono una dirección un país y un email [Aplausos] he creado los nuevos registros evidentemente voy a borrar esto es porque ya los tenía en la base de datos pero lo que haré es guardar los guardarlos como texto csv siguen siendo textos csv pero lo que puedo hacer es importar ahora sí importa seleccionó archivo clientes psv conjunto del coma es importante en importar observó como importado correctamente tanto el registro el cuadro como el registro 5 es decir puedo insertar nuevos registros o bien manualmente con nuevos registros o bien importando los desde archivos separados por comas y evidentemente cuando veamos ese cliente dentro de php tenemos que también se puede hacer esto directamente mediante código php voy ahora a poner contenido dentro de esta tabla y para eso crear un nuevo llamado insertar php que voy a cargar en el editor y que va a contener el siguiente código una vez más vamos a tener las cuatro fases la primera es la conexión la segunda es la consulta la tercera es la ejecución y la cuarta es el cierre esto que estoy haciendo evidentemente no son más que comentarios pero nos ayudarán a recordar cuál es la estructura de una petición en ese culito buscando qué h por tanto empiezo creando una conexión y me digo que el comando es twitter open y abro la base de datos llamada biblioteca con el nombre evidentemente tiene que coincidir la consulta conjunta es igual a lo siguiente hacer una línea un poco larga voy a hacer por tanto un ligero y voy a intentar en tu cd saber cómo se llamaba la tabla han creado gds los baleros los valores que voy a introducir dentro de estos paréntesis como tengo tres tres filas tres columnas voy a introducir dos comas para separar tres campos y como las dos primeras columnas son del chart de texto voy a introducir en comillas y comillas en la primera y en la segunda por tanto lo que hago ahora es introducir un artista el nombre del disco y año en el que ese en el que se publica el disco además lo que voy a hacer es crear una consulta compuesta por compuesta por varias entradas voy a hacer poner variados 100 discos de queen [Música] por ejemplo 2 en 1964 si attack evidentemente son todos riscos y la navidad de ópera [Aplausos] en 1976 voy a introducir cuatro valores más por tanto que el perro introducir cuatro días contentos donde tengo por ejemplo apoyo 1980 tengo soñar copiar y pegar esta fila tengo los números en 1981 bueno en 1983 fresca en 1983 cambios y por tanto mi petición acordémonos de separar con punto y coma cada una de las peticiones y ahora él ejecutó la petición tenemos que el resultado es igual a este público exacto donde la conexión ejecutó la concuerda y por último cerramos ese criterio bajo cloud donde tengo que especificar evidentemente la conexión que he abierto por tanto ahora voy a guardar y voy a ir a respirar llamado insertar punto hp esperamos que no dé ningún error lo ejecutamos y parece que no está encontrando una tabla llamada genes esto es porque he intentado abrir biblioteca biblioteca en lugar de biblioteca así que corrija y ahora vuelvo a insertar y ahora comprendo cómo logar ningún error no sólo esto sino que si ahora vuelvo a mainar y vuelvo a registros para comprobar como efectivamente he conseguido introducir dentro de la tabla crs-3 los registros que he introducido usando únicamente el código php como podemos comprobar lo que hemos hecho es introducir contenido y ahora todavía necesitamos requerimos real mainer para comprobar cada paso que hacemos propuesto a partir del próximo paso vamos a ver como admin el siempre será bienvenido pero ya no será tan imprescindible para controlar la corrección de cada paso que hagamos una cosa más y es que como me he equivocado he puesto biblioteca si actualizamos ahora comprobaremos cómo en creado también e involuntariamente biblioteca así que voy a eliminar evidentemente el que no me vale me quedo únicamente con el archivo bueno y a partir de ahí continuó trabajo para eliminar registros simplemente tengo que seleccionarlos a continuación pulsar sobre el botón eliminar si seleccionó el registro 5 y pulse el botón eliminar el programa de pide confirmación está seguro le digo que sí y compruebo como el registro 5 ha quedado completamente eliminado puedo también modificar registros pulsando el botón modificar correspondiente a cada una de las filas si pulso modificar volvería a entrar en el formulario que le permite modificar la dirección por ejemplo en este caso dirección de víctor guardar y comprobar como ahora dirección de víctor aparece como dirección de víctor 2 es decir puedo modificar y puedo eliminar sin ningún problema cada uno de los registros interesante que cada vez que modificó un registro el comando de sql se llama haz de actualizar actualizó la tabla atiendes y pongo el y de 4 el nombre víctor teléfono está la dirección dirección en todos donde el ibex es igual a 4 recibe sólo modificó aquel y de que sea igual a 4 otra cosa que es interesante decir es que puedo empezar ya a jugar con sql lo que voy a hacer es seleccionar todo este set de código lo voy a copiar y dentro del comando de sql sql lo voy a pegar ahora antes de ejecutar lo que voy a hacer es tocar un poco de código y decirle qué voy a quitar web y de igual a 4 y lo que estoy haciendo es actualizar todos los registros y voy a hacer que el ide no se llevará a cuatro el nombre no sea igual a víctor la dirección o sea esta sino que voy a actualizar haciendo una tabla clientes y voy a decirle que el teléfono sea igual a 99 99 y el país sea igual en españa lo que estoy haciendo como podemos ver determinar la última coma es especificar que quiere actualizar todos los registros y ponerles a todos el teléfono 999 y el país españa porque lo que ha hecho es quitar el web antes con web lo que hacía es actualizar solo un registro particular buscar la coincidencia donde vive fuera de wada 4 pero se hará el ejecutó este código comprobar cómo vamos a ver teléfono 99 y país igual a españa bueno reponer y de igual a 3 ejecutó y compruebo como no existen registros o sea las voy a registros comprobaré como he puesto todos los teléfonos en 999 y todos los países en españa es decir que conviene que vayamos visualizando el código sql que estamos usando porque en cualquier momento lo podemos usar lo podemos introducir directamente dentro de esta ventana llamada comando sql voy a trabajar con más datos para eso voy a volver a usar este formulario es más lo voy a volver a exportar pero es puerto [Música] afecto punto y coma y comillas como separador texto el grano quiere es copiar y pegar muchas veces estos campos para crear una base de datos más grandes voy a crear es automático y voy a disparar voy a guardar los clientes importa ahora esa tabla de clientes y comprobaré como ahora mi tabla es algo mayor lo primero que visualizo es que como le dan un límite de 30 o mejor dicho viene por defecto un límite de 30 el programa ha separado en dos páginas los 32 registros que tengo si quiero ver todos los registros quieres poner límite 100 y vieron los 32 registros la misma página o por ejemplo si quiero ver los registros de 5 en 5 lo que hago es poner límite 505 sola vez y tengo 7 páginas con registros otra cosa que puedo hacer ordenar por condición por ejemplo solo quiero ver los clientes cuyo i d sea igual a 6 y lo que hago usando mostrar es mostrar sólo aquellos clientes que tengan el nivel 6 o por ejemplo quiero mostrar a aquellos clientes cuyo nombre sea conseguirse into mostrar y me saca todas aquellas coincidencias que coincidan con lo que yo he especificado en la condición por tanto mediante la condición puedo seleccionar prácticamente cualquier filtro para poder ver la información que quiero visualizar otra cosa que puedo hacer es decir el lugar de igual que sea menor o mayor que por ejemplo quiero ver todos los clientes cuyo ine sea mayor que bien y me muestran los clientes con idea del 11 al 32 o aquellos que cuyo iré sea menor que bien se muestran los del 1 al 9 o aquellos que desee que sea menor o igual a 10 me muestra desde el 1 hasta el 10 está muy interesante es que quiero por ejemplo mostrar a todos aquellos que tengan like y porcentaje el porcentaje todos aquellos cuyo nombre contenga la palabra vicente y compruebo cómo incluye todos aquellos que ponen jose vicente es como una especie de buscado el like los porcentajes porcentaje lo pongo todos aquellos que obtengan hice y comprobó como sigue encontrando aquellos contengan cual y encuentra evidentemente todos aquellos clientes cuyo nombre contiene one en la palabra juan por tanto las condiciones de búsqueda me pueden ayudar muchísimo a encontrar por ejemplo no quiero que sea igual el nombre jose vicente y buscar todos aquellos que no se encuentran los juegan los javier y los víctor puedo comprobar por tanto como las acciones de búsqueda me pueden ayudar a filtrar de muchas y de muy interesantes maneras la información que quiero buscar la ordenación le permite mostrar los valores ordenados según el criterio que yo quiera por defecto la ordenación se produce por la primera columna luego la segunda no con la tercera y así pero si por ejemplo lo que quiero es ordenar mediante la columna nombre lo que hago es mostrar y compruebo ahora como primero aparece javier j lo vamos a vicente j con juan j y luego víctor m puedo también decirle quiero ordenar según el nombre descendiente en cuyo caso parece primero víctor luego juan luego su vicente y luego javier o puedo ordenar por ejemplo primero según el país en este caso todos son igual porque todos tienen españa y luego según el nombre y luego según el ine y de esta manera puedo tener varios criterios leo primero españa luego según el nombre y luego ordenados según el ine es decir puedo realizar diferentes ordenaciones y como no siempre he hecho un vistazo a la línea s q sql que me permite visualizar además puedo combinar el order by la ordenación con la convicción y que puedo decirle te quiero ver solo aquellos cuyo nombre javier y los quiero ordenar primero por país luego por nombre se hará por mostrar comprobaré como solo veo los javieres ordenados por país ordenados por nombre evidentemente y luego ordenados por d espera ahora una tabla llamada virus que contendrá el nombre de columna el pib el pedido a continuación el cliente y por último el importe del término este va a ser entero este va a ser un texto y este va a ser un texto de longitud de los 55 55 255 y este auto incrementado le voy a dar a guardar y empiezo a crear nuevos registros vicente realizará un pedido por un importe de 500 guárdame cierto otro 2 javier con un importe de 4 100 en e3 angela con un importe de 600 y de 44 con un importe de 800 y del 5 de jáiber con un importe de 200 cuerdo y ya tengo la tabla mínimamente poblada para empezar a visualizar bueno pues lo que tengo ahora es que puedo mostrar únicamente algunas columnas por ejemplo sólo quiero mostrar la columna de cliente y la columna de importe cuando les voy a mostrar compruebo cómo sólo visualizo el cliente y el importe y no visualizar vídeo por ejemplo quiero visualizar al final el ibex hoy quiero ver el nivel al medio y el importe al final otras herramientas muy importantes las que dispongo son por ejemplo las herramientas de de cuente o de suma con la suma del importe lo que voy a hacer es ver el importe total la suma de los importes que han tenido los clientes o por ejemplo quiero ver el average quiero ver el promedio cada vez que un cliente hace un pedido cual es el promedio de coste que tiene ese pedido además lo que puedo hacer es ver por ejemplo también cuál ha sido el máximo pedido que me han hecho de 800 por supuesto puedo añadir nuevas columnas para ponerle el nombre y apellidos a ese deporte por ejemplo el máximo pedido ha sido el de 800 por ejemplo el mínimo el mínimo en este caso es el de 200 por ejemplo con trabajar con la sombra la suma en este caso de los importes las vistas sirven para guardar búsquedas complejas por ejemplo voy a entrar dentro de clientes voy a visualizar el contenido y voy a hacer una búsqueda donde quiero ver solo aquellos clientes cuyo ibex sea mayor que su vida sea menor que 20 y que su nombre ser igual a javier el resultado es este resultado que tengo aquí no es que haya sido muy de conseguir pero sin embargo ha requerido que haga varios clics dentro de las condiciones y además lo quiero ver por ejemplo el teléfono tiene sentido porque la única clave diferente es el aire pero podría ordenarlo podría mostrar la suma podría hacer muchas otras operaciones cuando quiero guardar una búsqueda para repetirla más adelante las veces que haga falta la guardo en forma de vistas lo primero que tengo que hacer por tanto es copiar el código sql que ha generado esta consulta lo copio era lo que voy a hacer en la base de datos es crear no una tabla sino una vista una vista es una búsqueda predefinida dentro de las tablas y el número de la vista es visto javier hago un control v pero el código sql correspondiente a esa búsqueda por tanto de esa vista y ahora le digo guardar lo que obtengo es una nueva aparentemente tabla no es la tabla realmente es una vista donde se haga clic en registros obtengo un acceso directo a el contenido de esa vista javier en este caso lo que estoy haciendo no es modificar la tabla clientes sino que lo que estoy haciendo es seleccionar unos registros concretos y los he dejado guardados en forma de vista y que les he dado el nombre de vista javier no sólo hacer es como no hay una diferencia aparente entre tablas y vistas obras vistas espero poner adelante la palabra vista esto no es obligatorio pero es una recomendación si en cualquier momento quiero modificar la vista le doy a modificar vista y siempre puedo modificar estos parámetros puedo decirle que por ejemplo ahora quiero ver los clientes cuyo y de estrés entre 10 y 30 la voy a guardar y lo que he hecho evidentemente es modificar ahora entre 10 y 30 el contenido de la vista correspondiente vamos a ver a controlar las bases de datos sql a través de código php y para eso empezaremos creando una primera base de datos por eso voy a hacer un archivo llamado crear un tope hp los cargos en el editor o lo que también emite en el navegador y dentro de este archivo crear punto php voy a crear el siguiente código dividido en cuatro apartados toda una parte voy a comentar voy a crear una desconexión [Aplausos] a continuación voy a crear una consulta londres la consulta en la conexión y por último cerrar la conexión estos son los cuatro pasos que voy a dar para conectarme a una base de datos sql y realizar cualquier gracia así que en primer lugar lo que vamos a hacer es crear una conexión y voy a decir que escribo una variable llamada conexión a la que le asignó el comando ese cohete joven y entre paréntesis el nombre de la biblioteca que voy a usar el nombre de la base de datos que voy a usar voy a crearme una biblioteca punto de menos otra cosa que puedo poner es gorda gorda y lo que dices y ha sido imposible realizar la conexión entonces debo lanzar el siguiente mensaje el siguiente mensaje puede ser ha sido imposible realizar la conexión una cosa muy interesante de las bases de datos en el security es que cuando hago una sqlite open y llamó a una base de datos que no existe lo que va a hacer es intentar crearla intentar crear las que la carpeta tienen suficiente permisos para ello si no los tienen entonces irá a esta segunda parte olga y dirá ha sido imposible realizar la conexión cuando lo que realmente querrá decir es en el puente de crear una base de datos todas formas en este servidor estoy trabajando no creo que tenga ningún problema para crear nuevas bases de datos a continuación creó la consulta la consulta para quedar la consulta que es una variable de la consulta y introduzco entre comillas la consulta que quiero hacer y lo que quiero hacer es crear una tabla llamada por ejemplo ustedes voy a crear biblioteca de cds otras de libros otra vez plantas otra vez lo que sea voy a crear por tanto las acciones dentro de la tabla cds voy a introducir el siguiente contenido tenemos que estoy aquí es php y estoy aquí es sql por tanto es normal que encontremos punto y coma comillas punto y coma porque este punto y coma equivale a cerrar la instrucción en ese culito en sql mientras que este punto y coma equivale al cierre de instrucción de declaración de variable de phd por tanto es normal tiene que estar así porque si no hay año voy a hacer un poco de hueco y voy a crear ahora columnas en la base de datos creo para empezar en la pista le digo que tiene 20 caracteres y que no se puede dejar de hablar con él a continuación el disco vamos a ver por ejemplo 50 caracteres y por último el año que podría definir como número entero como integral lo que estoy haciendo es definir aquí el título de la columna aquí cuantos caracteres puede tener recién en el disco voy a poner 100 y aquí cuando especificar la condición de que ese campo nunca nunca tiene que ser nulo guardo y ahora a continuación voy con el tercer paso donde lanzó el resultado el resultado equivale a 7 rostros ya que en principio esto para hacer no devuelven adam sino que simplemente la crea la ejecuta y ya está y en la conexión ejecutó la consulta en principio para que funcione ya está no tendría que hacer nada más sin embargo es una buena costumbre aunque en principio de steve cuando acaba de ejecutar se cierra automáticamente la conexión verano es una mala costumbre poner el security close y aquí dentro la conexión tengo ya por tanto mi script crear php preparado con los 4 pasos básicos que necesita para crear cualquier petición es una conexión la consulta lanzó la consulta hicieron la conexión lo que voy a hacer ahora es recargar la página para comprobar se ha dado algún error he recargado la página y compruebo como la ejecuta de una vez no devuelve nada en la pantalla lo cual es buena señal porque parece que todo ha funcionado correctamente si hacemos que todo esto son operaciones que modifican la base de datos que crean la base de datos pero que en principio no tienen porqué devolver nada en pantalla lo que voy a hacer es pulsar este botón de aquí que es refrescar la vista para comprobar que efectivamente la biblioteca punto debe ha sido creada tal cual debido aquí lo importante el truco en esta parte es ver cómo ese curis de open abre una base de datos si existe y la creo si todavía no existe voy a hacer es también voy a copiar esto lo voy a pegar y voy a entrar en normal dentro de las mañanas para decir en este caso que quiere usar la base de datos llamada biblioteca en este caso usual mainer para controlar que este es un todo correctamente y compruebo como dentro de biblioteca a punto de ver existe una tabla llamada cds que tiene el artista disco y año y que tiene char chart in entero y que ahora como poder comprobar voy a poder introducir contenidos dentro d dentro de esta tabla pero eso sí lo voy a hacer usando por supuesto php en conjunción con el circuito en este vídeo vamos a aprender por fin a ser capaces de visualizar mediante un disquete hp el contenido de al menos ahora una tabla de la base de datos para eso vamos a crear un archivo llamado select select puntos de hp que cargaremos tanto en el editor como en el navegador este archivo select contendrá un script punto aunque hp donde lo primero que vamos a hacer como siempre es crear una conexión a continuación crear una consulta a continuación ejecutar la consulta y guardarla en un resultado y por último ese culito close para cerrar la conexión que hayamos abierto por tanto la conexión que vamos a crear es el circulito bajo opel y vamos a especificar el archivo que abriremos por tanto entre comillas vamos a especificar el nombre del archivo que es biblioteca punto bebé en la consulta entre comillas pondremos lo siguiente que tenemos hacer es usar una orden de sql en este caso de ese comité llamado select select lo que hace es seleccionarlo todo y más adelante lo que haremos es devolverlo en pantalla select asterisco que quiere decir seleccionarlo todo from y la tabla evidentemente a la que quiero hacer referencia a la tabla como podemos recordar si una base de s seleccionarlo todo desde el cds punto y coma para finalizar este comando de ese cuente en el resultado lo que haremos es ese culito bajo fuego donde en la conexión como ejecutaremos la consulta consultado con él y a continuación en el resultado y cerrar la conexión con la base de datos lo que tenemos que hacer es volver a ser capaces de recuperar esos datos de la base de datos por tanto vamos a crear una estructura de control while donde tendrá una condición dentro de los paréntesis un código a ejecutar enemigo donde la variable fila sea igual a ese culito jon bajo gestión bajo array es decir recuperar todos los datos de la base de datos sql y meterlos en una matriz meternos en un array donde evidentemente estoy haciendo referencia al resultado no a cualquier conexión a base de datos sino a aquella que se ha ejecutado en la variable del resultado que en este momento puede parecer algo que no tenía sentido pero más adelante veremos que en un script podemos hacer múltiples conexiones a múltiples bases de datos por tanto es importante poder especificar a qué conexión estamos haciendo referencia ya lo que voy a hacer es hacer un eco y ya que estoy usando fila con una matriz tendríamos x en fila y entre corchetes y comillas la manera de indicar qué columna quiero es simplemente introducir la columna el nombre de la columna recordamos vamos a ver en crear recordamos que era artista disco y año así que joaquín artista punto y la matriz entre comillas artista disco y punto para encadenar final y entre comillas amigos cuando el coma para finalizar y ver sin desencadenar en un punto con una típica guerra para forzar un salto de línea y ahora guardo y ejecutó el script comprobar el como de momento ya estoy obteniendo un volcado de cada una de las informaciones que hay en esa tabla y por último tengo un warning y es que me dice que ese culito de close espera exactamente un parámetro y será 20 es cierto ese error es real ya que lo que tengo que hacer es especificar qué conexión no quiero cerrar por tanto si correcto ese error y les voy a recordar comprobar como ahora tengo correctamente el volcado de la tabla de la base de datos y por tanto ya no me es imprescindible ya no depende tanto de la aplicación mainer para recuperar los datos de la base de datos y lo más importante es que allende está muy bien como aplicación para gestionar la base de datos pero no como aplicación para mostrar a los usuarios de mi web los datos de la base de datos en cambio este script que cualquier usuario puede visualizar y que lo que hace es poblar una página html con datos sacados de la base de datos de la tabla sqlite lo que ve ahora es maquetar un poco más el texto porque ahora mismo el texto aparece a continuación no queda muy bonito por tanto lo que voy a hacer es demostrar como dentro del while concretamente dentro del eco puedo meter sin ningún problema a una tabla antes de empezar el lugar voy a crear matarla encontremos y justo al finalizar el way voy a hacer un eco donde cierro el trigo el cierre la tabla todo lo que tengo por tanto estará incluido dentro de una tabla así que en este echo lo que haré es poner una etiqueta de r hice una fila poner una etiqueta atv inicia una columna y comillas y punto para encadenar lo que voy a hacer ahora es ir encadenando para en este caso cerrar columna arrancar columna y continuar abriendo y cerrando en cadena una vez más en esta columna abra columna en este caso y por tanto ya no me hace falta el bcr así que la columna cierro fila y si ahora recargo comprobar como tengo el contenido marcado ahora sí correctamente dentro de una tabla para verlo mejor enfrentarla voy a poner el border igual a 1 guardo y recargo para ver como ahora sí lo que he hecho ni más ni menos es conseguir que colocar a conseguir maquetar el contenido de la base de datos dentro de una tabla que puedo presentar a los visitantes de mi web otra de las operaciones que pueden realizarse mediante sql directamente de hp es el lic es eliminar registros de la base de datos por tanto voy a poner voy a crear un archivo grid punto php voy a ganarme ambos sitios h y contendrá al siguiente código persona escribe que tendrá como siempre los cuatro pasos la conexión donde voy a hacer un circuito open y estoy habiendo en este caso detecta biblioteca punto de una consulta y la consulta va a ser feliz pero la tabla cbs y si les digo el último nada menos lo que haré es borrar todo el contenido de la tabla por tanto lo que voy a especificar es una condición bueno voy a borrar dónde vamos a ver que tengo en la base de datos donde por ejemplo el artista o sea igual a por ejemplo unos lo que voy a hacer al ejecutar este código es seleccionar todos aquellos registros que coincidan con que el artista sea igual a 2 y eliminarlos de la base de datos por último un resultado donde hago un paso fuera de la conexión como la consulta y no me puedo ir sin cerrar correctamente la conexión que ahora guardo y ejecutó en principio si no ha cometido ningún error nada va a pasar pero si ejecutó el script qué he hecho antes el selenio que me permite saber que hay en la tabla de la base de datos por tanto ya no tengo que recurrir a amainar comprobaré como ahora en la tabla ya no existen los registros de u2 porque con el escrito anterior con el script de leads lo que he hecho es eliminar todos aquellos registros donde el artista fuera igual a 2 si en lugar de euros hubiera puesto win pues hubieran desaparecido los de queens y si hubieran quedado solo los de puntos una operación muy importante también es la operación de update actualizar actualizar te permite no crear y borrar sino modificar registros de la base de datos en este papel voy a hacer lo siguiente primero por supuesto una conexión [Música] open a biblioteca tenga a continuación una consulta y en este caso la consulta hambre y lo que voy a hacer es actualizar la tabla accedes y voy a poner artista igual voy a pagar las comidas simples con tres es bueno artista es igual a kuyt es decir voy a buscar todos aquellos registros donde el artista sea igual a wing y lo que voy a hacer es actualizarlos con poner 3 es equivocadamente evidentemente en el nombre el resultado es igual a ese punto donde en la conexión ejecutó la consulta y por último ese culito close de la conexión guardo y si ahora ejecutó update en principio nada pero evidentemente sin reconvertido ningún error este script nos devuelve ningún resultado pero si ahora vuelvo a recurrir al select que crea del antes y los de cargo comprobaré como ahora el nombre del grupo es win con 3 es por tanto he conseguido actualizar he conseguido modificar todos los registros en cuyo artista era igual a queens voy a rehacer voy a volver a ejecutar este escrito pero que cambiar un poco porque ahora quiero que el nombre del artista vuelva a ser win donde el artista se iguala queens los 3 am y otra condición que voy a poner un disco sea igual a windows es decir solo voy a corregir solo voy a modificar el nombre del artista de 32 es solo donde el disco sea igual a windows si ahora guardo y ejecutó ejecutó al rey por supuesto si lo he hecho bien ninguna rama se ha devuelto y si ahora vuelvo ejecutar el select comprobar como sólo este nombre ahora contiene dos es decir este update ha modificado únicamente al registro que cumplía que artista era igual a queens con tres y que el disco era igual a cuentos

en este bloque de contenido vamos a aprender php donde php es un lenguaje de programación dinámica para páginas web en el lado del servidor esto quiere decir que php no se ejecuta en el cliente como html como css o como javascript sino que se ejecuta en el servidor y cuando llega al cliente llega ha transformado llega convertido en html lo primero que os voy a decir por tanto es que si vamos a aprender un lenguaje que funciona en el servidor necesitamos tener un servidor necesitamos ejecutar nuestros scripts contra un servidor porque a diferencia de html mientras que html se puede ejecutar perfectamente en el cliente para trabajar con html no hemos necesitado desde la ring un software en particular simplemente un navegador web y podemos trabajar con html con css y podríamos trabajar con javascript pero con php no con php en cualquier sistema operativo prácticamente ni windows y mac y linux reconocen automáticamente ejecutan automáticamente archivos php puedo editarlos porque al final son archivos de texto pero no puedo ejecutarlos por eso a partir de aquí tengo que tomar dos caminos al final tomaremos los dos o bien convierto mi ordenador en un servidor web o bien trabajo directamente sobre un servidor web al final probablemente acabaremos trabajando directamente sobre un servidor web pero esta opción al principio especialmente cuando estamos aprendiendo puede resultar bastante incómoda por eso lo primero es convertir nuestro ordenador en un servidor web pero un servidor web no es cualquier cosa un servidor web bien montado bien configurado nos puede costar pues días o semanas y es la primera vez que lo hacemos en configurarlo y no es nuestro no es este nuestro objetivo nuestro objetivo al menos ahora no es convertirnos en administradores de sistemas nuestro objetivo es empezar a aprender php y hacerlo de la manera más sencilla posible por eso una herramienta estándar que usamos yo diría a todos los que enseñamos php es una herramienta llamada amp el samp es un paquete de díaz es un súper paquete que contiene todo lo que necesitas para que con prácticamente nada de esfuerzo por tu parte conviertas tu ordenador en un servidor web de desarrollo es decir en un servidor web local para ti para programar no en un servidor web abierto al público lo primero que tenemos que hacer por tanto es y no irnos a internet poner sean en los criterios de búsqueda y acceder a una página llamada apache friends punto o hereje barra es para descargarlos blog el español así que pincho dentro de esta página veremos qué buena noticia el software está tanto para windows como para linux como para mac en los programas que suelo elegir para las formaciones intento siempre que cumplen estas condiciones primero que sean libres que sean de software libre y segundo que estén para cualquier plataforma dado que en este caso ahora mismo estoy en windows pues evidentemente voy a hacer clic en el samp para windows en principio la descarga debería comenzar automáticamente si no empieza puedo forzar la descarga pulsando aquí y sea como sea en unos pocos segundos veo cómo empiezo a descargar el samp en mi equipo el samp es un programa que ocupa bastante es un programa que en las últimas versiones estaba ocupando unos 140 y pico megas por tanto tendremos que esperar el tiempo que haga falta dependiendo de la conexión con la que estemos ahora mismo hasta que el programa que dé correctamente descargado a nuestro equipo antes de poder empezar a instalarlo una vez que tenemos el programa descargado lo que haremos es doble clic para empezar a instalarlo aparece que tengo que dar permisos de administración para poder instalar el software y a partir de aquí vamos a ir a través de una serie de pantallas en las cuales se nos irá informando de cómo va la instalación bueno en este caso se nos dice que al menos en mi caso tengo un antivirus ejecutándose probablemente será el propio defender de windows 8.1 y se nos dice que en algunos casos esto puede ralentizar o puede ser feliz la instalación del sap voy a decirle que por supuesto que continuar me voy a acordar de este mensaje no quiere decir que automáticamente se lleve mal con la antivirus porque cada antivirus funciona de una manera pero también quiere decir que yo finalmente lo que voy a hacer es instalar un software que abre puertos y se empieza a comunicar a través de esos puertos y lo voy a hacer con un film con un fin completamente lícito y legal pero algún antivirus puede interpretar que no lo hago así vale por tanto voy a decirlo de momento que es este mensaje es incluso más importante me dice que esto está desde windows vista tengo el ac el you ser access control activado en el sistema él ‘user access’ control en windows este mensaje evidentemente no aparecen en linux mac es el sistema que cada vez que intenta instalar un programa que dice pero está seguro pero es administrador pero porque tu contraseña esto es el lo hace el guaje está en windows para nuestra protección para nuestra seguridad pero una vez más esa protección puede malinterpretar que apache que en este caso es el programa principal del sunp está en nuestra contra y puede bloquearlo así que una vez más vamos a decirle ok a este mensaje y si más adelante tenemos problemas para arrancar el samp simplemente nos acordaremos de que teníamos que desactivar el samp el ac quería decir bueno ahora sí esta es la primera pantalla de bienvenida del sunp pincho next especificó que quiero todos los componentes instalados le digo next y en este caso mucha atención a la pantalla porque me está ofreciendo la carpeta de dos puntos contra barras amp como carpeta de instalación es decir una carpeta de nueva creación que se va a crear en el raíz del disco duro mi recomendación por los múltiples componentes que llevas antes que aceptemos esta recomendación si lo quisiéramos dentro de archivos de programa podríamos cambiarlo de carpeta simplemente pinchando este icono pero mi recomendación es que no lo hagamos y pulsemos siguiente en este caso las nuevas versiones de el samp vienen con una utilidad que se llama vietnam y que nos permite instalar programas tales como wordpress tales como trupal o tales como joomla de manera automatizada así que de momento no quiero saber nada más de esto si me interesa más adelante ya iré a por información pinchó next y por último con todos los datos que he introducido hasta ahora estoy preparado para empezar la instalación así que pincho next y ahora mucha atención lo que tengo que hacer es esperar con esperar quiere decir que el samp al final es un paquete que ocupa ciento y pico megas es un paquete que contiene una gran cantidad de software contiene por una parte de los programas principales para montar un servidor web y además un montón de módulos adicionales lo que está haciendo este instalador en este momento es en primer lugar copiar los archivos a continuación los configura y luego arranca los servicios o los programas que quieran necesarios que probablemente será apache con el módulo de php y el servidor de bases de datos mysql que os quiero decir con esto pues que debido a la gran cantidad de elementos que están instalando tendremos que esperar 123 minutos dependiendo del ordenador puede ser que en algún ordenador incluso algo más hasta que todos los elementos estén correctamente instalados está finalizando el proceso de instalación en este caso está creando un des instalador y lo que haremos ahora una vez que está una vez que esté finalizado la instalación será arrancar el panel de control sí por lo que fuera saliéramos sin arrancar el panel de control siempre podemos llamar al panel de control poniendo el samp y aparecerá una utilidad llamada sham control panel si arrancamos el sham control panel veremos cómo aparecen disponibles para arrancar todos aquellos elementos que forman parte del sunp arrancarlo para el de control del sunp tiene aproximadamente esta apariencia puede cambiar ligeramente de versión en versión lo primero que tengo es un listado de los módulos principales que tiene el samp a continuación les voy a presentar apache que es un servidor de páginas web es de hecho el servidor de páginas más usadas del mundo apache lleva ya integrado en champ el módulo de php por tanto por eso no aparece php por aquí por ninguna parte mysql es un servidor de bases de datos curiosamente es el servidor que primariamente usaremos en combinación con apache y con php filezilla es un servidor de ftp no ya el cliente el cliente para conectarse a un servidor ftp se puede descargar directamente desde la propia web de files y la lo que se nos ofrece en este caso es la posibilidad de montar un servidor web un servidor de ftp mercury mercury male transport es un servidor de correo electrónico para montar un servidor no un cliente no un receptor de correo electrónico sino un distribuidor de correo electrónico en un servidor y por ultimo tomcat es un motor de serv lets en jsp y en java enterprise en el caso de que en lugar de programar con php programar amos con java en la versión enterprise lo que a nosotros nos interesa es empezar programando con php y necesitaremos hacerlo a través de apache así que lo primero que vamos a hacer es pulsar el botón start permitir acceso en el cortafuegos poner alguna contraseña de administración en caso de que en él se nos requiera y comprobar que apache se nos pone de color verde se pone de color amarillo cuando está arrancando se pone de color verde cuando está completamente arrancado y nos dice y nos en forma que va a usar los puertos 84 43 de nuestro sistema operativo hay veces en las que puede ocurrir que apache no arranque correctamente cuando apache no arranca correctamente en el 90% de los casos es porque hay algún otro programa algún otro software que está usando el puerto 80 y por tanto apache no arranca si no tiene a su completa disposición este puerto el 80 los dos programas que más he visto que se interfieren con apache son en primer lugar skype el programa de mensajería y en segundo lugar internet information services que es un sistema de gestión de servidores web de microsoft entonces sí vamos a arrancar apache debemos asegurarnos de que tanto skype como information services como cualquier otro programa que usa el puerto 80 están correctamente apagados y el puerto 80 liberado una vez que el samp está instalado es importante que comprendamos una cosa y es que hemos convertido nuestro ordenador en un pequeño servidor web y podemos empezar a escribir scripts en php pero no podemos hacerlo en cualquier carpeta del disco duro sólo lo podemos hacer en una carpeta concreta dentro de la carpeta de instalación de sham y esa carpeta es la siguiente voy a abrir el explorador de windows voy a ir al disco duro ce que es donde he instalado este servidor voy a entrar dentro de la carpeta jump y dentro de la carpeta es que hay una sub carpeta llamada ht docs solo puedo escribir scripts en php y que funcionen dentro de esta carpeta a continuación vamos a comprobarlo en primer lugar me haré una carpeta llamada aprendiendo php pero no la voy a hacer todavía vamos a ver por qué voy a abrir un navegador y otra cosa que voy a explicar es que para acceder a esta carpeta ht docs no tenemos que poner 0 2 puntos camps h docs incorrecto lo que tenéis que hacer es poner la palabra mágica localhost poner localhost equivale a decir que quiero entrar en champ hd hd box pero no como carpeta sino como un servidor web por tanto para trabajar con html y css no importaría pero trabaja para trabajar con php importa que cada vez que queramos entrar dentro de esa carpeta lo hagamos poniendo localhost en este caso localhost tiene una redirección hacia la carpeta sham que tenemos aquí la carpeta sam tiene un archivo llamado splash punto php de dónde ha salido todo esto todo esto son archivos de ejemplo archivos demuestra que tienes nada más instalarse vamos a acceder a la pantalla principal de sham evidentemente vamos a hacerlo en español simplemente deberíamos estar viendo esta pantalla pero no voy a hacer nada de momento con esta pantalla esta pantalla simplemente si la estoy viendo me informa me confirma que el santo está correctamente no solo instalado sino también arrancado lo que voy a hacer ahora es poniendo poner lo siguiente voy a poner localhost barra aprendiendo php si ahora pulso entre lo más normal es que el sistema me diga objeto no localizado porque el llamado a una carpeta localhost apareciendo php y que valera decir champ htd ox aprendiendo php pero esa carpeta no existe así que lo que voy a hacer a continuación va a ser crear una nueva carpeta llamada aprendiendo php si ahora recargo el servidor me sacará un mensaje parecido pero no igual será recargo esa carpeta existe ya no me dice que no he encontrado el objeto pero sin embargo me dice que está vacía evidentemente está vacía desde el primer momento en el que acabo de crear la carpeta pero todavía no he puesto contenido dentro de ella crear un archivo php que al final es un archivo de texto plano es realmente sencillo si estoy en windows simplemente tengo que pulsar botón derecho archivo nuevo documento de texto y tengo que hacer un archivo que atención se llamará como queráis que voy a empezar creando un archivo llamado uno php o index php le quiero cambiar la extensión y ahora lo que debo hacer es editar este archivo con un editor de texto en mi caso voy a usar edit como editor de texto polivalente en este caso quería decir para editar cualquier tipo de documento así que si ahora recargo la página veré que no pone nada porque cuando entro dentro de una carpeta el programa lo que hace es ejecutar el archivo que se llama index php y dentro de este archivo index php vamos a empezar a empezar a escribir nuestro código yo puedo poner hola perfectamente y si guarde recargo veré que pone hola en la pantalla y esto ocurre porque dentro de un archivo php no todo lo que escriba va a ser php sólo por tener la extensión php no quiere decir que lo que haya dentro sea php si yo no digo nada el programa entiende que esto que acabo de escribir es html y en html podríamos decir que se vale poner hola y no causa ningún error por tanto no sólo vale no sólo basta con crear un archivo con extensión php sino que además tengo que poner las siguientes llaves de apertura y de cierre en primer lugar voy a hacer en la tipografía un poco más grande porque hoy probablemente no voy a estar escribiendo demasiado código al principio y voy a poner menor que interrogante php y para acabar pongo interrogante cerrada y mayor que la cuestión es que entendáis que todo lo que esté entre esa etiqueta de apertura y la etiqueta del cierre va a ser php demostración pongo esto aquí y no pasa nada guardo recargo pongo esto aquí y no pasa nada si selecciona ese texto y lo pongo después pongo esto aquí y no pasa nada pero qué pasa si pongo esto dentro de las etiquetas php cuidado aquí las reglas son diferentes y de hecho son más estrictas que en html y lo que tendría es un error y me diría no entiendo qué quieres decir con esto dentro de esta línea comete un error por lo menos tiene un poco el detalle de decirnos de qué va el error y en qué línea se encuentra pero es un error en definitiva así que mucho cuidado porque todo lo que escribamos dentro de estas líneas tiene que estar en formato php vamos a empezar con la línea más sencilla que podemos encontrar en php vamos a empezar con la instrucción más sencilla no por ello es la menos usada más bien al contrario se usa muchísimo que es la instrucción eco eco básicamente quiere decir dime algo en la pantalla así que echo comillas punto y coma muy importante el punto y coma para finalizar cada una de las líneas en php y digo esto es texto dentro de php también muy importante las comillas para diferenciar una cosa que es el tipo de cadena con la que estamos trabajando ahora hablaremos de esto así que guardó recargo y dice esto es texto dentro de php si cometo algún error tendré problemas por ejemplo os escribo mira no sé qué sé que si por ejemplo no pongo comillas el programa dirá no entiendo eso que estás escribiendo si no pongo punto y coma el programa puede generar error curiosamente en este caso concreto ahora mismo no generaría error porque es la última instrucción antes de la etiqueta de cierre pero en cualquier otra parte del programa sí que generaría error por eso es importante que nos acostumbremos sea como sea siempre a poner punto y coma al final de cualquier instrucción dentro de php para que el resultado en pantalla sea el correcto y por último dentro de este vídeo voy a recordaros algo que os he dicho antes y es que la información viaja hasta el navegador y se convierte en html esto quiere decir que si ahora vengo al navegador pulso botón derecho y le digo que quiero ver el código fuente de la página no voy a ver ningún php de apertura no voy a ver ningún php de cierre ni voy a ver un echo simplemente voy a ver esto es texto dentro de php es decir lo que hace php en el servidor tomar el script convertirlo en html y lanzarlo hacia el cliente en formato html eso está muy bien porque digamos que el servidor está escondiendo todo el código php y eso hace que php e sea el lenguaje preferido y por excelencia para programar la parte segura de una aplicación web para programar la conexión a la base de datos la gestión de la información y saber que esa información siempre se va a quedar en el servidor y nunca va a viajar al cliente a menos que alguien la jaque por supuesto pero en principio pensemos que esto no pasaría un elemento imprescindible dentro de php son las variables por eso me voy a crear un nuevo archivo dentro de esa carpeta documento de texto llamado variables php y por supuesto atención todos a la pantalla muy importante lo voy a mover al editor pero no lo voy a mover al navegador porque de esa manera no lo estaría abriendo a través de lo que al host no estaría abriendo directamente como archivo es lo que no quiero así que lo que haré si ese archivo está dentro de aprendiendo php voy a cargar variables punto php voy a comprobar que estoy trabajando con el mismo archivo yo soy el archivo correcto cuando recargo yo soy el archivo correcto así que si ya lo hemos visto correctamente ya sabemos que abrimos y cerramos la etiqueta php las variables son contenedores de información y además en este caso os voy a decir que php es un lenguaje débilmente tipificado eso quiere decir que hay otros lenguajes de programación que son todavía más complejos o más difíciles de usar o más propensos a errores que php en los cuales cuando declaras una variable además tienes que declarar el tipo de variable que es como por ejemplo en ce o como por ejemplo en java pero php no es así php es algo menos estricto en ese sentido lo cual nos va a hacer más fácil escribir código aunque la no tipificación de datos va a ser que php pueda no ser tan eficiente en el uso de la memoria como otros lenguajes de programación bueno en primer lugar cómo se declara una variable primero pongo dólar con dólar específico que lo que voy a declarar a continuación es una variable a continuación pongo el nombre de la variable por ejemplo mi bar mi variable puedo poner mi bar 1 pero no puedo poner uno mi bar hay una condición y es que las variables no pueden empezar por número no deben empezar tampoco por bajo pero puedo poner mi bar 1 o puedo poner mi bar 1 de momento voy a poner mi bar a continuación espacio el espacio es simplemente por motivo estético podría ponerla a continuación pongo un igual y después del igual tengo que poner el valor de la variable en este caso os voy a decir que dentro de php distinguimos fundamentalmente de los tipos de datos hay muchos más pero estos dos son los principales uno los tipos de datos numéricos y dos los tipos de datos de cadena un tipo de dato numérico es este es 5 y cuando pongo 5 cuando pongo un dato que quiero que sea un número lo pongo sin comillas cuando quiero poner un tipo de datos que sea una cadena una cadena es una cadena de caracteres alfanuméricos es decir un conjunto de letras y números lo pongo entre comillas puedo poner un número entre comillas pero no puedo poner una cadena sin unas comillas ahora lo divertido sería ver qué es lo que ocurre cuando recargo en la pantalla bien lo que ocurre es nada que yo haya creado una variable que yo haya guardado datos una variable no quiere decir que tenga que ocurrir algo necesariamente por pantalla simplemente quiere decir que la memoria del servidor se ha guardado la asignación de que mi bar vale 5 ya está mirar vale 5 primeros saques por pantalla si queréis sacarlo por pantalla simplemente podéis hacer eco me va ya sabéis que con mi bar echo sirve para lanzar algo por pantalla mi bar es una variable que he creado antes así que qué va a hacer el programa cuando yo lancé con mi bar por pantalla pues va a decir hola si mi bar es igual a hola mi bar aquí pone hola pero mi bar es igual a hola o mi bar es igual a 5 en este caso lo que he hecho lógicamente y cuando digo lógicamente quiero decir según la luz el programa es que en primer lugar le ha asignado mi bar es igual a 5 pero a continuación lo que he hecho es reasignar la variable cambiar el valor de la variable y ponerle hola si antes mi bar valía 5 y ahora de repente vale hola lo que vale es lo último que le diga fijémonos todos que dentro de la palabra variable variable quiere decir que su valor puede variar y de hecho suele variar hay otro elemento en php que son las constantes que son declaraciones que no van a cambiar de valor no se usan mucho en php aunque tengo que decir que su utilidad está muy clara porque gastan menos memoria que las variables se reserva más memoria en el servidor por gastar una variable que una constante nuestra pregunta podría ser bueno pero de cuánta memoria estamos hablando mi respuesta podría ser que a este nivel no mucho al nivel de usar una variable y cambiar el su valor a mitad de ejecución de un programa la memoria que usamos en el servidor podría despreciable prácticamente de algunos bytes quizás algún k si llega pero claro debemos empezar a ir pensando qué pasará cuando creemos programas complejos que no tendrán una variable sino que podemos tener decenas de miles de variables malgastar un poco de memoria en una variable no pasa nada malgastar un poco de memoria en diez mil elementos diferentes a ella la cosa puede ser diferente trabajamos ahora con un elemento llamado operadores los operadores nos permiten realizar operaciones con cadenas en primer lugar voy a quitar esta segunda asignación me voy a quedar con mi bar porque curiosamente lo que me interesa es trabajar en primer lugar con operadores matemáticos voy a quitar de hecho mi bar ya que se puede trabajar con operadores matemáticos y a la vez con variables pero quiero separar los dos conceptos así que voy a empezar trabajando únicamente con un eco lo que puede hacer es poner un comentario y al poner un comentario lo que he hecho es desactivar simplemente esta línea los operadores más sencillos dentro de php son los operadores matemáticos así que dentro de los operadores matemáticos el primero que tenemos es el operador aritmético de suma representado con el signo más así que echo 5 + 5 lo que nos dice en la pantalla es 10 esto una vez más y yo siempre lo digo he llegado a este punto para mi marca la diferencia entre un lenguaje de marcado y un lenguaje de programación qué pasa dentro mute ar esta línea que pasa así dentro de html pongo 55 html no es un lenguaje de programación es un lenguaje de marcado así que html te dice tú ves el 5-5 yo te digo 55 no te digo ni más ni menos pero php es otra cosa nc es un lenguaje de programación así que cuando le dices 5 + 5 lo que realmente te dice es 10 es decir es capaz de tener una entrada realizar un cálculo y devolverte una salida una demostración si queréis muy sencilla de la diferencia entre un lenguaje de programación y uno de marcado pero no por ello menos útil bien hemos dicho que por tanto el signo más es la suma el guión es la resta por tanto 5 menos 5 es igual a 0 al igual que prácticamente en cualquier programa de ofimática que podáis conocer el asterisco sirve para multiplicar por tanto 5 por 5 es igual a 25 y al igual como prácticamente cualquier programa de ofimática que puedes usar la barra que obtenéis pulsando mayúsculas y 7 es la herramienta para dividir así que 5 entre 5 es igual a 1 hay varias en varias herramientas aritméticas más a mí me gustaría destacar una que es el porcentaje que no es realmente sacar el porcentaje sino es el resto entero de la división cuánto es 6 partidos 4 en este caso seis partidos cuatro el resto entera de la división evidentemente nos da dos porque seis entre cuatro cabe a una y sobran dos así que el resto entera de la división simplemente se trabaja mediante el porcentaje podréis pensar ahora mismo que quizás no sirve para nada pero más adelante veréis especialmente en algunos casos como tienda online en que esta herramienta nos va a venir muy bien dos operadores con los que vamos trabajar a continuación son el de incremento y el de decremento para esto voy a volver a activar mi bar y voy a hacer que mi bar sea igual a 5 así que echo mi bar el resultado en pantalla es 5 ahora en una línea intermedia voy a poner mi bar plus dívar plus es el operador de incremento concretamente el de post incremento y si ahora guardo me dice que vale 6 que ha pasado aquí cuando yo le pongo algo más más le aplicó un operador de incremento y esto equivale a decir toma lo que valía y suma de 1 así que 5 en este momento mi barba de 5 llegados a esta línea a mi bar vale 6 cuando recuperó mirar por pantalla mi bar vale 6 no existe el operador de doble poste incremento por tanto si digo más más más más de puesto 5 de hecho el programa lo que hará es error error de sintaxis decirle más más al igual que decirle menos menos que es el operador de incremento si os fijáis equivale a esto bueno 5 decremento le quitó una unidad por tanto me queda 4 poner por ejemplo más más equivaldría a la fórmula más larga pero servible pero válida que es mi bar es igual a mi bar más 1 yo valgo lo que valía más 1 así que en este caso mi bar es igual a mirar más uno es igual a 6 en este caso por tanto podríamos usar ahí si más 25 27 538 y así es esta la única manera de hacer incrementos superiores a 1 no hay una fórmula abreviada que al principio suele costar bastante de atrapar que es la siguiente si le quiero sumar un valor ya sabemos que le pongo más más y ya está pero si le quiero sumar tres valores pongo más igual 3 me va más igual 3 es igual que decir coge lo que valiera y sumarle 3 mirar menos igual 3 es igual a decir coge lo que vale lo que valiera y restarle 3 por tanto en este caso de 5 pasamos a 2 un operador muy especial sigo trabajando dentro de variables voy a cambiar a un archivo nuevo llamado operadores y me hago un archivo nuevo los llamo operadores punto php lo cargo y ya sabéis que no lo cargo aquí directamente sino que lo llamo operadores creadores php abro la etiqueta de código php y escribo lo siguiente voy a crear mi bar 1 es igual a hola mi bardos es igual mundo lo que yo quiero ahora es ver las dos variables una después de otra que podría hacer lo siguiente echo mi bar 1 seco mi bardos y técnicamente sería correcto se hará guardo y recargo comprobamos cómo pone hola mundo pero sin embargo es repetido dos veces la palabra eco y cuando repito varias veces algo en programación seguramente hay una manera mejor de hacerlo entonces yo no puedo esta variable y ponerla a continuación simplemente porque eso no funciona guardó recargo y error de parcheado no puedo separarlas con un espacio porque no quedó mejor sino que queda exactamente igual hay un operador que en php se llama operador de concatenación que existe en muchos lenguajes de programación que es el punto debo decir que php que es un lenguaje que deriva de cee y por tanto hereda muchas de sus reglas en este caso difiere porque la gran mayoría de los lenguajes que me llevan dc el operador de concatenación es el signo más pero en cambio en php el operador de concatenación es el puntito así que si yo pongo mi bar uno millardos y ahora guarda y recargo veremos como pone ahí hola mundo yo suelo decir que el operador de concatenación es algo así me recuerda quizás sea mí solo el enganche entre varios vagones de un tren fijaos cómo puedo poner allí junto mi bar uno otra vez punto mi bardos y si os fijáis es como un pequeño tren en donde los vagones están encadenados por puntos puedo encadenar además en cualquier momento mi bar 3 es igual a 6 puedo encadenar sin ningún problema variables de tipo cadena con variables de tipo numérico vivar 3 o mirar 6 en este caso me decía que tenía una variable no definida fijaos el problema es que había creado mi bar 3 pero había llamado a mi bar 6 existe mi ver 6 no existe mi bar 6 y por tanto cuando recargo me dice estás llamando a una variable que previamente no has definido llamada mi barça así que como siempre mucho cuidado con lo que escribimos en php vamos a trabajar con otro tipo de operadores donde en este caso no voy a asignar sino que voy a comparar así que en este caso voy a decir echo 3 menor que 4 se os fijáis hay un operador que hemos estado usando hace un buen rato y que no os he dicho nada que es el operador de igual la igualdad igualdad sencilla quiere decir en php y en cualquier lenguaje de programación asignación quiere decir a un elemento en este caso una variable le asignó un valor pero qué quiere decir 3 menor que 4 en el momento en el que pongo menor que empiezo con los operadores de comparación así que en este caso lo que estoy preguntando es si acaso es cierto que 3 es menor que 4 el resultado depende un poco de cada servidor hay servidores que me dicen tú hay servidores que me dicen uno entonces en este caso válido y me encuentro que me dice uno ahora voy a poner porque es cierto que 3 en menorca 4 ahora voy a poner mayor que lo que estoy preguntando es cierto que es mayor que 4 no es cierto entonces hay algunos servidores donde ponen false hay otros servidores que ponen 0 y hay otros servidores que no ponen nada por tanto vamos a verlo en este caso y en este caso este servidor es de los que no ponen nada no es un error simplemente es una falsedad si el signo igual un signo igual es de asignación el doble signo igual es de comparación lo que estoy haciendo es preguntar es cierto que tres es igual a 4 así que recargó y dice que no es cierto porque no dice nada es cierto que 4 es igual a 4 en este caso dice 1 porque es cierto y ahora una pregunta trampa es cierto que 4 es igual a 4 con comillas bueno pues en este caso rosca que sí que es cierto porque la igualdad con doble igualdad solo está contemplando el valor de los datos no el tipo de los datos en este caso ya sea mediante un número o mediante una cadena de caracteres alfanuméricos lo cierto es que el valor es 4 es cierto que esto es un número y esto es una cadena pero finalmente el valor es 4 por eso si comparo con doble igualdad el resultado de acierto porque da 1 hay un tercer método no muy usado en php pero que de vez en cuando os lo podéis encontrar que es la triple igualdad que es la igualdad de estricta lo que está preguntando es si por una parte el valor es el mismo y por otra parte el tipo de datos es el mismo así que en este caso evidentemente el valor es el mismo pero el tipo de datos no lo es ya que no es igual un número que una cadena así que guardo y recargo y en este caso me dice que es falso los menor que y mayor que se pueden combinar con iguales por ejemplo puedo poner menor que voy a poner un número es cierto que 4 es menor o es igual a 5 bueno no es igual pero sí que es menor por tanto el resultado es 1 es 5 es cierto que 5 es menor o igual que 5 no es menor pero sí que es igual por tanto 1 es cierto que 6 es menor o igual que 5 ni es menor ni es igual por tanto el resultado no tiene más remedio que ser cero que ser falso cuidado mucho cuidado porque se pone menor que pone menor o igual o se pone mayor o igual no se pone igual o mayor simplemente porque en php en la parte de programación orientada a objetos este símbolo quiere decir algo específico que no es igual o mayor por tanto pondremos siempre mayor o igual es cierto que 6 es mayor o igual que 5 es mayor aunque no sea igual es cierto que 6 es mayor o igual que 6 no es mayor pero es igual y por último un carácter muy divertido es la negación que se expresa con el símbolo de admiración en este caso lo que estoy preguntando es es cierto que 6 no es igual a 6 no es cierto porque sé y sí que es igual a 6 por tanto el resultado es verdadero es cierto que 6 no es igual a 7 en este caso es cierto también existe la negación inversa estricta es cierto que 6 no es igual a 7 también con el tipo de datos en este caso es cierto es cierto que 6 no es igual a 76 un número 7 es una cadena en este caso no es cierto mira verdad también cierto aclaró porque bueno ahí tendría que ver qué está pasando porque no puede ser que uno sea verdadero y otro sea falso pero en fin sea como sea con el doble con la doble designación de igual y con la admiración siempre lo que vamos a hacer es indicar la negación de cualquier elemento parece que no lo vamos a utilizar pero os aseguro que en el desarrollo de aplicaciones web usaremos muchas veces el signo de admiración para decir la negación porque la negación muchas veces es el grupo complementario a una afirmación vamos a continuación ahora sí con los operadores julianos y los operadores bull ya nos me permiten evaluar parejas o grupos de afirmaciones de expresiones mirad lo que vamos poner un paréntesis para trabajar mejor el contenido de cada una de las expresiones y voy a poner dos tipos de operadores bull ya nos realmente hay tres pero vamos a usar dos que son los principales en primer lugar tengo el operador and el operador am me pregunta si es cierta una expresión y si también es cierta la otra es cierto que uno es igual a uno y que tres es igual a tres en ese caso guardo recargo y el resultado da 1 porque es cierto que esto es cierto y también es cierto que esta parte de aquí es cierta pero es cierto que uno es igual a 2 y también que 3 es igual a 3 bueno es cierto que 3 es igual a 3 pero uno no es igual a 2 por tanto el resultado global en la pantalla es falso las operaciones julianas nosotros nos sirven para validar parejas de expresiones sino que también nos permiten validar tríos cuartetos o lo que queramos 4 es igual a 4 en este caso es cierto que uno es igual a 2 y que 3 es igual a 3 y que cuatros igual a 4 guardo recargo y sigue sin ser cierto porque con los operadores juliano ese tipo todos todas las expresiones tienen que ser ciertas para que la global sea cierta con una que no sea cierta la global ya no es cierta ocurre algo diferente con el operador volea no por el operador booleana por cuyo símbolo es el vertical pipe que se saca pulsando al xerez y el número 1 del teclado se ponen dos países para poner uno se pone primero pulsar la tecla al xerez del teclado y luego pulsar las dos veces el número uno y en el teclado por lo menos con distribución en español sale el vertical type que probablemente es una barra que no lo hemos usado nunca solo para maquetar algún documento visualmente pues lo que nos está preguntando en este caso es es cierto que uno es igual a dos no es cierto o bien es cierto que tienes es igual a tres es así o bien es cierto que 4 es igual a 4 mientras que el operador william o andy requiere que todas las expresiones sean ciertas el operador william o con que una sea cierta es suficiente así que en este caso aunque esta de aquí no es cierta como esta de aquí sí que lo es y ésta también lo es finalmente el resultado en pantalla el resultado final hasta ahora estamos trabajando con conceptos bastante abstractos y puede parecer que no sirven para nada pero más allá nada más lejos de la realidad y es que vamos a ver a continuación con las estructuras de control como nos apoyaremos en las expresiones especialmente en las búlgaras para poder definir estructuras de control que es una estructura de control una estructura de control es una parte de php una parte de cualquier lenguaje de programación que se encarga de designar por dónde va el programa por donde se va ejecutando y por tanto nos permite por ejemplo tomar decisiones hay dos tipos de estructura de control están las estructuras de control condicionales y están las estructuras de control de tipo bucle así que voy a hacer una primera estructura de control en este caso se llama y es una estructura de control de tipo condicional y la estructura de control de tipo condicional llamada if dice lo siguiente y expresión expresión evidentemente de pseudo código verdad no es código real pongo código que ejecutó si la expresión es cierta alternativamente opcionalmente puedo poner el y pongo el código que ejecutó la expresión es falsa así que básicamente una estructura de control tiene esas piezas primero válido la expresión si la expresión es cierta en este caso ejecutó un código si no ejecutó otro esto que acabo de escribir es pseudo código no es código realmente es una mezcla entre el código y el lenguaje humano que nos sirve para aprender una parte del lenguaje voy a poner todo este código dentro de un comentario lo voy a desactivar y ahora voy a hacer un trozo de código real voy a decir edad es igual a 35 y ahora escribo lo siguiente si edad es menor que 20 voy a poner 30 por ejemplo si edad es menor que 30 echo eres un joven en caso contrario en caso de que la expresión no sea cierta eco ya no eres tan joven hasta ahora hemos escrito programas que ejecutaban el código desde arriba para abajo línea por línea pero en este caso tenemos una estructura de control y eso quiere decir que la estructura de control va a hacer un poco de filtro y va a decidir qué partes del programa así que se tienen que ejecutar y qué partes del programa no se tienen que ejecutar así que en este caso vamos a repasar lo tenemos que la variable edad es igual a 35 es cierto qué edad es menor que 30 en este caso no lo es sí es cierto se ejecutará esta línea pero si no lo es esa línea no se ejecutará y se ejecutará esta de aquí guardo y recargo comprobaremos bien en este caso era cuidado tengo un error se ha usado una constante edad esto es porque se me ha olvidado poner el dólar ahora sí así que ahora recargo y dice ya no eres tan joven qué pasaría si por ejemplo dijera edad es igual a 25 en este caso es cierto qué edad es menor que 30 si por tanto ejecutaría este código de aquí y no ejecutaría este código de aquí guardo recargo y dice eres un joven como podemos ver las estructuras de control if nos permiten especificar nos permiten elegir nos permiten introducir un criterio para ver qué partes del programa en un momento dado sí que se van a ejecutar y qué partes del programa no se van a ejecutar las estructuras de control y al igual que la gran mayoría de estructuras de control dentro de php admiten la anidación la anidación a la larga se considera una mala costumbre dentro de la programación pero este será a la larga hoy estamos aprendiendo nuestra primera estructura de control y por tanto nos interesa saber que al menos se puede anidar que de cara al futuro sea conveniente o no ya es una discusión diferente así que yo hasta ahora si os fijáis realmente tengo tengo dos rangos tengo el rango de si eres menor que 30 te digo una cosa si eres mayor te digo otra son dos rangos diferentes pero yo ahora quiero poner cuatro rangos así que lo que voy a hacer es poner un if dentro de otro y fijémonos que estoy trabajando con las sangrías para que veáis claramente quién está dentro de quien por cierto que en php las sangrías al igual que en muchos otros lenguajes derivados de fe son puramente visuales no son funcionales podríamos no poner sangrías pero convendrán conmigo que en este caso poner sangría nos ayuda a saber quién depende de quién así que sí edad es menor que 30 pero ahora cuidado para quiere decir y a su vez si edad es menor que 15 diré eco estas he hecho un chaval si no aquí las cosas se empiezan a complicar un joven else voy a poner su edad es menor no sé de 55 o 60 no sé eco ya no eres tan joven tels seco ya eres todo un señor me van a causar algún problema pero bueno no pasa nada en este caso por tanto tengo anidadas cuatro condiciones y digo lo siguiente edad es menor que treinta y además dentro de que es menor que treinta además es menor que quince por ejemplo edad es igual a 12 en este caso diré que estás hecho un chaval pero edad por ejemplo es 18 en ese caso se cumplirá qué edad es menor que 30 pero no se cumplirá qué edad es menor que 15 por tanto nos dirá eres un joven esto globalmente es cierto pero esto no es cierto luego va a ejecutar esta línea de aquí en el caso de que igual edad sea llegó a la 38 es cierto que edad es mayor que 30 pero no es cierto que edad sea perdón sí que es cierto que edad sea menor que 55 por tanto ejecuta esta línea de aquí en el caso en que diga por ejemplo 68 comprobaremos cómo dirá ya eres todo un señor con el problema de las en es por la etiqueta tf8 pero eso ya es un problema de html no de php y en este caso como veis no se ejecutará esta cuarta línea de aquí por tanto el mensaje de la moraleja es que se pueden anidar estructuras de control y dentro de php pero también veréis que otra de las moralejas es que siempre que podáis no lo hagáis porque el código anidado para empezar es difícil de leer por el ser humano y para acabar también a veces es poco eficiente en la ejecución en el servidor vemos ahora otra estructura de control de tipo condicional pero en este caso vemos una que se llama switch y escribo un nuevo archivo llamado switch la estructura de condición de condición switch está pensada para cuando los casos posibles son más que dos la estructura de control y trabaja con verdadero o falso y hay muchas preguntas en la vida real que se pueden resolver con verdadero o falso pero hay otras que no por ejemplo si yo te pregunto qué día es hoy tú no me dirás verdadero o falso tú me dirás hoy puede ser lunes martes miércoles jueves viernes sábado domingo no hay sólo dos casos verdaderos o falsos posibles en este caso hay siete casos posibles así que para cuando hay más de dos casos posibles usamos una estructura de control como ya os digo que se llama switch os alegréis de qué la sintaxis es muy parecida a la estructura de control switch la expresión y digo acaso uno el código y break muy importante el break cadáveres porque caso 2 código y break y así tantas veces como haga falta esto es el pseudo código para entender el funcionamiento de la estructura de control while lo que estoy haciendo es meterlo dentro de un comentario para que se quede desactivado vamos a escribir ahora una estructura de control real digo día de la semana es una variable y voy a poner que es igual a lunes así que digo switch día de la semana en caso de que sea lunes pongo eco hoy es el peor de la semana y no os olvidéis de un break al finalizar dejadme que baje un poquito el tamaño de fuente para que todo lo que para dentro de la misma línea cage martes atención que esto de aquí no es punto y coma sino que son dos puntos esto sí que es punto y coma pero después del caso vienen dos puntos y digo echo hoy es el segundo de la semana y un break al final de cada uno de los casos miércoles los puntos seco ya estamos a mitad break keys jueves ya casi casi break qué es viernes tco un día fantástico break podríamos trabajar también atención con sábado dos puntos aquí muchas veces os equivocáis el mejor día de la semana y por último es domingo seco el lunes se acerca break hay otro caso posible que yo os recomiendo poner que es default default es qué pasa si alguien me dice cualquier otra cosa ahora veréis echo lo que has introducido no es un día de la semana vamos a verlo en este caso lo que voy a hacer por tanto en este caso es decir día de la semana es igual al lunes por tanto que es día de la semana si es lunes ejecuta hoy es el peor día de la semana si yo pongo martes revisa ese día de la semana va a caso por caso y dice hoy es el segundo el peor el segundo peor día de la semana si yo pongo sábado y hoy es el mejor día de la semana como veis es un código de toma de decisiones que sólo ejecuta uno de los casos qué pasa si pongo longaniza esta estructura de control está pensada para tomar lunes martes miércoles jueves viernes a domingo pero no longaniza por tanto longaniza entra dentro del default de fault es cualquier cosa que no sea un caso normal es default y por tanto dice longaniza lo que has introducido no es un día de la semana los ‘breaks’ son importantes mirar lo que voy a hacer a continuación voy a eliminar los ‘breaks’ más que eliminarlos porque no me gusta eliminar nada lo que voy a hacer es mute ar los lo que voy a hacer es esconderlos así que guardo recargo y fijaos que si pongo el lunes guardo y recargo y me dice hoy es el peor día de la semana hoy es el segundo ya estamos a mitad ya casi casi porque lo que ha hecho se ejecutará el lunes pero como no hay un break ha seguido ejecutando en línea línea línea línea hasta el final el break sirve para decirle ya se ha ejecutado esta línea break rompe esta estructura salte de la estructura no continúe ejecutando nada más porque no hace falta y eso sí puedes continuar ejecutando el resto del código que venga a continuación del programa seco el resto del código con el resto de instrucciones que consideren necesarias hoy es el peor día de la semana y después el resto del código una vez que hemos visto estas dos estructuras de control condicionales vamos a empezar con otras estructuras llamadas de bucle son también estructuras de control como it y como while pero hacen otra cosa ahora veréis un poco diferente primero vamos a empezar con una estructura de control llamada while cargo a él en el editor cargo baile en el servidor y escribo el siguiente código escribo while condición como digo que ejecutó todo esto es el código así que lo voy a desactivar y ahora voy a poner lo siguiente mi bar es igual a 5 así que mientras sea cierto que mi bar es menor que 10 en ese caso echo me voy a ejecutar de hecho voy a poner me voy a ejecutar con ver para intercalar una etiqueta html de retorno de carro si ahora guardo y recargo nosotros ahora mismo igual no lo veis pero acabo de colgar el servidor porque ocurre lo siguiente lo que acabo de hacer ahora mismo en la pantalla se llama bucle de ejecución infinito por una razón muy sencilla guardo recargo voy a dejar un món de zeraín a ese trozo de código salido dentro de 32 de acción a finalizarse se continúa ejecutando este infinito razón muy sencilla igual si quieres que sea cada 10 dime me voy a ejecutar llegó aquí mi madre es menor que 10 si me ejecutó vuelvo es cierto que me ver es menor claro no sigue siendo ejecutó aquí vuelvo aquí es cierto que mi bar es menor que 10 cierto se vuelve a ejecutar y por tanto como el valor de mi bar nunca llega a cambiar lo que ocurre realmente es que el bucle se ejecuta de manera infinita como ya os digo de manera infinita a los servidores normalmente tienen un límite de 30 segundos de ejecución por script hasta que lleguen esos 30 segundos o el tiempo que apache tenga estipulado y simplemente la ejecución se detendrá simplemente llegar a ese script y el servidor devolverá un mensaje en el que dirá finalizado el script tras 30 segundos de tiempo máximo vamos a verlo si no lo paró yo manualmente y en este caso esta instrucción de sam parece que tiene algo más de 30 segundos de límite bien para evitar esto tengo que hacer algo muy sencillo dentro del bucle while pongo mi bar + + es decir utilizo un operador de incremento que me está colgando el servidor lo que apunto es abrir una pestaña nueva y ocurre lo siguiente me ejecuta ese bucle únicamente cinco veces vamos a ver por qué y barça igual a 5 es cierto que mi bar es menor que 10 sí que es cierto así que me voy a ejecutar mi bar más más cuanto vale ahora a mi bar vale 6 porque mi bar más malas le ha sumado un valor es cierto que mi bar 6 es menor que 10 cierto pues me ejecutó otra vez llevar más más ahora vale 7 la siguiente vez que pasó por aquí vale 8 la siguiente que pasó por aquí vale 9 la siguiente vez que pasó por aquí 10 así que cuando me vale 10 la siguiente vez que lo intenta ejecutar dice es cierto que mi bar es menor que bien es cierto que 10 es menor que 10 no es cierto y al no ser cierto se para la ejecución continuó con el programa y tras salir de ese bucle continúa con el resto del código las estructuras de control de tipo de tipo bucle como veis son estructuras que se encargan de repetir varias veces una cierta porción del código en este caso tenemos un caso especialmente desfavorable que es un caso en el que si no hemos tenido cuidado hacemos un bucle infinito hay veces veces concretas en las que nos interesan los bucles infinitos pero ahora mismo coincide que no una estructura muy parecida a wilde es la estructura llamada aforo podríamos decir y esto es simplemente una manera de hablar que la estructura foro es algo así como la hermana mayor de la estructura while mirar por qué la estructura foro es cierto que se declara poniendo por paréntesis y llaves por es la expresión pero la expresión es compleja es el inicio punto y coma el final punto y coma cuidado con la palabra final porque esa palabra reservada de php es final no debería usar y el incremento el código que ejecutar esto es pseudo código y vamos a verlo ahora ha demostrado a mí siempre me gusta mucho hacer este ejercicio mirar digo four un día entendiendo día del mes es igual a 1 el primer día del mes es el día 1 punto y coma día es menor o igual que 31 supongamos un mes de 31 días punto y coma día más más y ahora digo echo hoy el día punto para encadenar día punto del mes espacios para maquetar correctamente vamos a ver que nos saca esto en pantalla un retorno de carro html y el resultado es este de aquí hoy es el día 1 del mes 2 3 4 5 6 7 8 9 y 10 y así con el resto de días hasta el día 31 así que que nos permite hacer el bucle for si os fijáis el bucle for es muy parecido al bucle while pero tiene una diferencia y es que con el bucle while la declaración inicial la he tenido que hacer fuera y el incremento lo he tenido que hacer dentro del código en cambio el bucle foro podríamos decir que es algo así como un poco más avanzado porque dentro del mismo paréntesis almacena tanto el inicio como el final como el incremento esto de que el bucle for es más avanzado que el buque vamos a ver otro bucle de control otra estructura de control de tipo bucle está podría denominarse una estructura de control tonta pero que ahora veréis que tiene su razón de ser es una estructura llamada wu while dubai php lo cargo en el editor lo cargo en el navegador y vais a ver que dubai es como una variación de wilde pero con una diferencia primero se dice y se escribe el código que se ejecuta y luego se escribe while y se pone la condición de ejecución como veréis esto nos va a causar un problema mirad la atención yo digo persona igual a inocente la persona puede ser culpable o inocente así que yo ahora digo tú tco dispara while inocente perdón baile persona sea igual culpable y por cierto en la estructura de control de tipo while a diferencia del resto de estructuras de control que hemos visto hasta ahora se acaba con un punto y coma esto no es necesario en las estructuras que hemos visto hasta ahora sólo es necesario en uruguay atención la persona es inocente deberíamos disparar si persona es culpable entonces dispara deberíamos disparar si la persona es inocente no hay un problema tco dispara y es que con el bucle de while primero se ejecuta dispara y luego se pregunta claro cuando se pregunta ya es demasiado tarde porque ya se ha ejecutado el código si quieres no se volverá a disparar pero ya es ejecutado al menos una vez al entonces while primero pregunta y si es cierto entonces ejecuta uruguay el primero ejecuta y luego se pregunta que seguía siendo cierto vuelve a ejecutar que era falso no te ejecute es más por una vez sí que lo es ejecutado para qué sirve esta estructura de control cierto es que no se usa todos los días pero tú por ejemplo imagínate que haces el buscador de productos una tienda online cuando alguien busque un producto y no haya ningún resultado en lugar de enseñarle nada por lo menos enseñar un producto el du wild lo que haría es ejecutar una vez enseñarle un producto y si luego no hay más productos no enseñe nada más pero por ejemplo en este caso podríamos decidir que más vale enseñar un producto que mostrar un resultado de una búsqueda igual a cero sin nada sin productos un ejemplo un poco de andar por casa de para que nos podría servir un poquito igual sirve para muchas cosas más a continuación vamos a hacer un ejercicio para poner en práctica los conocimientos que hemos aprendido hasta ahora y para ello vamos a hacerlo creando un ejercicio llamado calendario por tanto voy a crear una página llamada calendario punto php técnicamente aunque esa página se llama el calendario no tengo por qué escribir todo en php así que incluso en este caso en este ejercicio no voy a escribir la etiqueta doc type voy a escribir la etiqueta de apertura de gm voy a escribir la etiqueta de apertura de body cuidado porque el gel se me hace raro mal y ahora por aquí voy a poner meta char set es igual a efe jon 8 title voy a poner calendario más que nada para demostraros de paso que hacemos este ejercicio cómo podemos mezclar perfectamente html y php guardo recargo y ahora voy a hacer un calendario y para hacer un calendario voy a hacer lo siguiente viva klaus vía y de es igual a 1 y digo por ejemplo hoy es el día 1 si quieres lo voy a poner en una sola línea para verlo mejor guardó recargo día 1 un poquito de estilo me permitirá es decir que todo aquello que sea de la clase día tendrá un wifi de 50 píxeles un raid de 50 píxeles y un borde de un pixel solid black guardo recargo y tengo ahí como un día del calendario como un cuadradito si yo no supiera php y quisiera hacer un mes entero yo sé que tendría que venir aquí y empezar a copiar 1 2 45 1 2 3 4 y 5 ahora ahí tengo cinco días déjame que además al día le ponga a flote left y tengo ahí los cinco días laborables de la primera semana del mes pero ahora empezará a imaginar y empezar a imaginar que no supiera php y que por tanto tuviera que escribir los 31 días del mes manualmente ahora imaginaos que en lugar de escribir un mes quiero un año entero y tengo que escribir 365 líneas con el calendario cuando ese momento llega cuando tengo que repetir demasiadas cosas es cuando pienso que ahí quizás me podría ayudar así que hago lo siguiente dentro del body porque en cualquier parte de html puede intercalar body tengo una etiqueta de apertura y de cierre de php y quiero que algo se repita 31 veces así que digo four es igual a 1 díaz es menor o igual que 31 día más más y digo echo cuidado aquí cuidado aquí por qué voy a decir echo y corto esta línea de aquí problemas para empezar una cadena de caracteres en el php he usado las dos comillas pero cuando llego aquí me encuentro con que este objeto ya tenía dos comillas así que php cree que allí estoy cerrando estas comillas de aquí y no lo estoy haciendo este problema con php es muy común y evidentemente como os podéis imaginar nos causa un error el programa no sabe interpretar esto posibles soluciones a este problema la primera si dentro uso dobles fuera usos sencillas si dentro uso comillas dobles fuera uso comillas sencillas segunda solución si fuera uso comillas dobles dentro uso comillas sencillas y la tercera solución si estoy obligado a dentro y fuera usar comillas dobles a las comillas interiores les pongo una contra barra también conocida como carácter de escape la contra barra está diciendo estas son comillas sí pero no son comillas que cierren a estas son comillas normales así que con cualquiera de las tres soluciones comillas simples comillas dobles o caracteres de escape solucionamos el problema que tengo ahora si guardo y recargo lo que tengo vamos a verlo es un calendario un día más vamos a verlo 1 punto y coma bien está bien escrito tengo aquí a cuidado me vuelve a pasar aquí veis y arreglado estas comillas pero no estás de aquí así que con trabajo de escape y ahora si tengo un calendario de 31 días pero en los 31 días pone 1 así que lo que haré ahora simplemente va a ser escapar y encadenar día pongo primero comillas para decir que es algo de estas comillas segundo punto para decir que encadenó con una variable la variable es díaz ya la tengo una vez que tengo la variable quiero volver al interior de la cadena así qué punto comillas y vuelvo a la cadena esto es como el tren que hemos comentado antes además también voy a hacer esto mismo para este número uno si ahora guardo y recargo observaré como ya tengo un calendario que curiosamente en este caso os voy a decir que funciona de casualidad funciona de casualidad porque justo miradero no funciona la semana son de seis días entonces está cayendo al siguiente día por casualidad verdad teóricamente tendría que ocurrir eso pero claro no le estoy diciendo en ningún momento eso lo haremos a continuación que quiero saltar al séptimo día de la semana pero de momento lo que me importa es que mira atención a la pantalla es que este trozo de código me ha ahorrado ver código fuente de la página escribir todo este código por tanto esto es para lo que nos sirve php php nos sirve para automatizar el código que vamos a escribir en lugar de escribir todo eso en lugar de escribir los días día a día lo hecho simplemente con esta sencilla estructura de control de bucle esta sencilla estructura de control repetitivo dentro de php y por supuesto una vez más así como hemos visto antes vemos como cuando miro el código fuente de la página no hay ni rastro de php porque simplemente php convierte su contenido a código html y ese es el código que devuelve en la pantalla ahora mismo los días no están saltando correctamente si nos fijamos los días de hecho están saltando por simple inercia cuando llegara al final de la línea así que para arreglar esto voy a crear una estructura de control de tipo if dentro de una estructura de control de tipo for yo no os he enseñado las estructuras de control para que necesariamente las usuarios por separado las estructuras de control se pueden combinar sin ningún problema evidentemente os las enseñando por separado para separar la enseñanza pero ahora que estamos haciendo un ejercicio os voy a enseñar como si nos interesa se pueden combinar así que voy a decir lo siguiente si día la resta entre 7 es igual a 0 a 0 sin cadena en ese caso echo vive style clear dos puntos que hacía clear voz lo que hacía que ir voces deja de flotar así que le estoy diciendo en aquellos días cuyo resto de división entre 7 s a 0 ese día baja abajo 7 entre 7 cuál es el resto 7 / 7 cada una y el resto es 0 14 entre 7 cuales el resto 0 14 entre 7 es igual a 2 y el resto es 0 pero 4 por ejemplo o 13 entre 7 el resto es cero no 13 entre 7 cada una y el resto de 6 si hago esto por tanto ahora sí comprobaréis como cada siete días aparece un eco the style clear voz y obliga al calendario a bajar da igual cómo de grande o como de pequeño lo haga con esto por tanto os quiero demostrar varias cosas en primer lugar os quiero demostrar que se pueden y de hecho muchas veces se deben combinar las estructuras de control y lo otro que os quiero demostrar es como cosas que en principio parece que no tienen mucha utilidad como por ejemplo las expresiones de igualdad o por ejemplo el resto de la división entero entera sí que finalmente acaban teniendo una utilidad bastante práctica y estoy haciendo un calendario que en muchas aplicaciones web vais a encontrar calendarios quiero decir que no es un ejercicio en absoluto extraño para lo que vais a acabar haciendo una de las cosas que más nos puede costar no solo al principio sino durante el desarrollo de un programa es ver dónde empiezan unas comillas y dónde acaban por tanto la solución del carácter de escape aunque es posible no es muy recomendable al menos al principio por tanto voy a cambiar el carácter de escape para que veáis aquí y aquí qué es lo que está ocurriendo primero empiezo con un día que tiene clase igual a día y que tiene un y de igual a día problema esto de aquí es una variable por tanto como es una variable lo que hago es escapar para escapar para cerrar he empezado con unas comillas dobles aquí pongo unas comillas dobles de tal forma que esto se convierte en un bloque es una cadena de caracteres alfanuméricos ahora quiero enganchar esta cadena de caracteres alfanuméricos con esta variable pero ya sabemos que para enganchar una cosa con otra tengo que hacerlo con un operador de encadenamiento representado por el punto si os fijáis después de este esta variable tengo otro punto y vuelvo a tener una zona donde veo comillas dobles para abrir comillas dobles para cerrar tengo ahora día comillas dobles que se abren comillas dobles atención que se cierra las he puesto aquí abajo para que en html se fuerce el retorno de carro el salto de línea a la línea siguiente pero realmente es esto por tanto sólo escribo así seguirá siendo un poco lioso lo sé pero ahí lo veréis un poco mejor un truco de php que no me gusta especialmente pero hay gente que lo usa es que no es obligatorio escapar las cadenas de caracteres yo puedo poner por ejemplo vía díaz y ya está es decir dentro de una cadena de caracteres a pelo y sin decir nada más he introducido una variable de php no me gusta ese método aunque funciona porque estoy mezclando html y php dentro de una misma línea mientras que con los escapes defino correctamente que es cada cosa compruebo como recargo y funciona igual de bien aunque no me gusta especialmente esa sintaxis por tanto la sintaxis que os recomiendo aunque al principio os cause algún problema de lectura o de claridad es la de usar comillas dobles y comillas sencillas para evitar usar caracteres de escape en este caso lo que quiero hacer es marcar por ejemplo los domingos como festivo y para ello me voy a crear una clase llamada festivo así que los días que sean festivos y que tendrán background dos puntos red por ejemplo pero claro evidentemente nadie es festivo ahora mismo porque me hace falta especificar que este día y este día y este día y expedir de aquí tengan la clase festivo así que yo me pregunta a continuación que tienen en común el 7 el 14 el 21 y el 28 pues lo que tienen a continuación es que el resto de la división entera es igual a cero por tanto puedo editar un poquito el código para poner lo siguiente deep class es igual a día y ahora voy a hacer un break eco ya que lo tenemos fijaos he cogido día he cogido la línea de la clase y la he partido por la mitad y es perfectamente legal siempre que por ejemplo si aquí empiece la etiqueta aquí acabe la etiqueta es perfectamente legal aunque este partido en dos líneas diferentes puede poner incluso varios espacios no pasa nada el servidor ya la unidad si queréis guardo y recargo y comprobamos como el resultado sigue siendo perfectamente válido dejadme que baje una entera aquí para que no veáis correctamente el resultado sigue siendo perfectamente válido ahora voy a hacer lo siguiente lo mismo si día el resto de la división entera es igual pero en ese caso echo festivo para esto pues eso que acabo de hacer es esto de aquí lo que hace es que me marca los días domingo en rojo en festivo simplemente porque esto es clase día esto es clase día esto es clase día pero este es día festivo tiene dos clases la clase día y la clase festivo porque éste tiene dos clases mirad porque si vengo al código digo el día 1 es festivo no en ese caso esta línea nunca se llega a ejecutar es cierto que el resto es igual a cero no pues no ejecuté es festivo por tanto ese día día uno tiene este código y tiene este código pero no tiene este código de aquí porque la ejecución de ese código está supeditada al cumplimiento de esa condición el día 7 tiene ese día festivo tiene el resto de la división entera es igual a 0 sí pues en ese caso ese día es festivo lo que hago por tanto es primero marcar con php el día que hemos creado como festivo y luego por supuesto con css específico qué es lo que pasa para ese estilo concreto del día lo primero que voy a hacer ahora que arrancó una nueva sesión de trabajo es decir he apagado y he vuelto a encender el ordenador y pongo localhost pulso enter y me encuentro que después de haber apagado y después de haber encendido del ordenador me sale el mensaje de que localhost no me devuelve ningún resultado esto es porque al apagar el ordenador tendría que volver a arrancar el panel de control del sunp y volver a arrancar por lo menos para trabajar con php el apache ahora bien qué pasa si voy a desarrollar todos los días de manera continua con php e incluso con php mysql pues que sería bastante incómodo tener que estar todos los días arrancando nada más arrancar el ordenador el samp me gustaría por tanto que esto arrancará automáticamente cada vez que yo arranque el ordenador lo que voy a hacer por tanto es colocar apache mysql como servicios y no como programas es decir como programas que arrancan ellos solos al arrancar el ordenador y se queda en arrancador durante toda la sesión voy a arrancar por tanto un explorador de windows en primer lugar y lo que os voy a decir es que no voy a ir atención no voy a ir a buscar el samp contra el panel no voy a ir a arrancarlo de esta manera en lugar de eso lo que voy a hacer es entrar directamente al disco duro local ce me voy a ir a la carpeta champ y dentro de la carpeta samp atención voy a buscar un ejecutable que es sham control ese es el ejecutable que arranca realmente el control panel del sunp pero la cuestión está en que en lugar de hacer doble clic que lo que estaría haciendo es arrancar este programa como usuario en lugar de eso voy a hacer clic con el botón derecho y voy a elegir ejecutar como administrador así que ejecutó como administrador por supuesto introduzco las credenciales si es que se me piden y observar que de esa manera aparece el panel de control pero con algo que no aparecía el otro día que son unas pequeñas equis en la parte de la izquierda el otro día cuando arrancamos el panel de control desde cero simplemente aquí en este cuadro aparecía el cuadro en blanco ni aparecía una equis y aparecía una marca de validación pero como lo acabo de arrancar como administrador en este caso aparece una equis una equis quiere decir que ese elemento en este caso apache no está instalado como un servicio sino que está instalado como aplicación lo que voy a hacer por tanto es hacer clic en la equis para decirle al programa que quiero instalar el servicio apache pulso yes vamos a instalar de momento únicamente apache y encuentro que tras unos pocos segundos la instalación ha sido exitosa y por tanto ahora cada vez que reinicie el ordenador automáticamente habrá arrancado apache esto qué quiere decir pues que cada vez que abran el ordenador me va a gastar el servicio de apache más o menos unos 8 megas de ram 8 megas de ram más yo creo que luego desarrollé pero de momento 8 megas de ram lo que tenemos que preguntarnos es cuando tenemos en nuestro equipo nos molesta o nos vale la pena gastar 8 megas de ram en principio para nada porque yo igual un día arrancó el ordenador digamos el sábado y no programo nada en php pero gastó 8 megas porque tengo ahí apache encendido en cambio yo pienso que me vale la pena ya que desarrollo frecuentemente en php porque así digamos que ver mes a viernes cada vez que arranco ordenador no tengo que luego arrancar el control panel sino ya ese que arranca automáticamente si fuera 2 gb de ram lo que gastará pues igual me lo pensaría porque debería haber dos gigas de ram es bastante memoria hoy en día pero 8 megas de ram me parece que vale más la pena si lo vamos a usar dejarlo como un servicio que tener que arrancarlo manualmente cada día una vez que apache está instalado como servicio además en este caso le voy a dar a start en este caso porque no es reiniciar el ordenador por tanto como el servicio es como decir la próxima vez que inicies arranca lo pero ahora para trabajar hasta que reinicie le doy además a estar de ahora así compruebo como si pulso localhost me aparece la página de bienvenida de samp porque ya tengo el sham correctamente arrancado anteriormente hemos estado hablando de variables las variables son unos contenedores que pueden albergar información y guardarme esta información para más adelante cuando la quiera utilizar en esta ocasión vamos a extender nuestro concepto de las variables aprendiendo a trabajar con matrices dentro de php yo os digo esto porque a un nivel bastante básico las matrices son algo así como variables pero extendidas por tanto voy a crear un archivo llamado matrices php lo pincho y lo arrastró hasta el editor y dentro del local host voy a llamar a ese archivo poniendo localhost barra aprendiendo php barra matrices punto php comprobamos que estoy trabajando con el mismo archivo comprobamos que se ve correctamente bien ahora voy a iniciar unas etiquetas de apertura y de cierre de php y voy a decir lo siguiente ya sabemos que por ejemplo yo puedo poner que el nombre es igual a jorge así que nombre es igual a jorge no me devuelve nada en la pantalla no me devuelve necesariamente nada porque hasta que no hasta que no diga él con jorge con nombre perdón no aparecerá jorge en la pantalla pero ahora supongamos y este caso es bastante común que quiero hacer una pequeña agenda de nombres yo quiero hacer una pequeña libreta de direcciones una pequeña libreta de agenda en este caso en qué posición me deja nombre pues me deja en una posición bastante mala simplemente porque las variables son únicamente capaces de guardar un valor si yo ahora quiero guardar otro valor por ejemplo me voy a la línea siguiente y digo nombre es igual a juan recargo digo echo nombre y no me guarda jorge y juan sino que si escribo juan me ha machacado sobre escrito el valor del nombre así que las variables están bien y las usaremos muchísimas veces pero debemos ser conscientes de que guardan un único valor yo siempre digo que las variables son algo así como un cajón de madera donde solo puedes guardar una pieza de información pero si en lugar de tener un cajón quiero tener una cajonera o quiero tener un armario para eso tengo las matrices las matrices son como un armario que me permiten tener múltiples cajones y guardar una pieza de información en cada cajón os voy a decir que dentro de la naturaleza de la tipificación de bill de php crear matrices es muy sencillo porque voy a hacer simplemente lo siguiente atención cuando he declarado la variable o lo que hasta ahora era una variable que se llamaba jorge le voy a poner un par de corchetes a continuación atención corchetes no llaves los corchetes son los dos botones que están justo encima de las llaves al menos en el teclado en castellano voy a poner corchetes y voy a decir que por ejemplo el primer registro es nombre cero y el segundo registro es nombre 1 en este caso lo que acabo de hacer es inaugurar la primera de nuestras matrices basadas en índices donde el índice es el numerito que hay dentro de los corchetes veremos que hay matrices basadas en índices numéricos y hay matrices también basadas en cadenas que son muy cómodas de usar pero de momento vamos a trabajar con matrices basadas en índices en este caso debo tener cuidado fijaos lo fácil que ha sido declarar una matriz o convertir una variable en una matriz porque lo que he hecho aquí arriba está bien pero lo que he hecho aquí abajo está regular entonces si ahora digo nombre de cero nombre con el índice cero es jorge nombre con el índice uno es juan dime que es nombre recargo y me dice cuidado no puedes hacer esto está regular damos cuenta de una cosa lo que tengo aquí es un notice no es un error por eso cuando os he dicho que lo que he hecho aquí abajo he dicho está regular no he dicho está mal y de hecho podría en principio ignorar el notice y vemos que aquí abajo dice array digo nombre de 0 es jorge el nombre de uno es juan que es jorge digo que es nombre el programa dice un array pero no querrás que te diga jorge y juan porque es una libreta de direcciones esto que tenéis aquí es un notice es una advertencia y nos dice que en este caso está convirtiendo una matriz a una cadena ese es un error no es una práctica no recomendada pero no es un error y por eso lo pone dentro de un notice lo pone dentro de un notice porque cuando instalas seam se instala como un servidor de desarrollo y eso quiere decir que hay un archivo que veremos más adelante que se llama php punto in y donde se configura cómo funciona php y php s por el modo de desarrollo en el modo desarrollo quiere decir que quiero ver todos los errores y todas las advertencias cuando subáis nuestras webs y vuestras aplicaciones web 2.0 a un servidor veréis que los servidores está en modo producción los servidores en modo producción te suelen decir los errores pero no te suelen decir las advertencias por qué pues porque si yo tengo una tienda online por ejemplo yo tengo una advertencia no un error sino una advertencia queda muy mal para la confianza de la gente en mi sitio web que haya por ahí un mensaje que el usuario profano interpreta como un error pero no es un error es una advertencia por otra parte habría que decir que dentro de lo posible es evitar que eso aparezca debes programar sin advertencias pero hay veces que son un poco inevitables en este caso lo que tendría que hacer por tanto para solucionar bien este ejercicio sería simplemente o bien llamo a nombre de cero y me dice jorge o bien llamo a nombre de uno y me dice juan y lo que os quiero demostrar por tanto es que de momento aunque las matrices conceptualmente sean más complejas que las que las variables pero de momento ya tenemos algo y es que yo puedo declarar dos nombres sin que el segundo elimine al primero es decir cada uno de ellos ocupando su cajón correspondiente en el armario y sin molestarse entre sí hacer matrices unidimensionales como esta que acabamos de hacer es decir matrices de una sola dimensión como veis es fácil pero es igualmente fácil generar matrices de dos dimensiones dentro de php yo suelo comparar las matrices de varias dimensiones con rejillas en este caso voy a hacer una matriz de dos dimensiones y yo os diría que una matriz de dos dimensiones es algo así como una hoja de cálculo os diría que una matriz de tres dimensiones es como un palet lleno de cajas donde hay cajas en x en y y en zeta y una matriz de cuatro dimensiones no se refiere es un ejemplo gráfico de cómo sería eso simplemente sería como una especie de palet desplazándose en el tiempo y hablaremos de ello porque yo generalmente suelo un poco asociar las dimensiones de las matrices a las dimensiones del espacio pero realmente no tiene nada que ver simplemente una manera de verlo una ayuda para visualizarlo así que tú fíjate que yo tengo aquí por ejemplo el nombre y el nombre ha sido jorge ha sido juan podría ser jaime y porque no javier pero esto es una agenda muy mala porque sólo guardo nombres y además de nombres quiero guardar teléfonos y quiero guardar por ejemplo emails así que por ejemplo jorge es jorge a jorge puntocom muy personales de su teléfono este su email y su teléfono es este juan tiene ese teléfono jaime tienes de teléfono abierto en ese teléfono y cada uno de ellos tiene un correo electrónico así que hasta ahora yo he sido capaz de guardar una matriz de una dimensión que crece como veis en este caso de mí y pero yo ahora lo que quiero es guardar una matriz de tres dimensiones perdón de dos dimensiones que crezca en y y crezca en x como no puedo hacer por tanto bueno para ello lo que puedo hacer es simplemente después del corchete creo otro corchete y ha de crear un corchete y por cierto puedo crear tantos como quiera para hacer matrices de n dimensiones de esta manera tan fácil en otros lenguajes no es tan fácil o bien pongo un número o bien pongo una cadena alfa numérica entonces digo el elemento cero nombre es jorge voy a decir que esto es una entrada de entrada de la agenda entrada entonces digo entrada a 0 el teléfono estoy aquí entrada a 0 el email es info jorge puntocom por supuesto punto y coma al final así que para repetir el esquema ahora cogería esta plantilla y la pegaría a continuación la entrada 1 el nombre es juan el teléfono es este y el correo es info juan puntocom ya no solo soy capaz de declarar una matriz de una dimensión sino que ahora puedo declarar matrices de dos dimensiones no quiero que os quedéis con la idea correcta con la idea incorrecta de que cuando haces una matriz de dos dimensiones la segunda dimensión tiene que ser de tipo cadena no es así se pueden hacer cadena y cadena número número número cadena cadena número por tanto guardo recargo aquí cuidado voy a decir que quiero ver de la entrada a cero el nombre y ahora en este caso nombre vamos a ver lo que va a tocar a hacerlo con números venga voy a hacerlo con números voy a poner cero un nuevo modificarlo y dos porque tengo que hacer otra cosa para las matrices con índices 0 1 y ahora quiero del elemento 0 obtener su elemento 0 que es el nombre donde por ejemplo en este caso 0 es el nombre 1 es el teléfono 2 es el correo electrónico así que guardo recargo claro cuidado a ver nombre entrada y me da jorge 0 de 1 es el teléfono 02 info jorge puntocom así que como veis ya sea numéricamente o ya sea mediante cadenas dejadme que ahora lo ponga otra vez con cadenas pero es para demostraros que se pueden poner o bien números o bien cadenas de caracteres alfanuméricos y ahora pongo email y pongo email eso sí si ponéis ahora quiero de la entrada a cero el nombre y me dice jorge de la entrada pero quiero el email y me dice en su teléfono me dice su el correo electrónico es decir podéis mezclar en cualquier momento e índices numéricos con índices basados en caracteres alfanuméricos y si usáis caracteres alfanuméricos usar comillas si usáis índices numéricos podéis no usar comillas o podéis usarlas lo que acabo de crear aunque parezca que no es una pequeña agenda de contactos que he llegado un momento puede guardar cualquier tipo de elementos continuamos con un tipo un poco especial de variables llamadas variables de formularios son variables que evidentemente solo tienen sentido en combinación con los formularios que tenemos en html así que para ello voy a hacer dentro de la carpeta aprendiendo php y hacer ahora dos archivos un primer archivo llamado formulario enviar punto html porque este primer archivo que voy a crear va a ser html no tiene por qué ser php y el segundo archivo que voy a crear se va a llamar formulario recibe punto php html va a tener un formulario y va a enviar datos y php va a recibir el formulario y va a hacer algo con esos datos así que cargo formulario envía punto html formulario recibe punto php y atención muy importante dentro del navegador accedo al primer archivo a través del local host va aprendiendo php barra formulario envía punto html no cargo voy a crear una mini estructura por lo menos que el archivo sea mínimamente correcto voy a hacer un here voy a hacer un budín y dentro del body voy a hacer una etiqueta forma donde las etiquetas que previamente probablemente no comprendíamos de los formularios de html ahora hoy las vamos a tener que comprender hay dos etiquetas principales una vez action y otra es mejor axxion indica apunta al archivo al que le voy a enviar los datos por tanto dentro de axxion voy a poner formulario recibe punto php y en mejor recordamos que tenemos dos métodos el post o el get y ya sabemos que como regla genérica siempre que podamos usaremos post aunque hay veces que el desarrollo de nuestras aplicaciones nos empujará a usar get lo digamos que como ahora no estamos metidos dentro de una aplicación sino que estamos un poco aprendiendo las bases del lenguaje vamos a usar post ahora yo digo input type muy importante name nombre imputar submit y si queréis pongo un place holder que diga dime tu nombre si ahora guardo y recargo aparece dime tu nombre le digo mi nombre es josé josé vicente de hecho y le voy a enviar lo que ocurre cuando le doy a enviar es que me lleva a formulario recibe punto php porque formulario recibe php es el axón es quien va a recibir la acción pero que hace el momento formulario recibe punto php pues no hace nada no hace nada porque está en blanco así que a continuación voy a escribir el siguiente código dentro del formulario recibe voy a decir simplemente una variable muy especial en este caso que es dólar atención es una variable especial post y digo apostó porque el formulario he prometido que le voy a enviar por post por tanto si el método pongo post en el tipo de variable pongo post y si en el método pongo get en el tipo de variable pongo get así que pongo dólar post un par de corchetes como si fuera a llamar a una matriz y ahora dentro de las comillas del índice de la matriz este importe tiene el name nombre ahí dentro pongo el nombre si aquí pusiera longaniza aquí pondría longaniza lo importante es que con esto lo que le estoy diciendo es quiero recoger lo que ponga aquí en nombre así que igual no evidentemente ponga punto y coma y ahora esto es muy divertido porque si yo digo jose vicente y le voy a enviar mucha atención aquí pone jose vicente y recargo y digo esto es algo que he escrito le doy a enviar y poner esto es algo que he descrito es decir esto que acabo de hacer parece que sea una tontería pero no lo es porque ya soy capaz de tomar datos de una página web enviarlos a un archivo php y hacer algo con ellos y es algo que es bueno ahora mismo no mucho ahora mismo es simplemente mostrarlo en pantalla pero más adelante puede ser guardarla un archivo guardarlo en una base de datos o hacer un poco lo que queramos con ese archivo insiste una vez más en que debo tener cuidado con post y con get porque imaginamos que ahora cambio el formulario de post en primer lugar esto es algo que he escrito lo envío y como se ha enviado no lo veo dónde está esa información se ha enviado en una cosa que se llaman cabeceras de html pero atención media de una cosa ahora voy a cambiar esto a get voy a cambiar el método del formulario en el archivo html lo voy a cambiar de cargo para que se dé cuenta el navegador y digo jorge envió y pasan dos cosas primero al haberle dicho get aquí arriba pone localhost aprendiendo php formulario recibe punto php y nombre es igual a jorge cuando yo uso el método post los elementos se envían ocultos en las cabeceras pero cuando yo uso el método get los elementos se envían codificados en la url codificados serializados pero como veis no muy ocultos y además tengo un problema y el problema es que no me reconoce el índice no me reconoce el índice porque yo estoy enviando esta información por get pero php está esperando recibirla por post ya puedes esperar que no lo vas a recibir así que hay que tener cuidado si en el archivo anterior la enviado por forget aquí la tengo que recibir con get vamos a volver a probar lo envió jorge le voy a enviar y veis como ahora si recibo correctamente jorge una de las razones esto que voy a decir es un comentario muy general pero una de las razones por las cuales se intenta evitar pasar parámetros mediante el formato web es que yo esto lo puedo tocar jorge pues juan y me aparece ahí juan jaime y me aparece allí jaime y no se recomienda demasiado no es una buena práctica aunque evidentemente os enseñaré soluciones para evitar eso que los parámetros pasen claramente en la url porque la gente te los puede tocar y tú no quieres que la gente los truco pero insisto eso es así eso es cierto pero estamos hablando de conceptos más avanzados en cuanto a desarrollo de aplicaciones por tanto vamos a empezar por el principio vamos a empezar por la teoría vamos a suponer de momento que todo el mundo es bueno y nadie te quiere hackear tu aplicación cosas que no es verdad pero supongamos la y más adelante ya nos preocuparemos de esta clase de cosas ahora mismo lo que nos interesa es aprender a pasar parámetros con get y compost de una parte a otra sí ya he conseguido realizar esta acción voy a realizar un pequeño ejercicio para demostrar que puedo hacer con todo esto voy a hacer una pequeña calculadora así que vengo a la carpeta y creó un nuevo archivo que se va a llamar calculadora punto php y dentro de calculadora vamos a aprender varias cosas en primer lugar quiero una estructura html tener un jefe quiero tener un móvil dentro del body voy a crear php como os he dicho en más de una ocasión podemos mezclar y de hecho es bastante común mezclar html y php en el mismo archivo si de cara al desarrollo avanzado de aplicaciones es una buena práctica o no es algo que ya discutiremos más adelante pero la cuestión es que se puede ahora voy a hacer lo siguiente voy a poner un ife si se cumple una condición en ese caso haz algo y si no se cumple esa condición en ese caso a otra cosa no porque ya sabéis que la admiración equivale al operador de negación no no una variable de post llamada número esto quiere decir estoy aquí lo que está dentro del paréntesis es la condición y la condición es si no es set y set que quiere decir más o menos existe si no existe la variable post llamada número que me la acabo de sacar de la manga en este caso a una acción y sí que existe la variable post número en ese caso a otra acción bien si no existe en ese caso escribe lo siguiente forma action es igual a interrogante mejor es igual apóstol form action es igual a interrogante quiere decir que no lo envíes a otro archivo envía melo a mí mismo se recarga me a mí mismo y envíame los datos y ahora digo input type neiman atención número sí aquí he puesto número aquí tengo que poner número si aquí puesto post ahí tengo que poner post y si hay he puesto número aquí tengo que poner número aparte de fijaos como hemos hablado anteriormente para evitar los problemas con las comillas simples y con las comillas sencillas y es que en php estoy poniendo comillas sencillas perdón si en php estoy poniendo comillas sencillas en html estoy poniendo comillas dobles place holder dime un número y ahora por último input type submit si yo ahora cargo este archivo se llama calculadora punto php y pongo dime un número como no he enviado la variable por post llamada número no esta apuesta no existe en ese caso me dice toma formulario ahora si pongo un número atención el 6 y lo envío en ese caso pasará lo que ponga aquí abajo ahora mismo no pasa nada porque no he puesto nada de código así que por ejemplo diré una algo muy sencillo el cuadrado del número qué has enviado es punto porque ya sabéis que en php se encadena el tren con un punto y digo post número x post número si queréis pongo esto entre paréntesis para que tengamos claro que es una multiplicación multiplicó el número por sí mismo y ahora fijémonos en lo que voy a hacer si pongo 6 atención me dice el cuadrado del número que has enviado es 36 quito la interrogante pulsar enter si digo 4 envió el cuadrado del número que has enviado es 16 luego acabo de utilizar los formularios para crear un programa que no siempre hace lo mismo que acabo de crear un programa lo que hace depende de la entrada que le dé el usuario es decir acabo de combinar formularios html con scripting en php y esto lo he hecho simplemente para decir lo siguiente me has enviado un post número si no me lo has enviado es que lo vas a escribir ahora por tanto si no me lo has enviado te muestro un formulario donde me puedes introducir un número ahora sí no es cierto que no existe el post número es decir si es cierto que existe el puesto número en ese caso dime no me muestra el formulario porque ya me lo has mostrado y en ese caso dime el cuadrado del número que has enviado es el número por el número en este caso porque quiero el cuadrado si hubiera dicho el doble pues sería número por 2 se ha dicho la mitad sería número partido 2 ya un poco lo de menos lo importante es que éste envía un número envía una variable mediante php y este de aquí recoge esa variable y realiza una operación con ella las partes clave por tanto de este ejercicio son dos primero el acto en interrogante que no lo envía a un archivo externo si no se lo envía a sí mismo y por otra parte el isset que lo que hace es decir no lo has enviado muéstrame esto ya lo has enviado no me muestre es esto muéstrame esto quiero decir con esto que no hay que enviar la información a otros archivos no simplemente en los vídeos anteriores os he mostrado cómo se puede enviar a otro archivo y en esta ocasión nos ha enviado cómo se puede enviar a sí mismo hay veces que os interesará enviar otros archivos y hay veces que se interesará enviárselo a sí mismo hablamos ahora de una parte muy especial de php que se llaman las sesiones de la gestión de las sesiones dentro de php y para que entendáis para qué sirven y que son las sesiones tengo que primero explicaros un defecto que tiene php defecto según lo queramos mirar técnicamente no es un defecto es que es que php funciona así pero desde el punto de vista del usuario que empieza a parecer un defecto mira voy a crear un archivo llamado sesiones 1 php y voy a crear otro archivo llamado sesiones 2 php así que ahora cargo los dos dentro del editor cargo aquí sesiones 1 punto php y digo lo siguiente mi nombre que voy a decir php mi variable es igual jorge ahora digo cuánto vale mi variable el programa me dice jorge hasta aquí no hay ningún problema la cuestión es que php es un lenguaje de tipo state less es un lenguaje sin estado y sin estado quiere decir que no es capaz de recordar el estado del script de una página a otra nosotros al final haremos varios scripts que se comportarán como un programa completo pero por defecto si no trabajamos con sesiones los scripts funcionan como un programa independiente cada uno de ellos demostración que creó una etiqueta fuera de la etiqueta php digo ir al archivo 2 y quiero ir evidentemente a sesiones dos punto php así que guardo recargo y dice jorge vamos al archivo dos voy al archivo dos y en el archivo dos simplemente escribo lo siguiente este sesiones uno y ahora aquí en el archivo sesiones 2 digo echo mira es más para que no penséis que igual me equivocado y comí bar lo he copiado y pegado si funciona en otro deber y así funciona en uno debería funcionar en el otro pero no es así atención lo pongo aquí y ahora digo la variable es jorge quiero ir a sesiones 2 php pincho y me dice no sé qué variable es mi bar y yo digo como que no la sabes cómo puede no saber la siesta aquí te la acabo de declarar pero el problema es que php funciona de la siguiente manera declara esta etiqueta declara esta variable recuerda la variable usa la variable y en cuanto cierro esta etiqueta o cualquier etiqueta que hay al final del archivo se olvida de todo lo que haya usado si olvida de todos los recursos que haya abierto y en este caso una variable es un pequeño recurso de memoria que abres en la memoria del sistema del servidor claro cuando voy a sesiones dos por mucho que yo le diga con mi bar ya no recuerda ha olvidado quién es mi bar esto es lo que ya os digo que no es técnicamente un problema si no es que php funciona así pero muchas veces a lo largo del desarrollo de las aplicaciones nos gustaría que de página a página recordara ciertas cosas para esto precisamente una vez presentado el problema están las variables de sesión están el control de las sesiones dentro de php para declarar una variable de sesión tengo que hacer lo siguiente voy a equivocar tengo que poner dólar en mayúsculas sesión dólar guión bajo sesión y como dentro de los corchetes pongo nombre las variables decisiones como veis son un poquito parecidas a las variables de formulario sólo que en lugar de poner post o que pongo sesión ahora digo sesión en nombre no hay ningún problema y me dice jorge yo aquí declaro la variable de sesión jorge nombre que equivale a jorge y aquí llamo a esa variable de sesión y funciona ahora en principio vengo aquí y digo con mi bar y debería funcionar pero sin embargo le doy a archivo 2 y sigue diciendo que no encuentra esa variable de sesión le falta solo una cosita lo primero que tengo que hacer es declarar variable sesión bien pero lo segundo que tengo que hacer inevitable porque sino ya habéis visto que era error es poner una función llamada sesión start hay que escribirla exactamente así sesión en minúsculas bajo start y corchete corchete porque es una función ya la vemos de que es una función así que esto lo tengo que copiar y lo tengo que pegar en todos los archivos en los que se escriban o se lean variables de sesión si ahora intento hacer lo mismo la variable vale jorge me voy al archivo 2 y me dice jorge es decir ahora si por una parte declarando el session start y por otra parte declarando una variable ya puede usar esa variable siempre que la llame con este nombre en cualquier página que tenga un session estado al principio eso sí luego también os digo que las sesiones por defecto duran alrededor de 15 minutos en el servidor es decir yo vengo a este archivo en menos de un cuarto y lo recargó y medirá jorge porque recuerda que alguien la nombró jorge si tarda media hora o más digamos 16 minutos o más recargo esa página y dice he olvidado quién es jorge esto se hace por una parte para ahorrar memoria en el ordenador en el servidor y por otra parte se hace para poder guardar nuestra privacidad ya que las variables de sesión se usan para hacer sesiones de usuario y no te interesa que si te deja esa sesión abierta en un ordenador esté infinitamente abierto en el ordenador también por protección se cierra la sesión tras un cierto tiempo de inactividad que una vez más establece por defecto a 15 minutos pero se puede cambiar en ese archivo que os decía antes php punto y ni vamos a hablar a continuación de que es ese archivo llamado php punto n vamos a ver ahora la biblioteca integrada predeterminada dentro de php de gestión de fechas vamos a ver un poco la superficie de esta librería y os voy a decir que es más útil de lo que en un momento dado puede parecer voy a crear un archivo llamado fechas php lo cargo dentro del navegador y las fechas consisten en una función que viene pre integrada dentro de php por tanto yo simplemente tengo que poner rate pongo un echo para que salga por la pantalla evidentemente pongo te pongo paréntesis paréntesis y dentro de los paréntesis voy a poner un código y que pongo en ese código por ejemplo si pongo una mayúsculas equivale a decir que quiero ver el tiempo y unix y el tiempo y ónix me creáis o no son los segundos que han pasado desde hoy hasta el jueves 1 de enero de 1970 eso es lo que se conoce como el tiempo y unix así que si digo eco de it y me dice este número si voy refrescando poco a poco veréis como el número va cambiando según los segundos que vayan pasando parece una frikada pero ese número tiene más importancia de la que puede aparecer hoy probablemente no pero cuando trabajemos con bases de datos veréis que sí si pongo por ejemplo una y mayúsculas el year el año me sale el año con cuatro dígitos pero si pongo una y minúsculas me sale el año con dos dígitos depende de lo que quiere hacer me interesa una cosa u otra si pongo los minutos me salen los minutos son ahora y hoy 12 en el reloj despertador y si no perdonan esto es esto es el mes 12 los minutos no sé a quién se le ocurrió esa idea es una y latina así que los minutos ahora sí son 3 los segundos son la s y tú dirás para porque estás poniendo un montón de códigos y no sabemos de dónde salen bueno en este caso los códigos están saliendo de mi cabeza porque como suele usar las funciones de fecha hay unas cuantas que me sé de memoria pero diréis vale pero dónde está la tabla de fechas pues la tabla de fechas está aquí simplemente en un navegador web ponéis byte perdón de php gheit y con toda probabilidad en la primera coincidencia llegaréis a la documentación oficial de php en cuanto a la gestión y el uso de fechas entonces dentro de esta documentación de php vais a encontrar que hay una tabla fantástica que os dice cada uno de esos caracteres que yo estaba poniendo a que corresponde así que de es día del mes con dos dígitos de mayúsculas es una representación en texto por ejemplo efe es el mes en texto el es el año y es el año la hora la zona horaria tenéis ahí y segundos desde la época iunics que es el 1 de enero del 70 es decir los números de todos de memoria que lo que hago es que me sé de memoria aquellos que suele usar para todo el resto lo que vamos a hacer es consultar esta tabla lo que voy a hacer ahora es formular una fecha y para ello voy a hacer lo siguiente echo hoy es punto gates d punto del mes dejadme que lo escriba en varias líneas porque si no os liar y luego si queréis lo re factor izamos hoy es vip d del mes eco gheit m eco del año eco dave y lo he hecho en varios ecos para que veáis claramente qué hace cada línea así que si ahora guardé recargo dice hoy es 17 del mes 12 del año 2014 si lo quiero abreviar un poco más quiero que el mes aparezca en texto así que voy a poner hoy es día de mes de año y pongo hoy es 17 de 12 de 2014 está casi bien pero hay un problema y es que 12 aparece en número y yo quiero que aparezca en texto pero cuidado php está hecho en castellano no está hecho en inglés por tanto aunque yo me vaya a la tabla de php eid si pongo el mes donde estás mes a mes representación textual completa fijaos que pongo efe en lugar de minúsculas y mayúsculas y cuidado porque me dice oye es 17 de december de 2014 y queda un poco feo porque lo que nos gustaría es que estuviera esto en castellano lo que voy a hacer por tanto es reutilizar los conocimientos que ya haya adquirido para conseguir este objetivo así que voy a decir lo siguiente sweet voy a usar una estructura de control switch y voy a buscar de efe una estructura de control suites que tiene varios casos concretamente con el mes hay doce casos válidos ya 9 dos puntos mes es igual enero cage ferrari voy a crear una plantilla para trabajarlo rápido el mayo junio julio agosto septiembre octubre noviembre diciembre pero los casos para atrás ya sabéis que las sangrías no son funcionales pero aunque no son funcionales nos ayudan a saber dónde empieza donde acaba cada caso ferrari yo diría febrero march debería marzo april yo diría abril yo le diría junio you live que diría julio pocos y agosto september yo diría septiembre october yo diría octubre pero qué que es que octubre va aquí y octubre va aquí november en noviembre dicen ver diciembre y este parece que me sobra si no es que me he dejado algún mes febrero marzo abril mayo mayo me he dejado mayo por tanto como puedo haber dejado mayo may es mayor si yo ahora guardo y recargo mirad me sigue diciendo hoy es difícil de december pero si yo aquí en lugar de d efe le digo que quiero la variable mes la variable mes es esta que me acabo de sacar de aquí me dirá hoy es 17 de diciembre de 2014 yo que he hecho por tanto lo que he hecho es con una estructura de control switch acabo de atrapar esta fecha y le digo sí efe es january es la variable meses variable que me sacó de la manga que me acabo de inventar es enero febrero febrero march marzo y por tanto que al final no llamo a day efe llamó a mes porque mes es la variable en la que estoy introduciendo el nombre del mes en castellano lo que estamos haciendo hasta ahora y probablemente seguiremos haciendo un poco más es programar en profesoral programación estructurada donde se ejecuta el programa de arriba hasta abajo cuando llega hasta abajo se acaba y ya está php es un lenguaje de tipo multi paradigma eso quiere decir que no trabaja con un solo paradigma sino trabaja con varios lo que hemos estado haciendo hasta ahora es programación estructurada hay otro tipo de programación que es programación orientada a objetos lo bueno de php es que nos deja elegir la idea de la programación orientada a objetos idea dentro de la cual todavía no nos vamos a meter es la idea de envolver todo el código de nuestros programas con una envolvente llamada objeto lo encapsula moss y por tanto podemos reutilizar más adelante esas capsulitas es incómodo porque hay que irlo encapsulado todo pero luego la ventaja es que cuando te haces una librería de capsulitas luego no vuelves a hacer las mismas cosas en cada programa sino que vas reutilizando esas cápsulas lo que yo ahora querría hacer es enseñaros una de esas cápsulas no todavía un objeto sino algo más sencillo y es algo que se llama una función yo acabo de hacer un código acabo de hacer un ejercicio que yo pienso que en un momento dado puedo reutilizar porque es muy común en un programa ponerlo de hoy es 17 de diciembre de 2014 en un programa en una web o donde sea así que para que cada vez que yo haga un nuevo programa voy a volver a escribir este código y siempre va a ser el mismo para eso lo re utilizo y gasto mi tiempo en escribir cosas que no hubiera escrito antes lo que voy a hacer por tanto es aislar este código dentro de una cápsula que se llama función por tanto os voy a decir que las funciones se crean de la siguiente manera en primer lugar digo function uso la palabra reservada function en inglés a continuación elijo un nombre si es posible en castellano para la función ya sabéis un nombre pero sin espacios sin acentos sin es por ejemplo dime la fecha estoy usando la nomenclatura cam el case que lo que hace es poner la primera en mayúsculas de cada palabra ahora pongo parámetros esta función como esta primera que hago no tiene parámetros por eso lo que hago es poner paréntesis para en tres espacios sin parámetros y ahora pongo una llave que se abre y otra por aquí que se cierra es decir si queréis algo un poco de sangría para que lo veáis mejor lo que he hecho es meter todo el código del switch y del eco dentro de una función para que lo veáis mejor en pantalla dejadme que ahorre un poco de código así que se puede escribir todo en una sola línea ahora que ya hemos hecho el switch ya hemos visto para qué servía cada línea pero ahora lo que quiero es claridad en la pantalla no hay que eliminar demasiado dejadme también de factorizar un poco esto de aquí veis que tener demasiados ecos no parece bueno lo que voy a hacer es voy a poner varios puntos como cadenas de un tren el delta aquí meto el d aquí me todo el mes aquí meto las comillas aquí me todo el año los puntos que me sobran los gorros y los ecos que me sobran los gorros es lo mismo hoy es día del mes del año este código ya está bastante más limpio ya está bastante más legible y ahora vamos a comprobar su funcionamiento es curiosamente su funcionamiento es ninguno quiere decir esto que he cometido algún error no he cometido ningún error atención miradme muy importante lo que he hecho es crear una función pero crear una función es como crear una variable que la crees no quiere decir que la estás usando así que tú primero creas la función y luego la usas para crear una función se hace con la fórmula que os he puesto aquí arriba function nombre de la función al que tú quieras paréntesis paréntesis aunque no pongas parámetros y ahora entre el entre la llave de apertura y la llave de cierre eso es la función ahora voy a hacer lo siguiente una vez que he declarado una función voy a llamarla para llamarla simplemente tengo que decir dime la fecha paréntesis paréntesis fijaos que es como el de beit paréntesis paréntesis pero en este caso es dime la fecha paréntesis paréntesis es decir la diferencia es que kate es una función que ya está metida en php y dime la fecha es una función que yo me acabo de crear bueno pues guardo recargo y me dice oye es 17 de diciembre de 2014 y puede que esto que hayamos hecho ahora mismo no os parezca particularmente útil pero a continuación os voy a demostrar como sí que lo es esto que he hecho así como lo he hecho puede parecer que no sirve para nada y probablemente es cierto así como lo he hecho para qué quieres encapsular algo dentro de una función si luego lo vas a llamar justo a continuación para eso no hagas la función y ya está pero sin embargo lo que voy a hacer ahora es dentro de esta carpeta voy a crear un nuevo archivo que se llama un programa cualquiera voy a crear un programa cualquiera punto php cargo aquí un programa cualquiera y cargo aquí un programa cualquiera ahora dentro del script php voy a hacer lo siguiente atención voy a dejar la declaración de la función voy a eliminar la llamada a la función por tanto ahora el archivo fechas php únicamente tiene la función dentro de un programa cualquiera voy a hacer lo siguiente yo no puedo decir ahora simplemente dime la fecha fija dentro de un programa cualquiera llamó a dime la fecha en cuanto lo intento de ejecutar me dice has llamado a una función no definida llamada dime la fecha es cierto que la función la he definido aquí pero el programa no tiene por qué saberlo así que usó un elemento de php llamado incluyes y digo incluye creo que no hacen falta paréntesis incluye fechas php y lo que hago por tanto y lo que hago por tanto es que llamo a fechas php y a continuación cuando quiera porque no tengo por qué hacerlo a continuación digo echo esto es algo de código seco esto es algo más de código guardo recargo y dice aquí esto es algo de código hoy es 16 de diciembre de 2014 esto es algo más de código aún así que creo que podéis empezar a ver un poco mejor cuál es la utilidad de las funciones lo que acabo de hacer es encapsular el dime la fecha dentro de una función y la función dime la fecha a la vez está dentro de un archivo llamado fechas php digamos que ese archivo o fechas punto php ahora es una cápsula y yo esa cápsula me la puedo llevar al proyecto que sea para utilizarla siempre que quiera lo que va a ocurrir en este caso es que simplemente cada vez que la quiera usar tendré que copiar el archivo php en mi proyecto sea cual sea el proyecto que voy a hacer mediante la función incluye y a continuación cuando sea que quiera decir la fecha dime la fecha ahora sí aunque de manera muy básica la encapsulación es algo más complejo de lo que acabo de hacer pero para una primera demostración pienso que está bien lo que voy a hacer es encapsular una función dentro de un archivo y poder reutilizar ese archivo siempre que quiera el archivo no tiene por qué estar uno al lado del otro generalmente cuando hagáis un programa cualquiera lo que haréis es una carpeta donde por ejemplo pondréis funciones si yo ahora muevo fechas a esa carpeta llamada funciones cuidado porque tendría un problema porque si yo intento recargar me dirá warning incluye el incluye ha fallado porque ha fallado es muy sencillo simplemente ha fallado por la sencilla razón de que yo he dicho fechas php pero ser fechas punto php ya no está al lado de un programa cualquiera ahora bien yo le digo entra dentro de funciones y dentro de funciones busca fechas php es decir me acabo de crear una carpeta una práctica que es súper común para guardar las funciones lo que he hecho por tanto y como os decía es una práctica bastante común que consiste en crear una carpeta llamada incluye se llama la inc llama la función es llamada como quieras pero una carpeta específica para almacenar todas tus funciones y eso sí por supuesto y una costumbre no sólo en php sino en muchos lenguajes de programación es que cada vez que empiezas un script arriba incluyes todo lo que vas a necesitar y abajo lo usas así que en este caso sí guardo y recargo comprobaremos cómo voy a funcionar perfectamente porque el archivo no tiene porqué estar en la misma carpeta pero tiene que estar cerca una más arriba dos más arriba una más abajo dos más abajo puede ser más puede ser menos tro en definitiva una ubicación que puedas localizar desde el archivo principal vamos a crear funciones que puedan tener parámetros para eso me voy aquí me creó un nuevo archivo y lo llamo funciones con parámetros punto php abro funciones con parámetros aquí cargo funciones con parámetros allá pongo ola y pongo ola bien en este caso lo que voy a hacer es crear una pequeña función que se va a llamar buenos días la función buenos días va a decir hola jorge bienvenido a esta aplicación he creado una función de momento no devuelve ningún resultado porque la he definido pero no la ha llamado y ahora la llamo buenos días cada vez que le digo al programa que ejecuten buenos días me dirá hola jorge bienvenido a esta aplicación pero tengo un problema y es que vamos a un poco previsualizar que tendremos cuando creemos una aplicación compleja en una aplicación compleja no creo que haya un solo usuario y que se llame jorge habrá muchos usuarios que tendrán diferentes nombres así que si yo tengo a juan que tengo que hacer ahora crear otra función llamada buenos días juan y si luego tengo javier otra función llamada buenos días javier si hiciera eso en cuanto creará la tercera función en mi cabeza algo saltaría y diría algo estoy haciendo mal estoy repitiendo demasiado código imagínate que hiciera funciones para todos los nombres del mundo algo estaría haciendo mal lo que hago no es hacer muchas funciones sino personalizar el comportamiento de una función hacer que una función sea una especie de llave inglesa que me sirva para varios tornillos entonces lo que hago es poner aquí un parámetro que va a ser por ejemplo nombre puede ser nombre calcetín longaniza lo que queráis siempre que veáis como en castellano y ahora voy a cambiar jorge mi nombre por tanto ahora me dirá buenos días nombre hola nombre bienvenido a esta aplicación cuidado porque hasta que nos explique sobre carga si ahora intento ejecutar me dará un error porque dice tú me has prometido que me ibas a dar un parámetro pero sin embargo me has llamado sin ningún tipo de parámetro y por tanto no es un error porque fíjate que es un warning es una advertencia no es un error porque fíjate que es un notice pero no deja de quedar feo en pantalla así que yo básicamente voy a cumplir la promesa de que hola juan así que me dirá hola juan bienvenido a esta aplicación hola juana bienvenida a esta aplicación que poner se acaba en una serie de reglas para poner bienvenida al lugar de bienvenido pero en fin hola stella bienvenida a esta aplicación hola jose bienvenido a esta aplicación lo que acabo de hacer por tanto es declarar una función con un parámetro y el parámetro me permite personalizar cómo se va a comportar esa función de esa manera la función no hace una única función se puede hacer múltiples funciones por eso cuando declara una función tengo que declarar la con un paréntesis si la función no lleva parámetros da igual tienes que poner los paréntesis igualmente no lleva parámetros por los paréntesis vacíos que luego la llama sin parámetros por los paréntesis vacíos pero tienes que poner paréntesis y si pones funciones pues pones dentro de los paréntesis las funciones no solo los parámetros no sólo se pueden poner parámetros sino que se pueden poner varios parámetros por ejemplo voy a poner nombre coma edad bienvenido a esta aplicación ahora que tienes punto de edad y punto años me va a parecer mal por la ñ pero ten cuidado yo no puedo decir buenos días josé porque me dice que esperaba que me diera un segundo argumento me has dicho que me ibas a decir el nombre y la edad pero solo me has dicho el nombre no es un error pero queda feo así que jose coma 39 así que recargo y me dice hola jose bienvenido a esta aplicación ahora que tienes 39 años jaime 24 hola jaime bienvenido a esta aplicación ahora que tienes 24 años juan 30 hola juan bienvenido a esta aplicación ahora que tienes 30 años como veis podría tener ahora no ahora pero más adelante infinitos usuarios en una base de datos cada uno con su nombre y su edad y sólo tendría que hacer una sola función vamos a ver con php un modo bastante sencillo de conseguir persistencia que es escribiendo datos en un archivo de texto plano así que para ello voy a hacer lo siguiente me voy a hacer un nuevo archivo un documento de texto que se va a llamar escritura escritura php va a tener el siguiente código voy a decir lo siguiente archivo es igual a efe open donde f open es abrir un archivo nuevo el archivo se va a llamar prueba punto txt y a continuación tengo que poner por ejemplo un modificador donde r es leer w es escribir a es aprendiz ar añadir y luego está r plus que es lee crea el archivo si no existe w plus que es escribe crear archivos no existe y applus es añade crea el archivo si no existe todo esto que estoy diciendo lo tenéis en poniendo php efe open todo esto que estoy diciendo se puede consultar en la documentación de php y debéis tener por aquí una tablita que son los modos r es r plus perdón read r plus es re lectura escritura v v plus y applus estoy usando este de aquí apertura si el fichero no existe lo intenta crear ojo lo intenta crear si tiene permisos en la carpeta por supuesto vamos a suponer que los tenemos y ensambles tenemos cojo esto escritura y ahora hago lo siguiente en primer lugar abro un archivo en modo añadir si pongo w lo que hago es que cada vez me cargo lo que tenía y escribo cosas nuevas yo no quiero eso yo lo que quiero es abro el archivo respeto lo que había y escribo a continuación y digo lo siguiente efe faith esto es un texto que voy a escribir poner por favor contra barra n para decir baja una línea y voy a decir lo siguiente y es que esto lo quiero escribir en el archivo archivo como esto es un texto que voy a escribir es decir en el archivo quiero escribir esto de aquí por último aunque no es obligatorio aunque no es obligatorio deberíamos poner un efe klaus cierra el archivo digo que no es obligatorio porque php en su naturaleza lo que hace es cerrar automáticamente cualquier recurso que hayáis abierto y en este caso un archivo es un recurso pero es una muy buena costumbre cerrar manualmente el archivo así que voy a probarlo no tiene por qué ocurrir nada en la pantalla eco ok los quieres quedar un poco más tranquilos mira bien fatal error efe rip no ese ferry efe ed wright ser validado una w así que recargo y dice ok y si todo ha ido correctamente atención ahora la pantalla si todo ha ido correctamente ahora me encuentro que existe un archivo llamado prueba punto txt y si hago doble clic o traigo aquí prueba punto txt pone este es un texto que voy a escribir así que ahora voy a ejecutar una vez más y si abro el archivo txt ahora pondrá este es un texto que voy a escribir esto es un texto que voy a escribir y si ahora ejecutó una vez más ahora pone tres veces esto es un texto que voy a escribir es decir cada vez que estoy ejecutando este archivo lo que está ocurriendo es que estoy añadiendo una línea más que dice este es un texto que voy a escribir es decir ya tengo un programa fijaos qué sencillo que es que es capaz de tomar algo que está existiendo en php y escribirlo de manera permanente en un archivo txt tal que si queréis ahora puedo cerrar el navegador pero lo que he escrito dentro de ese archivo txt se queda guardado para siempre voy a hacer una cosa voy a crear mirada de atención voy a crear un documento nuevo que se va a llamar lectura php y dentro de lectura voy a crear un archivo llamado agenda punto txt en agenda punto txt voy a poner juan jorge martín y yo que sé y jose tengo cuatro nombres en la agenda ahora cargo lectura y evidentemente aquí también cargo lectura y dentro de lectura lo que voy a hacer es escribir el contenido de ese archivo voy a devolver el contenido de ese archivo para ello lo primero que hago es lo siguiente archivo es igual a efe open primero abro el archivo y digo que abre el archivo llamado agenda txt coma r porque no quiero abrir el modo lectura a continuación lo que voy a hacer es lo siguiente un bucle while ya sabéis que un bucle igual es un bucle que hace algo repetitivamente y lo que va a hacer repetitivamente en este caso es leer línea a línea léeme línea a línea y no pares hasta que desee acabado y digo while negativo c off es una muy mala en castellano pero quiere decir el final del archivo el en off file voy a decir lo siguiente voy a decir echo efe rida archivo léeme línea a línea del archivo y por ultimo efe close archivo punto y coma voy a hacer lo siguiente voy a poner un parámetro que es 8.192 que es el número de bytes que tiene el archivo como máximo eso quiere decir que no podría leer más allá del del byte 8.192 para un archivo pequeño suficiente este es uno de los casos de más vale que sobre que falte entonces recargo bien en ese caso me dice aclaro que off del archivo y me falta poner el archivo así que el archivo es archivo pero no es una constante es una función me hace falta decirle a quien se refiere esa función así que guardo recargo y me dice juan jorge martín jose si queréis para verlo mejor voy a poner eco efe read más vr más un salto de línea en html así que tengo vamos a verlo allí momentín eco efe read vr voy a ver dónde eres por ser caso bueno déjame ver el código juan jorge josé y martín vale cierto que nos está devolviendo toda la vez y luego pone los verdes línea a línea bien lo que quiero hacer ahora ya tengo de momento todo el contenido en la pantalla lo que querría hacer ahora es modificar este ejemplo para que me vaya avanzando línea a línea en lugar de leerme todo el contenido del archivo lo que voy a hacer ahora es simplemente en lugar de usar efe read voy a usar efe gets que en lugar de leerme el archivo entero en línea a línea lo cual me sirve en este caso por ejemplo para poner un ver un retorno de carro en cada una de las líneas que ha puesto en la pantalla ahora me he servido para meter algo tan sencillo como un retorno de carro pero ahora luego veréis que me servirá para cosas más complejas como por ejemplo maquetar este archivo de texto dentro de una tabla a continuación os voy a proponer un ejercicio práctico para poner en práctica todo lo que hemos aprendido hasta ahora este ejercicio que es un clásico dentro de la programación es un ejercicio que se hace como aprendizaje de cualquier lenguaje de programación consiste en crear una agenda telefónica por tanto voy a crear simplemente una carpeta llamada agenda como una especie de proyecto separado del resto de archivos que muestro hasta ahora y cualquier proyecto suele empezar con un archivo llamado index php evidentemente la finalidad de este archivo será trabajar con un archivo llamado agenda al que voy a colocar no la extensión txt sino la extensión la extensión csv al final del ejercicio os enseñaré por qué le digo que sí voy a editar el csv aunque fijaos que me dice que es un archivo de opinión fiscal -que o de excel yo le voy a decir que lo voy a editar manualmente dejadme cerrar todas las ventanas pero cuidado here it cargo hay agenda punto txt y voy a crear un par de registros manualmente voy a decir juan coma que tiene este teléfono coma tiene el correo info -juan puntocom jose que tiene ese teléfono tiene el correo info jose puntocom jaime que tiene este teléfono tiene el correo jaime jaime puntocom y bueno pues voy a continuar voy a entrar dentro de la carpeta agenda al entrar dentro de agenda inevitablemente ejecuto el archivo index.php pero el archivo index punto php ahora mismo no tiene nada de código por tanto yo lo voy a crear html html para ser correctos vamos a declarar un dock type doctor html y digo jefe body morir dentro del gel voy a poner un title en el que voy a poner simplemente de agenda telefónica y dentro del body voy a poner por ejemplo una 1 y voy a decir la agenda telefónica copyright josé vicente carratalá así que guardo recargo y tengo ahí agenda telefónica copyright josé vicente carratalá ahora voy a hacer lo siguiente atención en primer lugar quiero leer por tanto si quiero leer pongo php php puede intercalar php en cualquier momento dentro de html y ahora escribo lo siguiente y ahora escribo vamos a verlo dejar que me concentré y digo archivó es igual a efe open agenda psv como applus a plus es no perdona r en primer lugar es leer y ahora digo vamos a ver el leer vamos a copiar un poco de código lectura y digo siempre que no hayas llegado al final lee me línea a línea vamos a verlo si está funcionando correctamente dejadme que ahorre líneas medir a juan coma este número coma este correo por tanto ya tengo una cabecera y tengo una lectura desde el archivo vamos a continuación a maquetar un poco este contenido este contenido está muy poco estructurado y por eso yo antes de llamar a php voy a crear una table voy a crear una tabla voy a mezclar php con una tabla html esta tabla tendrá una fila que tendrá titulares de tabla 1 2 y 3 que serán el nombre el teléfono y el email ahí está la tabla se ve mal pero eso es porque no he puesto ahí border es igual a 1 y ruiz es igual al 100% ahí tengo nombre teléfono y email pero claro el contenido está fuera de la tabla porque no está maquetado con etiquetas cr y todo esto balear tengo un problema es el siguiente como meto yo aquí esto me devuelve el contenido de cada línea dentro d un elemento adentro de cada unos elementos pero dentro de cada línea pero yo no quiero dividir con te resistes así que voy a hacer una cosa atención todos a la pantalla lo que voy a hacer es decir línea es igual a esto y ahora dentro de línea voy a hacer lo siguiente voy a hacer reemplazo es igual str place str replace es una función de php que reemplaza unas cosas con otras y ahora digo cuando te encuentres una coma reemplaza la con un té de tv dentro d linear ocurre que ahora mismo no me sé de memoria la sintaxis de str replace por eso lo que hago es decir ph str place y en ese terror the place compruebo qué vamos a verlo algo más fácil bueno leamos la documentación oficial antes mix search es lo que debes buscar replace es con que lo debe reemplazar y saber si es de quien lo quieres buscar donde lo quieres buscar un artículo siguiente eco usted y punto reemplazo punto bebé donde el reemplazo lo que va a hacer es cada una de las comas y donde se encuentre una coma lo que va a hacer es cerrar columna abrir columna le he puesto una de apertura en una de cierre al final porque no hay como al principio no y como al final si todo esto ha ido bien cuando ahora guardo y recargo a cuidado cuidado ahí tengo un problema ha funcionado casi bien y es que tengo celdas pero no tengo el cierre de línea el cierre de línea va aquí tr y ahora guardo y recargo ahora si tengo juan teléfono email veo que algo me sobra por aquí no sé por qué para ver por qué pero ya tengo por aquí por lo menos el contenido maquetado dentro de una tabla se inspecciona el elemento veré que hay una fila de más una fila además no sé ahora mismo por qué porque al final parece como que quisiera haber una coma pero el caso es que no la hay bien de momento me voy a quedar la tabla así porque veo que de momento funciona esto quiere decir que yo era podía venir a la agenda y si pongo por ejemplo qué no sé javier tiene este número y tiene info javier puntocom comprobaremos como al leer aparecerá en un nuevo registro es decir ya soy capaz de tener una agenda telefónica de listar todos los registros pero ahora lo que quiero es no tener que añadir registros manualmente dentro de este archivo quiero añadir registros dentro de este mismo programa antes de acabar la tabla quiero poner un nuevo registro y quiero tener la capacidad de añadir un nuevo registro así que para ello voy a hacer lo siguiente en primer lugar me hago cuatro columnas aunque de una de ellas esté vacía me da igual meto una columna vacía en las en los titulares hemos visto que aquí hay un error con lo cual lo corrijo si esto se abre esto se cierra ahora hay cuatro elementos en la tabla pero los hay porque los quiero ahora sí voy a rellenar con uno vacío porque está vacío simplemente porque lo voy a usar al final está vacío de momento ahí pero porque lo voy a usar a la final atención cuando salgo de php digo tr y voy a hacer un formulario si quiero añadir un nuevo usuario lo tendré que hacer con un formulario por tanto un formulario que se abre y se cierra un tv que tiene un input type neymar nombre place holder nombre un tv que tiene otro tipo texto name teléfono creo que va ahora place holder teléfono un último importe tipo texto name gmail place holder email y por último habrá así un input de tipo submit si ahora guardo y recargo bueno en el forma le voy a decir action es igual a interrogante esto quiere decir que me lo envió ahí mismo mejor es igual a post y yo hago lo siguiente recargo y veo como tengo aquí el listado de nombre teléfono y email y tengo la capacidad de añadir un nombre un teléfono un email y enviar a dónde lo voy a enviar cuando le diera el botón de enviar a mí mismo le voy a enviar y se recarga esta misma página pero claro hemos diseñado el formulario tengo un trozo de php que se encarga de leer la base de datos que en este caso la base de datos un archivo de texto pero necesito otro trozo final de php que se encargue de leer la base de datos de perdón escribir en la base de datos escribir todo aquello que provenga de este formulario lo que tengo que hacer ahora es trabajar en cualquier parte del archivo para escribir un elemento más en la agenda por ejemplo lo voy a poner aquí arriba y ahora aquí arriba me recupero el archivo de escritura php lo copió y digo lo siguiente trabajo el archivo agenda punto csv ahora sí en modo a plus en modo añadir efe/archivo no voy a escribir esto es un archivo que voy a escribir escribo lo siguiente 2 nombre es decir lo que he enviado por post con nombre coma porque es un archivo separado por comas post el teléfono y los separó mira voy a desde aquí hasta aquí por comas y post email es decir dentro del archivo lo que quiero escribir es lo que he enviado el formulario del nombre con lo que he enviado el formulario del teléfono con lo que he enviado como email y baja la línea debajo cierro el archivo ya lo volveré a abrir más adelante pero se ha quedado con él de momento lo cierro y ahora escribo lo siguiente cuidado en este caso lo que me puede pasar es que el programa me dé un error porque están esperando a que encuentre un post nombre igual no existe así que digo sí y set si existe post un hombre en ese caso ejecuta este código y si no existe no hagas nada así que vamos a verlo ya tenemos una línea agenda voy a [Música] recargar y ahora quiero crear al usuario un nombre con j jacobo el usuario jacobo tiene el teléfono 11 11 tiene el mail info jacobo puntocom si todo va bien y el programa no genera ningún error le digo enviar y aquí ya me aparece jacobo 1 1 1 1 4 baja como puntocom tengo también a julia con el teléfono 22 22 22 y el email info julia puntocom y si ahora le voy a enviar comprobamos cómo voy añadiendo registros a mi agenda atención si ahora voy a agenda csv comprobaréis como ahora jacobo y julia forman parte de la agenda así que aunque mínimo pero ya tengo un programa completo ya tengo un programa que es capaz de leer que es capaz de escribir y que puede persistir y que incluso os digo más es un programa colaborativo ahora mismo quizás no lo es porque estamos trabajando en nuestro propio ordenador nosotros podemos tocar pero si cogemos este script y lo subimos a un servidor donde múltiples personas pueden acceder podríamos generar una agenda telefónica varias personas añadiendo registros o la misma base de datos lo que hemos hecho hasta ahora dentro de las cuatro operaciones más comunes dentro de una base de datos que es el modelo crudo donde el modelo cruz es read update y de élite que es crear leer y actualizar y eliminar hemos creado las dos primeras las dos primeras operaciones que son crear y leer nos faltaría actualizar y eliminar solo podemos dejar incluso para base de datos directamente pero hay una quinta operación que aunque no se considera propia de las cuatro principales finalmente lo es que es buscar yo quiero crear un buscador porque yo igual ahora mismo está bien porque tengo una agenda con seis elementos pero imagínate que empiezo a escribir empiezo a escribir y llega un momento que tengo 200 elementos una de las ventajas de la informática es que hace mucho más que una mera guía telefónica tú puedes buscar y filtrar rápidamente los otros entre por ejemplo 200 mil clientes digamos o 200 mil entradas de la agenda voy a programar por tanto un pequeño buscador para ello me voy a index y por ejemplo arriba justo abajo justo arriba del table digo esto es tabla listado de clientes ahora voy a hacer lo siguiente esto va a ser buscador de clientes no puedo buscar por ejemplo por el nombre y ahora digo forma action es igual a interrogante mejor es igual a post y ahora digo input es importante name no se puede llamar nombre porque nombre ya lo estoy usando aquí así que pongo nombre buscar input type submit [Música] place holder e introduce el nombre del usuario a buscar cuidado porque lo único que pasará es que si guardo y recargo se guardó y recargo introduce el nombre del usuario a buscar no se ve pero está ahí ahora hago lo siguiente br br simplemente para separar y ahora voy a hacer allí un pequeño buscador php php para hacer un pequeño buscador me voy a copiar esta estructura esa estructura es la que lee y voy a decir agenda csv línea es igual a esto y ahora voy a decir esto de aquí mira me cargó esto y digo he explotado es igual a explorer o explorer o split los dos funcionan coma como línea que hace explicó si me voy a php split o psp explode hace básicamente lo mismo lo que hace es definir cuál es el patrón para cortar cual es el patrón para partir y de dónde lo quieres partir es decir cada vez que te encuentres una coma cada vez que te encuentres una coma parte lo eso quiere decir que ahora por ejemplo un hombre es igual explotado al primer elemento de la matriz el teléfono es igual ha explotado uno e mail es igual a explotado 2 es decir cuando hago un split lo parte muy bien y dónde lo mete la misma variable como parte lo convierte en una matriz y mete cada uno de los elementos en un índice de la matriz así que ahora digo lo siguiente nombre es igual a lo que te he enviado por nombre buscar lo que te he enviado por nombre buscar en ese caso y sólo en ese caso dime eco el nombre es punto nombre punto br el teléfono es punto teléfono y el email es punto email si ahora guardo y recargo tendré lo siguiente nombre buscar así claro 99 por supuesto nombre buscar no está definido así que digo si usted es tu casa aquí y sepsi existe el post nombre buscar si he enviado el formulario porque igual no he enviado el formulario en ese caso ejecuta me todo este código es decir si yo vengo aquí yo no he enviado un hombre a buscar yo no he buscado nada así que si no he buscado nada no me intentes ejecutar todo esto de aquí por eso digo solo si está puesto solo si existe nombre buscar en ese caso ejecutar el buscador sin nadie ha perdido nada no ejecute ningún buscador bien si ahora pongo por ejemplo juan comprobemos si funciona recargo y me dice bueno ahora veremos qué pasa y el nombre es juan el teléfono es este el mail es info -juan puntocom si busco jose el nombre es josé el teléfono es este y el mail es info jose puntocom es decir como podéis ver independientemente de los notice que me dé por ahí ahora veré a qué se deben pero independientemente de estos notice que luego no aparecerían lo que ocurre simplemente es que tengo a parte del listado y aparte de la inserción un pequeño buscador buscador cutre ahora mismo si queréis pero buscador al final acabó javier con su teléfono y su correo independientemente de luego el listado y luego la inserción y oye si no buscas nada pues simplemente no aparece ahí es decir si no buscas nada no es cierto que esté puesto post un hombre buscar y por tanto no se llega a ejecutar ese código por último le podemos dar a este ejercicio un poco de estilo simplemente escribiendo algo de style en la cabecera por eso si queremos hacer un estilo interno así que yo ahora aquí podría poner todo este contenido dentro de un contenedor voy a poner un dip al final para que el contenedor lo contenga todo y ahora podría hacer algo como por ejemplo el contenedor tendrá un wifi del 80% tendrá un padre de 10 píxeles tendrá un background white y tendrá un martín auto y quizás un borde radios de 10 píxeles y tal vez un box shadow 0 píxeles 10 píxeles 20 píxeles black con esto lo que consigo es que ese contenedor esté centrado en la pantalla ahora veremos qué pasa con esta tabla no pasa nada vamos a verlo todo bien ahora lo que voy a hacer es por ejemplo el body y le digo qué va a tener lo siguiente el body va a tener un background gray y un font family areal para que la letra sea de palo voy a decirle un padre hijo un poquito mayor y voy a decirle que bueno el wef claro es que aquí empuja demasiado igual lo puedo solucionar pero table le quito los parámetros del table que los había puesto porque no tenía css pero ahora tengo css y le digo wifi es igual a 100% font-size es igual a 10 píxeles y ahora tengo ahí la tabla se me sale un poco por el input también le puedo decir lo siguiente y table input los inputs que estén dentro de la tabla with 25% y claro cuidado 100% para que cojan el 100% de la celda y así no se me salga incluso le puedo decir table trv es decir el td que está dentro del tr que es dentro de la tabla le digo un parking de 10 píxeles para qué espacio un poco más si quieres no 10 pero 4 por ejemplo y así fijaos que poco a poco ahora puedo decir con tenedor input es decir sólo con el input que está justo dentro del contenedor le digo wifi por ejemplo 80 por ciento para que sólo ese de ahí vamos a ver que no está en el contenedor donde está el contenedor form input ahora si le digo que ocupe el 80% para que ese buscador sea un poco más grande también le puedo decir porque no como en cualquier proyecto web prácticamente que hago que el h1 y el h2 tengan un padding de 0 píxeles y tengan un margen de 0 píxeles para que no se coman tanto espacio y ahora sí lo que haría es quizás poner un par de veces para que haya un poquito de espacio entre el título el buscador y la tabla en definitiva podéis ver cómo con un poquito de css ese ejercicio que con php puro y duro se hace tan feo pues se puede maquetar hasta donde queramos o hasta donde sepamos usando el lenguaje css de marcado presentación al

Deja una respuesta

Tu dirección de correo electrónico no será publicada.