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: 12 años, 5 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!