Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/12/2009, 05:11
kreativodesigns
 
Fecha de Ingreso: diciembre-2009
Mensajes: 72
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: algo curioso con las expresiones regulares

creo que te faltaba cerrar un parentesis abajo....
lo he probado sin poner ningun valor y no pasa

Código PHP:
if(isset($_POST['submit'])) {
  // Creamos nombres de variables cortos 
   $nombre = trim( $_POST['nombre'] );
   $cifrest = trim( $_POST['cifrest'] );

 // validamos que se hayan enviado los campos  
       if(($nombre!= "")) {
        mysql_query("INSERT INTO alumnos(nombre, cifrest ) VALUES ('$nombre','$cifrest ')");
        }
        else{?>
        <div style="background-color: #FFFFFF; border: #FFA500 1px solid; padding: 6px;"><span class="text1">
        Se han detectado los siguientes errores. Por favor, corríjalos y reenvíe la información</span><br><br>
                <?php     if(empty($nombre)) {
                                     echo 
"<span class=\"text14\">El campo Nombre es obligatorio</span></br>"
                                     
$nombre$nombre."\" style=\"background-color: #FFE4E1\"";  
                                }

    
$cifrest strtoupper($cifrest);
        for (
$i 0$i 9$i ++)
            
$num[$i] = substr($cifrest$i1);     
          if(empty(
$cifrest)) {
                     echo 
"<span class=\"text14\">El campo CIF/NIF es obligatorio</span></br>"
                     
$cifrest $cifrest."\" style=\"background-color: #FFE4E1\"";  
        }
               elseif (!empty(
$cifrest) && !ereg('((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)'$cifrest)) {
         echo 
"<span class=\"text14\">Introduzca un NIF válido</span></br>"
         
$cifrest $cifrest."\" style=\"background-color: #FFE4E1\"";  
          }    
            if (
ereg('(^[0-9]{8}[A-Z]{1}$)'$cifrest))    {
            if (
$num[8] == substr('TRWAGMYFPDXBNJZSQVHLCKE'substr($cifrest08) &#37; 23, 1)) {}
            
else {
                         echo 
"<span class=\"text14\">Introduzca un NIF válido</span></br>"
                         
$cifrest $cifrest."\" style=\"background-color: #FFE4E1\""; } 
                        }  
    
//algoritmo para comprobacion de codigos tipo CIF
                
$suma $num[2] + $num[4] + $num[6];
                for (
$i 1$i 8$i += 2)
            
$suma += substr(($num[$i]),0,1) + substr(($num[$i]),1,1);
        
$n 10 substr($sumastrlen($suma) - 11);
    
//comprobacion de NIFs especiales (se calculan como CIFs)
        
if (ereg('^[KLM]{1}'$cifrest)) {
            if (
$num[8] == chr(64 $n)) {}
            else {
         echo 
"<span class=\"text14\">Introduzca un NIF válido</span></br>"
         
$cifrest $cifrest."\" style=\"background-color: #FFE4E1\""; } 
            }
    
//comprobacion de CIFs
        
if (ereg('^[ABCDEFGHJNPQRSUVW]{1}'$cifrest)) {
            if (
$num[8] == chr(64 $n) || $num[8] == substr($nstrlen($n) - 11)) {}
            else
           {
         echo 
"<span class=\"text14\">Introduzca un CIF válido</span></br>"
         
$cifrest $cifrest."\" style=\"background-color: #FFE4E1\""; } 
            }  
    
//comprobacion de NIEs
        //T
        
if (ereg('^[T]{1}'$cifrest)) {
            if (
$num[8] == ereg('^[T]{1}[A-Z0-9]{8}$'$cifrest)) {}
             else
           {
         echo 
"<span class=\"text14\">Introduzca un NIE válido</span></br>"
         
$cifrest $cifrest."\" style=\"background-color: #FFE4E1\""; } 
            }    
        
//XYZ
        
if (ereg('^[XYZ]{1}'$cifrest)) {
            if (
$num[8] == substr('TRWAGMYFPDXBNJZSQVHLCKE'substr(str_replace(array('X','Y','Z'), array('0','1','2'), $cifrest), 08) % 231)) {}
             else
           {
         echo 
"<span class=\"text14\">Introduzca un NIE válido</span></br>"
         
$cifrest $cifrest."\" style=\"background-color: #FFE4E1\""; } 
            }    
    
//FINAL APARTADO ESPECIAL VALIDACION CIF

}}?>

<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST"> 
Nombre <input type="text" name="nombre" class="caja" size="50" value="<?=$nombre;?>">
CIF/NIF <input type="text" name="cifrest" class="caja" size="50" value="<?=$cifrest;?>">
<input type="submit" name="submit" class="caja" value="Enviar">
</form>