CURSO: PHP Y DESARROLLO WEB DEL LADO DEL SERVIDOR CON DEEPSEEK AI

CURSO: PHP Y DESARROLLO WEB DEL LADO DEL SERVIDOR CON DEEPSEEK AI

Subtítulo: Aprende a programar en PHP, el lenguaje que impulsa a WordPress, Facebook y millones de sitios web. Procesa formularios, conecta con bases de datos, gestiona sesiones de usuario y construye aplicaciones web dinámicas completas con un tutor que te explica cada línea de código

FICHA TÉCNICA

Campo Descripción
Código MUN-PHP-001
Carga horaria total 45 horas (recomendado: 3 horas por semana durante 15 semanas)
Modalidad 100% textual guiada por DeepSeek AI, con ejercicios prácticos de programación, depuración guiada, retos semanales de lógica y un proyecto final de aplicación web dinámica completa
Nivel educativo Adaptable a Bachillerato, Formación Profesional (Informática, Desarrollo Web) y ámbito universitario. La complejidad de los ejercicios se gradúa según el nivel del alumno.
Riesgo Medio-Alto (riesgo de introducir vulnerabilidades de seguridad como inyección SQL o XSS si no se aplican buenas prácticas, posible exposición de credenciales de base de datos en archivos de configuración, frustración con la configuración del entorno de desarrollo local, dependencia de la IA para escribir código sin comprender la lógica del servidor). Todo código generado debe ser revisado y testeado. Los ejercicios se realizan en un entorno local.
Dirigido a Estudiantes que ya conocen HTML, CSS y JavaScript y quieren aprender a programar del lado del servidor para crear aplicaciones web dinámicas que procesen formularios, interactúen con bases de datos y gestionen usuarios.
Prerrequisito Haber completado los cursos de HTML (MUN-HTML-001) y tener conocimientos básicos de programación. Es recomendable tener nociones de Bases de Datos y SQL (MUN-SQL-001). Disponer de un ordenador con un entorno de desarrollo local (XAMPP, WAMP, MAMP o Laragon). Conexión a internet. Autorización parental para menores de edad.
Corpus obligatorio cargado en DeepSeek Documentación oficial de PHP (php.net adaptada), Guía de seguridad en PHP (OWASP Top 10), Referencia de MySQLi y PDO, Manual de buenas prácticas de PHP moderno (PHP 8.x), Guía de gestión de sesiones y cookies
Certificación Diploma de aprovechamiento en PHP y Desarrollo Web del Lado del Servidor con IA. NO es una certificación profesional de desarrollo web.

AVISO PARA EL ESTUDIANTE (LECTURA OBLIGATORIA)

PHP es el motor invisible de la web. Cuando envías un formulario, cuando inicias sesión, cuando ves contenido personalizado… ahí está PHP trabajando en el servidor.

DeepSeek te guiará en cada línea de código, te explicará conceptos y te ayudará a depurar errores. Pero:

· La seguridad es tu responsabilidad. Un descuido en la validación de datos puede permitir que un atacante acceda a tu base de datos. Aprenderás a sanitizar entradas y a usar consultas preparadas desde el primer día.
· PHP se ejecuta en el servidor, no en el navegador. No puedes abrir un archivo .php directamente; necesitas un servidor web local (XAMPP).
· No copies y pegues código sin entenderlo. Si la IA te sugiere una solución, pídele que te la explique. La inyección SQL se previene entendiendo, no copiando.
· Testea siempre en local primero. Nunca despliegues código en un servidor real sin probarlo exhaustivamente en tu entorno de desarrollo.

MAPA GENERAL DEL CURSO

Parte Título Horas Enfoque
I Fundamentos de PHP: sintaxis, variables y estructuras de control 12 h Instalación, tipos de datos, operadores, condicionales, bucles, funciones
II PHP y la web: formularios, GET/POST y archivos 14 h Procesamiento de formularios, validación, subida de archivos, sesiones, cookies
III PHP y bases de datos: MySQL, PDO y seguridad 12 h Conexión, CRUD, consultas preparadas, prevención de inyección SQL
IV Proyecto integrador: tu aplicación web dinámica completa 7 h Diseño, desarrollo, seguridad, depuración y presentación

PARTE I: FUNDAMENTOS DE PHP. SINTAXIS, VARIABLES Y ESTRUCTURAS DE CONTROL

(12 horas)

Capítulo 1. Bienvenido al lado del servidor

(1 hora)

· Inciso 1.1. ¿Cómo funciona este curso? Tú programas en PHP; DeepSeek te guía.
· Inciso 1.2. Conoce a tu tutor DeepSeek: cómo pedirle que revise tu código, que te explique un error o que te ayude a depurar.
· Inciso 1.3. Tu cuaderno de desarrollador/a backend: fragmentos de código, soluciones a errores, ideas de proyectos.
· Inciso 1.4. Primera provocación: «DeepSeek, si PHP existe desde 1994 y muchos dicen que está ‘obsoleto’, ¿por qué más del 75% de los sitios web lo siguen usando? Explícame qué tiene de especial.»

Capítulo 2. Configuración del entorno y tu primer «Hola, mundo» en PHP

(2 horas)

· Inciso 2.1. ¿Qué es un servidor web local? Apache, MySQL/MariaDB, PHP. El stack LAMP/WAMP/XAMPP/MAMP.
· Inciso 2.2. Instalación de XAMPP (recomendado) o Laragon. Iniciar Apache y MySQL.
· Subinciso 2.2.1. Ejercicio guiado: «DeepSeek, estoy en Windows/macOS/Linux. Guíame para instalar XAMPP y asegurarme de que Apache y MySQL están funcionando.»
· Inciso 2.3. La carpeta htdocs (XAMPP) o www (WAMP). Tu primer archivo PHP: <?php echo «Hola, mundo desde el servidor!»; ?>. Accede desde http://localhost/tu_archivo.php.
· Inciso 2.4. La etiqueta <?php … ?>. Todo lo que está fuera se envía como HTML. PHP es un preprocesador de hipertexto.
· Inciso 2.5. Comentarios en PHP: // (línea), # (línea), /* … */ (bloque).

Capítulo 3. Variables, tipos de datos y operadores

(3 horas)

· Inciso 3.1. Variables en PHP: siempre empiezan con $. $nombre = «Ana»;. Dinámicamente tipadas.
· Inciso 3.2. Tipos de datos: string, integer, float, boolean, array, object, NULL.
· Inciso 3.3. Concatenación: . (punto). echo «Hola, » . $nombre;. Interpolación con comillas dobles: echo «Hola, $nombre»;.
· Inciso 3.4. Operadores aritméticos (+, -, *, /, %, **), de comparación (==, ===, !=, !==, >, <), y lógicos (&&, ||, !). La diferencia entre == y ===.
· Inciso 3.5. Constantes: define(«PI», 3.14159); o const PI = 3.14159;.
· Inciso 3.6. Ejercicio práctico: crea variables con tus datos y muéstralas en una tabla HTML generada desde PHP.

Capítulo 4. Estructuras de control: condicionales y bucles

(3 horas)

· Inciso 4.1. Condicionales: if, elseif, else. Sintaxis alternativa para HTML: if (condicion): … endif;.
· Inciso 4.2. Operador ternario: $mensaje = ($edad >= 18) ? «Mayor» : «Menor»;.
· Inciso 4.3. switch: switch ($variable) { case «valor»: … break; default: … }.
· Inciso 4.4. Bucles: for, while, do…while.
· Inciso 4.5. foreach: el bucle más utilizado en PHP para recorrer arrays.
«`php
foreach ($array as $clave => $valor) {
echo «$clave: $valor<br>»;
}
«`
· Inciso 4.6. Ejercicio práctico: crea un array con los días de la semana y recórrelo mostrando «Es fin de semana» o «Es día laborable».

Capítulo 5. Funciones: creando tus propias herramientas

(2 horas)

· Inciso 5.1. Declaración de funciones: function nombre($param1, $param2) { … return $resultado; }.
· Inciso 5.2. Parámetros por defecto, tipado de parámetros y retorno (PHP 7+): function sumar(int $a, int $b): int { return $a + $b; }.
· Inciso 5.3. Ámbito de variables: global, local, global $variable, $GLOBALS.
· Inciso 5.4. Funciones de cadena útiles: strlen(), str_replace(), strpos(), strtoupper(), strtolower(), trim(), explode(), implode().
· Inciso 5.5. Inclusión de archivos: include (aviso si no encuentra), require (error fatal). include_once y require_once.

Capítulo 6. Arrays en profundidad

(1 hora)

· Inciso 6.1. Arrays indexados y arrays asociativos.
· Inciso 6.2. Arrays multidimensionales.
· Inciso 6.3. Funciones de array: array_push(), array_pop(), array_shift(), array_merge(), array_keys(), array_values(), in_array(), count().
· Inciso 6.4. Desestructuración de arrays (list() o []).

PARTE II: PHP Y LA WEB. FORMULARIOS, GET/POST Y ARCHIVOS

(14 horas)

Capítulo 7. Procesamiento de formularios HTML con PHP

(4 horas)

· Inciso 7.1. Métodos HTTP: GET (datos en URL, visible, limitado) y POST (datos en el cuerpo de la petición, más seguro para información sensible).
· Inciso 7.2. Variables superglobales: $_GET, $_POST, $_REQUEST, $_SERVER, $_SESSION, $_COOKIE, $_FILES.
· Inciso 7.3. Crear un formulario HTML que envíe datos a un script PHP usando action=»script.php» y method=»post».
· Inciso 7.4. Capturar datos en PHP: $nombre = $_POST[‘nombre’] ?? »; (operador null coalescing para evitar errores).
· Inciso 7.5. Ejercicio práctico: crea un formulario de contacto con nombre, email y mensaje, y muestra los datos enviados en la misma página o en otra.

Capítulo 8. Validación y sanitización de datos

(3 horas)

· Inciso 8.1. Principio fundamental: nunca confíes en los datos del usuario. Valida siempre del lado del servidor (también puedes hacerlo en el cliente con JavaScript, pero es una capa extra, no la única).
· Inciso 8.2. Sanitización: htmlspecialchars() para evitar XSS, strip_tags().
· Inciso 8.3. Validación: filter_var() con filtros como FILTER_VALIDATE_EMAIL, FILTER_VALIDATE_INT, FILTER_SANITIZE_STRING.
· Inciso 8.4. Mostrar errores de validación al usuario de forma clara.
· Inciso 8.5. Ejercicio práctico: modifica el formulario de contacto para que valide que el email es correcto, que el nombre no está vacío y que el mensaje tiene al menos 10 caracteres.

Capítulo 9. Subida de archivos

(2 horas)

· Inciso 9.1. El array $_FILES: name, type, tmp_name, error, size.
· Inciso 9.2. Configuración de php.ini: file_uploads, upload_max_filesize, post_max_size.
· Inciso 9.3. Mover el archivo temporal a una ubicación permanente con move_uploaded_file().
· Inciso 9.4. Validación: tipo MIME, extensión, tamaño máximo.
· Inciso 9.5. Ejercicio guiado: crea un formulario para subir una foto de perfil y muéstrala en la página.

Capítulo 10. Sesiones y cookies

(3 horas)

· Inciso 10.1. HTTP es un protocolo sin estado (stateless). Las sesiones permiten persistir datos entre peticiones.
· Inciso 10.2. Cookies: pequeños archivos almacenados en el navegador del usuario. setcookie(«nombre», «valor», time() + 86400);. Acceso con $_COOKIE.
· Inciso 10.3. Sesiones: los datos se almacenan en el servidor; el navegador solo guarda un ID de sesión. session_start(); $_SESSION[‘usuario’] = $nombre;.
· Inciso 10.4. Destruir una sesión: session_destroy();.
· Inciso 10.5. Ejercicio práctico: crea un sistema de login sencillo (sin base de datos aún) que mantenga la sesión del usuario entre páginas.
· Inciso 10.6. Seguridad: session_regenerate_id() tras login, httpOnly y Secure en cookies.

Capítulo 11. Manejo de fechas y horas en PHP

(2 horas)

· Inciso 11.1. date() y time(). Formateo de fechas.
· Inciso 11.2. DateTime y DateTimeZone: la forma moderna de manejar fechas.
· Inciso 11.3. strtotime() para convertir texto a timestamp.

PARTE III: PHP Y BASES DE DATOS. MYSQL, PDO Y SEGURIDAD

(12 horas)

Capítulo 12. Conexión a MySQL con PDO

(3 horas)

· Inciso 12.1. ¿Qué es PDO? PHP Data Objects. Una capa de abstracción que permite conectar a diferentes motores de base de datos (MySQL, SQLite, PostgreSQL) con la misma interfaz.
· Inciso 12.2. Crear una base de datos en phpMyAdmin (incluido en XAMPP) o mediante comandos SQL.
· Inciso 12.3. Conexión PDO:
«`php
$pdo = new PDO(«mysql:host=localhost;dbname=mi_app;charset=utf8mb4», «root», «»);
«`
· Inciso 12.4. Manejo de errores: PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION.
· Inciso 12.5. Ejercicio práctico: conecta tu aplicación PHP a una base de datos de prueba y muestra un mensaje de éxito o error.

Capítulo 13. CRUD con PDO y consultas preparadas

(4 horas)

· Inciso 13.1. ¿Qué es CRUD? Create, Read, Update, Delete.
· Inciso 13.2. Consultas preparadas: la defensa más importante contra la inyección SQL.
«`php
$stmt = $pdo->prepare(«SELECT * FROM usuarios WHERE email = :email»);
$stmt->execute([‘email’ => $email]);
$usuario = $stmt->fetch(PDO::FETCH_ASSOC);
«`
· Inciso 13.3. INSERT con prepared statements. lastInsertId().
· Inciso 13.4. UPDATE con prepared statements.
· Inciso 13.5. DELETE con prepared statements.
· Inciso 13.6. fetch() vs. fetchAll(). Modos de fetch: PDO::FETCH_ASSOC, PDO::FETCH_OBJ.
· Inciso 13.7. Ejercicio práctico: crea un CRUD completo de productos (nombre, precio, stock) usando PDO y prepared statements.

Capítulo 14. Autenticación de usuarios con base de datos

(3 horas)

· Inciso 14.1. Registro de usuarios: INSERT con contraseña hasheada (password_hash($password, PASSWORD_BCRYPT)). Nunca almacenes contraseñas en texto plano.
· Inciso 14.2. Login: verificar contraseña con password_verify().
· Inciso 14.3. Sesiones y control de acceso: $_SESSION[‘user_id’] para saber quién está logueado.
· Inciso 14.4. Logout y protección de páginas privadas.
· Inciso 14.5. Ejercicio práctico: implementa el sistema de registro y login completo con base de datos.

Capítulo 15. Principios de seguridad en PHP

(2 horas)

· Inciso 15.1. OWASP Top 10 adaptado a PHP.
· Inciso 15.2. Inyección SQL → Usar consultas preparadas.
· Inciso 15.3. Cross-Site Scripting (XSS) → Sanitizar con htmlspecialchars().
· Inciso 15.4. Cross-Site Request Forgery (CSRF) → Tokens ocultos en formularios.
· Inciso 15.5. Contraseñas: usar password_hash(), nunca MD5 o SHA1.
· Inciso 15.6. Configuración segura de PHP.ini (exponer_php = Off, deshabilitar funciones peligrosas).

PARTE IV: PROYECTO INTEGRADOR. TU APLICACIÓN WEB DINÁMICA COMPLETA

(7 horas)

Capítulo 16. Diseño y desarrollo del proyecto final

(5 horas)

· Inciso 16.1. Elige un proyecto: blog personal, gestor de tareas, tienda online sencilla, red social básica, sistema de reservas, foro.
· Inciso 16.2. Planifica la base de datos (tablas, relaciones) y las funcionalidades (CRUD, autenticación, validación).
· Inciso 16.3. Implementa la aplicación aplicando todos los conceptos del curso: formularios procesados con PHP, validación de datos, sesiones, operaciones CRUD con PDO, seguridad básica.
· Inciso 16.4. DeepSeek revisa tu código y te sugiere mejoras de seguridad y rendimiento.

Capítulo 17. Presentación, cierre y diploma

(2 horas)

· Inciso 17.1. Presenta tu proyecto al grupo o al facilitador.
· Inciso 17.2. Recapitulación: ¿qué puedes construir ahora que hace 15 semanas te parecía imposible?
· Inciso 17.3. Próximos pasos: frameworks (Laravel, Symfony), APIs REST, despliegue en hosting real.
· Inciso 17.4. Diploma de aprovechamiento y cierre.

RESUMEN EJECUTIVO DEL CURSO

Dimensión Resumen
Rol de la IA Tutora de PHP, revisora de código, depuradora de errores, generadora de ejercicios, asesora de seguridad
Rol del estudiante Desarrollador/a backend en formación: programa lógica del servidor, procesa formularios, conecta con bases de datos y gestiona usuarios
Rol del facilitador Verificador de la seguridad del código, apoyo en la configuración del entorno, guía en el proyecto final
Meta última Construir aplicaciones web dinámicas completas con PHP, aplicando buenas prácticas de seguridad, interactuando con bases de datos y gestionando sesiones de usuario
Horas 45
Estructura 4 Partes, 17 Capítulos

¿Deseas que continuemos con el desarrollo de otro curso de la lista de programación, o prefieres explorar un ámbito diferente del ecosistema?

Scroll al inicio