Joomla.it Forum

Componenti per Joomla! => Gestione Form => : Max Ambrox 28 Jun 2013, 10:50:02

: Chronoform V4 - controllo Codice FIscale con PHP
: Max Ambrox 28 Jun 2013, 10:50:02
ciao ragazzi, sto cercando di far controllare l'inserimento del codice fiscale su un sito che sto realizzando, ho girovagato per il forum ed ho trovato un codice PHP che permette di fare questo controllo, ma anche quando inserisco il Codice Fiscale corretto mi dice che è sbagliato...


questo è il codice



<?php


{


if (ereg("^[0-9]{11}$", $form->data['cf'])) {
$form->validation_errors['cf'] = "Il codice fiscale inserito è relativo ad una persona giuridica.";
  return false;
}
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}$",
$form->data['cf'])) {
$form->validation_errors['cf'] = "Errore, il codice fiscale contiene caratteri non validi o non è della lunghezza esatta.";
  return false;
}
else {
  $s=0;
  for ($i = 1; $i <= 13; $i += 2 ){
      $c = $form->data['cf'][$i];
      if ('0' <= $c && $c <= '9') {
    $s += ord($c) - ord('0');
      }
      else {
    $s += ord($c) - ord('A');
      }
  }
  for ($i = 0; $i <= 14; $i += 2 ) {
      $c = $form->data['cf'][$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')) != $form->data['cf'][15]) {
$form->validation_errors['cf'] = "Errore, il codice fiscale inserito non è formalmente
corretto in quanto il codice di controllo non corrisponde.";
  }
  if( chr($s%26+ord('A'))!=$cf[15] )
    return false;
    return true;
  }
}


?>


dov'è che sbaglio?


Il sito in questione è www.misurediverse.it
: Re:Chronoform V4 - controllo Codice FIscale con PHP
: Max Ambrox 01 Jul 2013, 11:12:12
ragazzi nessuno può darmi un aiuto? ... sono bloccato con il sito... please!!!
: Re:Chronoform V4 - controllo Codice FIscale con PHP
: BelinBelan 01 Jul 2013, 11:23:18
Belin Max!!!!  :)
:
}
  if (chr($s%26 + ord('A')) != $form->data['cf'][15]) {
$form->validation_errors['cf'] = "Errore, il codice fiscale inserito non è formalmente
corretto in quanto il codice di controllo non corrisponde.";
  }

Leva via quell'IF di troppo, tutto quel blocco fallo sparire...  :)
: Re:Chronoform V4 - controllo Codice FIscale con PHP
: Max Ambrox 04 Jul 2013, 10:14:24
grazie Belin, adesso il controllo del codice fiscale è corretto, ora però sorge un altro problema, il form non invia più i dati in e-mail e non va neanche alla pagina dedicata al messaggio di ringraziamento...come è possibile?
: Re:Chronoform V4 - controllo Codice FIscale con PHP
: Max Ambrox 08 Jul 2013, 11:43:11
Dai ragazzi per favore, mi fate capire cosa sta succedendo con questo sito?
please...


ricordo il sito in questione è www.misurediverse.it