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!