¿Has oído hablar de PHP pero no sabes ni por dónde empezar? Tranquilo, todos hemos estado ahí. PHP parece complicado al principio, pero es más sencillo de lo que piensas.
En España, PHP se enseña en casi todos los ciclos de DAW y DAM porque es súper útil y fácil de aprender. Al final de este tutorial sabrás crear tu primera página web dinámica.
🤔 ¿Qué vamos a aprender hoy?
Al terminar este tutorial sabrás:
- ✅ Qué es PHP y para qué sirve
- ✅ Cómo preparar tu entorno para programar en PHP
- ✅ Cómo escribir tu primer código PHP
- ✅ Variables y cómo funcionan
- ✅ Condicionales (if/else) para tomar decisiones
- ✅ Mostrar información en pantalla
- ✅ Conectar con formularios HTML
- ✅ Crear tu primera calculadora web
📚 ¿Qué es PHP en realidad?
PHP significa "PHP: Hypertext Preprocessor" (sí, es un acrónimo recursivo, como los programadores aman hacer 🤓).
🏪 Piénsalo como una tienda:
- HTML = El escaparate (lo que ves desde fuera)
- CSS = La decoración (colores, diseño)
- PHP = El empleado dentro que busca productos, calcula precios y te atiende
¿Por qué PHP es tan popular?
- 🆓 Gratis y open source
- 🔧 Fácil de aprender (más que Java o C#)
- 🌐 Funciona en cualquier servidor
- 💼 Muy demandado en trabajos (WordPress, Laravel, Symfony)
- 📚 Documentación excelente
🖥️ Preparar tu entorno para PHP
¡Atención! Antes de escribir código, necesitas tener PHP funcionando en tu ordenador. A diferencia de HTML que se puede abrir directamente en el navegador, PHP necesita un servidor web.
⚠️ Requisito importante:
Los archivos PHP deben tener la extensión .php (no .html) y necesitas un servidor web para que funcionen.
🚀 Opciones para principiantes (elige una):
💻 Opción 1: XAMPP (Recomendado para principiantes)
XAMPP te instala Apache, PHP y MySQL de golpe, sin tener que configurar nada por separado. Descárgalo desde apachefriends.org, instálalo (siguiente → siguiente → instalar) y arranca Apache desde el panel de control.
Tienes la guía completa paso a paso, con capturas y solución a los errores típicos al arrancar Apache, en Instalar XAMPP en Windows (PHP, MySQL y phpMyAdmin).
🌐 Opción 2: Servidor online (sin instalación)
Si no quieres instalar nada, puedes usar editores online como:
- PHPFiddle - Ideal para probar código rápido
- Replit - Más completo, permite múltiples archivos
- CodePen - También soporta PHP
🐧 Opción 3: Si usas Linux
sudo apt install apache2 php
sudo systemctl start apache2
Tus archivos van en /var/www/html/
🛠️ Tu primer código PHP paso a paso
Paso 1: Crear tu primer archivo
📍 ¿Dónde crear el archivo?
Si usas XAMPP:
- Windows:
C:\xampp\htdocs\ - Mac:
/Applications/XAMPP/htdocs/ - Linux:
/opt/lampp/htdocs/
Si usas un editor online: Simplemente crea un nuevo archivo PHP
🖥️ Paso a paso en tu ordenador:
- Abre XAMPP y presiona "Start" junto a Apache
- Navega a la carpeta htdocs (ver rutas arriba)
- Crea una nueva carpeta llamada
mi-primer-php - Dentro de esa carpeta, crea un archivo llamado
mi-primera-pagina.php - Abre el archivo con tu editor favorito (VS Code, Notepad++, etc.)
- Escribe este código:
<?php
// Esto es un comentario - PHP empieza con <?php
echo "¡Hola mundo desde PHP!";
// echo significa "mostrar en pantalla"
?>
🌐 Cómo ver tu archivo PHP:
- Asegúrate de que Apache está corriendo en XAMPP (luz verde)
- Abre tu navegador (Chrome, Firefox, etc.)
- Ve a esta URL:
localhost/mi-primer-php/mi-primera-pagina.php - ¡Deberías ver: "¡Hola mundo desde PHP!" en pantalla
🚨 ¿No funciona? Problemas comunes:
- Apache no está corriendo: Vuelve a XAMPP y presiona Start
- Error 404: Revisa que el archivo esté en htdocs
- Se ve el código: El archivo debe terminar en .php, no .html
- Pantalla en blanco: Revisa que no tengas errores de sintaxis
⚠️ Puntos importantes:
- PHP siempre empieza con
<?php - Cada línea termina con punto y coma ;
- Los comentarios empiezan con
// - Puedes cerrar con
?>(opcional al final del archivo) - ¡IMPORTANTE! Debes ver el archivo a través de localhost, NO abriendo el archivo directamente
Paso 2: Variables (guardar información)
Las variables en PHP son como cajitas donde guardas información:
<?php
// Las variables en PHP empiezan con $
$nombre = "Juan"; // Esto es un string (texto)
$edad = 20; // Esto es un número entero
$altura = 1.75; // Esto es un número decimal
$esEstudiante = true; // Esto es un booleano (verdadero/falso)
// Mostrar las variables
echo "Hola, soy " . $nombre;
echo "<br>"; // <br> es un salto de línea en HTML
echo "Tengo " . $edad . " años";
?>
💡 ¿Qué hace el punto (.) en PHP?
El punto concatena (une) textos. Es como pegar palabras con pegamento:
"Hola " . $nombre = "Hola Juan"
Paso 3: Tomar decisiones con if/else
Una de las cosas más útiles de la programación es poder hacer que el código tome decisiones. En PHP usamos if (si) para esto:
If básico: "Si pasa esto, haz aquello"
<?php
$edad = 17;
if ($edad < 18) {
echo "Eres menor de edad";
}
?>
If/else: "Si pasa esto, haz aquello; si no, haz esto otro"
<?php
$edad = 20;
if ($edad < 18) {
echo "Eres menor de edad";
} else {
echo "Eres mayor de edad";
}
?>
Multiple condiciones con else if
<?php
$nota = 7;
if ($nota >= 9) {
echo "¡Sobresaliente! 🌟";
} else if ($nota >= 7) {
echo "¡Notable! 👍";
} else if ($nota >= 5) {
echo "Aprobado ✅";
} else {
echo "Suspenso... hay que estudiar más 📚";
}
?>
🔍 Operadores de comparación que necesitas saber:
==→ Igual a (compara valores)!=→ Diferente de<→ Menor que>→ Mayor que<=→ Menor o igual>=→ Mayor o igual&&→ Y (ambas condiciones deben ser verdaderas)||→ O (una de las condiciones debe ser verdadera)
Ejemplo con múltiples condiciones
<?php
$edad = 25;
$tieneCarnet = true;
if ($edad >= 18 && $tieneCarnet) {
echo "¡Puedes conducir! 🚗";
} else {
echo "No puedes conducir todavía";
}
?>
Paso 4: Mezclar HTML con PHP
Aquí está la magia de PHP. Puedes mezclar HTML normal con código PHP:
<!DOCTYPE html>
<html>
<head>
<title>Mi página con PHP</title>
</head>
<body>
<h1>Bienvenido a mi página</h1>
<?php
$nombre = "Ana";
$fechaHoy = date("d/m/Y"); // Función que obtiene la fecha de hoy
?>
<p>Hola <?php echo $nombre; ?>, hoy es <?php echo $fechaHoy; ?></p>
<p>Aquí tienes algunos números aleatorios:</p>
<ul>
<?php
// Bucle for para mostrar 5 números aleatorios
for ($i = 1; $i <= 5; $i++) {
$numeroAleatorio = rand(1, 100); // Número entre 1 y 100
echo "<li>Número " . $i . ": " . $numeroAleatorio . "</li>";
}
?>
</ul>
</body>
</html>
🔗 Conectar PHP con formularios HTML
Aquí es donde PHP brilla. Puede recibir información de formularios HTML:
El formulario HTML (archivo: formulario.html)
<!DOCTYPE html>
<html>
<head>
<title>Formulario de contacto</title>
</head>
<body>
<h2>Cuéntanos sobre ti</h2>
<form action="procesar.php" method="POST">
<label>Tu nombre:</label>
<input type="text" name="nombre" required><br><br>
<label>Tu edad:</label>
<input type="number" name="edad" required><br><br>
<label>Tu ciudad:</label>
<input type="text" name="ciudad" required><br><br>
<button type="submit">Enviar información</button>
</form>
</body>
</html>
El procesador PHP (archivo: procesar.php)
<?php
// Verificar si el formulario fue enviado
if ($_POST) {
// $_POST es una variable especial que contiene los datos del formulario
$nombre = $_POST['nombre']; // Obtener el nombre
$edad = $_POST['edad']; // Obtener la edad
$ciudad = $_POST['ciudad']; // Obtener la ciudad
// Mostrar la información recibida
echo "<h2>¡Información recibida!</h2>";
echo "<p>Nombre: " . $nombre . "</p>";
echo "<p>Edad: " . $edad . " años</p>";
echo "<p>Ciudad: " . $ciudad . "</p>";
// Crear un mensaje personalizado según la edad
if ($edad < 18) {
echo "<p>¡Eres menor de edad! Estudia mucho 📚</p>";
} else if ($edad >= 18 && $edad < 30) {
echo "<p>¡Perfecto para empezar a programar! 💻</p>";
} else {
echo "<p>¡Nunca es tarde para aprender! 🌟</p>";
}
} else {
echo "<p>No se han recibido datos del formulario.</p>";
}
?>
⚠️ Ojo con esto para cuando hagas algo real:
Este ejemplo mete $nombre directo en el echo para que se entienda lo básico, pero si ese formulario estuviera en internet de verdad, alguien podría escribir código en el campo "nombre" y que se ejecute en la página. Para evitarlo, antes de mostrar cualquier dato que venga de un formulario se usa htmlspecialchars($nombre), que convierte ese código en texto inofensivo. Lo verás bien explicado y aplicado en PHP y MySQL CRUD.
🚨 Errores que cometen TODOS los principiantes
❌ Error #1: Olvidar el signo de dólar ($)
// ❌ MAL
nombre = "Juan";
// ✅ BIEN
$nombre = "Juan";
❌ Error #2: Olvidar el punto y coma
// ❌ MAL
echo "Hola mundo"
// ✅ BIEN
echo "Hola mundo";
❌ Error #3: Usar el signo de mas en lugar de puntos para concatenar
// ❌ MAL (esto es JavaScript, no PHP)
echo "Hola " + $nombre;
// ✅ BIEN (en PHP se usa el punto)
echo "Hola " . $nombre;
❌ Error #4: No abrir correctamente PHP
// ❌ MAL
<php
echo "Hola";
// ✅ BIEN
<?php
echo "Hola";
✅ Ejercicio para practicar
Tu misión: Crear una calculadora básica que:
- Tenga un formulario HTML con dos números y una operación
- Use PHP para hacer el cálculo
- Muestre el resultado en pantalla
🎯 Pistas para el ejercicio:
calculadora.html y calcular.phpname="numero1" y name="numero2"$resultado = $numero1 + $numero2;$_POST['numero1'] para obtener los datos💡 Solución del ejercicio:
Click aquí para ver la solución (¡intenta hacerlo solo primero!)
calculadora.html:
<!DOCTYPE html>
<html>
<head>
<title>Calculadora PHP</title>
</head>
<body>
<h2>Calculadora Simple</h2>
<form action="calcular.php" method="POST">
<label>Primer número:</label>
<input type="number" name="numero1" required><br><br>
<label>Segundo número:</label>
<input type="number" name="numero2" required><br><br>
<label>Operación:</label>
<select name="operacion">
<option value="+">Sumar (+)</option>
<option value="-">Restar (-)</option>
<option value="*">Multiplicar (×)</option>
<option value="/">Dividir (÷)</option>
</select><br><br>
<button type="submit">Calcular</button>
</form>
</body>
</html>
calcular.php:
<?php
if ($_POST) {
$numero1 = $_POST['numero1'];
$numero2 = $_POST['numero2'];
$operacion = $_POST['operacion'];
// Realizar el cálculo según la operación
if ($operacion == "+") {
$resultado = $numero1 + $numero2;
} else if ($operacion == "-") {
$resultado = $numero1 - $numero2;
} else if ($operacion == "*") {
$resultado = $numero1 * $numero2;
} else if ($operacion == "/") {
if ($numero2 != 0) {
$resultado = $numero1 / $numero2;
} else {
$resultado = "Error: No se puede dividir por cero";
}
}
// Mostrar el resultado
echo "<h2>Resultado</h2>";
echo "<p>" . $numero1 . " " . $operacion . " " . $numero2 . " = " . $resultado . "</p>";
echo "<a href='calculadora.html'>Hacer otro cálculo</a>";
} else {
echo "<p>No se recibieron datos para calcular.</p>";
}
?>
🎯 ¿Qué sigue después?
¡Felicidades! Ya sabes lo básico de PHP. Tus próximos pasos son:
- 🗄️ Bases de datos con MySQL: Guardar información permanentemente. Sigue con PHP y MySQL CRUD (primera base de datos conectada)
- 🔐 Sesiones y login: Que los usuarios puedan registrarse. Mira PHP Sessions, Cookies y sistema de login funcional
- 📁 Subida de archivos: Permitir que suban fotos y documentos. Con validación de verdad en Subir archivos en PHP con validación segura
- 📧 Enviar emails desde PHP: Formularios de contacto que de verdad envían correo. Aprende con Enviar emails con PHP desde Gmail usando PHPMailer
- 🔧 Gestión de dependencias: Antes de saltar a un framework como Laravel, aprende a instalar librerías con Composer para PHP: qué es y cómo instalar librerías
💼 ¿Sabías que...?
PHP lo usa el 71.8% de los sitios web cuyo lenguaje de programación del lado del servidor se conoce, muy por delante de cualquier alternativa (fuente: W3Techs, agosto 2026). Aprender PHP sigue siendo una apuesta sólida para currar de backend.
🚀 Consejos para seguir aprendiendo
- 📖 Practica diariamente: Aunque sean 15 minutos
- 🔨 Haz proyectos reales: Una agenda, una calculadora, un blog simple
- 📚 Lee la documentación oficial: php.net/manual/es/
- 💬 Únete a comunidades: Hay muchos grupos de PHP en español
- 🐛 No tengas miedo a los errores: Todos los programadores los cometen
Recuerda: PHP puede parecer raro al principio, pero es como aprender a conducir. Al principio todo es confuso, pero después se vuelve automático. ¡Sigue practicando y serás un experto en poco tiempo!
🚀 ¿Te gustó este tutorial?
Únete a StudyCode Pro para más tutoriales como este, roadmaps completos y acceso a nuestra comunidad de developers que te ayudará a conseguir tu primer trabajo en tech.
📬 Únete Gratis