qualcuno sa dirmi perchè il controllo sulla partita iva non funziona.....!!!! grazie
Codice PHP:
function controllocf($c_f
{    
$c_f $_REQUEST["cod_fiscale"];
//echo $c_f;
global $errore;

if (
strlen($c_f)==0){

$errore++;
$messaggio "Errore, il campo è vuoto.";
  return array (
$messaggio);

}
elseif (
ereg("^[0-9]{11}$"$c_f)) {
  
$messaggio "Il codice fiscale inserito è relativo ad una persona
giuridica."
;
  return array (
$messaggio);
}
elseif
(!
ereg("^[a-zA-Z]{6}[0-9]{2}[a-zA-Z]{1}[0-9]{2}[a-zA-Z]{1}[0-9]{3}[a-zA-Z]{1}$",$c_f)) {
    
$errore++;
  
$messaggio "Errore, il codice fiscale contiene caratteri non validi o
non è della lunghezza esatta."
;
  return array (
$messaggio);
}
else {
  
$s=0;
  for (
$i 1$i <= 13$i += ){
   
$c $c_f[$i];
   if (
'0' <= $c && $c <= '9') {
    
$s += ord($c) - ord('0');
   }
   else {
    
$s += ord($c) - ord('A');
   }
  }
  for (
$i 0$i <= 14$i += ) {
   
$c $c_f[$i];
   switch( 
$c ){
    case 
'0':  $s += 1;  break;
    case 
'1':  $s += 0;  break;
    case 
'2':  $s += 5;  break;
    case 
'3':  $s += 7;  break;
    case 
'4':  $s += 9;  break;
    case 
'5':  $s += 13;  break;
    case 
'6':  $s += 15;  break;
    case 
'7':  $s += 17;  break;
    case 
'8':  $s += 19;  break;
    case 
'9':  $s += 21;  break;
    case 
'A':  $s += 1;  break;
    case 
'B':  $s += 0;  break;
    case 
'C':  $s += 5;  break;
    case 
'D':  $s += 7;  break;
    case 
'E':  $s += 9;  break;
    case 
'F':  $s += 13;  break;
    case 
'G':  $s += 15;  break;
    case 
'H':  $s += 17;  break;
    case 
'I':  $s += 19;  break;
    case 
'J':  $s += 21;  break;
    case 
'K':  $s += 2;  break;
    case 
'L':  $s += 4;  break;
    case 
'M':  $s += 18;  break;
    case 
'N':  $s += 20;  break;
    case 
'O':  $s += 11;  break;
    case 
'P':  $s += 3;  break;
    case 
'Q':  $s += 6;  break;
    case 
'R':  $s += 8;  break;
    case 
'S':  $s += 12;  break;
    case 
'T':  $s += 14;  break;
    case 
'U':  $s += 16;  break;
    case 
'V':  $s += 10;  break;
    case 
'W':  $s += 22;  break;
    case 
'X':  $s += 25;  break;
    case 
'Y':  $s += 24;  break;
    case 
'Z':  $s += 23;  break;
   }
  }
  if (
chr($s%26 ord('A')) != $c_f[15]) 
  {
   
$errore++;
   
$messaggio "Errore, il codice fiscale inserito non è formalmente
corretto in quanto il codice di controllo non corrisponde."
;
  
  return array (
$messaggio);
  
  }
  else {
   
$messaggio "Ok";
                        return array (
$messaggio);
  }
}
  }

$risultato controllocf($c_f);

echo 
$risultato[0];

function 
ControllaPIVA($pi)
{
    
$pi $_REQUEST['p_iva'];
echo 
$pi;
    if( 
$pi == '' )  return '';
    if( 
strlen($pi) != 11 )
        return 
"La lunghezza della partita IVA non &egrave;\n"
        
."corretta: la partita IVA dovrebbe essere lunga\n"
        
."esattamente 11 caratteri.\n";
    if( ! 
ereg("^[0-9]+$"$pi) )
        return 
"La partita IVA contiene dei caratteri non ammessi:\n"
        
."la partita IVA dovrebbe contenere solo cifre.\n";
    
$s 0;
    for( 
$i 0$i <= 9$i += )
        
$s += ord($pi[$i]) - ord('0');
    for( 
$i 1$i <= 9$i += ){
        
$c 2*( ord($pi[$i]) - ord('0') );
        if( 
$c )  $c $c 9;
        
$s += $c;
    }
    if( ( 
10 $s%10 )%10 != ord($pi[10]) - ord('0') )
        return 
"La partita IVA non &egrave; valida:\n"
        
."il codice di controllo non corrisponde.";
    return 
'';
}

$risultato ControllaPIVA($pi);

echo 
$risultato[0];