Cambios formulario inicial
This commit is contained in:
parent
b85743b036
commit
2aa8506cb2
|
@ -57,16 +57,50 @@ $resultado = $conexion->query($query);
|
|||
</div>
|
||||
|
||||
<div class="card shadow p-4">
|
||||
<form action="model/login.php" method="POST">
|
||||
<form id="registroForm" action="model/login.php" method="POST">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label for="nombre" class="form-label">Nombre completo</label>
|
||||
<input type="text" class="form-control" id="nombre" name="nombre" required>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="correo" class="form-label">Correo electrónico</label>
|
||||
<input type="email" class="form-control" id="correo" name="correo" required>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 position-relative">
|
||||
<label for="correo" class="form-label">Correo electrónico</label>
|
||||
<input type="email" class="form-control" id="correo" name="correo" required autocomplete="off">
|
||||
<div id="sugerencias-correo" class="list-group position-absolute w-100" style="z-index: 1000;"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const correoInput = document.getElementById('correo');
|
||||
const sugerenciasDiv = document.getElementById('sugerencias-correo');
|
||||
|
||||
const dominios = ['@gmail.com', '@outlook.com', '@hotmail.com', '@lania.mx'];
|
||||
|
||||
correoInput.addEventListener('input', () => {
|
||||
const valor = correoInput.value.trim();
|
||||
sugerenciasDiv.innerHTML = '';
|
||||
|
||||
if (valor && !valor.includes('@')) {
|
||||
dominios.forEach(dominio => {
|
||||
const sugerencia = document.createElement('div');
|
||||
sugerencia.classList.add('list-group-item', 'list-group-item-action');
|
||||
sugerencia.textContent = valor + dominio;
|
||||
sugerencia.onclick = () => {
|
||||
correoInput.value = sugerencia.textContent;
|
||||
sugerenciasDiv.innerHTML = '';
|
||||
};
|
||||
sugerenciasDiv.appendChild(sugerencia);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Ocultar sugerencias al hacer clic fuera del campo
|
||||
document.addEventListener('click', (e) => {
|
||||
if (!sugerenciasDiv.contains(e.target) && e.target !== correoInput) {
|
||||
sugerenciasDiv.innerHTML = '';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<div class="col-md-6">
|
||||
<label for="telefono" class="form-label">Teléfono</label>
|
||||
<input type="text" class="form-control" id="telefono" name="telefono" required>
|
||||
|
@ -80,18 +114,97 @@ $resultado = $conexion->query($query);
|
|||
<option value="Otro">Prefiero no especificar</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="empresa" class="form-label">Empresa</label>
|
||||
<input type="text" class="form-control" id="empresa" name="empresa" required>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="examen" class="form-label">Examen</label>
|
||||
<input type="text" class="form-control" id="examen" name="examen" required>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="certificacion" class="form-label">Certificación</label>
|
||||
<input type="text" class="form-control" id="certificacion" name="certificacion" required>
|
||||
</div>
|
||||
|
||||
<div class="row g-3">
|
||||
<!-- Empresa -->
|
||||
<div class="col-md-4">
|
||||
<label for="empresa" class="form-label">Empresa</label>
|
||||
<select id="empresa" name="empresa" class="form-select" required onchange="actualizarExamenes()">
|
||||
<option value="">Selecciona una empresa</option>
|
||||
<option value="Microsoft">Microsoft</option>
|
||||
<option value="Oracle">Oracle</option>
|
||||
<option value="Cisco">Cisco</option>
|
||||
</select>
|
||||
</div>
|
||||
<!-- Examen -->
|
||||
<div class="col-md-4">
|
||||
<label for="examen" class="form-label">Examen</label>
|
||||
<select id="examen" name="examen" class="form-select" required onchange="actualizarCertificaciones()">
|
||||
<option value="">Selecciona un examen</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- Certificación -->
|
||||
<div class="col-md-4">
|
||||
<label for="certificacion" class="form-label">Certificación</label>
|
||||
<select id="certificacion" name="certificacion" class="form-select" required>
|
||||
<option value="">Selecciona una certificación</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const datos = {
|
||||
Microsoft: {
|
||||
"AZ-900": ["Fundamentals", "Associate"],
|
||||
"AZ-104": ["Associate", "Expert"],
|
||||
"MS-900": ["Fundamentals"]
|
||||
},
|
||||
Oracle: {
|
||||
"Oracle Database SQL": ["Associate", "Professional"],
|
||||
"Java SE Programmer": ["Associate", "Professional", "Master"]
|
||||
},
|
||||
Cisco: {
|
||||
"CCNA": ["Associate"],
|
||||
"CCNP": ["Professional"],
|
||||
"CCIE": ["Expert"]
|
||||
}
|
||||
};
|
||||
|
||||
function actualizarExamenes() {
|
||||
const empresa = document.getElementById("empresa").value;
|
||||
const examenSelect = document.getElementById("examen");
|
||||
const certificacionSelect = document.getElementById("certificacion");
|
||||
|
||||
examenSelect.innerHTML = '<option value="">Selecciona un examen</option>';
|
||||
certificacionSelect.innerHTML = '<option value="">Selecciona una certificación</option>';
|
||||
|
||||
if (empresa && datos[empresa]) {
|
||||
for (let examen in datos[empresa]) {
|
||||
const option = document.createElement("option");
|
||||
option.value = examen;
|
||||
option.textContent = examen;
|
||||
examenSelect.appendChild(option);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function actualizarCertificaciones() {
|
||||
const empresa = document.getElementById("empresa").value;
|
||||
const examen = document.getElementById("examen").value;
|
||||
const certificacionSelect = document.getElementById("certificacion");
|
||||
|
||||
certificacionSelect.innerHTML = '<option value="">Selecciona una certificación</option>';
|
||||
|
||||
if (empresa && examen && datos[empresa][examen]) {
|
||||
datos[empresa][examen].forEach(cert => {
|
||||
const option = document.createElement("option");
|
||||
option.value = cert;
|
||||
option.textContent = cert;
|
||||
certificacionSelect.appendChild(option);
|
||||
});
|
||||
}
|
||||
}
|
||||
const form = document.getElementById('registroForm'); // Asegúrate que el formulario tenga este ID
|
||||
if (form) {
|
||||
form.addEventListener('submit', function(e) {
|
||||
const fecha = document.getElementById('fecha').value;
|
||||
const hora = document.getElementById('hora').value;
|
||||
alert(`El examen está programado para el día ${fecha} a las ${hora} y recuerda llegar 15min antes.`);
|
||||
// No usamos preventDefault, así que el formulario se envía normalmente
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<div class="col-md-6">
|
||||
<label for="hora" class="form-label">Hora de entrada</label>
|
||||
<select class="form-select" id="hora" name="h_entrada" required>
|
||||
|
|
19
LANIA.sql
19
LANIA.sql
|
@ -1,23 +1,26 @@
|
|||
use lania;
|
||||
|
||||
drop table entrada;
|
||||
CREATE TABLE entrada(
|
||||
CREATE TABLE usuario(
|
||||
id_usuario INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nombre VARCHAR(255) NOT NULL,
|
||||
correo VARCHAR(255) NOT NULL,
|
||||
telefono VARCHAR(20) NOT NULL,
|
||||
genero VARCHAR(10) NOT NULL,
|
||||
empresa VARCHAR(100) NOT NULL,
|
||||
genero VARCHAR(10) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE entrada(
|
||||
id_usuario INT NOT NULL,
|
||||
empresa VARCHAR(20) NOT NULL,
|
||||
examen VARCHAR(50) NOT NULL,
|
||||
certificacion VARCHAR(50) NOT NULL,
|
||||
h_entrada TIME NOT NULL,
|
||||
fecha DATE NOT NULL
|
||||
fecha DATE NOT NULL,
|
||||
FOREIGN KEY (id_usuario) REFERENCES usuario(id_usuario)
|
||||
);
|
||||
|
||||
drop table salida;
|
||||
CREATE TABLE salida(
|
||||
id_salida INT AUTO_INCREMENT PRIMARY KEY,
|
||||
id_usuario INT NOT NULL,
|
||||
hora_salida TIME NOT NULL,
|
||||
FOREIGN KEY (id_usuario) REFERENCES entrada(id_usuario)
|
||||
h_salida TIME NOT NULL,
|
||||
FOREIGN KEY (id_usuario) REFERENCES usuario(id_usuario)
|
||||
);
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
$host = "localhost";
|
||||
$user = "root";
|
||||
$pass = "Starfox19.";
|
||||
$pass = "password";
|
||||
$db = "lania";
|
||||
|
||||
$conexion = new mysqli($host, $user, $pass, $db);
|
||||
|
|
|
@ -9,19 +9,25 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
|||
$empresa = $_POST['empresa'] ?? '';
|
||||
$examen = $_POST['examen'] ?? '';
|
||||
$certificacion = $_POST['certificacion'] ?? '';
|
||||
$hora_entrada = $_POST['h_entrada'] ?? date("H:i:s");
|
||||
$fecha = $_POST['fecha'] ?? date("Y-m-d");
|
||||
$hora_entrada = $_POST['h_entrada'] ?: date("H:i:s"); // si no se proporciona, toma hora actual
|
||||
$fecha = $_POST['fecha'] ?: date("Y-m-d"); // si no se proporciona, toma fecha actual
|
||||
|
||||
$sql = "INSERT INTO entrada (nombre, correo, telefono, genero, empresa, examen, certificacion, h_entrada, fecha)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
|
||||
$stmt = $conexion->prepare($sql);
|
||||
|
||||
if ($stmt === false) {
|
||||
die("Error en la preparación: " . $conexion->error);
|
||||
}
|
||||
|
||||
$stmt->bind_param("sssssssss", $nombre, $correo, $telefono, $genero, $empresa, $examen, $certificacion, $hora_entrada, $fecha);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
echo "Entrada registrada correctamente.";
|
||||
header("Location: ../FormularioInicial.php?exito=1");
|
||||
exit;
|
||||
} else {
|
||||
echo "Error: " . $stmt->error;
|
||||
echo "Error al guardar: " . $stmt->error;
|
||||
}
|
||||
|
||||
$stmt->close();
|
||||
|
|
Loading…
Reference in New Issue