Encuesta :D :) :l ): D:
This commit is contained in:
parent
abd6f4a28c
commit
b3e1c5554a
|
@ -13,16 +13,8 @@ $resultado = $conexion->query($query);
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Centro de Certificación LANIA</title>
|
<title>Centro de Certificación LANIA</title>
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
</head>
|
|
||||||
<body class="bg-light">
|
|
||||||
|
|
||||||
<!-- Bootstrap CSS -->
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
||||||
|
|
||||||
<!-- Font Awesome para íconos -->
|
<!-- Font Awesome para íconos -->
|
||||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
|
||||||
|
|
||||||
<!-- Custom CSS opcional (puedes agregar tu estilo o el de SB Admin 2) -->
|
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -30,16 +22,24 @@ $resultado = $conexion->query($query);
|
||||||
.sidebar {
|
.sidebar {
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background:rgb(229, 114, 31);
|
background: rgb(229, 114, 31);
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
.sidebar a {
|
.sidebar a {
|
||||||
color: white;
|
color: white;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
.survey img {
|
||||||
|
cursor: pointer;
|
||||||
|
transition: transform .1s;
|
||||||
|
}
|
||||||
|
.survey img:checked + label img,
|
||||||
|
.survey input[type="radio"]:checked + label img {
|
||||||
|
transform: scale(1.2);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="bg-light">
|
||||||
|
|
||||||
<!-- Sidebar -->
|
<!-- Sidebar -->
|
||||||
<nav class="sidebar p-3">
|
<nav class="sidebar p-3">
|
||||||
|
@ -60,6 +60,7 @@ $resultado = $conexion->query($query);
|
||||||
<div class="card shadow p-4">
|
<div class="card shadow p-4">
|
||||||
<form id="formSalida" method="POST">
|
<form id="formSalida" method="POST">
|
||||||
<div class="row g-3">
|
<div class="row g-3">
|
||||||
|
<!-- Nombre del Usuario -->
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="nombre" class="form-label">Nombre del Usuario</label>
|
<label for="nombre" class="form-label">Nombre del Usuario</label>
|
||||||
<select class="form-select" id="nombre" name="id_usuario" required>
|
<select class="form-select" id="nombre" name="id_usuario" required>
|
||||||
|
@ -69,6 +70,7 @@ $resultado = $conexion->query($query);
|
||||||
<?php endwhile; ?>
|
<?php endwhile; ?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- Hora de salida -->
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="hora" class="form-label">Hora de salida</label>
|
<label for="hora" class="form-label">Hora de salida</label>
|
||||||
<select class="form-select" id="hora" name="hora_salida" required>
|
<select class="form-select" id="hora" name="hora_salida" required>
|
||||||
|
@ -78,60 +80,109 @@ $resultado = $conexion->query($query);
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Encuesta de satisfacción (opcional) -->
|
||||||
|
<div class="mt-4 survey">
|
||||||
|
<h5>Encuesta de satisfacción</h5>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
$preguntas = [
|
||||||
|
'atencion_personal' => '¿Cómo calificaría la atención del personal?',
|
||||||
|
'equipo_funcionando' => '¿Funcionó correctamente el equipo?',
|
||||||
|
'ambiente_aula' => '¿Cómo valoraría el ambiente del aula?',
|
||||||
|
'calidad_internet' => '¿Qué tan satisfactoria fue la conexión a internet?',
|
||||||
|
'instrucciones_claras' => '¿Recibió instrucciones claras?',
|
||||||
|
'respuesta_personal' => '¿El personal respondió con rapidez?',
|
||||||
|
'recomendacion_lania' => '¿Recomendaría LANIA a otros?'
|
||||||
|
];
|
||||||
|
foreach ($preguntas as $campo => $texto): ?>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label"><?= $texto ?></label>
|
||||||
|
<div>
|
||||||
|
<?php for ($i = 1; $i <= 5; $i++): ?>
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="<?= $campo ?>"
|
||||||
|
id="<?= $campo . '_' . $i ?>"
|
||||||
|
value="<?= $i ?>"
|
||||||
|
style="display: none;"
|
||||||
|
>
|
||||||
|
<label for="<?= $campo . '_' . $i ?>">
|
||||||
|
<img src="assets/face_<?= $i ?>.png" alt="<?= $i ?>" width="30">
|
||||||
|
</label>
|
||||||
|
<?php endfor; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</div>
|
||||||
|
<!-- fin de encuesta -->
|
||||||
|
|
||||||
|
<!-- Consentimiento -->
|
||||||
|
<input type="hidden" name="consentimiento" value="no">
|
||||||
|
<div class="form-check mb-4">
|
||||||
|
<input
|
||||||
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
id="consentimiento"
|
||||||
|
name="consentimiento"
|
||||||
|
value="si"
|
||||||
|
checked
|
||||||
|
>
|
||||||
|
<label class="form-check-label" for="consentimiento">
|
||||||
|
Doy mi consentimiento para recibir publicidad
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Botón enviar -->
|
||||||
<div class="mt-4 text-end">
|
<div class="mt-4 text-end">
|
||||||
<button type="submit" class="btn btn-primary">Enviar registro</button>
|
<button type="submit" class="btn btn-primary">Enviar registro</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input type="hidden" name="consentimiento" value="no">
|
|
||||||
<input type="checkbox" id="consentimiento" name="consentimiento" value="si" checked>
|
|
||||||
<label for="consentimiento">Doy mi consentimiento para recibir publicidad</label><br>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Modal de agradecimiento -->
|
<!-- Modal de agradecimiento -->
|
||||||
<div class="modal fade" id="modalGracias" tabindex="-1" aria-labelledby="modalGraciasLabel" aria-hidden="true">
|
<div class="modal fade" id="modalGracias" tabindex="-1" aria-labelledby="modalGraciasLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog-centered">
|
<div class="modal-dialog modal-dialog-centered">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header bg-success text-white">
|
<div class="modal-header bg-success text-white">
|
||||||
<h5 class="modal-title" id="modalGraciasLabel">¡Salida registrada!</h5>
|
<h5 class="modal-title" id="modalGraciasLabel">¡Salida registrada!</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body text-center">
|
<div class="modal-body text-center">
|
||||||
Gracias por tu asistencia.
|
Gracias por tu asistencia.
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-success" data-bs-dismiss="modal">Aceptar</button>
|
<button type="button" class="btn btn-success" data-bs-dismiss="modal">Aceptar</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.getElementById("formSalida").addEventListener("submit", function(e) {
|
document.getElementById("formSalida").addEventListener("submit", function(e) {
|
||||||
e.preventDefault(); // evita recargar la página
|
e.preventDefault();
|
||||||
|
|
||||||
const form = e.target;
|
const form = e.target;
|
||||||
const formData = new FormData(form);
|
const formData = new FormData(form);
|
||||||
|
|
||||||
fetch("model/logout.php", {
|
fetch("model/logout.php", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: formData
|
body: formData
|
||||||
})
|
})
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
// Mostrar el modal de Bootstrap
|
const modalGracias = new bootstrap.Modal(document.getElementById('modalGracias'));
|
||||||
const modalGracias = new bootstrap.Modal(document.getElementById('modalGracias'));
|
modalGracias.show();
|
||||||
modalGracias.show();
|
form.reset();
|
||||||
form.reset(); // limpia el formulario
|
})
|
||||||
})
|
.catch(error => {
|
||||||
.catch(error => {
|
console.error("Error al enviar:", error);
|
||||||
console.error("Error al enviar:", error);
|
alert("Ocurrió un error al registrar la salida.");
|
||||||
alert("Ocurrió un error al registrar la salida.");
|
});
|
||||||
});
|
});
|
||||||
});
|
</script>
|
||||||
</script>
|
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Binary file not shown.
After ![]() (image error) Size: 8.4 KiB |
Binary file not shown.
After ![]() (image error) Size: 8.3 KiB |
Binary file not shown.
After ![]() (image error) Size: 7.8 KiB |
Binary file not shown.
After ![]() (image error) Size: 8.1 KiB |
Binary file not shown.
After ![]() (image error) Size: 7.5 KiB |
|
@ -5,8 +5,31 @@ $id_usuario = $_POST['id_usuario'];
|
||||||
$hora_salida = $_POST['hora_salida'];
|
$hora_salida = $_POST['hora_salida'];
|
||||||
$consentimiento = $_POST['consentimiento'] ?? 'no';
|
$consentimiento = $_POST['consentimiento'] ?? 'no';
|
||||||
|
|
||||||
$stmt = $conexion->prepare("INSERT INTO salida (id_usuario, hora_salida, consentimiento) VALUES (?, ?, ?)");
|
$atencion_personal = $_POST['atencion_personal'] ?? null;
|
||||||
$stmt->bind_param("iss", $id_usuario, $hora_salida, $consentimiento);
|
$equipo_funcionando = $_POST['equipo_funcionando'] ?? null;
|
||||||
|
$ambiente_aula = $_POST['ambiente_aula'] ?? null;
|
||||||
|
$calidad_internet = $_POST['calidad_internet'] ?? null;
|
||||||
|
$instrucciones_claras = $_POST['instrucciones_claras'] ?? null;
|
||||||
|
$respuesta_personal = $_POST['respuesta_personal'] ?? null;
|
||||||
|
$recomendacion_lania = $_POST['recomendacion_lania'] ?? null;
|
||||||
|
|
||||||
|
|
||||||
|
$stmt = $conexion->prepare(
|
||||||
|
"INSERT INTO salida (
|
||||||
|
id_usuario, hora_salida, consentimiento,
|
||||||
|
atencion_personal, equipo_funcionando, ambiente_aula,
|
||||||
|
calidad_internet, instrucciones_claras, respuesta_personal,
|
||||||
|
recomendacion_lania
|
||||||
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||||
|
);
|
||||||
|
$stmt->bind_param(
|
||||||
|
"issiiiiiii",
|
||||||
|
$id_usuario, $hora_salida, $consentimiento,
|
||||||
|
$atencion_personal, $equipo_funcionando, $ambiente_aula,
|
||||||
|
$calidad_internet, $instrucciones_claras, $respuesta_personal,
|
||||||
|
$recomendacion_lania
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
if ($stmt->execute()) {
|
if ($stmt->execute()) {
|
||||||
echo "Salida registrada correctamente.";
|
echo "Salida registrada correctamente.";
|
||||||
|
|
Loading…
Reference in New Issue