Objetivos y Temario CURSO PHP Y MySQL OBJETIVOS Se dirige a los diseñadores y programadores que deseen utilizar PHP y MySQL para desarrollar un sitio web dinámico e interactivo. En la primera parte del curso, se presenta la implantación de una base de datos MySQL: lenguaje SQL (lenguaje de consulta estructurado), utilización de las funciones MySQL, construcción de una base de datos (tablas, índices, vistas) sin olvidar las técnicas avanzadas, como la búsqueda de texto completo o el desarrollo de rutinas. En la segunda parte, después de presentar las características básicas del lenguaje PHP, se centra en las necesidades específicas del desarrollo de sitios web dinámicos e interactivos, aportando respuestas precisas y completas con relación a sus aspectos principales: gestión de los formularios, gestión de las sesiones, envío de mensajes electrónicos y, por supuesto, acceso a una base de datos MySQL. TEMARIO TEMA 1 : Introducción A. Objetivo de la obra B. Breve historia de PHP y MySQL 1. PHP 2. MySQL C. Dónde conseguir PHP y MySQL D. Convenciones de escritura 1. PHP 2. MySQL TEMA 2 : Introducción a MySQL A. Introducción a las bases de datos relacionales 1. Conceptos 2. Principios de creación de una base de datos B. Trabajar con MySQL 1. Administración del servidor MySQL 2. Interfaz de la línea de comandos 3. MySQL Query Browser 4. phpmyadmin 5. Archivo de configuración C. Instalar nuestra base de datos de demostración D. Aprender las bases del lenguaje SQL 1. Tipos de datos a. Tipos de cadena de caracteres b. Tipos numéricos c. Tipo booleano d. Tipos de fecha y hora e. Tipos para los datos binarios 2. Nombre de los objetos 3. Valores literales a. Cadena b. Número c. Fecha, hora, fecha/hora d. Booleano 4. Expresión 5. Valor NULL
6. Variables a. Variables de usuarios b. Variables de sistema 7. Comentarios E. Ejecutar consultas SQL simples 1. El modo SQL del servidor 2. Mostrar datos 3. Mostrar los errores y las alertas 4. Leer los datos a. Sintaxis básica de la sentencia SELECT b. Restringir el resultado: cláusula WHERE c. Ordenar el resultado: cláusula ORDER BY d. Limitar el número de filas: cláusula LIMIT e. Leer en varias tablas: combinación 5. Añadir filas en una tabla 6. Modificar filas en una tabla 7. Eliminar filas en una tabla 8. Exportar e importar datos a. Exportar datos b. Importar datos TEMA 3 : Utilizar las funciones MySQL A. Introducción B. Funciones de control C. Funciones de comparación D. Funciones numéricas E. Funciones de cadenas F. Funciones de fechas G. Funciones de conversión y de formato H. Funciones de sistema I. Funciones de cifrado y de compresión J. Funciones de agregación TEMA 4 : Construir una base de datos en MySQL A. Crear y eliminar una base de datos B. Gestionar los usuarios y los privilegios 2. Gestionar los usuarios a. Crear usuarios b. Eliminar usuarios c. Modificar la contraseña de los usuarios 3. Administrar los privilegios de los usuarios a. Atribuir privilegios a los usuarios b. Mostrar los privilegios de un usuario c. Revocar privilegios de un usuario C. Administrar las tablas 1. Crear una tabla 2. Crear una tabla mediante copia 3. Cambiar el nombre de una tabla 4. Modificar la estructura de una tabla 5. Eliminar una tabla D. Utilizar las claves y los índices 1. Clave primaria o única b. Asministración 2. Índices
b. Administración c. Consideraciones 3. Clave externa b. Administración E. Utilizar vistas 1. Definición 2. Asministración F. Obtener información sobre las bases de datos 1. El commando SHOW 2. La base de datos INFORMATION_SCHEMA G. Exportar e importar una base de datos TEMA 5 : Técnicas avanzadas con MySQL A. Agrupar los datos B. Utilizar subconsultas 2. Subconsulta escalar 3. Comparación con una subconsulta 4. Subconsulta correlacionada 5. Subconsulta en la cláusula FROM 6. Insertar filas mediante una subconsulta C. Unir los resultados de varias consultas D. Administrar las transacciones y los accesos coincidentes 1. Definición 2. Administrar las transacciones 3. Anular una parte de una transacción 4. Coincidencia de acceso y bloqueo a. Coincidencia de acceso b. Bloquear tablas c. Bloqueo mutuo (deadlock) E. Efectuar búsquedas mediante expresiones regulares F. Realizar búsquedas de texto completo 1. Principios 2. Creación del índice FULLTEXT 3. Realizar una búsqueda de texto completo a. Búsqueda clásica b. Búsqueda en modo booleano c. Búsqueda con extensión de consulta 4. Ajuste de la búsqueda de texto completo G. Desarrollar rutinas 2. Administración de los privilegios 3. Administración de las rutinas 4. Ejecutar una rutina 5. Estructura del lenguaje a. Bloque BEGIN END b. Las variables c. Integración de las sentencias SQL d. Las estructuras de control e. La gestión de los errores f. Los cursores g. Recursividad H. Desarrollar triggers 1. Definición 2. Administración de los triggers 3. Consideraciones sobre la utilización de los triggers
a. Restricciones b. Resultado en caso de error TEMA 6 : Introducción a PHP A. Qué es PHP? B. Estructura básica de una página PHP 1. Las marcas PHP 2. La función echo 3. Separador de instrucción 4. Comentario 5. Combinar PHP y HTML 6. Reglas para los nombres C. Configuración de PHP 1. El archivo de configuración php.ini 2. Información sobre la configuración D. Las bases del lenguaje PHP 1. Constantes b. Alcance 2. Variables a. Inicialización y asignación b. Alcance y duración c. Variable dinámica (o variable variable) 3. Tipos de datos a. Tipos disponibles b. Tipos de datos escalares c. Tipos de datos especiales 4. Matrices b. Creación c. Manipulación 5. Operadores a. El operador de asignación por valor b. El operador de asignación por referencia c. Los operadores aritméticos d. El operador de cadena e. Los operadores de comparación f. Los operadores lógicos g. El operador ternario h. Los operadores combinados i. Jerarquía de los operadores 6. Estructuras de control a. La estructura if b. La estructura switch c. La estructura while d. La estructura do while e. La estructura for f. Las instrucciones continue y break 7. Incluir un archivo a. Funcionamiento b. Utilización 8. Interrumpir el script TEMA 7 : Utilizar las funciones PHP A. Preámbulo B. Manipular las constantes, las variables y los tipos de datos 1. Constantes
2. Variables 3. Tipos de datos a. Conversiones b. Funciones útiles C. Manipular las matrices D. Manipular las cadenas de caracteres E. Manipular las fechas F. Generar un número aleatorio G. Crear un identificador único H. Gestionar las "comillas mágicas" ("magic quotes") 1. Definición 2. Funciones relativas a las "comillas mágicas" 3. Gestión inteligente y portátil I. Trabajar con archivos en el servidor 1. Funciones útiles 2. Ejemplo de utilización 3. Las "comillas mágicas" J. Enviar un correo electrónico 2. Enviar un mensaje de texto sin adjunto 3. Enviar un mensaje en formato MIME a. Preámbulo b. Mensaje en formato HTML c. Mensaje con datos adjuntos K. Manipular los encabezados HTTP TEMA 8 : Escribir funciones y clases PHP A. Funciones 2. Declaración y llamada 3. Parámetros a. Valor predeterminado b. Pasar un parámetro por referencia c. Lista variable de parámetros 4. Consideraciones sobre las variables utilizadas en las funciones a. Variable local/global b. Variable estática 5. Las constantes y las funciones 6. Recursividad B. Clases 1. Concepto 2. Definir una clase 3. Crear de un objeto 4. Herencia 5. Otras características relacionadas con las clases a. Clase o método abstractos b. Clase o método finales c. Interfaz d. Atributo o método estático - Constante de clase 6. Excepciones TEMA 9 : Gestionar los errores en un script PHP A. Visión de conjunto B. Los mensajes de error de PHP C. Las funciones de gestión de los errores TEMA 10 : Gestionar los formularios y los vínculos con PHP
A. Visión de conjunto 2. Las vínculos 3. Los formularios a. Pequeño recordatorio sobre los formularios b. Construir un formulario dinámicamente c. Procesar un formulario mediante un script PHP 4. Recuperar los datos de una dirección o de un formulario a. Primer método: las matrices $_POST, $_GET y $_REQUEST b. Segundo método: la función import_request_variables c. Tercer método (no recomendado) d. Qué elegir? B. Recuperar los datos pasados por la dirección 1. Consideraciones a. Qué pasa si dos parámetros tienen el mismo nombre? b. Utilizar una matriz para pasar datos en la dirección URL 2. Transmitir caracteres especiales C. Recuperar los datos introducidos en el formulario 1. Consideraciones a. Qué pasa si dos zonas tienen el mismo nombre? b. Qué pasa si hay dos formularios en la página HTML? c. Utilizar una matriz para recuperar los datos introducidos d. Pasar información en una zona oculta de formulario 2. Los diferentes tipos de zona a. Visión de conjunto b. Zona que contiene texto c. Grupo de botones de opción d. Casilla de verificación e. Lista de selección única f. Lista de selección múltiple g. Botón de validación h. Botón de imagen i. Botón "reset" o "button" 3. Conclusiones D. Controlar los datos recuperados 2. Comprobaciones clásicas a. Limpieza de los espacios innecesarios b. Dato obligatorio c. Longitud máxima de una cadena d. Caracteres autorizados para una cadena - Formato e. Validez de una fecha - Intervalo de valores f. Validez de un número - Intervalo de valores g. Validez de una dirección electrónica E. Problemas con los datos recuperados 1. La característica de "magic quotes" 2. Otros problemas con los datos recuperados 3. Conclusiones F. Utilización de los filtros 1. Principios 2. Aplicación en los formularios G. Ir a otra página H. Transferir un archivo entre el cliente y el servidor 2. Cargar un archivo a partir del cliente: "file upload 3. Descargar un archivo a partir del servidor: "download
TEMA 11 : Acceder a una base de datos MySQL A. Introducción 2. Qué extensión utilizar para acceder a MySQL? 3. La noción de fetch B. Utilización de la extensión MySQLi 2. Conexión y desconexión a. Conexión b. Desconexión c. Obtener información sobre el servidor de MySQL d. Obtener información en caso de error de conexión e. Ejemplo 3. Seleccionar una base de datos 4. Utilizar consultas no preparadas a. Visión de conjunto b. Ejecutar una consulta c. Conocer el número de filas en el resultado de una consulta de lectura d. Extraer el resultado de una consulta de lectura e. Obtener información sobre el resultado de una consulta de actualización f. Gestionar los errores 5. Utilizar consultas preparadas a. Visión de conjunto b. Preparar una consulta c. Vincular variables PHP a los parámetros de la consulta d. Ejecutar la consulta preparada e. Obtener información sobre el resultado de una consulta de actualización f. Enlazar variables PHP con las columnas del resultado de una consulta de lectura g. Extraer el resultado de una consulta de lectura h. Utilizar un resultado almacenado i. Gestionar los errores j. Cerrar una consulta preparada 6. Invocar una rutina a. Procedimiento almacenado b. Función almacenada 7. Utilizar los tipos de datos BLOB a. Inserción o modificación b. Lectura C. Utilización de la extensión MySQL D. PHP Data Objects (PDO) E. "Magic quotes": de nuevo 1. Preámbulo 2. Carga de datos procedentes de una base 3. Actualización de los datos en la base F. Ejemplos de integración en formularios 2. Formulario de entrada en lista 3. Formulario de búsqueda 4. Formulario de entrada TEMA 12 : Gestionar las sesiones A. Descripción del problema B. Autenticación 2. Entrada de la identificación
a. Identificación por formulario b. Identificación por autenticación HTTP 3. Comprobar la identificación introducida C. Utilizar cookies 1. Idea general 2. "magic quotes": de nuevo 3. Aplicación a la gestión de las sesiones D. Utilizar la gestión de las sesiones de PHP 1. Principios 2. Aplicación 3. Gestionar uno mismo la transmisión del identificador de sesión a. Descripción del problema b. Solución 4. Algunas directivas de configuración adicionales 5. Ejemplo de aplicación 6. Advertencia y conclusión E. Conservar información de una visita a otra F. Conclusiones sobre las variables GPCS (Get/Post/Cookie/Session)