CursosEmpresasBlogLiveConfPrecios

Valida si un formulario ha sido enviado

Clase 17 de 24 • Curso de PHP: Integración con HTML

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    ¿Cómo se renderiza una página web en mi computadora?

    ¿Cómo se renderiza una página web en mi computadora?

    08:20
  • 2
    Levantando un servidor local

    Levantando un servidor local

    09:59
¿Cómo combinar HTML con PHP?
  • 3
    PHP como preprocesador de HTML

    PHP como preprocesador de HTML

    08:43
  • 4
    Imprime texto y etiquetas HTML

    Imprime texto y etiquetas HTML

    07:00
  • 5
    Condicionales

    Condicionales

    11:43
  • 6
    Ciclos

    Ciclos

    09:41
  • 7
    ¿Cómo pasar variables de PHP a JavaScript?

    ¿Cómo pasar variables de PHP a JavaScript?

    16:26
  • 8
    Evita el código espagueti

    Evita el código espagueti

    08:58
  • 9
    Refactorizando código espagueti

    Refactorizando código espagueti

    18:19
Manejo de formularios
  • 10
    Cómo obtener una solicitud al servidor con PHP

    Cómo obtener una solicitud al servidor con PHP

    08:01
  • 11
    Envío de un formulario a través de GET

    Envío de un formulario a través de GET

    12:13
  • 12
    Envío de un formulario a través de POST

    Envío de un formulario a través de POST

    07:38
  • 13
    Envío de imágenes

    Envío de imágenes

    09:02
  • 14
    Guardando imágenes en el servidor

    Guardando imágenes en el servidor

    07:56
  • 15
    Tipos de inputs

    Tipos de inputs

    15:29
  • 16
    Otros tipos de inputs

    Otros tipos de inputs

    07:14
  • 17
    Valida si un formulario ha sido enviado

    Valida si un formulario ha sido enviado

    11:21
  • 18
    Sanitizando datos de mi formulario

    Sanitizando datos de mi formulario

    15:05
  • 19
    Validando datos

    Validando datos

    07:59
Proyecto: formulario de contacto
  • 20
    Creando el maquetado

    Creando el maquetado

    13:03
  • 21
    Haciendo la lógica de recepción del formulario

    Haciendo la lógica de recepción del formulario

    12:02
  • 22
    Integrando PHPMailer

    Integrando PHPMailer

    20:36
  • 23
    Implementando el servidor de correos de Gmail

    Implementando el servidor de correos de Gmail

    07:40
Conclusión
  • 24
    Es tu turno de poner todo en práctica

    Es tu turno de poner todo en práctica

    01:50
    Cristobal Nyram

    Cristobal Nyram

    student•
    hace 4 años

    No importa que tan genial su validación front-end, siempre tienes que validar desde el lado del servidor,

      Julian David Alzate Cuervo

      Julian David Alzate Cuervo

      student•
      hace 3 años

      así es

    Henry

    Henry

    student•
    hace 4 años

    "Isset" comprueba si se ha seteado un dato o valor, peor no valida si esta vacío o no.

    "Empty" (vacío en ingles) en cambio valida si un valor esta vacío o no.

    Jonatan valdebenito

    Jonatan valdebenito

    student•
    hace 3 años

    Para solucionar el error que tuvo el profe a imprimir...

    Es solo quitar el signo pesos $ antes del {

    echo "¡Hola {$_POST['nombre']}";

      Pablo Rodríguez Cruz

      Pablo Rodríguez Cruz

      student•
      hace 3 años

      Gracias Jonatan!

    Joel Dominguez Merino

    Joel Dominguez Merino

    student•
    hace 3 años

    Lo de validar si el formulario había sido enviado gracias al atributo name en el botón... no se me había ocurrido. Excelente 🔥! Comparto mi apunte de la clase

    Index

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>iJCode - Validación de Formularios</title> </head> <body> <!-- Creación del formulario --> <form action="./server.php" method="POST"> <label for="name"> Ingresa tu nombre: <input type="text" name="name" id="name"> </label> <!-- Un botón también puede llevar su atributo 'name' para validar si fue enviado por el método seleccionado --> <button type="submit" name="form">Enviar formulario</button> </form> </body> </html>

    Server

    <?php // Comprobando que se recibio por el método POST echo("<pre>"); var_dump( $_POST ); /* array(2) { ["name"]=> string(4) "Joel" ["form"]=> string(0) "" } */ echo("</pre>"); // isset(): Determina si una variable está definida y no es null. // Es decir, determina si en la variable global $_POST (en este caso), existe el valor con determinado nombre echo("<pre>"); var_dump( isset($_POST['name']) ); // bool(true) var_dump( isset($_POST['age']) ); // bool(false) // Comprobando si el formulario fue enviado var_dump( isset($_POST['form']) ); // bool(true) echo("</pre>"); // empty(): Determina si una variable está vacía, es decir que no exista un valor. Esta función no genera una advertencia si la variable no existe echo("<pre>"); var_dump( empty($_POST['name']) ); // bool(false) var_dump( empty($_POST['age']) ); // bool(true) echo("</pre>"); // Creando una validación básica en el servidor // Si 'name' esta definida en $_POST y no está vacía 'name' y si esta definida la variable 'form' en la variable global $_POST if( isset($_POST['name']) && !empty($_POST['name']) && isset($_POST['form']) ){ echo("Tu formulario se envío correctamente ✔"); }else{ echo("Tu formulario no se envío ❌"); } // Tu formulario se envío correctamente ✔

    Resultado

    php.png
    Diego Castro

    Diego Castro

    student•
    hace 3 años

    Siempre es importante validar del lado del servidor, anotado.

    Eduardo Reyes

    Eduardo Reyes

    student•
    hace 3 años

    😎 A mí me dijeron una vez "haz tu interfaz de usuario como que lo fuera a usar tu familia". Dando a entender que lo tiene que saber usar mi mamá, mi hermana, mi abuelita, y hasta mi gato jaja. Hay que estar preparado para todo.

    Nelson Gonzalez Escalante

    Nelson Gonzalez Escalante

    student•
    hace 3 años

    La función isset(), según el manual PHP, determina si una variable ha sido declarada y su valor no es NULO. Es importante fijarse bien: si una variable tiene valor nulo, aunque haya sido declarada, isset() devolverá false. En todos los ejemplos anteriores para is_null(), isset() devolvería false mientras que is_null() devolvió true, por eso se consideran funciones opuestas. También es importante fijarse que isset() devuelve true  para variables con valores vacíos, por ejemplo, cadenas de texto vacías:

    //isset() devuelve false por que $var no ha sido definida var_dump( isset($var) ); //isset() devuelve false aunque la variable haya sido declarada pues su valor es NULL $var; var_dump( isset($var) ); //isset() devuelve true. El valor ya no es nulo aunque esté vacío $var = ""; var_dump( isset($var) );```
    Diego Frank Lipa Choque

    Diego Frank Lipa Choque

    student•
    hace 3 años

    index.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Validando el envío de un formulario</title> </head> <body> <form action="server.php" method="post"> <label for="nombre">Nombre</label> <input type="text" name="nombre" id="nombre"> <button name="form" type="submit">Mandar formulario</button> </form> </body> </html>

    server.php

    <?php /* if ( isset($_POST["nombre"]) && !empty($_POST["nombre"])) { echo "¡Hola " . $_POST['nombre'] . "!"; } else { echo "No mandaste nada 😾"; } */ if ( isset($_POST["form"]) ) { echo "Todo el formulario fue mandado"; } else { echo "No se mando ningun formulario"; }```
      Jacob Gomez

      Jacob Gomez

      student•
      hace 3 años

      Buena esa

    Albert Pacheco Ospitia

    Albert Pacheco Ospitia

    student•
    hace 3 años

    Si tienes la version 7 o mayor puedes abraviar la condicion con un operador coalescente nulo

    <?php $name = $_POST['name'] ?? 'John';

    fuente: https://www.phptutorial.net/php-tutorial/php-null-coalescing-operator/

    Eduer Pallares Jiménez

    Eduer Pallares Jiménez

    student•
    hace 4 años
    <?php if (empty($number)) { echo 'La variable number no existe si llegase a existir y estar vacía también va a ser true, por lo tanto se imprimiría este msn.'; } $number = ''; // cuando sabemos que la variable ya ha sido previamente declarada no es necesario empty o isset if (!$number) { echo 'La variable number está vacía, es 0 o "0", null o false'; } // validamos tanto si corresponde con la comparación y el tipo de dato string en este caso. if ($number === '1') { echo $number; } // tanto si $number es 1 entero o '1' string es true porque no validamos el tipo de dato. if ($number == 1) { echo $number; } // Cualquier valor diferente de null, 0, '0', false o '' if ($number) { echo $number; }
    Kyle Yuzzyr Navarro

    Kyle Yuzzyr Navarro

    student•
    hace 2 años

    Alguien me ayudas por favor

    al momento de enviar mi formulario sin escribirle nada al input me dice "formulario enviado" en lugar de "no se envió formulario" según la logica de mi programa, estas son las imagenes, no se que tengo mal![](

    Captura de pantalla 2023-08-10 065126.png

    ![](

    Captura de pantalla 2023-08-10 065142.png

    Juan Omar Palma álvarez

    Juan Omar Palma álvarez

    student•
    hace 3 años

    porque cuando en el server porgo el post con minuscula me dice bool(false) y cuando lo coloco con mayúscula me sale true???

    Jean Carlos Hallak

    Jean Carlos Hallak

    student•
    hace 9 meses

    yo use XOR en vens de && y funciona.

    Bryan Castano

    Bryan Castano

    student•
    hace un año

    Existen Usuario Maliciosos que Quieren meterte codigo sucio a tu servidor por XSS a paginas web a traves de formularios en el FrontEnd, esos suarios son Malos y quieren atacar paginas todo los dias, pro lo que Siempre es super importante validar la infromacion que los usuarios envian para evitar codigo malgno por parte del usaurio , \nEl FrontEnd validation puede ser facilmente Bypassed pro parte de un Hacker experimentado con las DevTools del Navegador, \nSiempre hay que desconfiar de los usuarios porque existe una pequena fraccion de ellos que quiere hacer dano a nuestra paginasWeb con hacking prefabricado para corromper nuestro FrontEnd por JS \nPor tanto y lo que dice @RetaxMaster si qaue es muy cierto -"Siempre/Siempre Validar en el Lado del Servidor para evitar XSS" tambien se deben usar consultas SQl parametrizadas para evitar un SQL Injecction. \n

    Jafeth Jesús Sánchez Sánchez

    Jafeth Jesús Sánchez Sánchez

    student•
    hace un año

    Definición: isset() es una función en PHP que verifica si una variable está definida y no es null. En otras palabras, devuelve true si la variable existe y no es null, y false si la variable no está definida o tiene un valor null.

    2. ¿Cómo se utiliza isset()?

    Se usa comúnmente para:

    • Verificar si un valor ha sido enviado desde un formulario antes de trabajar con él.
    • Asegurarse de que una variable esté definida antes de usarla, evitando errores.
    • Validar datos en scripts para garantizar que las variables contienen información antes de procesarla.

    Ejemplo: Verificación de un formulario

    <form method="POST" action="procesar.php"> <label for="nombre">Nombre:</label> <input type="text" id="nombre" name="nombre"><br> <input type="submit" value="Enviar"> </form> ```**Explicación del ejemplo:**```js <?php if (isset($_POST['nombre'])) { $nombre = $_POST['nombre']; echo "El nombre recibido es: " . $nombre; } else { echo "El nombre no ha sido enviado."; } ?>
    1. Cuando el usuario envía el formulario, $_POST['nombre'] contiene el valor del campo "nombre".
    2. isset($_POST['nombre']) verifica si el campo "nombre" fue enviado y no es null.
    3. Si la verificación es true, el script imprime el nombre. Si no se ha enviado el campo, se muestra el mensaje "El nombre no ha sido enviado.".
    Isaí Sánchez Jiménez

    Isaí Sánchez Jiménez

    student•
    hace un año

    Para que no se vuelva a enviar un form y no nos salga esa ventanita de warning debemos hacer uso del POST/ redirect/ GET pattern. Pueden googlearlo :)

    https://en.wikipedia.org/wiki/Post/Redirect/Get#:~:text=Post%2FRedirect%2FGet%20(PRG,problem%20encountered%20in%20user%20ag

    Igual un video con Charles Severance explicandolo :D

    https://www.youtube.com/watch?v=bIkqNHyj25w

      Isaí Sánchez Jiménez

      Isaí Sánchez Jiménez

      student•
      hace un año

      Explicado en simples palabras: Una vez que mandaos el formulario, se hace una petición al servidor de cargar la misma pagina (si la contraseña es incorrecta) o la pagina a la que deberiamos acceder , pero haciendo una peticion GET y que en casos como un formulario de trransaccion bancaria evitaria enviar doblevez el dinero al refrescar la pagina.

    Maria Archila

    Maria Archila

    student•
    hace 2 años

    Y hay alguna manera de evitar que se reenvíe un formulario? Cuando se recarga una página se da la advertencia en el navegador, pero como lo harían desde PHP? ?

      Isaí Sánchez Jiménez

      Isaí Sánchez Jiménez

      student•
      hace un año

      Busca POST/Redirect/GET Pattern asi se evita :D

    Diego Iván Cundapí León

    Diego Iván Cundapí León

    student•
    hace 2 años

    tuve un resultado diferente al profesor cuando puso el dump con el isset() despues de haber eliminado el name, en mi caso siempre imprimia true. entonces la forma en la que lo solucioné fue intercambiando isset por empty

    Wilman Perilla

    Wilman Perilla

    student•
    hace 2 años

    mirando el comportamiento booleano.

    <?php echo "<pre>"; var_dump($_POST); echo "</pre>"; var_dump(isset($_POST["nombre"])); if ( isset($_POST["nombre"]) && !empty($_POST["nombre"])) { echo "¡Hola " . $_POST['nombre'] . "!"; } else { echo "No mandaste nada 😾"; } if ( isset($_POST["form"]) ) { echo "Todo el formulario fue mandado"; } else { echo "No se mando ningun formulario"; }
    Leonardo Jiménez Ubaque

    Leonardo Jiménez Ubaque

    student•
    hace 2 años

    Validar si un formulario se ha enviado

    Puedes usar las funciones isset() y empty() en conjunto para validar si un formulario se ha enviado y si los campos están completos en PHP. isset() verifica si una variable está definida y empty() verifica si una variable está vacía. Aquí tienes un ejemplo de cómo hacerlo:

    Empty

    En PHP, la función empty() se utiliza para verificar si una variable está vacía. Una variable se considera vacía si se cumple una o más de las siguientes condiciones:

    1. La variable no está definida.
    2. La variable tiene un valor que se evalúa como falso, como null, false, 0, una cadena vacía "" o un arreglo vacío.

    La sintaxis básica de la función empty() es la siguiente:

    bool empty ( mixed $variable )

    Donde $variable es la variable que deseas verificar.

    Aquí tienes algunos ejemplos de cómo se utiliza empty():

    $nombre = "Juan"; $edad = 0; $correo = ""; $telefono = null; $arreglo = array(); if (empty($nombre)) { echo "El nombre está vacío."; } else { echo "El nombre no está vacío."; } if (empty($edad)) { echo "La edad está vacía."; } else { echo "La edad no está vacía."; } if (empty($correo)) { echo "El correo está vacío."; } else { echo "El correo no está vacío."; } if (empty($telefono)) { echo "El teléfono está vacío."; } else { echo "El teléfono no está vacío."; } if (empty($arreglo)) { echo "El arreglo está vacío."; } else { echo "El arreglo no está vacío."; }

    En estos ejemplos, la función empty() se utiliza para verificar si las variables tienen valores que se consideran como "vacíos". Como resultado, obtendrás diferentes mensajes dependiendo de si las variables cumplen las condiciones de estar vacías o no.

    Recuerda que empty() solo verifica si una variable está vacía según las condiciones mencionadas. Si deseas verificar si una variable existe o está definida, debes usar isset().

    Isset

    En PHP, la función isset() se utiliza para verificar si una variable está definida y tiene un valor asignado. La función devuelve true si la variable está definida y tiene un valor, y false si la variable no está definida o su valor es null.

    La sintaxis básica de la función isset() es la siguiente:

    bool isset ( mixed $variable [, mixed $... ] )

    Donde $variable es la variable que deseas verificar y $... indica que puedes proporcionar más variables para verificar en la misma llamada a la función.

    Aquí tienes algunos ejemplos de cómo se utiliza isset():

    $nombre = "Juan"; $edad = null; $correo = ""; if (isset($nombre)) { echo "La variable \\$nombre está definida."; } else { echo "La variable \\$nombre no está definida."; } if (isset($edad)) { echo "La variable \\$edad está definida."; } else { echo "La variable \\$edad no está definida."; } if (isset($correo)) { echo "La variable \\$correo está definida."; } else { echo "La variable \\$correo no está definida."; }

    En estos ejemplos, la función isset() se utiliza para verificar si las variables están definidas. Las variables que tienen valores asignados, incluso si son null o cadenas vacías, se consideran definidas. Las variables que no han sido declaradas o definidas devolverán false en la función isset().

    La función isset() es especialmente útil para evitar errores al intentar acceder a variables que podrían no existir. Antes de utilizar una variable, puedes usar isset() para verificar si está definida y, si es así, proceder a trabajar con su valor.

    Recuerda que, dependiendo de tus necesidades, también puedes aplicar otras validaciones adicionales a los datos recibidos para garantizar que sean válidos y seguros antes de procesarlos.

    Código desarrollado para la clase

    Formulario en HTML

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Validando el envío de un formulario</title> </head> <body> <!-- Formulario --> <form action="server.php" method="post" enctype="multipart/form-data"> <!-- Input simple --> <label><h4>Datos usuario</h4></label> <label for="nombre">Nombre:</label> <input type="text" name="nombre" id="nombre" placeholder="Nombre"><br> <label for="apellido">Apellido:</label> <input type="text" name="apellido" id="apellido" placeholder="Apellido"><br> <label for="edad">Edad:</label> <input type="number" name="edad" id="edad" placeholder="Edad"><br> <!-- Reset --> <input type="reset" value="Limpiar"> <!-- Envio --> <button name="enviar" type="submit">Enviar</button> </form> </body> </html>

    Servidor PHP

    <?php // // Truco para debugear y ver lo que llega por POST // echo "<pre>"; // var_dump($_POST); // Recupera la información que se envía por POST // var_dump($_FILES); // Recupera la información que se envía por FILES // echo "</pre>"; if(isset($_POST["nombre"], $_POST["apellido"], $_POST["edad"]) && !empty($_POST["nombre"]) && !empty($_POST["apellido"]) && !empty($_POST["edad"])) { echo "Hola: " . $_POST["nombre"] . " " . $_POST["apellido"] . ", tu edad es " . $_POST["edad"]. "<br>"; } else { echo "No se ha enviado la totalidad de los datos <br>"; } if(isset($_POST["enviar"])) { echo "Se ha enviado el formulario"; } else { echo "No se ha enviado ningun formulario"; } ?>

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads