Salve, ho creato un modulo per la registrazione degli utenti su di un sito. Il modulo prevede nome, password, email, squadra, avatar. Per l'avatar avevo previsto un modulo per il caricamento del file nel server. Il tutto funziona correttamente, ma vorrei che l'avatar non sia necessario per la registrazione. Il problema è che se non inserisco l'avatar, e quindi non carico il file, il processo di registrazione si blocca su una pagina bianca. Come posso fare?
questo è il codice
questo è il codice
PHP:
<?php
$nome_utente = $_POST['nome_utente'];
$password_utente = $_POST['password_utente'];
$password_criptata = md5($password_utente);
$email_utente = $_POST['email_utente'];
$squadra_utente = $_POST['squadra_utente'];
$avatar_utente = $_POST['avatar_utente'];
//dati database
$host = "localhost";
$username = "torneoborgonara";
$password = "";
$database = "my_torneoborgonara";
$tabella = "utenti";
//connessione e invio al DB
$connessione = mysql_connect($host, $username, $password) or die("Connessione DB fallita");
mysql_select_db($database, $connessione) or die("Selezione DB fallita");
//controllo che i campi obbligatori non siano vuoti
if(!$nome_utente) {
$msg = "
<table>
<tr>
<td><img src=\"ico/error.png\"></td>
<td class='mess'><b>Non hai inserito un nome utente!</b><br>Torna indietro e modifica i tuoi dati</td>
</tr>
</table>";
} else {
if(!$password_utente) {
$msg = "
<table>
<tr>
<td><img src=\"ico/error.png\"></td>
<td class='mess'><b>Non hai inserito una password!</b><br>Torna indietro e modifica i tuoi dati</td>
</tr>
</table>";
} else {
if(!$email_utente) {
$msg = "
<table>
<tr>
<td><img src=\"ico/error.png\"></td>
<td class='mess'><b>Non hai inserito una email!</b><br>Torna indietro e modifica i tuoi dati</td>
</tr>
</table>";
} else {
//controllo email
function chkEmail($email)
{
// elimino spazi, "a capo" e altro alle estremità della stringa
$email = trim($email);
// se la stringa è vuota sicuramente non è una mail
if(!$email) {
return false;
}
// controllo che ci sia una sola @ nella stringa
$num_at = count(explode( '@', $email )) - 1;
if($num_at != 1) {
return false;
}
// controllo la presenza di ulteriori caratteri "pericolosi":
if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
return false;
}
// la stringa rispetta il formato classico di una mail?
if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
return false;
}
return true;
}
$email = $email_utente;
if(chkEmail($email)) {
if (!$avatar_utente) {
$target2 = "avatar/standard.png"
//carico i dati con avatar standard
$commenti = "INSERT INTO $tabella (id,nome,pass,avatar,email,squadra) VALUES('','$nome_utente','$password_criptata','$target2','$email_utente','$squadra_utente')";
mysql_query($commenti) or die("Errore...\n<br />Query: " . $commenti . "<br />\nDettagli: (" . mysql_errno() . ") " . mysql_error());
//header("refresh:3; url=".$_SERVER['HTTP_REFERER']);
header("refresh:3; url=index.php");
} else {
do {
if (is_uploaded_file($_FILES['avatar']['tmp_name'])) {
// Controllo che il file non superi i 18 KB
if ($_FILES['avatar']['size'] > 18432) {
$msg = "
<table>
<tr>
<td><img src=\"ico/error.png\"></td>
<td class='mess'><b>Il file caricato non deve superare i 18 KB!</b><br>Torna indietro e carica un nuovo file/td>
</tr>
</table>";
break;
}
// Realizzo un nuovo nome casuale per il file.
$ran = rand () ;
$ran2 = $ran.".";
$target = "avatar/";
$ext = "jpg";
$target2 = $target . $ran2.$ext;
echo" il file si chiama ".$target2;
// Funzione per separare l'estensione dal resto del nome file
//function findexts ($filename)
//{
//$filename = strtolower ($filename);
//$exts = split("[/\\.]", $filename);
//$n = count($exts)-1;
//$exts = $exts[$n];
//return $exts;
//echo $filename;
//}
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['avatar']['tmp_name']);
// Controllo che le dimensioni (in pixel) non superino 160x180
if (($width > 160) || ($height > 180)) {
$msg ="
<table>
<tr>
<td><img src=\"ico/error.png\"></td>
<td class='mess'><b>Le dimensioni del file non possono superare i 160x180!</b><br>Torna indietro e carica un nuovo file</td>
</tr>
</table>";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
//if (($type!=1) && ($type!=2) && ($type!=3)) {
//$msg = "<p>Formato non corretto!!</p>";
//break;
//}
// Verifico che sul sul server non esista già un file con lo stesso nome
//if (file_exists('avatar/'.$_FILES['avatar']['name'])) {
//$msg = "File già esistente sul server. Rinominarlo e riprovare.";
//break;
//}
//$ext = findexts ($_FILES['uploaded']['name']);
// Sposto il file nella cartella da me desiderata rinominandolo come in precedenza
if (move_uploaded_file($_FILES['avatar']['tmp_name'], $target2)) {
$msg = "
<table>
<tr>
<td><img src=\"ico/ok.png\"></td>
<td class='mess'><b>Registrazione avvenuta con successo!</b><br>Verrai rindizzato alla home page tra 3 secondi</td>
</tr>
</table>";
//carico i dati con avatar scelto
$commenti = "INSERT INTO $tabella (id,nome,pass,avatar,email,squadra) VALUES('','$nome_utente','$password_criptata','$target2','$email_utente','$squadra_utente')";
mysql_query($commenti) or die("Errore...\n<br />Query: " . $commenti . "<br />\nDettagli: (" . mysql_errno() . ") " . mysql_error());
//header("refresh:3; url=".$_SERVER['HTTP_REFERER']);
header("refresh:3; url=index.php");
break;
} else {
$msg = "Errore caricamento file";
}
}
} while (false);
} else {
$msg = "
<table>
<tr>
<td><img src=\"ico/error.png\"></td>
<td class='mess'><b>Formato email errato!</b><br>Torna indietro e modifica i tuoi dati</td>
</tr>
</table>";
}
}
}
}
echo $msg;
?>