Hola amigos traigo este problema............ tengo un formulario para el registro de usuarios y hago validacion mediante php lo cual funciona a la perfeccion, si el usuario no rellena alguno de los campos requeridos marca el mensaje..........
el problema es cuando el usuario llena todos los campos obligatorios... deberia de ejecutar el MYSQL_QUERY para insertar los tados en la base de datos y no lo hace, lo raro es que si cambio las dos llaves de cierre que esta antes de comprobar si la variable $perdido esta vacia y las pongo al final con las otras dos, sí inserta los datos pero no valida los campos ademas de que los inserta varias veces repetidos.-.....
Hechenle un ojo ahber si me pueden ayudar...........
Este es el código
<?php if (array_key_exists('enviar',$_POST)) {
//Lista de archivos que se esperan
$esperado = array('email', 'clave', 'idciudad', 'seudonimo', 'nombre', 'apellido', 'direccion', 'telefono', 'sexo', 'fecha_nacimiento');
//Configurar archivos obligatorios
$obligatorio = array('email', 'clave', 'idciudad', 'seudonimo', 'nombre', 'apellido', 'direccion', 'telefono', 'sexo', 'fecha_nacimiento');
//Crear un array vacÃ*o para cualquier archivo perdido
$perdido = array();
//Procesar las variables $_POST
foreach ($_POST as $key => $value) {
//asignar a variable temporalmente y vacÃ*a espacio blanco si no un array
$temp = is_array($value) ? $value : trim($value);
//si vacÃ*o y obligatorio, añadir a array $perdido
if (empty($temp) && in_array($key, $obligatorio)) {
array_push($perdido, $key);
}
//En otro caso, asignar a una variable del mismo nombre que $key
elseif (in_array($key, $esperado)) {
${$key} = $temp;
}
}
//Seguir solo si todos los campos requeridos están OK
if (empty($perdido)) {
include("Connections/con_revista.php");
mysql_select_db("vissiontotal");
mysql_query("INSERT INTO usuarios (username,password,email,nombre,apellido,sexo,esta do,ciudad,direccion,fecha,act_arte,act_animales,ac t_autos,act_casa,act_cine,act_concursos,act_deport es,act_juegos,act_libros,act_moda,act_musia,act_ne gocios,act_noticias,act_ocio,act_educacion,act_fam ilia,act_finanzas,act_gastronomia,act_idiomas,act_ informatica,act_internet,act_regalos,act_salud,act _tecnologia,act_trabajo,act_viajes,act_vivienda,ac t_indiferente,relaciones,telefono) VALUES ('$seudonimo','$clave','$email','$nombre','$apelli do','$sexo','$idestado','$idciudad','$direccion',' $fecha_nacimiento','$arte','$animales','$autos','$ casa','$cine','$concursos','$deportes','$juegos',' $libros','$moda','$musica','$negocios','$noticias' ,'$ocio','$educacion','$familia','$finanzas','$gas tronomia','$idiomas','$informatica','$internet','$ regalos','$salud','$tecnologia','$trabajo','$viaje s','$vivienda','$indiferente','$relaciones','$tele fono')");
unset($perdido);
header("Location: loginok.php");
}
}
?>
Esto es parte del formulario que utilizo parfa validar........... no lo puse todo porque esta muy extenso
<form action="" id="form1" name="form1" method="POST">
...................................
.............
<label>
<?php if (isset($perdido) && in_array('email', $perdido)) { ?>
<span class="textos_registro_obligatorio">Por favor, escriba su Correo</span><?php } ?>
<input name="email" type="text" id="email" value="<?php echo $_POST['email'];?>"/>
</label>
.....................................
............ </form>