Curso PHP

lo primero que vamos a hacer para poder desarrollar pues dinámicas dentro de nuestro equipo es convertirlo en un pequeño soy de dar web para convertir nuestro tipo en un servidor web haría falta descargar instalar y configurar un montón de paquetes que nos podría llevar bastante tiempo por suerte hay un paquete que se llama el sound que se encarga de automatizar esta laboriosa tarea vamos a abrir un buscador de google y dentro de google vamos a buscar x mpp el shampoo pulsamos en la primera coincidencia apache friends jump y entramos en esta página donde deberemos elegir qué versión de sharp es la que queremos instalar por suerte además hay paquetes de sant para linux para windows para marc y para su análisis por tanto da igual prácticamente que máquina os hemos para desarrollar porque vamos a tener nuestro paquete de chando aparte podremos comprobar lo que estaba comentando hace un momento y es que la versión de sam cada versión en un solo el partido de instalador contiene un montón de herramientas y auto configura este montón de herramientas que de otra manera nos podría costar bastante de instalar y configurar contiene apache el servidor web mysql el servidor de bases de datos php perl y a continuación un montón de módulos de php y de herramientas para gestionar por ejemplo más de datos obtener estadísticas de uso del servidor mercury email transport un sistema para gestión del mail y en definitiva otras muchas herramientas incluyendo una que me interesa bastante que es ese culito por tanto vamos a elegir la herramienta que se adapte a nuestra plataforma y ahora mismo estoy en windows por tanto voy a elegir usar para windows voy a hacer clic y en la siguiente pantalla lo que tengo que hacer es decidir qué paquete quiere descargar voy a bajar hasta abajo elián of point el punto de saldo y voy a elegir descargar no quiero descargar todavía ar pons añadidos lo que quiero descargar el propio sanz así que voy a pinchar en download sham y a continuación en sham para windows se me permite descargar dos tipos de tres tipos de archivos el instalador un archivo zip y un archivo se den cita los archivos zip y se ven si funcionan descargándose y descomprimiendo sé a palo seko si es nuestra primera vez con champ yo recomiendo mucho más hacer clic en el instalador y descargar el instalador lotes amp este instalador se instala y se configura automáticamente de una manera muy sencilla esperamos los segundos necesarios y a continuación elegimos descargar aunque pone que este archivo pueda en el ordenador realmente conocemos el origen del archivo y por tanto elegimos guardarlo y tras unos pocos segundos el archivo quedará descargado en aquella carpeta que tengamos configurada como carpeta de descargas en nuestro ordenador por defecto suelen ser la carpeta de mis documentos descargas una vez esté descargado este software el samp lo que haré es doble clic para ejecutarlo ahora que se ha quedado correctamente descargado vamos a hacer clic en el enlace para arrancar la instalación tras lo cual se me dice que debo permitir que este programa que esté en publicación que desde un publicado desconocido realice cambios en el equipo debe decir que sí y a continuación inició la instalación de el sol en este caso se me dice para usuarios de windows vista en windows 7 que debo desactivar para un uso óptimo de el samp el control de acceso de usuarios que lo hace el ‘user access’ control está en el panel de control de windows dentro de cuentas de usuario en el último enlace llamado cambiar configuración de control de cuentas de usuario si estamos en windows 7 así que lo que se me está diciendo dentro de sal es que debería pulsar cambiar configuración de cuentas de usuario y bajar este deslizador al nivel mínimo para que no impida que arranque en la mayoría de servicios que incluye el sar voy a pulsar se aceptar elijo cambiar el control de cuentas de usuario al mínimo y lo que hago es aceptar ahora si empiezo propiamente la instalación de sal donde pulso next y dentro de esta ventana se me invita a especificar la carpeta donde voy a instalar el sap por defecto la carpeta que se propone siempre es hace dos puntos contra barra camps usando el botón brown podemos cambiar en nuestra nuestra preferencia por ejemplo a instalar esto dentro de archivos de programa x86 o archivos de programa o program files o donde queramos sin embargo yo os recomiendo dejar esto como está e instalar el samp fuera de la carpeta de archivos del programa e instalarla directamente donde está propuesto que es directamente en el raíz así que sí quisiera cambiarlo pulsar ya este botón y marcaría a la carpeta deseada como no quiero cambiarlo lo que hago es dejarlo con cero contra la barra sanz y pulsar next a continuación se me invita a especificar cómo quiero instalar este programa quiero crear un icono de acceso directo en el escritorio si quiero crear un acceso en el menú de inicio sí y en sección de servicios podemos activar apache el servicio de páginas web mysql el servicio de gestión de bases de datos servicio de servidor de bases de datos ifai fila ftp como servicio o no por defecto está arrancado esta he seleccionado como no instalar como servicio esto quiere decir que tendría que arrancar manualmente los programas cada vez que arrancará el ordenador si los instaló como un servicio los programas arrancarán automáticamente y en el background en el fondo cada vez que el ordenador arranque yo lo que haría es si voy a usar este ordenador constantemente para desarrollar activar tanto apache como mysql no tanto file fila porque yo al menos no lo suelo usar en un ordenador de desarrollo pero bueno vamos a activarlo también y de esta manera cada vez que arranque la zona 2 no me tengo que preocupar por activar manualmente los programas sino que cada vez que arranque ordenador automáticamente arrancarán cierto es que así el ordenador gasta un poco más de ram también es cierto que a día de hoy con la gran cantidad de ram que tenemos los equipos tampoco supone un gran gasto bloque hay que decir también es que si llega un momento en que no usamos este ordenador para desarrollar tendremos tres servicios apache mysql y file fila corriendo sin ninguna necesidad también voy a decir que elijamos lo que elijamos aquí más adelante se puede cambiar no es irreversible esta selección si aquí elijo instalar como servicios más adelante los puedes desactivar y si aquí no los instala como servicios más adelante los puede activar como servicios por tanto yo de momento voy a activar los tres como servicios y voy a pulsar sobre instalar ahora si el programa empieza propiamente la copia de archivos al disco duro hay que decir en este caso que en mi caso está poniendo muchas veces as mensajes skid ya que ya tenía una instalación previa de sant en este ordenador si no tenemos una instalación previa pues evidentemente no podrá no pondrá skip sino que pondrá a copiar lo que está haciendo independientemente de lo que pone aquí que si no teníamos un santo antes instalado no pondrá skip sino que pondrá copiando lo que tenemos que hacer es esperar a que el programa acabe íntegramente la copia de archivos y una vez llegados a ese paso lo que hará es arrancar cada uno de los programas y de los servicios que hemos solicitado además también al acabar la copia arrancará el panel de control de sap el panel de control de sal es una ventana que como decía hace un momento nos permitirá activar y desactivar manualmente los programas y activar y desactivar manualmente los servicios esperamos por tanto a que acabe esta instalación tarda bastante no porque la instalación sea demasiado grande que ocupe demasiado espacio del disco duro ya hemos visto que la descarga era de 63 megas en un archivo autoejecutable pero que al descomprimir secos puede quedar en 200 megas pero tarda mucho en instalarse porque realmente lo que está haciendo es copiar muchos archivos pequeñitos por eso no es que esté consumiendo una gran cantidad de espacio en el disco duro ahora luego comprobaremos al acabar de instalar cuánto espacio realmente ocupa sino que tarda mucho por estar copiando muchos archivos pequeñitos insisto aunque en mi caso pone es que muchas veces skip es quitar ha evitado ese archivo y lo ha evitado no por no vale especial sino porque ya existía porque ya tenía un usar previamente instalado una vez acaba la instalación arranca el sprint de instalación arranca el de configuración última de los servicios tras lo cual debo esperar unos pocos segundos en este punto parece que se haya colgado el ordenador sin embargo no es así debo esperar unos pocos segundos a que la instalación finalice de vez en cuando es bueno asegurarse que no hay ninguna ventana por ahí disfrutando y enviar a si la instalación ha finalizado donde se nos muestra esta ventana donde el saldo 174 a ser instalado en su ordenador clic félix to play this wizard tiene puede ser finalizar para cerrar este asistente pulso finalizar y ahora lo que está haciendo es arrancar cada uno de los servicios en este caso atención me dice que ha fallado porque ya lo tenía ejecutándose ya lo tuviera no lo tuviera siempre me dice esto siempre me dice que el programa ha fallado no pasa nada quería aceptar y lo que haré es visualizar cómo ha salido este pequeño panel de control si el panel de control no hubiera salido automáticamente siempre puedo sacarlo a partir bien de este icono de acceso directo o bien del icono resultante en el menú inicio doble clic lo que acaba de ocurrir es que me dicen que ya lo tengo corriendo aquí abajo no tengo aquí y este es el panel de control donde puedo controlar mi instalación de el samp en este caso puedo comprobar como tengo en los módulos de apache servidor web mysql servidor de bases de datos filezilla servidor de ftp y mercury servidor de correo como he elegido de instalar estos tres elementos como servicios la columna services aparece activada si en cualquier momento ya no deseo que estos programas estén como servicios simplemente desactivar ese tic y en este caso lo que me dice es que debo art antes los procesos lo que he hecho ahora mismo es de seleccionar como servicio cada uno de los elementos que habían seleccionado como servicio previamente lo que he tenido que hacer es detener los procesos para volver a arrancar los procesos simplemente tengo que volver a pulsar start tras unos pocos segundos lo que me dirá vamos a verlo y lo que me dirá es que apache habrá arrancado para reencarnar sql pulsar el estado y para arrancar filezilla pulso de estar en este caso me dice que para el fila debe arrancarse como servicio si en cualquier momento deseo y yo lo voy a dejar así que estos programas se queden instalados como servicios lo que haré es volver a marcar la casilla de servicios o en este caso voy a parar los procesos voy a arrancar [Música] los servicios y a continuación una vez que arrancar los servicios arranco los procesos en este caso me dice que ya tengo los dos ejecutándose por estar instalados como servicios tengo ya por tanto el entorno preparado para trabajar y tengo ya por tanto un apache y un mysql funcionando convirtiendo mi ordenador en un pequeño servidor web sobre el que poder desarrollar a continuación vamos a comprobar que el sant está correctamente ejecutándose y para eso lo que vamos a hacer es abrir un navegador web y dentro de la barra de direcciones colocaremos la palabra localhost localhost lo que está diciendo es que quiero ir al huésped local es decir no quiero ver una página web que esté situada fuera de mi ordenador lo que quiero hacer es ver las páginas web que está sirviendo mi propio ordenador diciéndole que quiero ir a localhost le estoy diciendo que quiero ir a la carpeta raíz a la primera carpeta que hay dentro de mi servidor web por eso escribo localhost pulso enter y mi servidor web en este caso me están enseñando la pantalla de inicio y bienvenida del sunp donde se me invita a escoger un idioma evidentemente en este caso voy a escoger español como idioma de visualización de las herramientas que contienen salvo al pulsar sobre español accedo al panel de control de sap se me dice bienvenido a sam sam se instalado con éxito de su ordenador y se me informa de aquello que tengo instalado en este paquete sound en mi servidor y es importante saber que lo que estoy haciendo es visualizar una página web que ahora mismo está ejecutándose desde mi servidor en este caso además es una página web es una página web dinámica está escrita con php por tanto no podría ejecutarla directamente haciendo doble clic en este archivo sino que la única manera de ejecutarla es poniendo localhost y la dirección del archivo php comprobar el en la barra de la izquierda aunque más adelante vendremos a esto como tengo herramientas de control de mi servidor web tengo la pantalla de bienvenida tengo el estado donde se me dice que elementos están activados y desactivados en este caso compruebo como la base de datos mysql está activada php está activado https está activado puedo hacer face puedo hacer service and y sin cruces no tengo de momento activado el cmt que es decir no puedo enviar correos salientes así que tengo el servidor ftp y sé que tengo el servidor tomcat aunque para la gran mayoría de este curso lo que haremos es usar mysql php como elementos de servidor y no nos hará falta nada para javascript porque javascript funciona correctamente sin necesidad de apache ni servirá de necesidad de tener instalado un servidor al menos para desarrollar el local evidentemente sí que es necesario para servir páginas al exterior puedo hacer un chequeo de seguridad donde se me dice que cosas están bien qué cosas están mal qué puerto están abiertos php no tiene contraseña más adelante iremos arreglando esto la contraseña la fp está y sigue siendo la evidentemente son no errores sino advertencias que deberemos corregir para asegurar un sistema lo más seguro posible documentación componentes dentro de php es muy interesante esta utilidad de llamada php info php info es un comando es una función de php más adelante la veremos donde se nos da un detalle completo de todo aquello que tiene configurado el módulo de php de servidor de hecho se me dicen muchas cosas de mi servidor como qué módulos tiene instalados qué versión de cada uno de los módulos que está ejecutándose que no está ejecutándose qué valores de configuración tiene cada uno de los elementos definitiva se me da una información bastante incompleta de los elementos que hay instalados ahora mismo dentro de mi servidor tenemos algunas aplicaciones ya preinstaladas de demostración muchas de ellas como han visto los de ceres en este caso nos reconoce mysql biorritmos instant art es decir una serie de elementos para demostrar que el servidor está correctamente funcionando más adelante desde el nuevo en herramientas usaremos php miami como herramienta para gestionar bases de datos mysql e incluso web alai share para obtener estadísticas de uso del servidor de momento lo que me interesa desde el nuevo es comprobar que el servidor web ha quedado correctamente instalado y que puedo empezar a usarlo para desarrollar mis propias webs pero dónde puedo realmente yo desarrollar mis propias webs bueno pues vamos a sacar un explorador de archivos vamos al disco local y comprobaremos cómo existe una carpeta llamada sound porque al instalar hemos especificado que queríamos obtener esta carpeta siempre que queramos desarrollar páginas web sitios webs dinámicos tenemos si hemos instalado samp que ir a la carpeta sham y entrar dentro de la carpeta ht 2 esta carpeta es la carpeta raíz de mi servidor y cuando he hecho clic en localhost de pulsando localhost lo que hecho realmente es ejecutar sin quererlo este archivo index.php por tanto todo aquello que hagamos en nuestro servidor y queramos que sea correctamente evaluado por el propio servidor web debe estar dentro de esta carpeta ht docs que está en el disco local de carpetas y subcarpetas ht docs voy a hacer una demostración y es que voy a hacer una nueva carpeta llamada curso web 2 0 voy a entrar dentro de esta carpeta y lo que haré ahora es dentro del local host es decir que quiero ir al local host curso web 2 0 compruebo como he entrado correctamente dentro de esa carpeta si hubiera puesto cualquier otra cosa por ejemplo con su web 21 la carpeta no existe y por tanto cuando el pulso entre el programa me dice objeto no he encontrado por eso si pulso curso web 20 lo que estoy haciendo es realmente entrar dentro de esa carpeta que bueno atención ahora mismo la carpeta está vacía y como la carpeta está vacía me dice que no hay nada dentro de esta carpeta si yo ahora creo un nuevo archivo de crear un nuevo archivo aquí dice que es un documento de texto y lo llamo hola punto txt si ahora en la pegada al huevo refresco comprobaré como ahora tengo el archivo o la tx de es una demostración inequívoca por tanto de que al poner localhost barra curso web 2.0 realmente lo que estoy haciendo es ir al disco duro ce a la carpeta sham a la carpeta ht docs y entrar dentro de la carpeta curso web 2 0 porque si yo pongo un archivo aquí llamado cola punto txt apareció también aquí no sería lo mismo abrir directamente desde cero puntos barra vital para ciertas cosas y para html sí que es lo mismo pero para programación dinámica con php y mysql no si por ejemplo hacemos cualquier archivo index.php y tratamos de verlo desde cero dos puntos tal no funcionará debemos ejecutarlo desde la ruta del servidor que es localhost barra y la subcarpeta donde esté almacenado este archivo por tanto deberemos acostumbrarnos a partir de ahora siempre a menos que cambiamos la configuración por defecto que más adelante veremos cómo se hace pero si no la cambiamos a que la carpeta donde hemos convertido nuestro ordenador en un servidor web es de dos puntos sam hd box vamos a crear un primer ejemplo y para eso lo que haré es crear un nuevo archivo documento de texto y lo llamaré hola punto a html deseo cambiar la extensión del archivo y voy a editar el archivo voy a abrirlo con de momento el portal y abrirlo con el word para dos con el bloc de notas y lo que he hecho ahora simplemente es abrir y editar ese archivo voy a poner un poco de contenido html y para eso responde un título h1 o no y contexto del parágrafo esto es html por y duro bienvenido bienvenido para que sea bienvenido y bienvenida a la vez así que archivo guardar voy a cerrar y si ahora ejecutó sea ahora refresco veré como si tengo aquí el arte existe yo la html tengo aquí hola txt y hola externé l además si hago clic que quiero entrar dentro de la hp ml lo que hará momento mi servidor es procesar este archivo html y mostrarme como texto de título el pola y como texto de parágrafo bienvenido a tu servidor también podrían lugar de hacer clic escribir aquí directamente el nombre del archivo de tiro evaluar por tanto hola punto html y si pulsa enter estaría accediendo directamente al archivo una cosa muy importante dentro de los servidores web es que tienen un archivo por defecto y ese archivo por defecto suele ser index punto lo que sea si dentro de la carpeta existe un archivo llamado index punto lo que sea lo que hará el servidor web es asumir que ese es el archivo que debe abrir por defecto es el primer archivo que debe ser abierto el problema es si no tengo ningún archivo ni index.php ni index.html ni index punto nada si no tengo ningún archivo ya index ahora mismo no tengo ningún archivo index lo que hace el programa es no saber por dónde empezar y simplemente mostrarme el contenido de la carpeta lo que haré ahora es dentro de este navegador cambiar fuego por index.hu tml si pongo index.html cuando recargue la carpeta curso web 2 0 lo que real programa es abrir directamente index.html compruebo cómo se hará recargo sin necesidad de especificar lo sin necesidad de poner en despuntó html abre index.html porque recordemos que nuestra primera página de cualquier sitio web la página por la que queremos empezar la página que queremos que sea abierta por defecto debe llamarse index punto lo que sea en este caso index html ya que todavía no empezado a usar pero

ahora que ya estamos preparados y ya tenemos un entorno apropiado para empezar a desarrollar nos hacen falta herramientas de desarrollo las herramientas para desarrollar el web dinámica no son realmente muy complejas de usar es cierto que se podría usar por ejemplo el notepad o el word para para desarrollar el código dinámico sin embargo yo recomiendo las herramientas que son las siguientes la primera de ellas entrar en google se llama heavy head y es un editor de textos que colorea en el código según el tipo de sintaxis que estemos usando así que dentro de google voy a poner el heavy de hecho voy a poner here it for windows ya que es un programa que existe tanto para linux como para windows como para mac en este caso lo que estoy diciendo es que quiero la versión de here it específica para windows dentro de esta de esta ventana de esta página web live vr je edith barr and windows lo que voy a hacer es descargar los binarios ya compilados no voy y en este caso al compilar here it para atraer a partir del código fuente así que voy a los binarios ya preparados dentro de esta página descargo en la última versión que pueda y lo que hago es hacer clic para descargar guardar este programa y una vez guardado lo que haré es instalarlo una vez descargado lo que haré es hacer clic en el archivo para descargarlo y poder empezar a utilizarlo feliz como digo es un simple editor de textos pero que nos permitirá como veremos a continuación en colorear el código y por tanto saber mejor cuando cometemos errores ahora que estaba descargado lo que voy a hacer es hacer clic para ejecutarlo e instalarlo sigo a través de las pantallas de instalación next sigo y el estado es un programa bastante más sencillo de instalar que camps por tanto en bastante menos tiempo de lo que tardamos con sound tendremos que edith correctamente instalado en nuestro equipo si por alguna casualidad usamos linux no es necesario instalar geli ya que suele venir especialmente si trabajamos con un punto suele venir ya instalado como editor de textos por defecto te voy a decir que quiero finalizar y lo que haré ahora es ejecutarlo desde el menú inicio ejecutó a edith head it y el programa arrancará mostrándome esta interfaz es una interfaz como podemos ver bastante básica pero vamos a ver que si voy al sistema de archivos voy a salud pero ya con software 2.0 lo que estoy haciendo es navegar a través de estas carpetas de la izquierda y voy a index.html vemos como no es un editor de textos cualquiera ya que eres capaz de colorear las etiquetas en este caso de html los que sea un verde muy presente pero si nos fijamos el verde de las etiquetas nos indica que esto de aquí en su etiqueta html y estoy aquí es un texto normal esto viene bien porque si por lo que fuera yo cometiera un error y me cargará esta llave todo el texto quedaría marcado en este caso de verde y luego de morado nos estaría indicando veríamos de una manera mucho más sencilla que ahí he cometido un error porque me faltaría cerrar esa llave por eso realmente here it no hace mucho más que esto pero esto es bastante valioso colorear el código es bastante valioso cuando todavía no controlamos muchos del lenguaje de programación y estamos más abiertos a cometer errores no es que jen y nos nos vaya a corregir sino que cuando comentamos un error sea mucho más fácil mucho más rápido ver dónde nos hemos equivocado y cómo lo podemos corregir una configuración que hay que activar de que activar dentro de head y es la siguiente lo voy a hacer es dentro de las carpetas puedo crear mansión nuevo o puedo dentro de esta pestaña aquí abajo visualizar las carpetas voy a pulsar el botón derecho voy a ver el filtro y la primera vez que instale edit en mi equipo me tendré que asegurar que mostrar ocultos y mostrar binarios están los dos activados ojo porque por defecto los dos están desactivados y puedo estar en la carpeta puedo estar la carpeta correcta y no ver ningún archivo es decir qué raro si en esa carpeta realmente siguen archivos bueno esto es porque head y cuando se instala por defecto en la manía de no mostrar los archivos hasta que no venimos aquí y pulsamos con botón derecho y vamos a filtro mostrar ocultos y filtro mostrar binarios y aunque estos archivos no son binarios atrás realmente solo nos muestran cuando activamos mostrar binarios por tanto vamos a asegurarnos antes de empezar a desarrollar que esas dos opciones están activadas para visualizar correctamente el contenido de mí otro doctor de textos que recomiendo instalar y recomiendo utilizar spotify plus voy a ir a google y voy a buscar una editora llamado no te paga los dos como primera coincidencia para el guión tengo la página original del proyecto donde lo que haré a continuación es descargar el instalador para darle al disco duro y una vez descargado ocupa sólo 5 con 3 megas instalarlo voy a hacer clic sobre este instalador y seguiré uno a uno de los pasos por suerte en español de instalación de este programa siguiente acepto siguiente y voy a de momento instalar todo por defecto otra vez es un programa bastante liviano con operación en comparación con el sam por tanto ya está terminada su instalación que voy a ejecutarlo para comprobar por tanto que las ventajas de note paz plus plus son prácticamente las mismas que las ventajas de head its y ahora lo que hago es abrir no tiene esos y nosotros los productos tiene la ventana de la izquierda del navegador de archivos si no voy a archivo abrir y me voy a disco local y me voy a sun y me voy a 72 recursos el 20 y seleccionó index.html benefit en si la ventaja de los de path fructus es la misma que la de help y que es colorear identificar y marcar correctamente los elementos en este caso de asml así como here it marca los elementos por defecto con color verde los de partes plus en el caso de etiquetas html las coloridas de color azul pero lo importante en definitiva no es si son verdes son azules sino lo importante es que me sirve para identificar errores en este caso si vuelvo a eliminar la etiqueta de cierre del parágrafo comprobar cómo este archivo o esa etiqueta ya no queda identificada como parágrafo sino que aparece como texto normal y por tanto puedo ver mejor donde el cometido de adoro no es que estoy feliz ni que tú ya no te pacto sino que dentro de que cada uno hace pues prácticamente lo mismo deberemos elegir uno u otro para desarrollar a mí particularmente a mí me gusta un poco más feliz porque tiene incorporada esta ventana de navegación de archivos tal vez vosotros tengáis esta ventana como sacado esa ventana es muy fácil si cierro esa ventana y le quiero volver a sacar simplemente le doy a ver en el lateral o bien pulsó el botón f9 más allá de eso no tiene mucha más complicación es cierto que no te patrus plus por defecto viene con los números de línea ella marca 2 head y por defecto no viene con los números de línea ya marcados pero sí voy a editar preferencias puedo activar el mostrar números de línea por tanto es cierto que me trate los pros viene con esto ya incorporado pero el gen y simplemente a partir de editar preferencias lo podemos activar sin ningún problema tampoco pasa nada porque no te paz plus plus no tenga una una carpeta un visor de carpetas ya preinstalado porque simplemente lo que puedo hacer es poner así a tomate otros ponen así una unas carpetas y digamos falsear ese navegador de carpetas trabajarlas aquí con carpetas aquí con el editor y a la derecha trabajar con el navegador lo que sí que voy a decir es que este es la distribución en pantalla con la que voy a trabajar intentaré trabajar siempre con carpetas a la izquierda código en el medio y navegador a la derecha aunque a veces evidentemente hay que maximizar la ventaja de código para trabajar más cómodo en el caso de helitt pues lo mismo helitt o ocupará la primera mitad de la pantalla el navegador ocupará la segunda mitad de la pantalla y así lo queréis trabajar con carpetas a la izquierda con el código en el centro y con el navegador donde iré comprobando el código en cada uno de los momentos

a continuación vamos a ver cómo se llevan como coexisten php y html su coexistencia es bastante buena y es bastante fácil si respetamos unas cuantas reglas básicas si yo crea un archivo nuevo voy a ir a hacer y voy a hacer es tener en la parte de la izquierda de la pantalla el editor here it y en la parte de la derecha el navegador y dentro de la carpeta con su web 2.0 voy a crear un nuevo archivo para eso pulso con botón derecho y creé un archivo nuevo voy a crear un archivo llamado php y html punto html si yo ahora hago doble clic y cargo este archivo html html dentro del editor lo que voy a decir es o simplemente soy un archivo hasta ahora esto no es realmente html texto plano voy a guardar y voy a ir a los campos barra el curso web 2.0 20 php y html punto tv y puedo comprobar esto es imprescindible para comprobar que estamos haciendo las cosas correctamente que sea aquí he puesto soy un archivo dentro de php html aquí al ejecutar localhost con su web 2.0 php html compruebo como tengo soy un archivo bien voy a convertir esto en código html por eso como aquí hace uno para convertir esto en un título guardo recargo y compruebo como ese texto se ha convertido correctamente en un título html hasta aquí en ningún problema el problema viene cuando intento escribir algo de código php dentro de este archivo para crear al código php dentro de un archivo tengo que hacer lo siguiente menor que interrogante php y pongo aquí para el código php y para cerrar de arrogante mayor todo aquello que vaya entre esta etiqueta de apertura php y esta etiqueta del cierre será código php sin embargo ahora mismo tenemos un problema es que se guardó y recargo no veo realmente nada ya que el programa no acepta esta etiqueta porque no la acepta pues porque estoy dentro de un archivo html y un archivo html puede contener cosas como por ejemplo html como por ejemplo css como por ejemplo javascript pero no puede contener php por tanto vemos que la etiqueta de apertura la del cierre y el contenido están en texto completamente negro porque no ha reconocido estas etiquetas por tanto dentro de un archivo html no podemos meter html y php pero dentro de un archivo php sí que podemos meter html php por eso el truco va a consistir en renombrar este objeto renombrar este archivo ap hp y html php si ahora el recargo este archivo ahora comprobaré como estas etiquetas que antes aparecían en negro no eran reconocidas ahora aparecen de color rojo de color rojo porque estoy usando hellip y usando tapa de cruz aparecerán de otro color y si uso otro editor pues pueden aparecer de otro color el color no me importa en definitiva lo que me importa es que aparecen de algún color indicando que ya reconocen esas etiquetas por tanto la primera regla que vamos a aprender de php y html es que siempre que queramos combinar php y html lo tendremos que hacer dentro de un archivo php y no dentro de un archivo html no hay ningún problema dentro de un archivo php el poner el contenido html ningún problema en absoluto pero dentro de un archivo html no podemos poner el código que esté si ahora pruebo este código señor pruebo este código comprobar que como tengo un error como php y html php y si ahora ejecutó lo que me devuelve es un error otra cosa que voy a aprender y esto lo tengo que aprender muy rápido muy rápido es que te hp no es un lenguaje tan permisivo como html y html me puedo equivocar voy a eliminar este momento de la web o escribir y el hecho de tener en el puedo equivocar puedo borrar eso y el programa seguramente no representará correctamente estudiar no representará correctamente lo que quiero escribir que ha pasado es que esto no ha aparecido pero oye si algo está incorrecto no lo muestra y ya está en la mayoría de ocasiones hay otras ocasiones donde equivocarse tiene otros efectos pero no fallan no se para no te da un error a cpn l cuando escribes algo mal las cosas no se ven como tú querías pero no da un error fatal de hps php no es un lenguaje tan permisivo como html y por tanto requiere que escribamos las cosas correctamente por tanto el precio es otra vez arrancar la etiqueta php y cerrarla y especificar que todo lo que vaya aquí dentro es el código php bueno pues no hay ninguna operación no hay ningún comando no hay ninguna orden en php que sea esto es conmigo de hp y como no lo hay como él el paseador php no es capaz de reconocer que es esto lo que hace simplemente es como no lo reconoce da error atención otra característica que debemos tener en cuenta de php y es que cuando ejecutamos un trozo de código php aunque esto esté correcto y esto no lo esté lo que se devuelve es un error completo por tanto un solo error que tengamos en el código nos puede invalidar toda la página a la vez es una mala noticia pero la buena noticia es que cuando falla nos permite depurar los fallos de una manera bastante bastante fácil y es que dice error de paseo hay un arroz de sintaxis ha encontrado una cadena inesperada y la he encontrado dentro de este archivo en la línea 5 así que por lo menos te dicen más o menos de qué va el error y te dice en qué línea del archivo vas a poder encontrar el error para poder corregirlo y compruebo como efectivamente el error se encuentra dentro de la línea 5 aunque más adelante explicaré por qué voy a hacer lo que voy a hacer ahora lo que voy a hacer es poner seco comillas y punto en coma lo que voy a hacer es decirle mediante el comando eco que lo que quiero hacer es devolver esta cadena lo que quiero hacer es lanzar esta cadena y punto y coma a lo explicaré a continuación para finalizar correctamente esa instrucción si ahora guardo y recargo comprobar como el error ha quedado por de giro ya lo tengo soy un archivo título tengo fg fg ssp pero escrito antes y tengo esto es código php esto es código php comprobamos por tanto como lo que he hecho es corregir ese error y convertir un trozo de código php a código html porque esta es otra de las cosas que debemos saber desde un principio y es que una cosa es php en el servidor y otra cosa es cuando se traslada ese trozo de código php al navegador el código php no se traslada directamente al navegador sino que se convierte en html se llama dentro de este navegador lo que hago es botón derecho del código fuente de la página comprobaré como no hay ni rastro de código php en el navegador el código php se queda en el servidor y se convierte en html cuando viaja hasta el navegador del cliente y esto en sí nos beneficia porque de esta manera php y se convierte en un lenguaje bastante seguro que se queda en el servidor y que no es rastreable no se puede destripar tanto como se puede destripar havas p así que siempre que desarrollamos en php debemos tener en cuenta que el código se queda en el servidor y lo que viaja hasta el navegador del cliente es el resultado final de procesar ese trozo de código php un comando clave dentro de hp es la instrucción echo eco convierte una cadena en html y la devuelve a una de gádor de terminar ese trozo de código y lo que voy a hacer es escribir una instrucción eco si escribo eco y lo que quiero hacer es devolver un número escribir en simplemente eco 5 si ahora recargo comprobaré como la parte html me devuelve soy un archivo y la parte php me devuelve 5 para continuar trabajando voy a eliminar completamente la parte html ya que ya hemos ha quedado claro que podemos combinar perfectamente una cosa y otra y voy a trabajar única y exclusivamente con php y comprado como para devolver números simplemente tengo que escribir eco eco es muéstrame en la pantalla devuélveme en la pantalla y convierte lo html lo que te diga a continuación y lo que le he hecho a continuación es el número 5 he dicho antes que cada línea debería acabar con un punto y coma sin embargo comprobó que esta línea no acaba con un punto y coma él sin embargo nos da error eso es porque es la última línea antes de la etiqueta de cierre la última línea antes de la etiqueta de cierre no está obligada a acabar con punto y coma sin embargo es una buena costumbre aunque sea la última línea acabarla con punto y coma yo la pongo otra línea de 26 guardo y recargo ahora así que lo que obtendré es un error error de sintaxis esperaba encontrarse una coma o un punto y coma en la línea 4 de el código que escrito atención porque a partir de ahora nos vamos a encontrar muchas veces que cuando realmente hace referencia a una línea el error está en la línea anterior y en este caso dice que el error está en la línea 4 sin embargo el error no está en la línea 4 hasta en la línea 3 para separar instrucciones debo usar un punto y coma si ahora uso punto y coma y recargo observara como ahora tengo un 5 por esta línea y un 6 por esta línea de aquí 6 en este caso no está devolviendo un error aunque sin embargo es muy recomendable poner punto y coma aunque sea la última instrucción antes de la etiqueta del cierre del ph pero otra cosa que recomiendo mucho es poner sangría a los elementos no es obligatorio estos dos elementos pueden estar a ras de las etiquetas php y cierre de hp sin embargo lo que hago es poner sangría para dejar claro que estos estas dos instrucciones dependen están jerárquicamente contenidas dentro de esta etiqueta el resultado en pantalla es el mismo exactamente es simplemente una buena costumbre pienso yo para ver el código de una manera mucho más clara no hay ningún problema tampoco en poner las instrucciones dentro de la misma línea el punto y coma no obliga a hacer punto y aparte el funcionamiento es exactamente el mismo echo 5 punto y coma ya continuación poner echo 6 da el mismo resultado que poner echo y punto y aparte del siguiente con yo recomiendo poner punto y aparte porque de esa manera el código es más claro sin embargo hay alguna ocasión en la que nos puede venir mejor trabajar directamente en una misma línea con varios comandos lo que sí que es importante eso sí es separar las instrucciones con el punto de coma el instrucciones con los problemas usando números pero nos va a dar problemas devolviendo cadenas de caracteres alfanuméricos si ahora guardo y recargo observa de que vuelvo a tener un error de sintaxis ahora el error de sintaxis no me estaba informando correctamente y me dice que se esperaba una coma o un punto y coma del nea 4 y si me fijo digo bueno ese no es exactamente el error porque tengo puntos y comas no debemos bueno en este caso el error es que siempre que echo devuelva una cadena de caracteres alfanuméricos esa cadena debe ir entre comillas si la cadena va entre comillas ahora guardo y recargo primero 56 son una cadena ahora si al poner la cadena entre comillas está devolviendo la cadena correcta y compruebo como si el número se había convertido a color violeta ahora que la cadena está re marcada entre comillas ahora la cadena también se marca de color violeta de color rosa o del color que sea por tanto siempre que use eco y esto es muy muy frecuente con cadenas alfanuméricas tendré que delimitar las con comillas por supuesto no pasa nada te pongo eco y entre comillas un número ya que ese número será tomado como cadena alfa numérica es decir cada escala en el caracteres alfanuméricos como letras y caracteres numéricos como números

vamos a trabajar ahora con variables las variables son contenedores que nos permiten almacenar información para su posterior uso lo que he hecho es crear una carpeta llamada variables y me he metido dentro del navegador dentro de esa carpeta estoy ahora mismo en curso web 20 variables dentro de la carpeta variables voy a hacer un nuevo archivo llamado diables punto h doble clic para cargarlo y se haga recargo comprobaré como variables php aparece ya dentro del navegador contenido en la carpeta hago clic dentro de radiables php para entrar a este archivo que en el momento está vacío una vez más insisto en la conveniencia de asegurarnos que estamos trabajando con el archivo correcto sea aquí pongo cola y guardo cuando aquí recargo debería ver aparecer hola es una cuerda en señal de que estoy trabajando con el mismo archivo a la izquierda ya la derecha bueno pues voy a empezar a trabajar con php para eso voy a abrir y cerrar dos intentos de apertura y de cierre de hp para saber que de manera segura estoy trabajando con mi código php ahora guardo y recargo se maree como de momento nada pasa las variables se definen simplemente escribiendo un dólar delante del nombre de la variable variable es igual a uno lo que he hecho ahora mismo es crear un contenedor llamado variable y darle igual el valor 1 si ahora guardo y recargo observa de que de momento nada ocurre en la pantalla una variable la asignación de una variable no tiene necesariamente ningún significado visual en pantalla simplemente internamente dentro de la memoria lo que he hecho es asignar un valor a una variable una variable debe tener el nombre compuesto preferentemente por cadenas cortas de caracteres alfaro médicos por ejemplo puedo escribir 1 y ahora a la variable 1 le ha asignado el valor 1 las variables no deben empezar con números si empiezan con números dan error comprueban como php invalida esta variable puede empezar con un número uno si empiezan con trinos especiales como el guión bajo suelen estar reservadas para otros tipos de variables que veremos a continuación por tanto de principio no se recomienda empezar variables estándar con guiones bajos las variables tampoco deben contener espacios ya que en cuanto creó un espacio lo que viene a continuación del espacio ya no se considera como nombre de la variable como un índice de la variable por tanto si quiero escribir una variable que se llame varios números y es una variable que está compuesta por dos palabras una costumbre bastante común es separar las palabras con mayúsculas y no con espacios poner varios números con las mayúsculas sí que es aceptable como una manera de escribir una variable php y atención porque php reconoce mayúsculas y minúsculas y estas dos variables por tanto no son la misma variable aunque aparezca en la misma realmente son dos variables diferentes a continuación vamos a comprobarlo ahora así devolviendo el valor de la variable como podemos devolver algo en pantalla con con la instrucción que ya conocemos llamada eco si pongo que ccoo y en lugar de poner un número pongo unas variables varios números punto y coma por supuesto para finalizar la línea al devolver se me devuelve el valor 1 que es lo que he hecho pues ha asignado una variable varios números con mayúsculas y le otorgado al valor 1 y una variable varios números sin mayúsculas y le ha asignado el valor 2 como el llamado a la variable con mayúsculas se me devuelve en pantalla el número 1 si ejecutó varios números que están en minúsculas y comprobar cómo tengo ahora el valor 2 como he ejecutado varios números con minúsculas y varios números con minúsculas es igual a dos eco varios números es igual a dos en pantalla por tanto es importante conocer que las variables aceptan soportan en mayúsculas y minúsculas es interesante del 1 al 15 aunque esto es posible no da ningún error pero una recomendación bastante general es vamos a ver números del 1 al 15 lo voy a devolver aquí es mantener los nombres de las variables lo más sencillos posibles aunque no se permite número 1 aunque no se permite empezar una variable por un número sí que se permite poner números en medio de la variable por tanto la variable el número uno es una variable correcta no así por ejemplo poner un número como podemos comprobar esta no es una fórmula adecuada para generar una variable número 1 en cambio sí que es una fórmula adecuada por tanto lo importante en este caso es tener en cuenta que para crear nuestras primeras variables tienen que empezar con un dólar dólar el nombre de la variable y a continuación igual y el valor que se le asigna a la variable las variables también pueden contener cadenas de caracteres fue crear una variable llamada cadena donde se le igualó un texto lo que obtendría en el momento es un error para crear una cadena de caracteres tengo que almacenar esa cadena dentro de comillas ahora si a la variable cadena le ha asignado el valor texto se la devuelvo el valor de la variable cadena observen como lo que se devuelve en pantalla es el contenido de la variable y es texto al igual que ocurre con el comando eco puedo usar comillas dobles o comillas sencillas para delimitar el texto de la cadena comprobaré cómo funcionan las dos cosas y ahora cosa muy importante y bastante frecuente cuando combinamos php html es necesitar poner varios tipos de comillas a la vez en la cadena voy a poner texto es un texto con ella y la palabra comillas va a ir entre comillas ser acuerdo y ejecutó comprobaré como no tiene problema en interpretar correctamente que comillas son cada una de las comillas que he puesto las comillas sencillas son comillas para delimitar la cadena mientras que las comillas dobles son simplemente caracteres que se deben representar en este m podría también poner comillas dobles para delimitar la cadena pero no podría entonces poner comillas sencillas para introducir las comillas en html lo que sí que podría hacer evidentemente es cambiar las comillas dobles por comillas sencillas pero qué pasa si en un momento dado necesito poner comillas dobles tanto dentro como fuera evidentemente lo que está pasando es que el programa cree que esta cadena que empieza aquí acaba aquí y esto es otra cosa que ocurre a continuación una interpreta que esto es parte de la misma frase si ahora guardo y recargo observaré como lo que tengo es un error si necesito poner de cualquier forma comillas dobles dentro de otras comillas dobles siempre puedo usar los caracteres de escape para crear un carácter de escape para estas comillas simplemente tengo que poner contra barra antes de estas dobles comillas y contra barras antes de estas dobles comillas lo que le estoy diciendo al programa es que estas dobles comillas no deben ser interpretadas como un cierre de cadena sino como unas dobles comillas en html si ahora guardo y recargo observa como ahora tengo un texto comillano aún teniendo combinación de dobles comillas con dobles comillas por tanto este caso que será muy frecuente a lo largo del tiempo lo resolveremos con estas con estos caracteres de escape las variables de formulario son bastante divertidas y bastante útiles ya la vez también como veremos bastante frecuentes hay dos tipos de variable de formulario que son la variable que se recoge directamente valores de la url y la variable post que es enviada por formularios específicos usando el método post si yo pongo variables punto php y pongo a continuación de pérez p interrogante nombre igual a jose vicente de momento nada pasa en la pantalla lo que he hecho es arrancar el archivo variables php y enviarle una variable en la url donde digo que la variable es nombre y el valor de la variable es jose vicente para recuperar esa variable en php lo que tengo que hacer es simplemente definir explicó dólar y abajo corchetes dentro de los corchetes comillas y dentro de las comillas el nombre de la variable que en este caso es nombre podemos comprobar como estoy poniendo aquí en nombre porque aquí pone nombre por tanto ese parámetro ha de coincidir perfectamente como de por el hombre ahí por el nombre punto y coma para finalizar y si ahora recargo lo que obtengo es jose vicente es decir al igualar un nombre aquí y nombre aquí lo que consigo es que el contenido de la variable baje de ahí hay digamos que el flujo de recorrido es este por tanto puede usar esto para a hacer por ejemplo rico o la coma hola jose vicente s aquí cambió el número de la variable y pongo juan ahora poner hola juan porque lo que estoy haciendo es bajar el nombre de la mañana y será poco javier ahora bajar hola javier lo que estoy haciendo por tanto es convertir una porción de la url en una variable que puedo trabajar en php lo que he hecho aquí además es directamente crear una variable y devolverla con echo otra manera de trabajar es decirle que la variable el nombre es igual entre comillas su nombre y aquí decirle te quiero devolver el nombre comprobaremos como esto funciona de igual manera ya que lo que estoy haciendo es meter dentro de la variable nombre la variable de la url con get con el índice el nombre o la ya continuación la variable el nombre está esta variable muy común dentro de php que usaremos para recuperar para enviar información en la url y luego recuperarla de una página a otra una variable algo más elaborado es la variable post voy a crear un archivo luego llamado port 1.7 ml [Aplausos] no voy a cargar y voy a crear un formulario formulario en html que podamos que estoy haciendo un archivo html de tipo texto importante con el rey tu nombre tu nombre es un identificador antes de este input voy a poner un texto que tu nombre a continuación wood el tipo submit un botón de miami si ahora carbón este archivo html recordemos que todavía no es php pues 1.7 ml tiene este pequeño formulario html dime tu nombre contiene un campo de texto y un botón de enviar donde lo estoy enviando pues de momento no lo estoy enviando a ninguna parte de momento lo estoy enviando a sí mismo como método que con las variables en la url lo que voy a hacer es en todo el form decirle que quiero usar un método post las variables no se deben enviar con get sino ocultas en el post y la acción jackson el archivo que va a procesar este formulario se llamará post 2 un tropea yo compro ahora es que ese recargo este archivo dime tu nombre es inocente y lo envío va a dar evidentemente error porque este archivo el archivo por 22 h p todavía no existe aquí yo nada un archivo que puedo comprobar que todavía no existe en la carpeta por tanto es evidente que va a error lo que voy a hacer ahora es crear un archivo post 2 php que se encargará de procesar la información que le envié post 1 html por eso ahora cargo 2 creo unas llaves de php si ahora recargo comprobar como ahora no da error porque el archivo 2.7 existe pero tampoco hace nada porque lo que hago al pulsar el botón enviar es simplemente ir a los dos php pero por php de momento no hace nada así que voy a decirle que su nombre es igual a la variable dólar guión bajo post ya no uso la variable get si no llega sola variable post llamar a tu nombre en este caso es casual que el nombre de la variable sea el mismo que el índice de post por tanto lo que voy a hacer por ejemplo es poner tu cosa demostrar que no tiene por qué ser igual esta parte a esta parte de aquí lo que sí que tiene que estar claro es que aquí pone tu nombre porque en el name del primer formulario ponía tu nombre si aquí pusiera tu otro nombre aquí tendría que poner tu otro nombre es decir para que se comuniquen una variable y otra deben llamarse igual tu nombre es y devuelvo la variable que al final acaba llamando tu cosa así que voy a probarlo si tu nombre es josé vicente y envío índice tu otro nombre no aparece mal eso es que tenían que recargar tengo que recargar para que se den cuenta de que había cambiado la variable de tu nombre a tu otro nombre ahora sí josé vicente envió y me dice tu nombre es josé vicente lo que estoy haciendo es indicar o recuperar el valor de una variable de haga un formulario y devolverlo en html será como aquí tu nombre es juan de veras tu nombre es juan por tanto compruebo como php puede recoger valor desde un formulario meterlo en otra página y trabajar con ellos puede parecer que esto no es importante pero realmente sí que lo es porque yo ahora el post punto html voy a decir dime tú era este formulario se va a llamar el a y en post os voy a recuperar edad lo voy a meter dentro de la variable llamada y voy a decir tu edad es dime tú en 33 envíos tu edad es 33 pero era muy importante voy a decirte co y el tipo de su edad es y lo bueno es que puedo realizar operaciones voy de momento a decir tres por tirar voy a hacer una cosa voy a definir la variable triple es igual a 3 pulgadas y ahora voy a hacer que aquí se devuelva la variable triple a se la guardó y devuelvo me dicen tu edad es 33 y el triple de tu edad es 99 si aquí pongo por ejemplo 22 vendrá clonadas 22 y el triple de tu edad es 66 por tanto lo que voy a poder hacer en definitiva es valores de formularios y trabajar con ellos en este caso una primera demostración de ese trabajo con las variables ha consistido en una edad y multiplicarlo por tres más adelante por recoger valores de formularios y enviarlos por correo electrónico o meterlos dentro de una base de datos o devolverlos o mezclarlos o hacer lo que quiera con ellos por tanto las variables de formularios son muy importantes para combinar html con php vamos a continuación a explicar la utilidad de las variables de sesión primero presentemos el problema y el problema es que las variables no se recuerdan de una página a otra descrita a otro y luego veremos cómo solucionarlo voy a hacer un archivo nuevo llamado session 1 punto php y otro archivo llamado sesión 2 punto pp así que ahora el navegador cargó sesión 1 punto hp y de momento está vacío voy a hacer un sencillo archivo donde empezaré escribiendo un trozo de código php voy a cargar evidentemente sesión 1 para asegurarme que estoy viendo lo mismo tanto en el editor como el navegador yo lo que hago es escribir php y voy a especificar que la variable es igual a 1 lo que haré ahora variable pondré de coma para finalizar la línea recargo y lo que obtengo es 1 lo que he hecho con este escrito es asignar el valor 1 a la variable llamada variable y a continuación devolver el valor de la variable voy a volver a poner otro echo en el que pondré un trozo de código html será un hipervínculo ferrer y la sesión dos puntos de hp usa aquí para comentadas en la página y termino y termino este hipervínculo voy a grabar voy a regresar y veo y aquí tengo una flor voy a corregirlo abraza ahora convertido este texto en un hipervínculo que me lleva a session 2 como podemos comprobar aquí arriba en la url dentro de sesión 2 voy a cargar ahora 2 para asegurarnos que cuando pulsamos aquí vamos a la sesión 2 que contiene ahora mismo la palabra org bien pues voy a arrancar un trozo de código php y lo que voy a hacer directamente es intentar recuperar el valor de la variable te voy a decir es variable devuélveme el valor de la variable recordamos que la variable es igual a 1 lo que estoy haciendo realmente es copiar y pegar ese código tal cual sin embargo cuando lo ejecutó me encuentro con lo siguiente 1 es el valor de la variable es este echo variable y cuando pulso aquí para ir a la segunda página me dice que hay una variable no definida que es variable en la línea 3 del script sesión 2 pero cómo es posible que esto sea así si yo he definido la variable variable dentro del script sesión 1 punto php bueno pues esto es perfectamente posible porque cuando pasamos de una página a otra cuando pasamos del script a otro todas las variables se pierden el problema es que va a ser muy frecuente que necesitemos no perder el valor de esas variables por tanto una manera de hacerlo sería por ejemplo voy a hacer una manera alternativa guardar la variable en la url y decir que la ume es igual a ahora luego explicar esto que estoy haciendo de poner puntos variable con lo cual cuando digo pulsa aquí para ir a la segunda página y digo realmente que v igual estaría pasando variables en la url pero pasar variables en la url es algo no demasiado seguro porque la gente puede ver las variables que estoy pasando por tanto voy a hacer el recurso voy a hacer control z eliminar esto y lo que voy a hacer es crear una variable de sesión para eso para crear variable de sensación lo que haré es dólar/yen bajo sesión y entre corchetes y comillas pondré el nombre de la bañarme sesión variable igual a 1 ahora lo que voy a hacer es devolver el valor de la variable guardar ejecutar y comprobar en como probablemente tendré una variable llamada 1 ahora lo que hago es copiar este trozo de código y pegarlo aquí el script 1 lo que hace es asignar sesión variable igual a 1 a continuación devolver el valor de esta variable de sesión a continuación llevarme mediante un clic con mi por vínculo html a sesión 2 php sin embargo ahora cuando el pulso para ir a la segunda página me dice variables no definida sesión pero como es posible señor sí que la ha venido bueno pues para trabajar con variables de sesión es imprescindible que antes iniciemos una sesión por tanto todos aquellos archivos todos los scripts tanto los que envían variables como los que reciben las variables en este caso sesión está enviando una variable y se siendo se está recogiendo esa variable deben tener una línea arriba del todo llamada sesión start se ve start es una función predeterminada dentro de php lo que hace es arrancar una sesión y no sólo basta que escriba estas sesiones tarde en sesión 1 punto php sino que también la debemos escribir en sesión 2 php voy a guardar estos dos archivos y ahora si me encontré que en sesión 1 php tengo la asignación de la variable y tengo la devolución de la variable y sea la voy a pulsar aquí para ir a la segunda página en sesión 2 lo que ahora sí se me está haciendo es devolver el valor de esa variable mediante variables de sesión y evidentemente arrancando el convenientemente la sesión en cada una de las páginas estoy consiguiendo devolver la variable almacenada voy a poner un echo aquí la variable qué habías almacenado es y ahora guardo y recargo pulsa aquí para ir a la segunda página y le dice la variable en que había almacenado importantes y ahora a la variable de sesión variable le doy el valor 5 comprobaremos como ese valor se sigue transmitiendo de una página a otra es decir con las variables de sesión consiguió enviar consigo recordar variables de un script a otro es importante notar como cada una de las páginas tanto las que cualquier página que realmente use variables de sesión debe empezar con esta sesión estar y es más ese se suele estar debe estar arriba del todo debe estar justo arriba justo a continuación de php otras cosas en cuanto a las acciones de sesión es que podemos crear tantas variables de sesión como queramos pero debemos arrancar una sola vez la sesión o sea que vamos a sesiones dos o más veces probablemente obtendremos un error tendremos en este caso una noticia un aviso y es que una sesión ya había sido iniciada por tanto ignorar ya que no se puede arrancar dos veces la sesión el session start en la línea 5 así que las dos reglas para iniciar sesión son primero arrancar la sesión nada más empezar el script php y segundo no arrancar la sesión dos veces si no arrancó la sesión aunque le haya arrancado aquí pero si no la arrancó en el steel 2 tampoco funcionará porque me dice que variable no definida por eso lo que tengo que hacer es definir un sitio de estar al principio de cada uno de los scripts que usen variar la decisión y también lo que tengo que hacer es no arrancarlo dos veces

vamos a hablar a continuación de los operadores de incremento y decremento dentro de php para eso voy a hacer un archivo nuevo llamado incremento punto php que cargaré tanto en el editor como en el navegador voy a escribir del aspecto y los operadores de incremento y decremento me permiten aumentar y disminuir los valores de las variables por ejemplo voy a crear una variable que es igual a 1 a continuación hago un eco y digo tu variable es igual a continuación echo una variable en este caso lo que obtengo es tu variable es igual a word una manera bastante primitiva animalidad de hacer incrementos es la siguiente consiste en decir que la variable es igual a la variable 1 por tanto [Música] voy a copiar ahora este código y lo voy a pegar aquí abajo y diré que ahora tu variable es igual a poner por aquí vr para que haya un salto de línea en html si ahora guardo y recargo tendré tu variable es igual a 1 y ahora tu variable es igual a 2 porque porque esta línea lo que ha hecho es sumarle un valor a variable en este caso lo que estoy diciendo es que variable es igual a variable más uno si variable era uno variable ahora es igual a uno más uno que es igual a dos una manera abreviada de escribir esto es variable + + si escribo variable + + equivale a aumentar un valor a la variable por tanto esto tiene el mismo significado tiene el mismo resultado variable + + equivale a elevar equivale a sumar un valor a esa variable el operador del incremento me permite rebajar un valor a la variable por tanto es copiar y poner variable menos menos poniendo variable menos lo que hago es disminuir un valor a la variable y ahora si guardo y recargo tendré que tu variable es igual a 1 es la variable original ahora tú variable es igual a 2 después de haber hecho variable más más y ahora tu variable es igual a 1 después de haber hecho variable menos menos esta es una manera bastante frecuente y bastante útil de sumar y restar valores de las variables dos tipos de operaciones muy comunes son la suma y la resta php yo voy a cargar tanto el vector como en el navegador la suma y la resta me permiten fácilmente de una manera para veremos nuestra intuitiva sumar y restar variables así que por ejemplo voy a crear la variable 1 voy a llamar directamente una variable unos igual a 4 y la variable 2 es igual a 6 para realizar sumas variables en php o sumas con números o con cadenas lo único que tengo que hacer es definir una variable por ejemplo la suma es igual a la variable 1 más la variable 2 y ahora me vuelvo la suma lo que obtendré es 10 lo que he hecho es almacenar la suma de 12 46 que es 10 y devolver el resultado de esa variable en suma pensó incluso no hace falta ni siquiera de hacer esto no es obligatorio almacenarlo en una variable porque puedo especificar que lo que quiero es devolver directamente el resultado de sumar la variable 1 más la variable 2 y el resultado sigue siendo 10 de la misma manera puedo trabajar con la resta específico 1 – 2 tendré que el resultado es igual a menos 24 menos 6 es igual a menos 2 esto no sirve también por ejemplo para la multiplicación y para la división para multiplicar lo que haré es cambiar el más con el menos por un asterisco y el asterisco me permitirá obtener el valor 24 en este caso lo que estoy haciendo es obtener 4 por 6 es igual a 24 cuando quiera dividir lo que hace es poner la barra que se encuentra arriba del número 7 en el teclado en castellano en español así que si parto 4 partido por 6 el valor resultante es 0,6 periodo prácticamente por tanto lo que estoy haciendo con este archivo es demostrar la tremenda manera fácil de realizar operaciones de suma resta multiplicación y división en php simplemente tengo que usar más tengo que usar menos tengo que usar este disco para multiplicar o tengo que usar la barra para dividir eco para resumir un poco la suma y 1 + 2 como voy a poner crear un retorno de carro para copiar esto varias veces para decir la suma es uno más dos la resta es uno menos dos la multiplicación es 1 x 2 y la división es en un partido si ahora ejecutó este código comprobaré como las mayas 10 las restas menos 2 las multiplicaciones 24 y las divisiones 0,64 hemos hablado previamente de los operadores de incremento y decremento nos permitían aumentar y disminuir un valor pero qué pasa cuando lo que queremos es aumentar disminuir o multiplicar y dividir por varios valores lo que vamos a hacer es crear un archivo llamado asignación punto php lo que agregado tanto en el editor como en el navegador y voy a escribir el siguiente código lo primero que voy a hacer es crear una variable llamada número [Música] serán igual a 5 a continuación quiero conocer quiero devolver la pantalla el valor de esa variable lo que obtengo es sí de cubero para obtener un retorno de carro y lo que ve ahora es en lugar de escribir número es igual a número + 5 que esto me devolvería el valor 10 vamos a comprobarlo 10 voy a escribir simplemente lo siguiente lo que tengo que hacer es escribir números más igual 5 y lo que estoy haciendo de esta manera es igualmente de una manera abreviada devolver y devolver el valor 10 y número más lo que hacía es aumentar un valor número más igual 5 lo que hace es aumentar tantos números como hayamos puesto aquí en la asignación de resta funciona exactamente igual será pongo número menos igual 5 lo que obtengo es otra vez de vuelta 5 porque la variable número era igual a 10 y lo que he hecho es decirle que aquí la variable es igual a la variable menos el valor lo mismo funciona para multiplicar y para dividir sí ahora número por igual 5 lo que obtendré evidentemente es 25 porque si la variable era 5 y la estoy multiplicando por cinco el resultado es 25 y lo mismo exactamente lo mismo funciona para la división si ahora algo así obtendré de vuelta 5 porque la última vez la variable varía 25 y si ahora la estoy dividiendo por 5 25 partidos 5 es igual a 5 de nuevo es de esta manera como podemos obtener una manera abreviada de trabajar con incrementos y decrementos múltiples tanto para sumar para restar como para multiplicación como para división los operadores lógicos o cuyanos me permiten comprobar la veracidad o la falsedad de una sentencia voy a crear un marco nuevo llamado lógicos pro php lo voy a cargar tanto en el editor como en el navegador lógicos punto php y en este script lo que haré es definir primero una variable la variable primera que será igual a 5 y la variable 2a será igual a 6 lo que haré a continuación es hacer un eco y dentro de este eco voy a escribir con paréntesis donde escribiré tengo uno es igual a igual a 5 ahora guardo y ejecutó observaré voy a cambiar uno por primero observaré que lo que obtengo no es 5 ni tengo 6 lo que obtengo es un 1 porque uno en operadores lógicos quiere decir verdadero si esta sentencia si el resultado de esta sentencia es verdadera lo que hago es devolver lo que hago es obtener un número 1 que equivale al verdadero porque primera efectivamente es igual a 5 démonos cuenta que lo que estoy haciendo no es poner un igual sino poner 2 y con esto igual lo que estoy haciendo no es asignar sino comprobar si eso es verdadero o es falso si es falso si digo que la variable primera es igual a igual a 6 cuando realmente es igual a igual a 5 es igual a 5 lo que haré al refrescar es obtener nada obtener 0 en ocasiones un valor vacío 0 un valor vacío que equivale a falso mientras que 1 equivale a verdadero vamos a ver ahora cómo podemos evaluar dos valores simultáneamente vamos a recuperar estos paréntesis y para evaluar dos valores simultáneos tengo que usar and o escribir dos veces el símbolo de amper sant que encontramos arriba de la tecla número 6 así que lo que hago es es decir que la segunda es igual a 6 de volver la evaluación de que la primera variable sea 5 y la segunda sea 6 como la primera vez 5 y la segunda es 6 nosotros tenemos un número uno pero la condición para que esto sea cierto es que los dos elementos de la comparación sean ciertos si la segunda es igual a 5 aunque la primera es cierta la segunda no lo es y por tanto lo que obtengo es un valor cero o un valor vacío por cierto que esto como decía antes equivale a poner a andar se haga pongo 6 ahora vuelvo a tener el número 1 por tanto poniendo ando o poniendo el doble al pensando lo que hacemos es evaluar la validez de dos o más operadores otra muy divertida es el oro el oro evalúa la validez de uno o de otro voy a poner [Música] y te voy a decir primera es igual a 5 y luego se pone con las barras verticales o escribiendo y las barras verticales están se encuentran pulsando la tecla ángel que a continuación dos veces el número 1 del teclado no para numéricos en el teclado superior numérico y me dijo ahora segundo es igual a 6 un rey como para finalizar y como puedo comprobar a la primera es verdadera o la segunda es verdadera en este caso las dos son verdaderas si yo pongo segunda es igual a 5 lo que obtengo es otra vez un número 1 es verdadero porque la primera es verdadera o la segunda es verdadera en este caso la primera es verdadera por tanto devuelve número 1 aunque la segunda no sea verdadera la primera es verdadera y como este símbolo quiere decir oro o uno u otro en este caso se cumple que este es verdadero es diferente de otro que nos obliga a que los dos sean verdaderos obliga a que este sea el verdadero y éste sea verdadero el problema evidentemente es cuando los dos son falsos porque si le digo oeste es verdadero o este es verdadero y ninguno de los dos son verdaderos evidentemente devuelve el falso y veo que ese segundo carácter que debería ser uno ahora aparece como cero porque la validación de estas dos ha devuelto falso en los dos lados del x otra también bastante interesante volver está a 5 bastante interesante es la negación lo que voy a hacer es pico primera es igual la primera es igual a la segunda voy a ejecutar ahora tengo un segundo uno por este bala si queréis lo que voy a hacer es eliminar estas dos me quedo solo con la tercera y lo que obtengo es cero la primera es igual a la segunda es falso 5 no es igual a 6 por tanto el otro tengo no es nada sí quiero decir no es igual lo que tengo que hacer es poner un signo de admiración antes del primer igual lo que quiere decir esto es que devolver si es cierto que la primera no es igual a la segunda como la primera no es igual a la segunda eso es cierto lo que voy a obtener es un número uno lo que voy a tener es el valor de cierto vemos por tanto como los paradores julia nos nos permiten comparar [Música] variables comparar valores y obtener el resultado no en un resultado numérico o en cadenas sino en términos de verdadero o falso donde verdadero es 1 y falso es 0 o nada el operador de encadenación en php se expresa con un punto y este el operador voy a poder poner cadenas punto php nos es muy útil para ciertas cosas por ejemplo a menos php y mira escribir lo siguiente la variable 1 a la cadena hola la variable 2 es igual a la cadena buenos días la cadena 3 es igual a la balada la variable 3 igual la cadena cómo estás y ahora quiero devolver el valor de estas tres variables ya que hacer eco 1 y luego copiar y pegar para el co2 mientras cuando reproducimos lo que tenemos es como podemos comprobar el espacio como podemos comprobar toda una fila seguimos hasta que veamos cómo corregirlo hola buenos días cómo estás pero el problema aquí es que estamos usando tres ecos para devolver una sola frase lo que queremos hacer realmente es encadenar estas tres variables para devolver una sola frase por tanto como decía el operador de cadena ción en php se expresa con un punto tan simple como poner dólar 1 punto dólar 2 punto dólar 3 lo que estoy haciendo ahora es simplemente hacer lo mismo que antes había hecho con tres líneas con tres picos pero ahora comprimido en uno el punto lo que hace por tanto es encadenar diferentes variables esto no se desespere especialmente útil cuando lo que queremos hacer es lo siguiente si queremos combinar uno variable es ph pécora l podemos hacerlo también con el punto de hecho esto es muy frecuente lo que hago es combinar una variable con una cadena y ahora no tenemos hola jose docente y ahora también punto 2.3 punto y coma para finalizar voy a eliminar esta línea y compruebo que puede hola jose residentes buenos días cómo estás lo que he hecho es combinar en una sola cadena variables de php y nuevas cadenas modelos strings de caracteres alfanuméricos esto nos ha ahorrado a mí anteriormente en ejercicios anteriores y lo que hacíamos era poner varios secos en varias líneas esto nos lo ahorra y nos permite escribir todo en una sola línea pudiendo combinar varios tipos diferentes de elementos

el núcleo de control if es uno de los más clásicos y uno de los más útiles y a la vez también es de los más fáciles de usar he creado dentro del curso web 2 0 una carpeta llamada control donde de momento he puesto un archivo llamado php lo voy a cargar tanto en el editor como en el navegador y dentro de éste el punto php voy a escribir lo siguiente la fórmula para una estructura de control y es if se testea lo que hay dentro del paréntesis y si es cierto lo que pone dentro del paréntesis entonces se ejecuta el código que se encierra entre estas llaves adicionalmente existe la posibilidad de poner els y si lo que se evalúa dentro de este de este paréntesis es falso entonces se ejecuta el código correspondiente al l de la condición aquí se ejecuta el código en caso de que sea verdadera de aquí se ejecuta el código en caso de que el resultado sea falso ahora mismo no puedo ejecutar desde este código ya que evidentemente dará error así que vamos a hacer una demostración práctica del link que nos permite como vemos tomar decisiones según la evaluación de valores y voy a hacer que la variable la amable será igual a 1 lo que ahora mediante muchas veces los operadores julianos que ya conozco es decir sin la variable no es igual porque no estoy asignando lo que quiero es comparar es igual con dos iguales a uno entonces ejecutó un código eco voy a bajar esto de línea suele quedar más ordenado entonces echo es cierto que la variable s a y si no es cierto [Aplausos] entonces se ejecutará este color evaluamos por tanto este código bajamos y evaluamos y si la variable es igual a 1 y aquí se evalúa si la variable realmente es igual a 1 evidentemente lo que obtendremos es es cierto que la variable es igual a 1 recordamos que se ejecuta esta comparación y si el resultado es cierto entonces se ejecuta el resultado de el contenido de las primeras llaves y si el resultado no es cierto entonces se ejecuta el contenido de las segundas llaves supongo que perdón quiero poner no es cierto todas formas el resultado es lo mismo porque sí que es cierto que la variable será 1 si ahora digo que la variable es igual a 4 lo que estoy haciendo es asignar que esa variable es igual a 4 ya continuación dentro del leaf lo que hago es comparar si es cierto que la variable es igual a 1 entonces se ejecuta esto y si no es cierto ejecutar este código en donde se dice no es cierto que la variable es igual a 1 en este caso que haremos pues si refrescamos o pondremos que no es cierto que la variable es igual a 1 porque la variable es igual a 4 con él y por tanto tenemos la estructura de control más básica donde lo que hacemos es dentro del paréntesis anotación importante dentro del paréntesis no hace falta poner punto y coma pero si en el contenido de las llaves dentro del paréntesis evaluamos una comparación la variable es igual a 1 sí es cierto entonces ejecutamos esta parte de aquí si es falso entonces ejecutamos esta parte de él otra cosa que voy a decir con las estructuras de control especialmente cierto con el core live es que lo que estoy haciendo es ponerlo en varias líneas por una simple cuestión de claridad sin embargo esto no es obligatorio por tanto yo podría poner todo el ir en la misma línea y sería igualmente válido dif argumentación si esto si es verdadero y si no esto si es o no soy el funcionamiento es exactamente el mismo lo único es que lo que hago es ponerlo en varias líneas para aumentar la claridad del código otra de las estructuras de control las clases que las de hp es el bucle de forma lo que es crear un archivo llamado form php y lo he cargado tanto el editor como en el navegador dentro de este foro voy a escribir el siguiente código php donde escribiré conforme paréntesis y llaves dentro de este foro dentro de los paréntesis se va a evaluar una condición y si la condición es cierta entonces se va a ejecutar un código lo que es evidentemente es poner el segundo código ya que si ahora evalúo evidentemente me da error además la condición de dentro del forte dentro de los paréntesis es una condición triple porque tengo una condición del inicio dos puntos una condición final dos puntos y un incremento lo que hago por tanto es darle un valor de inicio al foro decirle que se ejecuta hasta que se dé una condición final y cada vez que repita el looking for aumentar en un valor el valor inicial voy a hacer un ejemplo práctico voy a sacarme de la banda una variable llamada x por tanto dólar x el digo que la condición de inicio se hace aquí se empieza valiendo cero quiero ejecutar este código siempre que la variable x sea menor que bien por tanto quiere exponer x menor o igual a 10 mientras que x sea menor o igual a 10 el bucle se seguirá ejecutando en el momento en el que sea mayor que 10 dejará de ejecutarse y el incremento dice lo que pasa cada vez que el bucle pasa por aquí voy a poner de momento variable x + más para que cada vez que pasa por aquí se le añada un valor dentro del código lo que voy a hacer es algo de momento tan sencillo como poner echo la variable simplemente quiero ver cada vez que paso por aquí cuanto vale esa variable además voy a usar la determinación para poner punto comillas ver ya que quiero que cada vez que se me devuelva un valor además hay una etiqueta html que me permite hacer un retorno de carroll será guardo y recargo lo que obtengo en la pantalla por tanto es la enumeración desde 0 hasta 10 porque lo que he hecho simplemente es empezar haciendo que x sea igual a 0 y cada vez que he pasado por aquí cada vez que he repetido el bucle lo que he hecho es que x + + a x se le sume cada vez un valor ahora vamos a jugar un poco con este bucle for puedo decirle por ejemplo que la condición inicial sea 5 y la condición final sea 10 lo que hace el programa es empezar con tantos desde 5 y acabar contando es 10 si yo le pongo que la condición final sea 15 va a empezar contando en 5 va a acabar con tanto en 15 además el incremento no tiene por qué ser de uno en uno yo le puedo decir x + igual 2 y lo que hago de esta manera es ir de 5 a 15 no sumando de uno en uno sino en sumando de dos en dos y el que obtengo es 5 7 9 11 13 y 15 puedo decirle por ejemplo más igual 3 y lo que hago es 5 8 11 14 atención porque 14 7 gol a 17 ya es mayor que 15 por tanto ya no debo ejecutar ese buque cuando tengo el resultado ejecutado si por ejemplo llegó a 17 17 ya no cumple la condición final lo que hace es saltar a la siguiente línea y seguir ejecutando el código pero ahora lo que tengo es que no suelto ola hasta que no he acabado con el resultado del bucle for la estructura suites nos permite evitar a veces hacer demasiados tips voy a poner un archivo llamado switch punto php y voy a cargarlo en el navegador y ahora escribo un script dentro del switch php voy a hacer que la variable sea igual a azul esta variable es igual a la cadena de azul si quiero saber de qué color es esa variable podría poner er extendido es decir si la variable es igual a azul recordemos dos iguales en este caso lo que hago es ir pico la variable es azul pero si es roja pues si la variable es roja digo la variable es roja y sé que es verde aquí es verde y sé que es amarilla aquí es al entrar se ejecutó este código evidentemente lo que obtengo es que solo se ejecuta este hijo ya que si la variable es igual a roja sí es cierto entonces se ejecuta este código pero como no es cierto ese código no se llega a ejecutar por tanto if está bien y es útil cuando el resultado de la evaluación es verdadero o falso pero yo en este caso no quiero realmente un resultado verdadero o falso sino que lo que quiero es un caso múltiple y cuando tengo un caso múltiple y me obliga a usar varios if y lo que hago es un poco perder tiempo y perder espacio para estos casos usaré una estructura de control llamada switch dentro de suites lo que voy a hacer es evaluar [Música] en este caso la variable switch variable y creo ya ves por tanto como puede comprobar el switch es bastante parecido al y sólo que en este caso dentro del switch hay una cosa que se llama caso si el caso es azul en este caso azul entonces dos puntos y se ejecutará el colegio y al finalizar cada caso nuestro es importante se debe poner un break break que hace es romper el código lo que hace es salir del código voy a lanzar a estos centros y voy a decir verme es rojo y case amarillo el código va a ser echo otra vez como antes la variable es azul en este caso la variable es verde la variable es roja y la variable es amarilla en este caso lo que estoy haciendo voy a ejecutar lo que obtengo es de nuevo la variable es azul si pongo aquí por ejemplo rojo se ejecuta la variable roja para resumir y para volver a explicar lo que hace este switch lo que nos permite ahorrar es múltiples yves lo que haces en una sola estructura de control evaluar la veracidad de este contenido que tenemos aquí y no evaluar la segundo verdadero o falso sino una serie de casos el caso que se cumpla es el caso que se ejecutará si se cumple el caso azul entonces se ejecutará este código es importante decir que cada caso tiene que acabar con una instrucción break porque si no no queríais ejecutar este código y seguir comprobando y seguir ejecutando otros códigos lo que quiero es que una vez que ha ejecutado este código se salga por ejemplo aquí poniendo y ahora salvado la variable del orden es roja y ahora salgo porque lo que ha hecho es ejecutar este código como variable es igual a rojo que es rojo es igual a es cierto ejecuta la variable es roja y break break lo que hace es salir de la estructura de control y ejecutar el siguiente código que haya a continuación vemos por tanto como hemos hecho lo mismo que antes habíamos conseguido con varios chips pero de una manera mucho más fácil mucho más sencilla y mucho más clara evidentemente sigo diciendo que no es obligatorio es poner sangrías en cada caso y en cada break pero lo estoy haciendo por una razón de claridad y recomiendo también hacerlo existe otra vez en que este código sería igualmente funcional si fueras el problema es que sería funcional pero desde el punto de vista humano no sería nada cómodo de leer por tanto siempre recomiendo poner este código correctamente con sus crías ejemplos y elimina todas las sangrías comprobamos como el código sigue funcionando perfectamente pero claro leer esto ya se ha vuelto bastante más complejo por eso he puesto saldrías pero siempre recordamos por una cuestión de claridad y no por una cuestión de funcionamiento una pequeña variación del foro es el forex se llama parecido y lo que hace es parecido pero no es exactamente igual voy a cargar for each dentro de él editor dentro de la verdad y vamos a ver que for each traducción al castellano sería algo así como por cada uno de ellos dentro de este for kids vamos a introducir un elemento que veremos dentro de unos cuantos capítulos con mucha más extensión que son las matrices simplemente decir por el momento resumir que una variable llamado ha creado nada la variable matriz no tiene porqué tener un solo valor puede tener una cosa que se llama una matriz de valores que es un conjunto de valores así que de momento lo voy a resumir mucho he creado un array he creado una matriz y en lugar de darle un único valor a esa variable le voy a dar varios valores de verdad por ejemplo el valor rojo el valor verde el valor azul y el valor amarillo la cuestión es cuando veamos matrices evidentemente veremos cómo darles índices a estas matrices cómo saber cuál queremos recuperar pero lo que nos ocupa ahora mismo es la estructura de control forex así que forest por cada uno de ellos lo que hace es permitirnos devolver permitirnos vaciar permitirnos recuperar uno a uno por hits por cada uno de ellos los valores de esa matriz así que voy a escribir una estructura de control for in donde voy a establecer una condición como siempre y cuando esa condición se cumpla entonces que se juntará un pólipo recordamos que siempre estoy poniendo una condición y si se cumple entonces ejecutó un código así que dentro de esa condición voy a poner que cada uno de los índices de la matriz se conviertan pero un color crear una nueva variable llamada color cada uno de los índices que existe en madrid ejemplos aquí y nacido aquí se convierten en una nueva variable llamada color por tanto lo que hago ahora es dentro del código y ejecutar el siguiente código seco color y la voy a intercalar con ver no tengo por tanto se hará guardo y recargo es que el programa me devuelve uno a uno por kings por cada uno de ellos me devuelve uno a uno los valores de la matriz en esta matriz ya había guardado rojo verde azul amarillo y lo que hace es un nuevo uno darle esos valores de la matriz como color en el primer paso el primer recorrido le asigna rojo me devuelve rojo y continúa como ya ha devuelto el primero por cada uno de ellos empieza con el segundo continúa con el segundo y continúa con verde azul y amarillo lo que hace por tanto for each es simplemente encoger todo el contenido de una matriz y devolverlo elemento a elementos esto puede parecer ahora mismo no sé siempre decir lo mismo puede parecer bastante marciano pero veremos que una vez lleguemos a matrices de una vez combinamos matrices con bases de datos este foro es muy importante para almacenar lo que le pidamos una base de datos en una matriz y luego devolverlo elemento a elemento en la pantalla por tanto puede parecer que no sirve para nada para recordar por este momento porque veremos más adelante como la estructura for each es muy importante y muy interesante un control que no se usa demasiado en php pero de vez en cuando nos puede venir bien es el go to que tanto se usa en otros lenguajes más antiguos como por ejemplo basic así que voy a abrir go to y lo que voy a hacer es ser capaz de no ejecutar desde la primera línea hasta la última un script sino elegir dónde quiero ir saltando por ejemplo voy a crear un spirit llamado gold php que lo he cargado tanto como el navegador y pongo un texto a continuación pongo eco otro texto pero además un eco vr para que ver se teme el esfuerzo un salto de dinero pongo la marca de cierre ejecutó el script y lo que tengo es un texto y otro texto bien voy a poner aquí una cosa que se llama marca si pongo marca esto no tiene una representación visual en html sino que simplemente he puesto un marcador he marcado una sección de el código bueno pues en la estructura de control algo que me permite escribir youtube marca y lo que hace este programa es que cuando llega a esta línea salta como si fuera un túnel del tiempo desde aquí directamente hasta aquí y salta desde aquí hasta aquí lo que hace es saltarse esta línea llamada eco un texto si ahora guardo y ejecutó comprobaremos como no estoy ejecutando un texto sino que go to me permite alterar el orden natural de ejecución del script y me permite elegir a qué parte del script quiero ir vemos por tanto como punto es tan fácil de usar como un poco usado hay que reconocerlo donde los dos elementos que nos hacen falta son una marca con dos puntos guión y un punto marca en este caso lleva a punto y coma evidentemente porque está finalizando una instrucción marca es el marcador me quiero ir y auto marca es por supuesto marca es el nombre que quiera marca marcador perro a todo lo que sea auto marcador funciona de mano la estructura while es una estructura muy muy usada sobre todo en combinación con bases de datos he creado php como siempre lo cargo tanto en un sitio como en otro y vamos a hacer un ejemplo también un poco peligroso de wilde creamos un script y ahora decimos que una variable inicial es igual a cero creamos un wild y siempre que se dé una condición entonces se ejecuta un código el while es muy parecido a live con la diferencia y quería decir el while es muy parecido al foro no al y si no al foro pero con la diferencia de que el while no hay tres condiciones dentro de los paréntesis sino que hay sólo una condición siempre que la variable o sea en este caso igual a 10 entonces ejecuta un código perdón siempre que la variable sea menor que 10 y cómo hola este código es peligroso porque va a entrar fácilmente en un bucle sin fin porque variable es igual a cero así que siempre que la variable sea menor que 10 seguirá ejecutando hola hola hola ya si voy a guardar voy a ejecutar y lo que obtengo como podemos comprobar es que la página empieza a cargar y a cargar y descargar y cargar y nunca acaba de cargar está colgada probablemente dentro de unos 30 segundos o de un minuto el escribidor falle para la ejecución de la página y está tardando demasiado debo parar este script porque está ocurriendo esto pues porque evidentemente el while tiene una única condición a diferencia del foro que sabía cuándo empezar y cuándo acabar y sabía cuándo darle un incremento así que el while es parecido al foro insisto que aún así lo usaremos pero bastante más que el foro pero requiere que tengamos cuidado en este caso de bucle infinito aunque cuando lo combinamos con bases de datos casi nunca habrá bucles infinitos pero lo que voy a hacer es decir que siempre que pase por aquí la variable incremente un valor para que llegue un momento en que no sea cierto que la variable sea menor que 10 si cada vez que pase por aquí aumenta un valor al cabo de 10 pasadas esa condición ya no es la verdadera y por tanto la ejecución se detendrá así que habrá que recargó el valor y compruebo como me ha devuelto 11 veces la palabra hola porque siempre que la variable sea menor que 10 012 dos cuotas y 301 bien siempre que la variable sea menor que 10 lo que hará es devolver la palabra hola la estructura de baile que es parecida a while que hiciera un poco al revés hace lo siguiente ni cargar habla de while en el navegador y en el territorio ejemplos en el wild que acabamos de ver y comprobaremos que en primer lugar se testea la condición y si la condición es cierta entonces se ejecuta el código dual funciona al revés primero no se ejecuta el código y luego se comprueba la condición voy a hacer que la variable es igual a 11 y la estructura de control en wilde funciona de la siguiente manera tú ya ves para especificar un código que ejecuta este código acuario y entre paréntesis mientras se cumpla una petición es un poco raro es como un while pero al revés ya que en el wild primero está la condición y luego está el código mientras que el de un while primero está el código y luego está la condición por tanto lo que voy a hacer es que pero la variable mientras que la variable sea -10 voy a hacer aquí en este caso es variable e igual a 0 y dentro de él voy a aplicar un incremento a la variable ejecutaba el código y como podemos ver lo que ejecutó es la variable es decir ejecutó expreso la variable pues aquí podría poner hola lo que tendría es nueve veces hola bien aquí ocurre una cosa pero tengo 10 realmente 10 veces sola porque estoy ejecutando una vez por el número 0 aquí ocurre una cosa muy curiosa y es que llega un momento que como ejecutó el código antes de la comprobación la variable puede llegar a ser 10 o puede llegar a ser 11 en alguna ocasión si aumentamos los valores a la vez por ejemplo en este caso lo que hacemos es ejecutar primero el código y luego comprobar si debíamos haber ejecutado el código pero claro para cuando lo comprobamos ya lo hemos ejecutado así que lo que hacemos en de while es ejecutar el código aunque no cumpla la condición y luego comprobar si la condición se cumplía o no y si no la cumple pues entonces para la siguiente vez ya detiene el proceso pero insisto es un poco extraño igual porque primero ejecuta el código antes de comprobar si la condición que se debe dar es cierta o no ahora sí veremos más adelante que tiene su buena utilidad

vamos a hacer un pequeño ejercicio en el que combinaremos el poder de los operadores con las estructuras de control y lo que vamos a hacer es una calculadora tercero calculadora un tope hp dentro de la calculadora es empezar con un formulario html voy a empezar a escribir html y dentro del mobbing voy a crear ahora ninguna forma cuya acción será este mismo archivo y cuyo método será igual eso sí ya post dentro de este formulario voy a crear nuestros impulsos primero grande ‘será winwood de tipo texto y con el nombre igual operando voy a crear un segundo operando segundo operando es igual a esperando 2 el momento lo que tengo en calculadora es dime el primer operando dime el segundo operando y a continuación donde crearé diferentes opciones como son sera mmmm igual la operación zuma resto multiplicación y división recargo hoy voy a cuando aquí operación y tengo ya por fin a quitar del momento del centro tengo ya por fin del primer operando el segundo operando y la operación que quiero hacer con estos operadores voy a parar aquí opción en suma en este caso aquí esto equivale la suma resto multiplicación y división lo que ahora es decirle en la acción que quiero que la variable la url calor sea igual a uno y ahora recargo se parece que puedo 56 quiero sumar los me hace falta eso sí –equipos un botón que me permita enviar este formulario así que 56 quiero sumarlos y los envío lo que tengo en principio es nada porque lo que he hecho es recargar este mismo steve pero enviando una variable en la url llamada 1 esta variable 1 es la que tiene que activar la calculadora así que ahora a continuación voy a usar todo aquello que he aprendido para poner en funcionamiento esta calculadora lo primero que voy a hacer es encender la calculadora y para encender la calculadora vemos que estoy pasando una variable en la url que es cada uno lo que reaccionar habrá cierta condición y si le digo si la variable cat es igual doble igualdad para comparar a uno desde momento voy a decir la calculadora ah guardo esto y lo que voy a hacer es simplemente obtener este error ya que todavía no tengo ninguna tren puedo pretexto al igual a cero por tanto lo que hago allí es realmente crear esa variable en la url el caso es que si pongo aquí 5 y luego pongo 6 y luego suma enviar lo que hago es calc igual a 1 en cómo habrá cada que igual a 1 esto es cierto y entonces dice la calculadora de esta enfermedad al por tanto cuando cal es igual a cero o cal que es igual a otro valor la calculadora no está encendida pero cuanto en cuanto en vivo el formulario entonces que igual a uno irá en calculadora ya esta enfermedad y por tanto y por tanto lo que puedo hacer es empezar ya a escribir código dentro de este y voy a poner una variable primero operando es igual a la variable enviada por todos llamada operando 1 recordamos que este índice tiene que coincidir con ese e-mail del formulario primero operando segundo operando esperándonos y ahora operación es igual a la variable enviada por post dentro del selecto que es operación puedo devolverlos de hecho tengo primero para mí segundo operando y operación ahora ejecutó 5 6 schümann me dice la calculadora que el operando 1 el primer operando es 5 el segundo operando es 6 y la operación seleccionada es una suma vamos por tanto ahora a mediante un switch especificar qué operación se tiene que hacer con cada uno de los elementos depende de la operación que haya seleccionado vamos a continuar con este ejercicio en el que a continuación crearemos un switch dentro de este switch vamos a evaluar la variable operación y este switch tiene cuatro casos case sí no y como hombre y voy a bajar esto para hacer cuatro presos sangrías bien bien para ver claramente el código restar multiplicación y división en el caso de que la suma sea cierta entonces podré tco la suma es igual encadenación paréntesis primer operador más el segundo operador continuó y en el caso de la resta pondré la resta es igual a prever operando – segundo operarlo obtenemos con la multiplicación la multiplicación [Música] es igual a primer operando por segundo operando y en el caso de la división la división es igual a primer operando partido segundo operando a poner un espacio al vídeo correctamente y lo que vamos a hacer ahora es probar esta calculadora vamos a hacer que el primer operador sea 1 y el segundo operador sea 2 si le digo quiero hacer más suma y envío me dice la suma es igual a 3 ahora quiero a 4 restarle 2 por tanto 4 2 y especificó que la operación es una resta cuando envío me dice la resta es igual a 2 pero como una multiplicación 34 y la operación es la multiplicación y me dice la multiplicación es igual a 12 y ahora pruebo 15 y 5 y le digo quiero hacer una división y me dice que la división es igual a 3 por tanto comprobamos como combinando cosas que hemos aprendido hemos usado variables hemos usado variables de formularios tanto get como post hemos usado operadores y hemos usado estructuras de control y suites y lo que hemos conseguido por tanto es realizar una calculadora hemos conseguido especificar un primer operando especificaron para un segundo operando y lo más interesante especificar el tipo de operación que queremos realizar y en base a eso evaluando primero la operación hemos realizado una operación aritmética u otro

mediante las matrices somos capaces de guardar múltiples valores dentro de una variable que contiene o puede contener varias dimensiones vamos a hacer una matriz de una primera dimensión un primer ejemplo muy sencillo de matrices donde creamos un archivo llamado matriz punto php y lo cargamos en el editor y en el navegador este archivo va a contener el siguiente código definir una matriz dentro de php es algo muy sencillo simplemente lo que hacemos es definir una matriz como si fuera una variable sólo que en lugar de darle valores directamente podemos darle valores de matriz de maneras muy diferentes como por ejemplo poner a right y una serie de valores incluidos dentro de la matriz dentro del raid cada matriz tiene una serie de índices y una serie de valores lo que estamos haciendo de esta manera es asignar directamente valores sin asignar índices si asignamos valores y no hemos asignado índices los índices se colocarán como ahora veremos de manera automática voy a hacer un array le voy a poner varios valores como son caracteres alfanuméricos evidentemente los estoy poniendo entre comillas y voy a poner diferentes colores azul como verde coma rojo como amarillo amarillo también entre comillas la cuestión es que si guardo y recargo de momento no tengo nada porque lo único que he hecho es guardar en memoria dentro de matriz esta matriz de elementos y por supuesto punto y coma para finalizar aunque en este caso no ha dado error porque como ya sabemos es la última instrucción antes del cierre de la línea pero yo suelo poner siempre punto y coma aunque sea la última instrucción del script será como matriz el problema es que me dirá que esto es un array y que esto es una matriz y no es capaz de devolverme ninguno de los elementos de la matriz porque tengo que especificar qué elemento de la matriz quiero que me sea devuelto por tanto lo que voy a hacer para recuperar elementos la matriz es hacer referencia al índice que se les ha asignado y que índices les ha asignado bien pues a azul automáticamente se le ha asignado el índice 0 a verde automáticamente se le ha asignado el índice 1 arrojó el índice 2 y amarillo el índice 3 vamos a comprobarlo porque si pongo por ejemplo que quiero ver el índice 0 de la matriz y ahora me dirá que esto es un array sino que me dirá que el índice 0 como podemos comprobar es azul y si quiere ver el índice 1 comprobar como el índice el resultado es verde es decir lo que estoy haciendo es comprobar como automáticamente php ha asignado índices a los elementos cuando no hemos especificado en nosotros los índices y ahora quiero recuperar el índice 2 de la matriz evidentemente será rojo y si quiere recuperar el índice 3 evidentemente será amarillo es decir podemos guardar elementos dentro de la matriz y podemos recuperarlos fácilmente simplemente haciendo referencia si no hemos especificado nada más al número automático del índice por supuesto también podemos especificar nosotros manualmente el orden de los índices así que voy a poner por ejemplo una matriz y le voy a decir que el índice de cero de la matriz es igual al color verde le digo ahora que el índice 10 es igual a azul que el 12 es igual a naranja [Aplausos] y que el 15 es igual a rosa por tanto de esta manera no estamos obligados a enumerar automáticamente los elementos de la matriz sino que podemos elegir nosotros los índices si ahora elijo recuperar la matriz cuyo índice es 12 comprobar el como el resultado es naranja si elijo recuperar la matriz cuyo índice es 13 no obtendré nada porque me dice el programa que no ha sido definido el offset 13 en esa matriz así que cuidado porque efectivamente tengo cero tengo 10 tengo 12 y tengo 5 y no tengo el offset 13 no tengo en el índice 13 que he intentado recuperar en cambio sí dijo recuperarlo índice 5 comprobaré como sin ningún problema estoy recuperando el valor rosa que estaba almacenado en el índice 5 de la matriz otra cosa muy divertida es que los índices no tienen por qué ser numéricos pueden ser alfanuméricos así que si yo le digo que una matriz es colon índice es color pero guardar por ejemplo el color azul pero sí creo otra propiedad como por ejemplo si la forma puedo especificar que el resultado del índice de forma es redonda y sí creo otro índice llamado temperatura así que si ahora intento otra vez por supuesto recuperar devolver el valor de la matriz me seguirá diciendo que la matriz es un array el documento no puede decirme cuál es el contenido de la rae sin embargo si le digo que lo que quiero es recuperar el color de la raíz me dirá que es azul y si le digo quiero recuperar la forma me dirá que es redonda y si le digo que quiero recuperar la temperatura me dirá que es fría por tanto no es obligatorio expresar los índices con números sino que también se pueden expresar con cadenas alfanuméricas una propiedad bastante interesante de las matrices es la posibilidad de albergar múltiples dimensiones para explicar esto de la mejor manera posible la manera más sencilla hay un ejercicio clásico de matrices en php que consiste en crear una agenda por tanto he creado un archivo llamado agenda y lo abro tanto en el editor con el navegador donde de momento voy a crear una agenda cuyo índice cero van a ser igual se dice que voy a hacer una agenda de nombres el índice 0 tengo jose vicente 1 voy a poner a juego en el índice 2 voy a poner a claire y en el índice 3 voy a poner a jaime si al final de la asignación quiero hacer es recuperar los dobles de la agenda evidentemente agenda el navegador dirá que esto es un rayo si lo que hago es recuperar un valor concreto por ejemplo recupero el índice 1 de la matriz lo que recuperó es juan y si quiero recuperar el índice 0 lo que estaré haciendo es recuperar jose vicente pero ahora si lo que quiero es poner dentro del índice de 0 por ejemplo no sólo un nombre sino quiero poner un nombre y un teléfono y una dirección y un correo electrónico necesito más dimensiones sobre las que trabajar porque no sólo necesito un nombre y una dirección y un teléfono si me hubieran prestar un nombre lo dije en el teléfono por cada una de las entradas de la agenda así que sin ningún problema lo que voy a hacer es introducir dos corchetes maps y decir que esto es el nombre dentro del índice cero el nombre es josé vicente dentro del índice uno el nombre es juan dentro del índice dos es javier y jaime y así con cada uno de ellos lo divertido es que ahora puedo por ejemplo y decir que dentro de el índice cero de la agenda el teléfono es un número de teléfono y dentro del índice cero el email es un email le falta a la ropa y la dirección es una dirección lección de josé vicente ahora hago esto mismo para cada una de las entradas podré comprobar que lo que estoy haciendo es cero 2 haber copiado y pegado evidentemente tengo que modificar y lo que obtengo es que he conseguido hacer una ficha para cada uno de los elementos de la matriz si ahora lo que hago es devolver a agenda cero me dice que esto es una raya pero si digo quiero devolver del índice cero el teléfono me devuelven el teléfono del índice pse o voy a poner dirección de josé vicente dirección de juan si le digo el govern del índice 1 la dirección y actualizo estoy viendo la dirección de juana pero si quiero ver el índice 0 la dirección estoy viendo la dirección de josé vicente es decir soy capaz de guardar valores dentro de matrices y además estas matrices sin ningún problema pueden tener múltiples dimensiones para insisto las aplicaciones que queramos que son muchas y muy variadas pero una muy sencilla y muy fácil de entender es una agenda de teléfonos

las funciones nos permiten encapsular trozos de código para su posterior reutilización las funciones en este caso son la entrada a lo que veremos más adelante que son los objetos pero de momento vamos a trabajar con funciones hecho una carpeta llamada funciones hago un archivo llamado función php cargo en el editor cargo también en el navegador y declarar funciones es algo muy sencillo lo que voy a hacer es crear una función función le digo cómo se llama la función tabla de multiplicar y voy a poner paréntesis que se abre y paréntesis que se cierra para hacer una función que de momento no tenga parámetros en la siguiente elección veremos cómo poner parámetros y para qué sirve poner parámetros a una una función así que dentro de las de las llaves esto es una nueva función que acabó de crear yo llamada tabla de multiplicar sin parámetros y dentro de las llaves voy a poner el código dentro del código voy a poner un four inforó con otras llaves por tanto lo que voy a hacer es poner un poco de sangría para que se vea bien dónde acaba una y dónde empieza la otra y le digo voy a hacer la tabla del 5 desde que x es igual a 0 siempre que sea menor o igual que bien y cada vez que pase por aquí le quiero aumentar un valor a x porque le voy a decir es vamos a ver y me voy a decir x no sí 5 x en cabello con x y alan cabello es igual a vuelvo a encadenar y ahora le digo 5 por la variable x un último br en cadena con un breve html para bajar una línea y si ahora recargo o sea ahora actualizo veré que lo que tengo es nada porque no tengo nada porque yo lo único que he hecho es crear una función y aunque le he dicho que quiere un eco ese eco se ejecutará cuando yo llamé a la función pero de momento no he llamado a la función lo que he hecho es definir la función para llamar a una función simplemente a continuación o en otro archivo con un vínculo de más adelante veremos que son incluyen lo único que tengo que hacer es llamar a la función tabla de multiplicar sin parámetros si ahora actualizo comprobar en como lo que he hecho es llamar y ejecutar la función por tanto lo que hago en este código es en un primer momento crear una función encapsular este foro ese código dentro de la función y guardarlo en la memoria y a continuación lo que hago es llamar a esa función invocando la con el nombre de la función en este caso sin parámetros es decir se abre paréntesis se cierra paréntesis y punto y coma para cerrar y como veo el resultado es esto que es el resultado de ejecutar este bucle form en todas formas lo más divertido de las funciones es asignarles parámetros yo no quiero en este caso tener la tabla de multiplicar del 5 si no quiero tener cualquier tabla de multiplicar así que voy a introducir un parámetro dentro de la sección de parámetros de la función que de momento está vacío y voy a crear una variable número como parámetro así que la cuestión es por qué tiene que ser la tabla de multiplicar del 5 cuando puede ser la tabla de multiplicar de cualquier número voy a eliminar este número y voy a poner aquí el número número encadenación por supuesto aquí voy a cambiar también número en lugar de ser cinco por equis va a ser un número por equis así que lo divertido es que si ahora intento ejecutar esta función sin números me dirá que falta un argumento falta un argumento porque además encima tengo una variable sin definir que es la variable número pero si yo introduzco aquí un parámetro como espera la función porque aquí lo que está esperando es que yo introduzca un parámetro que se convertirá en la variable el número introduzca un número uno guardó y recargo tengo la tabla de multiplicar del uno y se introduzca otro parámetro que es un 2 ahora tengo la tabla de multiplicar del 2 por tanto lo que estoy haciendo mediante esta función y ahora empezaremos a ver seguramente un poco más cuál es el sentido y cuál es la gracia de las funciones es no ya sólo encapsular una una forma serie de código sino además poder repasar parámetros y de esta manera no sólo tengo una cápsula sino que puedo personalizar la cápsula para lo que quiera y ahora por ejemplo os podría hacer un foro donde obtuviera las 10 tablas de multiplicar vamos allá quiero un fuego solo y creó una nueva variable evidentemente y no voy a usar x porque ya la haya gastado dónde y comienza haciendo 1 y sea menor o igual que 10 y cada vez que pase por aquí le añade un valor a y lo que voy a hacer es obtener la tabla de multiplicar de y es decir empezaría obteniendo la tabla de multiplicar del 1 y luego la del 2 y luego del 3 y así hasta del 10 y ahora lo que he hecho es guardar y recargar comprobaré como sin ningún problema tengo una tabla del 1 y luego la tabla del 2 y luego la tabla del 3 y la del 4 y puedo obtener todas las tablas de multiplicar simplemente con este código que incluye una función un foro y otro foro que hace referencia a la función lo malo de calcular el código mediante funciones es que no tienen por qué ver en los valores de las variables que estén fuera de las funciones a esto lo llamamos ámbito de las funciones y crear un archivo llamado ámbito recargado tanto en un sitio como en otro para a continuación voy a introducir el siguiente código voy a crear una variable llamada mi variable a continuación voy a crear una función llamada devuelve sin parámetros que tendrá el siguiente código peco variable por último una vez que definido la variable y que devuelto a la función aquí me falta más de función lo que hago es devuelve llamo a la variable y la ejecutó el problema es que si ahora recargo el programa me dice que la variable variable no está definida yo digo como es que no está definida si la he decidido aquí arriba bien pues el problema es que dentro de una función no son visibles las funciones que han sido declaradas fuera de la función para arreglar esto lo que voy a hacer es introducir la siguiente línea global variable y lo que le estoy diciendo al programa es que aunque está dentro de una función sea capaz de usar una variable que está fuera de la función en este caso lo que estoy haciendo con global es introducir el valor variable dentro de la función devuelve si ahora guardo y ejecutó el código comprobar en como tengo aquí mi variable comprobar en como ahora he sido capaz de introducir la variable global la variable externa dentro de la función devuelve

vamos a ver a continuación cómo formular fechas el php que se hace a través de una función ya predefinida muy sencilla y muy útil para usarla he creado una carpeta llamada their voy a crear un archivo de punto php que cargo en editor y el navegador la manera de llamadas de formular fechas en php es simplemente llamar a la función de donde le pasaremos un parámetro evidentemente como lo que queremos además es en este caso al menos devolver la función en la pantalla voy a poner echo beit supongo que con él está seca sin parámetros el programa me dice que espera al menos un parámetro y que se le ha dado 0 y por tanto lo que tengo que hacer es introducir un carácter alfanumérico una manera de formular la fecha que a mí me gusta mucho es poner una o mayúsculas poner una mayúscula me da la cantidad de segundos que han pasado desde las cero horas cero minutos pero segundos del 1 de enero de 1970 hasta ahora mismo si voy actualizando comprobar cómo va aumentando la cantidad de segundos pero cómo puedo saber yo que está o correspondía al tiempo utc a esa cantidad de segundos bueno pues yo recomiendo mucho abrir un navegador en un buscador poner php mail php day con toda probabilidad nos llevará al manual oficial de php a la competencia local oficial de php donde aquí hay una tabla muy muy útil que me dice cada letra de edad a que corresponde así que simplemente de seguir esa tabla e insisto una tabla bastante extensa hay muchas maneras de formular la hora donde por ejemplo si pongo una vez en lugar de una observaré que lo que tengo es el día del mes con dos dígitos con ceros iniciales así que recargo y efectivamente hoy es día 17 y en este caso no he hecho falta un cero inicial ya que es 17 pero si en lugar de una de minúsculas por una de mayúsculas lo que hago es obtener el día representado con con tres letras y eso sí lo represento en inglés es decir hoy es miércoles hoy es waits wesney weinstein por tanto lo que tenemos es w b si lo que hago es poner j no tendría el días en cerdos iniciales en este caso sigo teniendo 17 porque no tengo un día con números iniciales y si lo que hago es poner una l como vieron la documentación una l minúscula para que no parezca una i mayúscula lo que vamos a obtener el nombre del día completo y no sólo las tres primeras letras evidentemente siguen apareciendo en inglés lo que hago ahora es tratar de trabajar por ejemplo en mayúsculas me da largas tanto numérica y so del día según del día de la semana es decir estoy en el tercer día de la semana si pongo s es el día del mes supongo w es el día de la semana aquí lo que tendría gracia de exponer para ponerla en inglés evidentemente es una es es decir estoy en el tercer día 3 h de la semana así por ejemplo que pusiera el primero sería el 1st es decir el first día de la semana pero más cosas que voy a hacer con la fecha trabajando con la semana puedo ver la semana del año en la que estoy usted en la semana 33 el mes si pongo mayúsculas efe pero que estoy en agosto en agosto siempre en inglés si pongo una m minúsculas probaré que estoy en el mes 08 con una m mayúsculas obtengo las tres primeras letras en inglés el mes augusto auge en este caso con una r obtengo la relación numérica sinceros si antes era 08 ahora es 8 el año mismos es un año bisiesto lo más normal es trabajar en el caso del año con una y mayúscula para ver el año completo o con una y minúscula para ver sólo los dos últimos dígitos del año lo mismo ocurre para la hora el minuto y el segundo tenemos nuestros códigos completos para hora minuto y segundo y por último tenemos la formulación de fecha y hora completa si pongo una celda obtengo la fecha en formato iso si tengo una r vr obtengo la fecha en formato r efe y si pongo un ahogo que yo considero que es de la máxima utilidad cuando trabajamos con bases de datos lo que obtengo por tanto como había empezado el vídeo es la cantidad de segundos que han pasado desde el 1 de enero de 1970 vamos a formular una fecha y vamos a ver qué problemas nos encontramos para formular la correctamente voy a hacer un eco hola son las y voy a ver que voy a usar seguramente h h mayúsculas son las tomas para finalizar son las 11 y encadenó horas coma encadenó por otro day para los minutos nosotros creo que era una y minúsculas minutos son las minutos coma es lo que eran los segundos y sigo encadenando segundos del día y el camino con el día de la semana con el día del mes quiero decir es el día del mes y es una vez del día 4 17 d punto d para el mes del mes efe d en el año y vamos a ver de momento esto qué aspecto tiene hola son las 11 horas 40 minutos 39 segundos del día 17 de august del año 2011 el problema viene cuando encontramos un mes además de 39 segundos y hoy es miércoles vamos a poner y quiero ver ahora el día de la semana en representación textual completa el día de la semana es una l vamos a ver cómo queda ahora esta fórmula hola son las 11 horas con 525 segundos y oyes weinstein y es miércoles 17 de agosto del año 2011 problemas que para formular una fecha nos encontramos muchas veces en que hay elementos que están únicamente escritos en inglés como por ejemplo el día de la semana o como por ejemplo el nombre del mes o así que lo que vamos a hacer es crear un trozo de código php vamos a crear un pequeño switch que nos permitirá especificar cuál es el día de la semana y cuál es el mes del año correctamente en castellano así que para esto voy a empezar haciendo un swing general siguiente código día de la semana es el parámetro que voy a poner dentro del switch y voy a decir al revés perdón esto es 20 gates es l keyes 20 así que establecer casos en el caso de que sea el molde una variable llamada día de la semana igual a b lunes y así voy a crear siempre casos 7 22 sí el jueves ahora mismo tengo un laptop marvel saturday con las primeras mayúsculas porque es lo que se va a encontrar isabel me queda el jueves es decir y ahora mismo tengo un lapsus insisto y no lo consigo recordar cosas más tontas cosas a veces me pones jueves viernes como los miércoles no voy a tener demasiado problema en este punto el sábado y lo mismo y ahora lo que voy a hacer es simplemente en lugar de llamar al de l llamar a la variable día de la semana y ahora llamo a día de la semana gracias a este suites lo que voy a conseguir es cambiar el website por el miércoles porque lo que estoy haciendo es llamar a la variable días de la semana cuyo valor cambiaría según el ‘daily l según el día de la semana que sea lo mismo podría hacer para los meses del año voy a hacer un suites otros suites y en este caso llamar a el d efe el mes del año donde en este caso lo que haréis con él january y si el baile especial ahora entonces el mes del año voy a intentar evitar las señas en los nombres de de las variables por eso pongo meses del año con ella y ella enero voy a ir directamente a agosto para no poner los 12 meses si los juegos entonces el mes del año es agosto y si el mes del año es diciembre en este caso el medio del año es diciembre si ahora cambio el 20 efe por la variable mes del año comprobaré como ahora tengo la fecha correctamente formulada en castellano porque lo que he hecho primero es poner dos switches y a continuación establecer un eco para realizar el grito lo que voy a hacer es introducir todo este código dentro de una función que es la típica función de llamar a la fecha por tanto voy a crear una función darle fecha de momento sin parámetros y el código incluido dentro de la función será todo este trozo de código divertido es que se ahora se me ocurre ejecutar el script break como no tengo nada porque porque lo que he hecho es simplemente introducir todo ese código dentro de una función pero no he ejecutado la función para ejecutar la función lo que tenía que hacer ahora es ejecutar la función llamándola diciéndole dame fecha y la fecha ahora sí lo que hace es llamar a todo ese código de ejecutar todo ese código puede parecer que no tiene sentido o que no tiene utilidad esto que he hecho pero cuando veamos a continuación los incluyes veremos como sí que tiene mucho sentido llamar incluir funciones para después llamarlas en el código

la instrucción incluye nos permite llamar a contenido de scripts que estén fuera del script en el que estamos trabajando y es una herramienta ayudaría imprescindible para poder trabajar en php y crear un archivo llamado incluye php y al cargarlo lo que voy a hacer es lo siguiente voy a volver al archivo que tenía hace poco llamado dave php y lo que voy a hacer al final del play test no ejecutar la función simplemente refino la función lo lleva ahora dentro de incluye php es crear un incluye ya se incluye lo que va a hacer es llamar al archivo que contiene la función dame fecha así que bajo un directorio me voy al directorio dei el instituto incluyó mejor dicho el escritor llamado bein php y todo esto entre comillas si ahora ejecutó e incluye ver como el resultado es ninguno sin embargo si yo ahora lo que hago es darle fecha llamo a la función dame fecha y recargó observaré como él incluye tengo sin ningún problema ejecutada la función darle fecha porque al incluir esta función lo que estoy haciendo es como estuviera todo este código insertado dentro de este incluye y por tanto el código que está preparado para su ejecución llamando a la función dame fecha por tanto con incluye lo que he sido capaz de hacer es traer llamar a código php incluido en otro extiende incluye falla por ejemplo voy a llamar al archivo de 2.7 que no existe el incluyen no dará error sin embargo lo que dará es un fatal error ya que estaré llamando a la función de fecha que no existe de manos cuenta como el programa lo que hace es no dar un error fatal suele dar un guardia dar una advertencia y me dice que sea incluso él ha fallado una cosa que puedo hacer es enmudecer se incluye con una arroba de tal forma que lo que obtengo es enmudecer los warning incluye pero eso si inevitablemente tengo un error fatal ya que estoy llamando a una función no definida dame fecha que el programa no sabe interpretar mientras que incluye no está necesariamente error al fallar recuerden sí que garro si yo requiero un archivo de php y existe no hay ningún problema lo ejecuta y ya está pero si yo requiere un archivo y el archivo no existe directamente da un error fatal y la ejecución del código se para por tanto bueno aquí ya es una cuestión de que qué instrucción queremos usar yo suelo usar mucho e incluye ya que si falla todavía tengo la opción todavía tengo la posibilidad de seguir ejecutando el código o buscar otra manera de ejecutar el código el uso de objetos es un recurso muy interesante ya que nos permite reutilizar y nos permite aprovechar gran parte del código que podamos escribir mediante el uso de objetos creamos una juzgamos trozos de código llamados plantillas que funcionan como plantillas que se llaman clases que nos permiten crear plantillas en blanco de cómo serán más adelante nuestros programas más adelante cuando usamos los objetos lo que hacemos es usar las plantillas en blanco y rellenarlas con parámetros que nos permiten personalizar múltiples copias de los objetos lo que vamos a hacer en este caso es crear un primer objeto vamos a crear en nuestra carpeta recurso una carpeta llamada objetos la subcarpeta entramos dentro de objetos ahora sí que está encontrado y vamos a crear un archivo llamado primer objeto primer objeto php dentro del primer objeto php voy a crear mi primer objeto y es importante saber qué todo aquello que vaya dentro de un objeto tiene que ir dentro de una clase voy a usar la palabra reservada a clase y voy a crear una plantilla voy a hacer un ejercicio clásico la agencia clásico es hacer plantillas con personas o con animales voy a hacer la clase de persona la clase persona consistirá en una plantilla que tendrá dos cosas tendrá propiedades y tendrá métodos a las variables en este caso se les llama propiedades y a las funciones que puede tener una clase se les llama métodos vamos a crear llaves vamos a crear variables insistimos que las variables reciben el nombre de propiedades o atributos voy a crear una variable llamada altura una variable llamada color de pelo una variable llamada género y vamos a trabajar de momento con estas variables lo que haré ahora es crear funciones las funciones cuando están dentro de una clase de un objeto se llaman métodos y ahora haré una función llamada introduces introduce que tendrá una variable llamada propiedad y dentro de esta función voy a escribir mayor que y contenido no voy a hacer altura de altura es igual a propiedad lo que estoy haciendo dentro de esta función es que la altura pueda recibir la propiedad que le indicamos dentro de la función ahora la vamos a ver voy a poner voy a llamar a esto introduce altura voy a crear otra función si ésta ha sido la función introduce altura crear ahora la función muestra altura nuestra altura de momento sin parámetros va a tener eco [Música] bis altura tengo ya por tanto mi primer objeto creado lo que he hecho realmente es encapsular todo este código dentro de este objeto y al igual que ocurre con las funciones lo que hacemos es encapsular lo y de momento no usarlo si guardamos recargamos y ejecutamos primer objeto php comprobaremos cómo hemos creado un primer objeto hemos creado una primera plantilla y de momento no lo vamos a usar en el siguiente vídeo lo que haremos es usar la plantilla y empezar a disfrutar de sus ventajas [Música] vamos a usar ahora este objeto que en principio hasta ahora puede parecer que no nos sirve para nada pero sin embargo vamos a hacer uso de él de la siguiente manera voy a crear una variable llamada mi persona y esta variable va a ser una nueva instancia de la plantilla debemos de ver la clase como si fuera una plantilla en blanco una hoja en blanco al crear una clase lo que tenemos es un montón de hojas en blanco iguales cojo cada plantilla y la relleno con datos diferentes para cada una de las plantillas por tanto al final cada y cada vez que di con new lo que hago es quejó una plantilla en blanco y rellenarla con unos datos particulares por tanto es new persona mi persona es igual a new persona vamos a poner mi persona 1 es una nueva instancia de la clase persona ahora que ya he creado una primera instancia de mi persona puedo decirle que mi persona he escrito un guión y escrito un mayor que y voy a llamar ahora a los métodos dentro del objeto voy a decir introduce altura ya que recordemos que hay un método llamado altura que además me pide una propiedad pues la altura es 170 voy a poner esto dentro de comillas 170 y ahora digo mi persona 1 aquí te puedo escribir 1 mi persona 1 y ahora uso el método vamos a ver muestra altura vuestra altura que evidentemente no tiene ningún parámetro si ahora ejecutamos este código guardamos y ejecutamos este código obtendremos 170 lo que hemos hecho es primero en el objeto introducir la altura y luego leer la altura hasta aquí puede haber aparecido algo bastante poco impresionante podríamos haber hecho esto de una manera mucho más sencilla pero lo divertido de los objetos es que te permiten crear múltiples cálculos a partir de la misma plantilla por tanto voy a poner ahora mi personados es igual a una nueva instancia de persona y voy a hacer ahora que mi persona dos puso el método introduce altura y la altura de esa persona those es por ejemplo una nota muy alta mide 2 20 por tanto ahora mi persona 2 el vigo nuestra altura sin parámetros y me devuelve me devuelve 170 y muestra altura de mi persona 2 vamos a ver mi persona 2 nueva altura [Música] de altura voy a hacer esto ya que me he dejado muestra altura me falta buena vale aquí está el error ahora sí tengo unos 72 20 es decir cada uno tiene su propia propiedad dentro de la plantilla una cosa muy divertida es que si pongo nuestra altura después el resultado sigue siendo el mismo 1 72 20 para resumir por tanto lo que he hecho con este ejercicio de objetos es primero crear una plantilla una hoja en blanco que contiene tanto las propiedades como las funciones que manejan ese objeto a continuación lo que hago es primero crear una instancia del objeto y luego llamar a los métodos del objeto es importante que para llamar a los métodos del objeto tengo que escribir primero el nombre de la instancia guión mallorca y entonces el nombre del método y solo así consigo trabajar consigo hacer funcionar a los métodos que hay dentro de los objetos pero personalizados para cada una de las instancias [Música] los constructores son funciones también llamadas métodos dentro de las clases que se encargan de inicializar las variables antes de ser usadas aunque no es obligatorio el uso de constructores lo cierto es que constituye una buena costumbre ya que nos ahorra a veces tener valores nulos cuando no pasamos parámetros a los objetos de esta manera los constructores se aseguran que al crear una nueva instancia de un objeto automáticamente se le añaden una serie de valores una serie de atributos la única peculiaridad que tienen los constructores es que son funciones cuyo nombre tiene que ser el mismo que el de la clase por tanto se tenía la clase persona el nombre de la función tiene que ser también persona por tanto voy a crear una persona donde voy a decir voy a añadirle una serie de propiedades y voy a darle un poco de código y donde voy a decirle que la altura altura es igual a 2 coma el color de pelo voy a poner dos entre comillas color de pelo voy a poner con y variables color de pelo es igual a morello coma y vamos a ver el género es igual a masculino lo que estamos haciendo en este caso es dar una serie de valores iniciales para que el programa los use como valores por defecto de la plantilla es como una plantilla que ya viene pre rellenada y tú puedes cambiar los valores que hay preñados en la plantilla a lo que voy a hacer es poner this a altura es igual a altura bis el color de pelo es igual a color de pelo y dis género es igual esto es lo que es un constructor y lo que hemos hecho por tanto es crear una función que recibe el mismo nombre que la clase le hemos dado una serie de valores y lo que hemos hecho es asignar estos valores a variables bits si ahora ejecutamos comprobaremos que el resultado es el mismo aunque en este caso sin necesidad de dar una variable a altura a género oa lo que fuera en lo que hacemos es dar una serie de parámetros por defecto donde en este caso aunque demos un parámetro por defecto de 2 en altura de 2 si más adelante introducimos una altura de 170 lo que hacemos en este caso es poner unos 70 es decir creamos un valor por defecto aunque ese valor por defecto por supuesto más adelante se puede sobreescribir

php tiene un set de funciones específicamente diseñadas para ser capaces de leer y escribir de archivos de texto plano en el disco duro o directamente en el servidor web esto no sustituye completamente al uso de bases de datos con lenguaje sql pero hay algún caso como el que veremos en el vídeo a continuación en el vídeo siguiente de este donde puede tener cierta utilidad vamos a hacer un ejercicio donde he creado una carpeta llamada flat files dentro de esa carpeta he creado dos archivos de momento vacíos uno llamado flat files php y un archivo de texto plano texto punto txt esto pudo txt ahora mismo está vacío está completamente vacío y en flat file punto txt voy a escribir el siguiente contenido la primera que voy a hacer es crear una variable donde define el archivo en el que voy a escribir que como sabemos se llama texto punto txt a continuación voy a escribir el contenido que quiero escribir mediante php dentro de ese archivo txt este es un contenido y ahora necesito dos cosas una un manejador un hamlet en inglés traducido directamente en el que al que le igualan la función efe open habiendo el archivo como e indicándole el modo en el que voy a trabajar en este caso el modo de trabajo que más suelo usar es a plus a plus lo que hace es abrirlo en modo de lectura y escritura y en applus lo que hace es a penn al final del archivo hay otros modos donde lo que hacemos es abrir un archivo borrar todo su contenido y escribir archivo nuevo a mí lo que me suele interesar es abrir un archivo respetar el contenido que ya había pero poner nuevo contenido al final del archivo por eso voy a usar a plus como modo de apertura y por último voy a usar otra función primero efe open para el archivo no puedo escribir nada sino abierto previamente el archivo y ahora que lo tengo abierto ago efe rail para escribir y que voy a escribir puede ser el manejador voy a escribir el contenido es decir en el archivo indicado voy a escribir ese contenido voy a guardar voy a ejecutar flat files php en principio no me devuelve ningún resultado en pantalla pero si ahora vuelvo a texto punto txt me dice el archivo ha cambiado quiere volver a cargar sí que desee volver a recargar y compruebo como aquí aparece este es un contrario si ahora ejecutó varias veces el archivo flat files php y vuelvo a archivo recargo y lo que he hecho ni más ni menos que es lo que he hecho es escribir varias veces este es un contenido dentro de el disco duro por tanto como estamos viendo lo que hemos conseguido es mediante php escribir el contenido en un archivo de texto plano en un archivo de texto punto txt alojado en el servidor un ejemplo claro de para que podemos usar una guardador de archivos flat file en archivo plano al disco duro puede ser un sistema de creación de logs de registros de visitas de una página los logs de una página se escriben desde luego se escriben bastante frecuentemente pero y luego únicamente se lee y no se suele requerir actualizarlos ni borrarlos porque la idea de un log es muchas veces escribirlo ni siquiera leerlo tenerlo ahí por si acaso pasa algo y si hacemos algo con él desde luego es únicamente leer por tanto si no vamos a usar ni update ni y feliz nada de esto podemos hacer un sistema de logs voy a ponerlo php con texto plano por hacer un blog php como archivo que gestionará esos blogs y 1.0 aquí está la gracia donde almacenar en texto claro sí pero al final en un formato de archivo separado por comas de tal forma que en un momento dado podamos abrir incluso desde lo directamente con un programa de hojas de cálculo como excel o cómo operó fiscal voy a abrirlo punto php voy a crear un pequeño script que lo que haga es registrar los accesos a esta página el archivo al que nos voy a trabajar es blog punto csv aunque en principio esta función está pensada para trabajar con archivos de texto plano no pasa nada por engañar al programa y hacerle creer que un csv es un archivo de texto plano cuando realmente uno realmente lo es contenido el contenido que voy a escribir será el siguiente el contenido va a ser separado por comas va a ser la cantidad de segundos que han pasado en la región ix y encadenó con una coma y ahora quiero el año voy a copiar esto unas cuantas veces ahora quiero el año en un mes y quiero corregir en y vuelvo a ser para poner con coma y lo que quiero ahora por ejemplo es sacar la ip del archivo en el que estoy trabajando por tanto voy a hacer que voy a decirle que la variable ip es igual a la variable del entorno remote habrás además quiero saber el navegador con el que la gente entra a mi web con lo cual el navegador es igual a variables del servidor y entre comillas http jon bajo y usher bajo el de la gente con el que están entrando a esta web por tanto voy a quedar a la hora con live entonces una vez más con coma encadenó ahora con la variable navegador es importante al final voy a encadenar con contra barra en contra barra n equivale a retorno de carro en archivos de texto plano por tanto ahora ya puedo volverá al manejador manejador es igual a f donde apunto al archivo y le digo que lo abro en modo a mayúsculas ap en mayúsculas por último ejecutó el baile manejador como contenido si no he cometido ningún error y espero que no vamos a asegurar nuevas del daily rate el año es y el mes examino de minúsculas el día es de minúsculas yo lo que hago es guardo y ejecutó los php y se hará cargo blog csv compruebo como estoy guardando los datos que especificado en un archivo de separado por comas voy a ejecutar varias veces lo csv y comprobar como cada vez que lo ejecutó se crea a ver que he guardado voy a ver como cada vez que lo ejecutó se crea una nueva línea de registros por tanto lo que tengo aquí como puedo comprobar es un registro de los accesos que ha tenido a mi web y lo interesante aparte de que dijo que alguien capturando el utc el año el mes el día la ip y el navegador que se ha usado es que estoy trabajando con un archivo separado por comas que ahora podría por ejemplo cargar en una hoja de excel si ahora voy a abrir este archivo un segundo y ahora lo muestro en pantalla yo tengo por aquí la sal y si ahora cojo ese csv le digo que lo abro con un libro fiscal o con openoffice calc o con excel con lo que queramos nos separó por coma y delimitará texto es ninguno porque he recibido como podemos ver puedo abrir ese archivo que guardado mediante php con una aplicación de hoja de cálculo como por ejemplo excel u openoffice calc y esto es interesante como vemos aunque aquí parece que que se ha enganchado porque había una coma del texto y bueno cómo arreglar esto ya que estamos porque ha pasado esto porque ha dividido estas columnas vamos a verlo esto ha sido por la sencilla razón y que el navegador incluye una coma por tanto la coma parece que en este caso es un mal símbolo para separar el texto así que lo que podría hacer una cosa que se suele hacer bastante en los csv es hacerlo siempre dejar esto por aquí voy a poner esto allí y lo que voy a hacer es separar no sólo con comas sino también delimitar con comillas en este caso tendría que poner contra barra comillas como carácter de escape así que ahora pongo contra barra comillas antes y después de cada coma y aunque parezca mentira lo que voy a hacer con esto voy a poner contra barras comillas y por último n es al escribir al ejecutar el log php ahora lo que estoy haciendo es separar cada uno de los valores con comillas por tanto esa coma sacó mal que tengo aquí ya no se va a ver afectada voy a borrar todo el log porque ahora tengo registros anteriores incorrectos y registros nuevos correctos voy a ejecutar de nuevo el script varias veces ejecutó recargo para comprobar que ahora está separado todo el principio está correcto por comillas y si ahora vuelva a abrir ese archivo lo csv con calc vamos a verlo por aquí lo que voy a hacer ahora es decir que los campos están separados por comas y que el delimitador del texto es comillas porque se haga acepto comprobar como ya no ha afectado esa coma que tenía ahí he dejado por lo que veo alguna coma en la ip voy a seguir corrigiendo [Música] en la idea [Música] efectivamente acuerdo destruyó estos registros cierro que está abierto bien estaba abierto y ahora me dice que hay un error en la línea de 7 hay un error porque eso está mal pegado realmente mal aquí ejecute ahora llamada error y ahora vuelvo la csv parece que esté correcto y si ahora lo recargo en la base de datos en la hoja de cálculo compruebo como ahora si ahora sí que está correcto yo de todas formas tengo un truco para esto de los archivos de texto plano que es el siguiente el problema es que una coma es un carácter muy común es demasiado común por tanto yo lo que suelo hacer es usar un carácter que no sea tan común como una coma los archivos de como el psv es como más separado the values en principio están pensados para ser separados con comas o con puntos y comas pero la coma y el punto de coma son dos caracteres que están condenados a dar los problemas porque son muy comunes por eso yo lo que lo que suelo hacer es poner en lugar de coma para buscar una en lugar de coma sin pulso al cr el número 1 del teclado tengo una barra vertical al xerez y número 1 digamos la barra de hora esta barra sé que es muy poco frecuente y si ahora ejecuto el script con esta barra voy a borrarlo todo está abierto en la hoja de cálculo ahora sí y ejecutó varias veces el log comprobar como el resultado es que en lugar de comas estoy separando los valores mediante estas barras verticales usaré las barras verticales a mí me suele dar buen resultado para que el programa no confunda comas separadoras caracteres separadores con caracteres internos de los registros

Deja una respuesta

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