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">
|
||||
<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">
|
||||
</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 -->
|
||||
<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>
|
||||
body {
|
||||
display: flex;
|
||||
|
@ -30,16 +22,24 @@ $resultado = $conexion->query($query);
|
|||
.sidebar {
|
||||
min-width: 250px;
|
||||
height: 100vh;
|
||||
background:rgb(229, 114, 31);
|
||||
background: rgb(229, 114, 31);
|
||||
color: white;
|
||||
}
|
||||
.sidebar a {
|
||||
color: white;
|
||||
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>
|
||||
</head>
|
||||
<body>
|
||||
<body class="bg-light">
|
||||
|
||||
<!-- Sidebar -->
|
||||
<nav class="sidebar p-3">
|
||||
|
@ -60,6 +60,7 @@ $resultado = $conexion->query($query);
|
|||
<div class="card shadow p-4">
|
||||
<form id="formSalida" method="POST">
|
||||
<div class="row g-3">
|
||||
<!-- Nombre del Usuario -->
|
||||
<div class="col-md-6">
|
||||
<label for="nombre" class="form-label">Nombre del Usuario</label>
|
||||
<select class="form-select" id="nombre" name="id_usuario" required>
|
||||
|
@ -69,6 +70,7 @@ $resultado = $conexion->query($query);
|
|||
<?php endwhile; ?>
|
||||
</select>
|
||||
</div>
|
||||
<!-- Hora de salida -->
|
||||
<div class="col-md-6">
|
||||
<label for="hora" class="form-label">Hora de salida</label>
|
||||
<select class="form-select" id="hora" name="hora_salida" required>
|
||||
|
@ -78,60 +80,109 @@ $resultado = $conexion->query($query);
|
|||
</select>
|
||||
</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">
|
||||
<button type="submit" class="btn btn-primary">Enviar registro</button>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal de agradecimiento -->
|
||||
<div class="modal fade" id="modalGracias" tabindex="-1" aria-labelledby="modalGraciasLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-success text-white">
|
||||
<h5 class="modal-title" id="modalGraciasLabel">¡Salida registrada!</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
|
||||
</div>
|
||||
<div class="modal-body text-center">
|
||||
Gracias por tu asistencia.
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-bs-dismiss="modal">Aceptar</button>
|
||||
<div class="modal fade" id="modalGracias" tabindex="-1" aria-labelledby="modalGraciasLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-success text-white">
|
||||
<h5 class="modal-title" id="modalGraciasLabel">¡Salida registrada!</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
|
||||
</div>
|
||||
<div class="modal-body text-center">
|
||||
Gracias por tu asistencia.
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-bs-dismiss="modal">Aceptar</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.getElementById("formSalida").addEventListener("submit", function(e) {
|
||||
e.preventDefault(); // evita recargar la página
|
||||
<script>
|
||||
document.getElementById("formSalida").addEventListener("submit", function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
const form = e.target;
|
||||
const formData = new FormData(form);
|
||||
const form = e.target;
|
||||
const formData = new FormData(form);
|
||||
|
||||
fetch("model/logout.php", {
|
||||
method: "POST",
|
||||
body: formData
|
||||
})
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
// Mostrar el modal de Bootstrap
|
||||
const modalGracias = new bootstrap.Modal(document.getElementById('modalGracias'));
|
||||
modalGracias.show();
|
||||
form.reset(); // limpia el formulario
|
||||
})
|
||||
.catch(error => {
|
||||
console.error("Error al enviar:", error);
|
||||
alert("Ocurrió un error al registrar la salida.");
|
||||
fetch("model/logout.php", {
|
||||
method: "POST",
|
||||
body: formData
|
||||
})
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
const modalGracias = new bootstrap.Modal(document.getElementById('modalGracias'));
|
||||
modalGracias.show();
|
||||
form.reset();
|
||||
})
|
||||
.catch(error => {
|
||||
console.error("Error al enviar:", error);
|
||||
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>
|
||||
</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'];
|
||||
$consentimiento = $_POST['consentimiento'] ?? 'no';
|
||||
|
||||
$stmt = $conexion->prepare("INSERT INTO salida (id_usuario, hora_salida, consentimiento) VALUES (?, ?, ?)");
|
||||
$stmt->bind_param("iss", $id_usuario, $hora_salida, $consentimiento);
|
||||
$atencion_personal = $_POST['atencion_personal'] ?? null;
|
||||
$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()) {
|
||||
echo "Salida registrada correctamente.";
|
||||
|
|
Loading…
Reference in New Issue