Buenas!
Tengo una pagina para insertar registros a una db mysql.
envio datos de la página solicitar_usuario.php que tiene el formulario
a la pagina insertar_solicitud.php con variables $_POST
luego en las primeras líneas valido si los campos son vacíos y direcciono en el caso de que asi sea con un header.
despues de las lineas de validacion pongo la consulta SQL y la inserto
el problema es.
que si ocurre un error (campo vacío), me direcciona tal como quiero, pero a su vez me inserta en la base de datos o.O
aquí esta el código:
Código PHP:
Ver originalif(isset($_POST['cargo']) && $_POST['cargo'] == "") {
if(isset($_POST['codigo_humano']) && $_POST['codigo_humano'] != "") {
$codigo_humano_sent = $_POST['codigo_humano'];
}elseif(!isset($_POST['codigo_humano'])){ $codigo_humano_sent = "";
}
if(isset($_POST['fecha_nac']) && $_POST['fecha_nac'] != "") {
$fecha_nac_sent = $_POST['fecha_nac'];
}elseif(!isset($_POST['fecha_nac'])){ $fecha_nac_sent = "";
}
if(isset($_POST['telefono']) && $_POST['telefono'] != "") {
$telefono_sent = $_POST['telefono'];
}elseif(!isset($_POST['telefono'])){ $telefono_sent = "";
}
if(isset($_POST['email']) && $_POST['email'] != "") {
$email_sent = $_POST['email'];
}elseif(!isset($_POST['email'])){ $email_sent = "";
}
if(isset($_POST['ubicacion']) && $_POST['ubicacion'] != "") {
$ubicacion_sent = $_POST['ubicacion'];
}elseif(!isset($_POST['ubicacion'])){ $ubicacion_sent = "";
}
#
if(isset($_POST['telefono2']) && $_POST['telefono2'] != "") {
$telefono2_sent = $_POST['telefono2'];
}elseif(!isset($_POST['telefono2'])){ $telefono2_sent = "";
}
if(isset($_POST['direccion']) && $_POST['direccion'] != "") {
$direccion_sent = $_POST['direccion'];
}elseif(!isset($_POST['direccion'])){ $direccion_sent = "";
}
if(isset($_POST['hijos']) && $_POST['hijos'] != "") {
$hijos_sent = $_POST['hijos'];
}elseif(!isset($_POST['hijos'])){ $hijos_sent = "";
}
if(isset($_POST['nombre_hijo1']) && $_POST['nombre_hijo1'] != "") {
$nombre_hijo1_sent = $_POST['nombre_hijo1'];
}elseif(!isset($_POST['nombre_hijo1'])){ $nombre_hijo1_sent = "";
}
if(isset($_POST['fecha_nombre_hijo1']) && $_POST['fecha_nombre_hijo1'] != "") {
$fecha_nombre_hijo1_sent = $_POST['fecha_nombre_hijo1'];
}elseif(!isset($_POST['fecha_nombre_hijo1'])){ $fecha_nombre_hijo1_sent = "";
}
if(isset($_POST['nombre_hijo2']) && $_POST['nombre_hijo2'] != "") {
$nombre_hijo2_sent = $_POST['nombre_hijo2'];
}elseif(!isset($_POST['nombre_hijo2'])){ $nombre_hijo2_sent = "";
}
if(isset($_POST['fecha_nombre_hijo2']) && $_POST['fecha_nombre_hijo2'] != "") {
$fecha_nombre_hijo2_sent = $_POST['fecha_nombre_hijo2'];
}elseif(!isset($_POST['fecha_nombre_hijo2'])){ $fecha_nombre_hijo2_sent = "";
}
if(isset($_POST['nombre_hijo3']) && $_POST['nombre_hijo3'] != "") {
$nombre_hijo3_sent = $_POST['nombre_hijo3'];
}elseif(!isset($_POST['nombre_hijo3'])){ $nombre_hijo3_sent = "";
}
if(isset($_POST['fecha_nombre_hijo3']) && $_POST['fecha_nombre_hijo3'] != "") {
$fecha_nombre_hijo3_sent = $_POST['fecha_nombre_hijo3'];
}elseif(!isset($_POST['fecha_nombre_hijo3'])){ $fecha_nombre_hijo3_sent = "";
}
if(isset($_POST['nombre_hijo4']) && $_POST['nombre_hijo4'] != "") {
$nombre_hijo4_sent = $_POST['nombre_hijo4'];
}elseif(!isset($_POST['nombre_hijo4'])){ $nombre_hijo4_sent = "";
}
if(isset($_POST['fecha_nombre_hijo4']) && $_POST['fecha_nombre_hijo4'] != "") {
$fecha_nombre_hijo4_sent = $_POST['fecha_nombre_hijo4'];
}elseif(!isset($_POST['fecha_nombre_hijo4'])){ $fecha_nombre_hijo4_sent = "";
}
if(isset($_POST['nombre_hijo5']) && $_POST['nombre_hijo5'] != "") {
$nombre_hijo5_sent = $_POST['nombre_hijo5'];
}elseif(!isset($_POST['nombre_hijo5'])){ $nombre_hijo5_sent = "";
}
if(isset($_POST['fecha_nombre_hijo5']) && $_POST['fecha_nombre_hijo5'] != "") {
$fecha_nombre_hijo5_sent = $_POST['fecha_nombre_hijo5'];
}elseif(!isset($_POST['fecha_nombre_hijo5'])){ $fecha_nombre_hijo5_sent = "";
}
header("Location: solicitar_usuario.php?con todas las variables definidas"); }
if(isset($_POST['ubicacion']) && $_POST['ubicacion'] == "") {
if(isset($_POST['codigo_humano']) && $_POST['codigo_humano'] != "") {
$codigo_humano_sent = $_POST['codigo_humano'];
}elseif(!isset($_POST['codigo_humano'])){ $codigo_humano_sent = "";
}
if(isset($_POST['fecha_nac']) && $_POST['fecha_nac'] != "") {
$fecha_nac_sent = $_POST['fecha_nac'];
}elseif(!isset($_POST['fecha_nac'])){ $fecha_nac_sent = "";
}
if(isset($_POST['telefono']) && $_POST['telefono'] != "") {
$telefono_sent = $_POST['telefono'];
}elseif(!isset($_POST['telefono'])){ $telefono_sent = "";
}
if(isset($_POST['email']) && $_POST['email'] != "") {
$email_sent = $_POST['email'];
}elseif(!isset($_POST['email'])){ $email_sent = "";
}
if(isset($_POST['ubicacion']) && $_POST['ubicacion'] != "") {
$ubicacion_sent = $_POST['ubicacion'];
}elseif(!isset($_POST['ubicacion'])){ $ubicacion_sent = "";
}
#
if(isset($_POST['telefono2']) && $_POST['telefono2'] != "") {
$telefono2_sent = $_POST['telefono2'];
}elseif(!isset($_POST['telefono2'])){ $telefono2_sent = "";
}
if(isset($_POST['direccion']) && $_POST['direccion'] != "") {
$direccion_sent = $_POST['direccion'];
}elseif(!isset($_POST['direccion'])){ $direccion_sent = "";
}
if(isset($_POST['hijos']) && $_POST['hijos'] != "") {
$hijos_sent = $_POST['hijos'];
}elseif(!isset($_POST['hijos'])){ $hijos_sent = "";
}
if(isset($_POST['nombre_hijo1']) && $_POST['nombre_hijo1'] != "") {
$nombre_hijo1_sent = $_POST['nombre_hijo1'];
}elseif(!isset($_POST['nombre_hijo1'])){ $nombre_hijo1_sent = "";
}
if(isset($_POST['fecha_nombre_hijo1']) && $_POST['fecha_nombre_hijo1'] != "") {
$fecha_nombre_hijo1_sent = $_POST['fecha_nombre_hijo1'];
}elseif(!isset($_POST['fecha_nombre_hijo1'])){ $fecha_nombre_hijo1_sent = "";
}
if(isset($_POST['nombre_hijo2']) && $_POST['nombre_hijo2'] != "") {
$nombre_hijo2_sent = $_POST['nombre_hijo2'];
}elseif(!isset($_POST['nombre_hijo2'])){ $nombre_hijo2_sent = "";
}
if(isset($_POST['fecha_nombre_hijo2']) && $_POST['fecha_nombre_hijo2'] != "") {
$fecha_nombre_hijo2_sent = $_POST['fecha_nombre_hijo2'];
}elseif(!isset($_POST['fecha_nombre_hijo2'])){ $fecha_nombre_hijo2_sent = "";
}
if(isset($_POST['nombre_hijo3']) && $_POST['nombre_hijo3'] != "") {
$nombre_hijo3_sent = $_POST['nombre_hijo3'];
}elseif(!isset($_POST['nombre_hijo3'])){ $nombre_hijo3_sent = "";
}
if(isset($_POST['fecha_nombre_hijo3']) && $_POST['fecha_nombre_hijo3'] != "") {
$fecha_nombre_hijo3_sent = $_POST['fecha_nombre_hijo3'];
}elseif(!isset($_POST['fecha_nombre_hijo3'])){ $fecha_nombre_hijo3_sent = "";
}
if(isset($_POST['nombre_hijo4']) && $_POST['nombre_hijo4'] != "") {
$nombre_hijo4_sent = $_POST['nombre_hijo4'];
}elseif(!isset($_POST['nombre_hijo4'])){ $nombre_hijo4_sent = "";
}
if(isset($_POST['fecha_nombre_hijo4']) && $_POST['fecha_nombre_hijo4'] != "") {
$fecha_nombre_hijo4_sent = $_POST['fecha_nombre_hijo4'];
}elseif(!isset($_POST['fecha_nombre_hijo4'])){ $fecha_nombre_hijo4_sent = "";
}
if(isset($_POST['nombre_hijo5']) && $_POST['nombre_hijo5'] != "") {
$nombre_hijo5_sent = $_POST['nombre_hijo5'];
}elseif(!isset($_POST['nombre_hijo5'])){ $nombre_hijo5_sent = "";
}
if(isset($_POST['fecha_nombre_hijo5']) && $_POST['fecha_nombre_hijo5'] != "") {
$fecha_nombre_hijo5_sent = $_POST['fecha_nombre_hijo5'];
}elseif(!isset($_POST['fecha_nombre_hijo5'])){ $fecha_nombre_hijo5_sent = "";
}
header("Location: solicitar_usuario.php?con todas las variables definidas"); }
Este es para direccionar, luego vuelvo a definir las variables para insertar
Código PHP:
Ver original#igualo variables para inserción
$nombre = $_POST['nombre'];
$cedula = $_POST['cedula'];
#valido los campos opcionales
if(isset($_POST['telefono2']) && $_POST['telefono2'] != ""){ $telefono2 = $_POST['telefono2'];}elseif(!isset($_POST['telefono2'])){ $telefono2 = "sin datos";}
#.....(son muchos :( no pongo todos )
Y por último hago la inserción:
Código PHP:
Ver original $sql = "
INSERT INTO `helponline`.`solicitud_usuario` (
`id_solicitud` ,
`password` ,
`usuario` ,
`y todo lo demás!'
)
VALUES (NULL , '$codigo_humano', '$usuario', 'y todo lo demás!')";
header("Location: insertar_solicitud.php?registro=ok");
Luego arriba tengo una condicion que si existe $_GET registro = ok me muestra un html, en esa parte funciona bien.
No tengo idea de que estoy haciendo mal, porque al existir un campo vacío me tira de nuevo a solicitud_usuario com las variables perfectas. pero igual me inserta en la DB
Talvez alguien me pueda ayudar!
saludos
PD: recorte el código por problemas de límites de letras del foro.