<?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>