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) > 0 )
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