<?php

// 1. Incluimos el archivo de conexión

require_once 'conexion.php';

 

// Inicializamos variables para manejar la vista

$alumno = null;

$busqueda_realizada = false;

$dni_buscado = '';

 

// 2. Comprobamos si el usuario ha enviado el formulario mediante el método POST

if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['dni'])) {

    $busqueda_realizada = true;

    $dni_buscado = trim($_POST['dni']); // Limpiamos espacios en blanco

 

    try {

        // 3. Preparamos la consulta SQL buscando por el DNI exacto

        $sql = "SELECT nombre, grupo FROM alumnos WHERE dni = :dni LIMIT 1";

        $stmt = $pdo->prepare($sql);

       

        // 4. Ejecutamos la consulta pasando el DNI de forma segura

        $stmt->execute([':dni' => $dni_buscado]);

       

        // 5. Guardamos el resultado (fetch devolverá un array o "false" si no encuentra nada)

        $alumno = $stmt->fetch();

 

    } catch (\PDOException $e) {

        $error_msg = "Error en la búsqueda: " . $e->getMessage();

    }

}

?>

 

<!DOCTYPE html>

<html lang="es">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Buscador de Alumnado por DNI</title>

    <style>

        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 40px; background-color: #f4f7f6; color: #333; }

        .container { max-width: 500px; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); margin: 0 auto; }

        h2 { text-align: center; color: #2c3e50; margin-bottom: 20px; }

        .form-group { margin-bottom: 15px; display: flex; flex-direction: column; }

        label { margin-bottom: 5px; font-weight: bold; color: #555; }

        input[type="text"] { padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; }

        button { background-color: #3498db; color: white; padding: 10px; border: none; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background 0.2s; }

        button:hover { background-color: #2980b9; }

        .resultado { margin-top: 25px; padding: 15px; border-radius: 4px; }

        .encontrado { background-color: #e8f8f5; border-left: 5px solid #2ecc71; }

        .no-encontrado { background-color: #fdedec; border-left: 5px solid #e74c3c; }

        .error { background-color: #fef9e7; border-left: 5px solid #f1c40f; padding: 10px; margin-bottom: 15px; }

    </style>

</head>

<body>

 

<div class="container">

    <h2>Buscar Alumno</h2>

 

    <?php if (isset($error_msg)): ?>

        <div class="error"><?php echo htmlspecialchars($error_msg); ?></div>

    <?php endif; ?>

 

    <!-- Formulario de búsqueda -->

    <form action="" method="POST">

        <div class="form-group">

            <label for="dni">Introduce el DNI:</label>

            <input type="text" id="dni" name="dni" placeholder="Ej: 12345678X" value="<?php echo htmlspecialchars($dni_buscado); ?>" required>

        </div>

        <button type="submit">Buscar Alumno</button>

    </form>

 

    <!-- Zona de resultados -->

    <?php if ($busqueda_realizada): ?>

        <?php if ($alumno): ?>

            <div class="resultado encontrado">

                <p><strong>Alumno encontrado:</strong></p>

                <p><strong>Nombre:</strong> <?php echo htmlspecialchars($alumno['nombre']); ?></p>

                <p><strong>Grupo:</strong> <?php echo htmlspecialchars($alumno['grupo']); ?></p>

            </div>

        <?php else: ?>

            <div class="resultado no-encontrado">

                <p>No se encontró ningún alumno con el DNI: <strong><?php echo htmlspecialchars($dni_buscado); ?></strong></p>

            </div>

        <?php endif; ?>

    <?php endif; ?>

</div>

 

</body>

</html>