Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2012, 10:22
Avatar de S0SPE
S0SPE
 
Fecha de Ingreso: noviembre-2011
Ubicación: Barcelona
Mensajes: 7
Antigüedad: 14 años, 11 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!