Nueva pregunta

Pregunta:

Fecha: 31-12-2024 05:03:49 (En Español)

No logro enviar el Select con sumit (`Warning: Undefined array key "posicion")[No resuelta]

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>APLICACION</title>
<link rel="stylesheet" type="text/css" href="estilos.css">

</head>
<body>
<div class="aplicacion">
<form action="forma.php" method="POST">
<table>
<tr>
<h3>APLICACION DE TRABAJO</h3>
<tr>
<h6>El solicitante entiende que este es un empleador que ofrece igualdad de oportunidades y esta comprometido con la excelencia a traves de la diversidad. Para garantizar que esta solicitud sea aceptada rellene todos los campos para que sea considerada.
Yo, el Solicitante, entiendo que mis respuestas son verdaderas y honestas a mi leal saber. Si esta solicitud conduce a mi eventual empleo, entiendo que cualquier informacion falsa o engañosa en mi solicitud o entrevista puede resultar en la terminacion de mi empleo.
</h6>
</tr>
<td> <input type="date" name="fecha" required></td>
</tr>
<tr>
<td> <input type="text" placeholder="* Nombre y Apellido" name="nombre" required></td>
</tr>
<tr>
<td> <input type="EMAIL" placeholder="* Tu Email" name="email" required></td>
</tr>
<tr>
<td> <input type="phone" placeholder="* Tu Telefono" name="telefono" required></td>
</tr>
<tr>
</tr>
<td>* DIA QUE PUEDA EMPEZAR</td>
</tr>
<td> <input type="date" name="disponibilidad" required></td>
</tr>
<tr>
<td>
<input type="RADIO" name="tiempo" value="TC" required> TIEMPO COMPLETO
<input type="RADIO" name="tiempo" value="TM" required> MEDIO TIEMPO
</td>
</tr>
<tr>
<td>* ELEGIBLE PARA TRABAJAR EN EEUU</td>
</tr>
<tr>
<td>
<input type="RADIO" name="eleg" value="S" required> SI
<input type="RADIO" name="eleg" value="N" required> NO
<input type="RADIO" name="elegible" value="ciudadano" required> CUIDADANO
<input type="RADIO" name="elegible" value="residente" required> RESIDENTE
<input type="RADIO" name="elegible" value="ptrabajo" required> PERMISO DE TRABAJO
</td>
</tr>
</tr>
<td>
<select class="seleccion" nane="posicion" required>
<option selected hidden value="">* SELECCIONA CARGO DESEADO</option>
<option value="cajera">CAJERA</option>
<option value="customer">CURTOMER SERVICE</option>
<option value="astentem">ASISTENTE DE MERCADO</option>
<option value="pesador">PESADOR DE CARNE</option>
<option value="asociadon">ASOCIADO DE NEVERA</option>
<option value="chofer">CHOFER (CDL A o B)</option>
<option value="organizador">ORGANIZADOR DE CARRITOS</option>
<option value="prosesador">PROSESADOR DE ORDENES (Noche y Licencia Montacarga)</option>
<option value="limpieza">LIMPIEZA</option>
<option value="asistentew">ASISTNTE WAREHOUSE (Licencia Montacarga)</option>
<option value="tecnico">TECNICO EN REFIGERACION</option>
<option value="asistenteo">ASISTENTE DE OFICINA (Bilingue)</option>
<option value="cocinero">COCINERO</option>
<option value="empacador">EMPACADOR</option>
</select>
</td>
</tr>
<tr>
<td>EXPERIENCIA</td>
<tr>
<td> <input type="text" placeholder="* NOMBRE COMPAÑIA ANTERIOR o ESCRIBA NO" name="nombrec" required></td>
</tr>
<tr>
<td> <input type="text" placeholder="* TELEFONO COMPAÑIA ANTERIOR o ESCRIBA NO" name="telefonoc" required></td>
</tr>
<tr>
<td> <input type="text" placeholder="* EMAIL COMPAÑIA ANTERIOR o ESCRIBA NO" name="emailc" required></td>
</tr>
<tr>
<td>* VETERANO</td>
</tr>
<tr>
<td>
<input type="RADIO" name="veterano" value="SV"required> SI
<input type="RADIO" name="veterano" value="NV"required> NO
</td>
<tr>
</tr>
<tr>
<td>
<input type="SUBMIT" value="ENVIAR" name="enviar">
</td>
</tr>


</table>


</form>
</div>
</body>
</html>
<?php

$fecha = $_POST['fecha'];
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$disponibilidad = $_POST['disponibilidad'];
$tiempo = $_POST['tiempo'];
$eleg = $_POST['eleg'];
$elegible = $_POST['elegible'];
$posicion = $_POST['posicion'];
$nombrec = $_POST['nombrec'];
$telefonoc = $_POST['telefonoc'];
$emailc = $_POST['emailc'];
$veterano = $_POST['veterano'];

if (!empty($fecha) ||
!empty($nombre) ||
!empty($email) ||
!empty($telefono) ||
!empty($disponibilidad) ||
!empty($tiempo) ||
!empty($eleg) ||
!empty($elegible) ||
!empty($posicion) ||
!empty($nombrec) ||
!empty($telefonoc) ||
!empty($emailc) ||
!empty($veterano)
) {
$host = "localhost";
$dbusername = "root";
$dbpassword = "Chsj*2020";
$dbname = "formulario";

$conn = new mysqli ($host,$dbusername,$dbpassword,$dbname);
if (mysqli_connect_error()) {
die('connect error('.mysqli_connect_errno().')'.mysqli_connect_error());
}
else{
$SELECT = "SELECT telefono from aplicacion where telefono = ? limit 1";
$INSERT = "INSERT INTO aplicacion (fecha,nombre,email,telefono,disponibilidad,tiempo,eleg,elegible,posicion,nombrec,telefonoc,emailc,veterano) values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
$stmt = $conn->prepare($SELECT);
$stmt->bind_param("i", $telefono);
$stmt->execute();
$stmt->bind_result($telefono);
$stmt->store_result();
$rnum = $stmt->num_rows;
if ($rnum == 0) {
$stmt->close();
$stmt = $conn->prepare($INSERT);
$stmt->bind_param("sssisssssssss", $fecha, $nombre, $email, $telefono, $disponibilidad, $tiempo, $eleg, $elegible, $posicion, $nombrec, $telefonoc, $emailc, $veterano);
$stmt->execute();
echo "REGISTRO COMPLETADO.";
} else {
"Alquien resgistro ese telefono";
}
}
$stmt->close();
$conn->close();

}
else{
echo "Todos los datos son OBLIGATORIOS";
die();
}

?>

Etiquetas: Votos: 0 - Respuestas: 2 - Vistas: 2 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 01-01-2025 04:29:17 ¿Qué error ves?   Votos: 0 - Link respuesta
     
  • Fecha: 02-01-2025 14:19:20 Hola
    Hay varias cosas por solucionar.
    Responderé sobre el error que mencionas concretamente

    El error Warning: Undefined array key "posicion" significa que estás intentando acceder a una clave en el array (en este caso, $_POST['posicion']) que no existe. Esto ocurre porque no se envió ningún valor con el nombre "posicion" desde el formulario. Es decir, el campo del formulario con name="posicion" no fue enviado al servidor


    En tu formulario, el atributo name del <select> puede estar mal escrito.
    Por ejemplo, en tu código original, habías escrito nane="posicion" en lugar de name="posicion". Esto impide que el formulario envíe correctamente el valor.

    <select class="seleccion" nane="posicion" required>


    Debería ser:

    <select name="posicion" required>




    Consideraciones adicionales ha tener en cuenta:Error en la validación !empty:
    Usaste el operador || (OR) en lugar de && (AND). Esto significa que solo uno de los campos necesita estar lleno para que el formulario sea considerado válido, lo cual no es correcto.
    Para asegurarte de que todos los campos son obligatorios, debes usar &&

    En la línea "Alquien resgistro ese telefono"; olvidaste usar echo.
    } else {
    
    "Alquien resgistro ese telefono";
    
    }


    Corrección:
       } else {
            echo "Alguien ya registró ese teléfono.";
        }
    


    Estás usando mysqli_connect_error(), pero la conexión ya se realiza con una instancia de mysqli. Deberías usar $conn->connect_error.

    Prueba y cualquier cosa nos comentas

    Espero que te sirva.

    Saludos

      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com