Foros del Web » Programando para Internet » PHP »

Problema al controlar variables $_POST

Estas en el tema de Problema al controlar variables $_POST en el foro de PHP en Foros del Web. Hola, buenos días. Tengo un formulario recursivo que controla las variables que le llegan (cuatro input's de maxlenght='4' ) tengan cuatro caracteres, pero al comprobarlo, ...
  #1 (permalink)  
Antiguo 09/03/2005, 03:20
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 12 años, 9 meses
Puntos: 1
Problema al controlar variables $_POST

Hola, buenos días.

Tengo un formulario recursivo que controla las variables que le llegan (cuatro input's de maxlenght='4') tengan cuatro caracteres, pero al comprobarlo, no me detecta ningún error, y me hace la inserción siempre.
El código que uso para controlar las cuatro variables es el mismo y es este:

Código PHP:
if(is_null($_POST["num_tar1"]) || $_POST["num_tar1"]=="")
{
  
$e="No se ha introducido correctamente el número de la tarjeta";
  
header("Location: error.php?e=".$e);
}
else
{
  
$aux=strlen($_POST["num_tar1"]);
  if(
$aux==4)
  {
    if(
settype($_POST["num_tar1"],integer)!=TRUE)
    {
      
$e="Error al cambiar el tipo";
      
header("Location: error.php?e=".$e);
    }
  }
  else
  {
    
$e="No se ha introducido correctamente el número de la tarjeta";
    
header("Location: error.php?e=".$e);
  }

¿Alguien tiene alguna idea de por qué falla el script?
  #2 (permalink)  
Antiguo 09/03/2005, 05:15
 
Fecha de Ingreso: febrero-2005
Mensajes: 396
Antigüedad: 12 años, 10 meses
Puntos: 1
Deberias hacer las comprobaciones con

Código PHP:
isSet($_POST['num_tar1']) 
en vez de con is_null.

Prueba a ver si asi te funciona

Un saludo

Zerjillo
  #3 (permalink)  
Antiguo 09/03/2005, 05:33
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 12 años, 9 meses
Puntos: 1
Gracias por las molestias, pero me temo que la pagina sigue haciendo lo que quiere.
Creo (aunque no entiendo por qué) que el problema está en los settype().
  #4 (permalink)  
Antiguo 09/03/2005, 05:47
Avatar de txetxol  
Fecha de Ingreso: febrero-2002
Ubicación: Pamplona
Mensajes: 73
Antigüedad: 15 años, 10 meses
Puntos: 1
Prueba así a ver...

Código PHP:
if(!settype($_POST["num_tar1"],integer)) 
en vez de
Código PHP:
if(settype($_POST["num_tar1"],integer)!=TRUE
  #5 (permalink)  
Antiguo 09/03/2005, 05:53
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 12 años, 9 meses
Puntos: 1
Intentando simplificar he llegado a esto (aunque sigo metiendo registros mal a propósito y sigue sin redireccionarme a la página de error)

Código PHP:
if(!isset($_POST["num_tar1"]) || $_POST["num_tar1"]=="")
{
  
$e="No se ha introducido correctamente el número de la tarjeta";
  
header("Location: error.php?e=".$e);
}
else
{
  
$aux=strlen($_POST["num_tar1"]);
  if(
$aux!=4)
  {
    
$e="No se ha introducido correctamente el número de la tarjeta";
    
header("Location: error.php?e=".$e);
  }

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:48.