PROGRAMA DE PROGRAMACIÓN WEB Objetivo El objetivo de esta capacitación es que el alumno pueda programar un Sitio/Portal Web con las funciones más importantes de tal: conectar a una base de datos, registraciones y validaciones de usuarios, sesiones, trabajo con cookies, envíos automáticos de mails, gestión de usuarios, programar una base de datos; instalar, administrar y configurar un servidor Web (APACHE), etc. Contenidos Temáticos EL LENGUAJE HTML QUE ES EL HTML Historia del HTML Especificación oficial Formato de archivo Nomenclatura de archivos y directorios CARACTERÍSTICAS BÁSICAS ETIQUETAS Estructura básica de un documento HTML Etiqueta html: Etiqueta head: Etiqueta Title: Etiqueta body: COMENTARIOS Atributos Atributos de la etiqueta body Text Bgcolor Background Link Vlink Alink Márgenes Etiqueta font y sus atributos Face Size Color Atributo style COLORES Sistema Hexadecimal Valores de color Nombres de color CODIFICACIÓN DE CARACTERES ETIQUETAS DE CONTENIDO Etiquetas de manejo de textos Párrafos Encabezados Marcado básico de texto Marcado avanzado de texto Marcado genérico de texto Espacios en blanco y nuevas líneas Nuevas líneas Espacios en blanco Texto preformateado Reglas horizontales (hr) LISTAS Listas desordenadas Listas Ordenadas Listas de definición VINCULOS VÍNCULOS URL Vínculos relativos y absolutos Vinculo de correo electrónico UTILIZACIÓN DE IMÁGENES Imágenes Mapas de imagen TABLAS Tablas simples FORMULARIOS CONCEPTO DE FORMULARIO Formulario simple Elementos de Formulario Campo de texto Cuadro de contraseña Checkbox Radiobutton Botón de envío de formulario Botón de reseteo del formulario Ficheros adjuntos Campos ocultos Botón de imagen Botón FORMULARIOS AVANZADOS Fieldset Menú desplegable y cajas de texto IFRAMES QUE SON LOS IFRAMES Atributos de la etiqueta iframe FRAMES CONCEPTO DE FRAME Definición Definición de los frames Definición de cada una de las frames TARGET: Atributo para indicar la frame de destino META INFORMACIÓN META INFORMACIÓN Metadatos DOCTYPE IMPLEMENTANDO EL DISEÑO DE LA BASE DE DATOS Modelo de entidad - Relación Introducción Entidad Relación Cardinalidad de las Relaciones Atributos Consideraciones en el Planeamiento del Diseño Lógico de la Base de Datos Modelado de elementos de datos Tablas Restricciones de las Tablas Columnas No Descomponibles Restricciones en las columnas Clave Primaria (PRIMARY KEY) Clave Foránea (FOREIGN KEY) BASE DE DATOS MYSQL Entorno MySQL Que es MySQL Bases de Datos Tablas MySQL es un sistema de administración relacional de bases de datos MYSQL QUERY BROWSER Introducción Dialogo de Conexión La Ventana Central de Consultas Editor de Tablas TIPOS DE DATOS Topos numéricos Tipos fechas Tipos de cadena ZEROFILL Tipos de datos en mysql Datos numericos Caracteres o cadenas Varios EL LENGUAJE SQL ESTRUCTURA DEL LENGUAJE Introducción Qué es DDL? Creación de una Tabla Qué es DML? Eliminar una Tabla CONSULTAS BASICAS SELECT INSERT UPDATE DELETE Consultas con SQL SELECT CONDICIONES LÓGICAS Operadores Lógicos Sentencia Between Sentencia IN Sentencia LIKE LABORATORIO Creación de tablas Comando INSERT Comando SELECT Comando DELETE Comando UPDATE TOPICOS AVANZADOS FUNCIONES DE BASES DE DATOS Funciones Matemáticas Funciones de Cadenas Funciones de Fecha y Hora Funciones de Grupo AGRUPACIONES Consultas Agrupadas - GROUP BY CONSULTAS RELACIONADAS Consultas Anidadas – JOIN INTRODUCCIÓN A PHP QUÉ ES PHP La historia Que se puede hacer con PHP ORGANIZACIÓN Y CONCEPTOS El Modelo Cliente - Servidor Páginas Estáticas Páginas Dinámicas Servidor Web Apache POR QUÉ PHP Ventajas Desventajas Propuestas del mercado PROYECTO INTEGRADOR Introducción LINKS -> DOWNLOADS Sitios institucionales Otros sitios Web PHP: LENGUAJE DE PROGRAMACIÓN SINTAXIS Etiquetas de PHP Comentarios en PHP HTML – EMBEBIDO Definición Significado Consideraciones HTML no es PHP Comentarios en HTML VARIABLES Introducción Definición de Variables Tipos de Datos Asignación de Variables Redefinición de Variables Los valores por defecto OPERADORES Definición Expresiones Operadores de Incremento y Decremento Operadores de Asignación Operadores Lógicos PASO DE VARIABLES POR URL Protocolo HTTP Argumento $_GET Caracteristicas Ejemplos de casos de paginas con parámetros CONSTANTES Definición Caracteristicas Predefinidas RESUMEN LABORATORIO 1 SENTENCIAS CONDICIONALES Introducción Sentencia IF Sentencia ELSE Sentencia ELSEIF Sentencia Switch ESTRUCTURAS DE CONTROL (BUCLES) Introducción Bucle FOR Bucle While Bucle Do While Break y Continue RESUMEN LABORATORIO 2 ARREGLOS Introducción Arreglos en una dimensión (Vectores) Contar cantidad de elemento de un Vector Arreglos no secuénciales Funciones para manejos de arreglos Ordenamientos. Arreglos asociativos Ordenamientos Asociativos Bucle FOR EACH Arreglos Multidimencionales (Matrices) Resumen LABORATORIO 3 INCLUSIÓN DE CÓDIGO Introducción Características Require Include Resumen HTTP HEADERS Anatomia de una Pagina Web Introduccion a los Encabezados Estructura del Encavezado Redireccionamiento Cambiar el formato de una pagina LABORATORIO 5 Proyecto Integrador FORMULARIOS INTRODUCCIÓN LA ETIQUETA FORM Introducción Atributos del formulario Controles del Formulario Grafico de Controles RECEPCIÓN DE DATOS Variables Externas Método GET Método POST Captura de Datos de un Formulario RESUMEN LABORATORIO Proyecto Integrador: Armar un Formulario FUNCIONES FUNCIONES EN PHP Introducción Los valores de retorno FUNCIONES PARA MANEJO DE CADENAS Función print() Función printf() Función sprintf() Función strtoupper() y strtolower () Función strlen() Función number_format() Función substr() Función rtrim() Función ltrim() Función trim() Función ereg() Función eregi() Función split() FUNCIONES DE REDONDEO Función Round() Función Ceil() FUNCIONES PARA TIPOS DE DATOS Conversión de tipos de datos Consultar tipos de datos FUNCIONE DEFINIDAS POR EL USUARIO Definición Parámetros Parámetros por Defecto Valores de Retornos Ejemplos VARIABLES DE AMBIENTE Definición Variables Globales VARIABLES DE ENTORNO Introducción Función getenv() El Arreglo $_SERVER RESUMEN LABORATORIO 4 Laboratorio 4.1: Función definida por el usuario Laboratorio 4.2: Variables de Entorno Proyecto Integrador: Validar el Formulario JavaScript INTRODUCCIÓN Origen Conceptos Básicos Dónde y cómo incluir Javascript Tipos de Datos ESTRUCTURAS DE CONTROL DE FLUJO Ciclos repetitivos Sentencias condicionales VENTANAS DEL NAVEGADOR Ventana Alert Ventana Confirm Ventana Prompt FUNCIONES DE VALIDACIÓN Función parseInt Función parseFloat Función isNaN FUNCIONES DEFINIDAS POR EL USUARIO Que es una función Como se escribe una función Cómo llamar a una función MANEJO DE ARCHIVOS INTRODUCCIÓN ABRIR Y CERRAR ARCHIVOS DE TEXTO Función fopen() Función fclose() CONTROL DE ERRORES Operador Arroba "@" Captura de mensajes de error LECTURA DE ARCHIVOS DE TEXTO Introducción Función fpassthru() Función fread() Función fgetc() Función feof() Función fgets() Función fgetss() Función file() ESCRITURA DE ARCHIVOS DE TEXTO Función fwrite() Función is_writable MOVIÉNDOSE DENTRO DE UN ARCHIVO Función rewind() Función fseek() FUNCIONES DE PHP PARA INTERACTUAR CON FICHEROS Y DIRECTORIOS Función copy(). Copiar Archivos Función rename(). Renombrar Archivos Función unlink(). Borrar Archivos Función file_exists() Función filetime() Función filesize() MANEJO DE DIRECTORIOS Función opendir() Función readdir() Función chdir() RESUMEN CONTADOR DE VISITAS DEL SITIO Armar un contador de Visitas con Archivos de Texto Agregar contador a la pagina principal del sitio CONSTRUCCIÓN DE UN FORO Agregar Testimonios al Foro Laboratorio 2: Consultar el Foro LABORATORIO ADICIONAL Laboratorio 3: Manejo de Ficheros Proyecto Integrador: BASE DE DATOS MySQL ENTORNO MYSQL Que es MySQL Bases de Datos Tablas MySQL es un sistema de administración relacional de bases de datos PHPMYADMIN Introducción Selección de una Base de Datos Crear una Tabla Consultas SQL Consultas SQL EL LENGUAJE SQL Introducción Qué es DDL? Creación de una Tabla Qué es DML? Eliminar una Tabla SELECT UPDATE DELETE Consultas con SQL SELECT Consultas Agrupadas - GROUP BY Operadores Lógicos Consultas Anidadas – JOIN LABORATORIO Creación de tablas Comando INSERT Comando SELECT Comando DELETE Comando UPDATE PHP CON BASES DE DATOS MySQL CONECTANDO PHP CON BASES DE DATOS Definición ODBC MySQL FUNCIONES DE PHP PARA INTERACTUAR CON MYSQL mysql_connect() mysql_close() mysql_select_db() mysql_query() mysql_num_rows () mysql_fetch_array() mysql_fetch_rows() mysql_error() mysql_result () MODIFICACIONES DE DATOS Insertar un Registro Modificar un Registro Borrar un Registro LISTADO DE USUARIOS DEL SITIO Reporte en PHP de todos los usuarios Colores Interlineados Búsquedas internas en el sitio Paginación de los resultados del Reporte LISTADO DE PRODUCTOS Armar el Reporte de Productos LABORATORIO Ejercicio #2 Ejercicio #3 Ejercicio #4 UPLOAD – SUBIR ARCHIVOS AL SERVER INTRODUCCIÓN FORMULARIO PARA SUBIR ARCHIVOS Tipos de contenido del Formulario Etiqueta FILE Campo oculto MAX_FILE_SIZE Formulario completo de Carga PAGINA DESTINO – COPIAR AL SERVIDOR La variable $_FILES Grabando el archivo subido PROYECTO INTEGRADOR: SUBIR FOTO Subir la foto del un inscripto Reporte de Inscriptos con la Imagen de c/u Modificación del Formulario de Carga SESIONES INTRODUCCIÓN Definición Características FUNCIONES DE PHP PARA INTERACTUAR CON SESIONES Construcción de variables de sesión Identificación de la sesión Destrucción de una sesión AUTENTIFICACIÓN DE USUARIOS A UN SITIO WEB CON USO DE SESIONES Logueo al Sitio Autentificación y Creación de la sesión. Cerrar sesión: Pagina Desconectarse COOKIES INTRODUCCIÓN Definición Caducidad DOMINIOS Y SUBDOMINIOS Características Limitaciones FUNCIONES DE PHP PARA INTERACTUAR CON COOKIES Construcción Utilización Expiración Eliminación La función isset() INGRESO AL SITIO Recordar usuario y contraseña con uso de Cookies PRACTICA ADICIONAL Ejercicio #1 Ejercicio #2 Ejercicio #3 ENVÍO DE E-MAILS FUNCIONES DE PHP PARA ENVIAR E-MAILS Mails desde PHP Parámetros de la función mail Ejemplo completo de envío de un mail Olvide mi Contraseña