Ragazzi vi posto il codice senza problemi... lo sto passando riga per riga

Codice PHP:
ob_start();
    
sleep(1);
    
header('Content-type: text/html; charset=utf-8');
    
    
//includo le classi necessarie
    
require("../class/class.db.php");
    require(
"../class/class.user.php");
    require(
"../class/class.email.php");
    require(
"../function.php");
    
    
//prendo in post tutti i dati
    
$nome specialCharConv(trim(uc_first($_POST['nome'])));
    
$cognome specialCharConv(trim(uc_first($_POST['cognome'])));
    
$email trim($_POST['mail']);
  
$genere $_POST['sex'];
    if (
trim($_POST['bday']) != ""
      
$bday date2db($_POST['bday']);
    
$bplace specialCharConv(trim($_POST['bplace']));
  
$cf trim(strtoupper($_POST['cf']));
  
$indirizzo specialCharConv(trim($_POST['indirizzo']));
  
$comune trim($_POST['comune']);
  
$provincia $_POST['provincia'];
    
$cap trim($_POST['cap']);
  
$telefono trim($_POST['telefono']);
    
$cintura trim($_POST['belt']);
    
$palestra trim($_POST['gym']);
    
$budopass trim($_POST['budopass']);
    if (
trim($_POST['dataesame']) != "" )
      
$edate date2db($_POST['dataesame']);
    else 
      
$edate "0000-00-00";
    
    
$bc substr($bplace,strpos($bplace" ("),5);
    
$bcountry str_replace(" (","",$bc);
    
$bcountry str_replace(")","",$bcountry);
    
    
$bplace str_replace(" (".$bcountry.")","",$bplace);
        
    
$plain_psw createPsw();
    
$user_account userAccount($nome,$cognome);
    
    
$err = array();
    
$msg = array();
    
    
//Inizio controllo dei dati
    
    //controllo campi obbligatori
    
if ( $nome == "" array_push($err,"nome");
    if ( 
$cognome == "" array_push($err,"cognome");
    if ( 
$email == "" array_push($err,"mail");
    if ( 
$bplace == "" array_push($err,"bplace");
    if ( 
$bday == "" array_push($err,"bday");
    if ( 
$indirizzo == "" array_push($err,"indirizzo");
    if ( 
$comune == "" array_push($err,"comune");
    if ( 
$cf == "" array_push($err,"cf");
    if ( 
$provincia == "" array_push($err,"provincia");
    if ( 
$cap == "" array_push($err,"cap");
    if ( 
$telefono == "" array_push($err,"telefono");
    if ( 
$genere == "" array_push($err"sex");
    if ( 
count($err) > )
      
array_push($msg,"- Controlla i campi obligatori
"
);
    
/*
    $db = new DBO();
    //mi collego al db
    if (!$db->connetti()) array_push($msg,"Impossibile connetersi al database");
    //controllo che l'utente non sia già presente tramite il C.F.
    if ( $cf != "" ) 
        if ( checkValidCodeFiscal($cf) ) {
        
            $query_valid_user = "SELECT * FROM user_info AS UI WHERE UI.user_info_codefiscal LIKE '%".$cf."'";
        
            if ( $result = $db->query($query_valid_user) ) 
                if ( $db->estrai( $result, 1 ) ) {
                    array_push($msg,"- [b]".$nome." ".$cognome."[/b] è già presente nell'archivio
");
                  array_push($err,"nome");
                    array_push($err,"cognome");
                    array_push($err,"cf"); 
                }
        } else {
        array_push($err,"cf");
        array_push($msg,"- [b]Il Codice Fiscale[/b] non è corretto
");      
    }
    
    //controllo mail
    if ( $email != "" ) {
        $query_valid_email = "SELECT * FROM user AS U WHERE U.user_email LIKE '%".$email."'";
        if ( $result = $db->query($query_valid_email) ) {
            if ( $db->estrai( $result, 1 ) ) {
                array_push($err,"mail");
                //controllo se è presente
                array_push($msg,"- [b]e-Mail[/b] già presente nell'archivio
");    
            } else {
                array_push($err,"mail");
                //controllo la validità della mail
                if ( checkValidEmail($email) != 2 ) 
                    array_push($msg,"- [b]Formato e-Mail[/b] non corretta
");
            }
        }
    }
    
    //controllo del cap
    if ( ($cap != "") and !is_numeric($cap) ) {
      array_push($err,"cap");
        array_push($msg,"- [b]Il CAP[/b] deve essere numerico
");  
    }
      
    if ( count($msg) > 0 ) {
        $data['error'] = true;
        $data['errMsg'] = $msg;
        if (count($err) > 0) $data['typeErr'] = $err;
        else $data['typeErr'] = false;
        ob_end_flush();
        echo json_encode($data);
        exit(1);
    } 
  
    //Fine controllo possibili Errori
    
    //inserisco i dati nella tabella user

  $sql_user = "INSERT INTO user(user_account,user_email,user_password) VALUES ('". $user_account ."','".$email."','".md5($plain_psw)."');";
    
    if ( $db->query($sql_user) ) {
      
        $sql_id_user = "SELECT U.user_id AS uid FROM user AS U where U.user_account = '".$user_account."'";
        
        $id = $db->estrai( $db->query($sql_id_user), 1 );
        $uid= $id['uid'];
                   
        $sql_user_info = "INSERT INTO user_info(user_id,user_info_name,user_info_lastname,user_info_birthplace,user_info_birthcountry,user_info_birthday,user_info_codefiscal,user_info_address,user_info_cap,user_info_city,user_info_district,user_info_phone,user_info_belt,user_info_budopass) 
                        VALUES ('".$uid."','".$nome."','".$cognome."','".$bplace."','".$bcountry."','".$bday."','".$cf."','".$indirizzo."','".$cap."','".$comune."','".$provincia."','".$telefono."','".$cintura."','".$budopass."')";
      
        if ( !$db->query($sql_user_info) ) {
          //notifico errore
            array_push($msg,"- [b]Problema Tecnico[/b] col database! Riprovare più tardi");
            //rimuovo lo user appena inserito per mantenere coerenza coi dati/
            $sql_rm_user = "DELETE FROM user AS U WHERE U.user_it = '".$idu."'";
            if ( $db->query($sql_rm_user) ) {
              $query = "ALTER TABLE user ENGINE=INNODB";
                $db->query($query);
            }
               
        }
        
    } else array_push($msg,"- [b]Problema Tecnico[/b] col database! Riprovare più tardi");
    
    if ( count($msg) > 0 ) {
      
        $data['error'] = true;
        $data['errMsg'] = $msg;
        $data['typeErr'] = false;
        ob_end_flush();
        echo json_encode($data);
        exit(1);
        
    }    else {
        
        $data['error'] = false;
        
        array_push($msg,"[b]Attenzione[/b]: la registrazione è andata a buon fine.
Un amministratore provvederà alla validazione dei dati e confermare l'operazione all'indirizzo " . $email ."

");
        
        /* Creo Oggetto mail e mando la mail */
      /*
        $bcc = array('segreteria@kickboxingteam.it','amministrazione@kickboxingteam.it');
        
        $msgUser = "Ciao $user_account,\n\r\n\r
grazie per esserti registrato al portale, non appena un amministratore verificherà le tue credenziali potrai accedere al nostro sistema e modificare in ogni momento i tuoi dati\n\r\n\r
Dati Accesso:\n\r
\t username: $user_account\n\r
\t password: $plain_psw\n\r\n\r
Non rispondere a questa e-mail in quanto è generata in automatico";
        
        $confirmReg = new EMAIL();
        $confirmReg->setHeader();
        $confirmReg->setObject('Conferma registrazione '.$user_account);
        $confirmReg->setMessage($msgUser);
      array_push($msg,$confirmReg->sendMail($email));
        $confirmReg->sendMailBCC($bcc);
      $data['msg'] = $msg;
        
    }
    ob_end_flush();
    echo json_encode($data);
    //chiudo connessione al db
    $db->disconnetti();
    
    exit();
    */ 
Quello che realmente non capisco è perché in locale tutto mi funziona, se fosse un errore di php lo dovrei vedere ed invece no