Anche questa riga ha un errore sintattico, e uno semantico:
Codice PHP:
$query="Insert Into 'utente' ('username' , 'password') VALUES ("$user", "password")";
Quello sintattico si vede ad occhio: le virgolette di $user e password interrompono la stringa, provocando un errore.
Quello semantico, è che ogni volta riscrive "password", invece del valore che (credo) dovrebbe scrivere: la password scritta dall'utente.
Una soluzione potrebbe essere:
Codice PHP:
$query="INSERT INTO utente (username, password) VALUES ('$user', '$password')";
o, come preferisco io:
Codice PHP:
$query='INSERT INTO utente (username, password) VALUES (\''.$user.'\',\' '.$password.'\')';
Altra cosa (imprecisione): sulla documentazione c'é scritto che in caso di errore, la mysql_connect() ritorna FALSE, e non 0. Su PHP sono due cose differenti, e non come ad esempio in C, che le due cose coincidono.
Quindi, il controllo si potrebbe fare:
Codice PHP:
if($conn === FALSE){
echo"Connessione fallita";
}
(anche se poi in questo modo lo script continua comunque, e tenta di selezionare il db e fare le query!).
Come ho detto però è una imprecisione, perché con "==0" dovrebbe funzionare comunque; ma non puoi sapere a priori se il resource ritornato dalla funzione può valere 0: in questo caso, lo script presenterà l'errore anche se in realtà non c'é!
Inoltre, occhio all'sql_injection: quel codice immette le variabili $user e $password così come provengono dal form! Dovresti almeno prima farle passare per la mysql_real_escape_string().
Altro consiglio, è di verificare con la isset(), se veramente esistono i parametri $_POST['user'] e $_POST['password'] (prima di assegnarli alle variabili).
Infine, per manipolare mysql, si consiglia mysqli o PDO_MySQL, e non le (vecchie) funzioni che stai usando. Per approfondimenti, leggi qui.
Ciao!