Foros del Web » Programando para Internet » PHP »

Comprobar números PREG_MATCH

Estas en el tema de Comprobar números PREG_MATCH en el foro de PHP en Foros del Web. Hola, estoy comprobando 4 campos de texto que son 4 números de tarjeta, los recupero en 4 $_POST diferentes y hago 4 PREG_MATCH y si ...
  #1 (permalink)  
Antiguo 27/01/2012, 10:22
Avatar de S0SPE  
Fecha de Ingreso: noviembre-2011
Ubicación: Barcelona
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Comprobar números PREG_MATCH

Hola, estoy comprobando 4 campos de texto que son 4 números de tarjeta, los recupero en 4 $_POST diferentes y hago 4 PREG_MATCH y si salta error hago un $_SESSION. Pero el problema que tengo es al hacer el PREG_MATCH.. o lo hago mal o no comprueba que sean números y longitud mínima 4 i máxima 4.

Os dejo trozos de código por aquí:
Código PHP:
$targ1 $_POST['targ1'];
$targ2 $_POST['targ2'];
$targ3 $_POST['targ3'];
$targ4 $_POST['targ4'];

if (
$targ1 == NULL || $targ2 == NULL || $targ3 == NULL || $targ4 NULL){
    
$ok FALSE;
    
$_SESSION['Targeta_Buit'] = "Els camps del número de targeta bancària no poden estar buits.";
    
header('location: tramitar.php');
}
else {
    if (!
preg_match('/^[0-9]{4,4}$/'$targ1) || !preg_match('/^[0-9]{4,4}$/'$targ2) || !preg_match('/^[0-9]{4,4}$/'$targ3) || !preg_match('/^[0-9]{4,4}$/'$targ4)){
        
$ok FALSE;
        
$_SESSION['Targeta_Camps'] = "Els camps del número de targeta bancària no són vàlids.";
        
header('location: tramitar.php');
    }

Bien, pues ponga lo que ponga (menos dejar los campos vacios) salta el error.
Agradezco vuestra ayuda, Gracias!

PD. Tambien he probado de hacer strlen($targ1) < 4 y tampoco iba.. :(

Saludos y gracias!
  #2 (permalink)  
Antiguo 27/01/2012, 10:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Comprobar números PREG_MATCH

Pues entonces tus variables no son lo que crees.

La expresión es correcta, incluso strlen() debería funcionar.

Sería bueno que nos muestres los valores que obtienes:
Código PHP:
var_dump($targ1$targ2$targ3$targ4); 
¿Que muestra?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/01/2012, 10:31
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 6 meses
Puntos: 91
Respuesta: Comprobar números PREG_MATCH

En el primer IF pusiste $targ4 = NULL eso siempre es true

debería ser $targ4 == NULL

saludos.
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)
  #4 (permalink)  
Antiguo 27/01/2012, 10:32
Avatar de S0SPE  
Fecha de Ingreso: noviembre-2011
Ubicación: Barcelona
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Comprobar números PREG_MATCH

Código PHP:
string '1234' (length=4)

string '1234' (length=4)

string '1234' (length=4)

null 
oO Y este null? xD

Saludos y gracias!
  #5 (permalink)  
Antiguo 27/01/2012, 10:34
Avatar de S0SPE  
Fecha de Ingreso: noviembre-2011
Ubicación: Barcelona
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Comprobar números PREG_MATCH

Cita:
Iniciado por Ribon Ver Mensaje
En el primer IF pusiste $targ4 = NULL eso siempre es true

debería ser $targ4 == NULL

saludos.
Ya esta.. xD Era eso T_T
Menuda tonteria!

Saludos y gracias a los dos!

Etiquetas: $_post, $_session, numeros, preg_match
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 05:50.