ciao a tutti, questo è il mio primo post in questa sezione

ho scritto questa funzione:

codice:
function changeprofile(){
 global $user;
 if (MD5($_POST['passw']) == $user['passw']){
  if (trim($_POST['uname']) != '' and trim($_POST['name']) != '' and trim($_POST['surname']) != ''){
   $query = "UPDATE utenti SET name='$_POST['name']', 
surname='$_POST['surname']', username='$_POST['uname']' WHERE id=$user['id']";
   if (mysql_query($query, $db)) echo "Cambio dati profilo effettuato
";
    else echo "Cambio dati profilo fallito a causa di un errore di connessione al database
";
   header("Refresh: 1;URL=index.php");
   auth_logout();
  }
  else echo 'Non hai compilato tutti i campi';
 } 
 else echo 'Non hai inserito la password o ne hai inserita una sbagliata'; 
}
che dovrebbe essere richiamata da un form (a proposito: è possibile richiamare funzioni nei form, no?) e permette, dopo aver controllato di aver inserito valori in tutti i campi del form e di aver inserito la password, di modificare il profilo di un utente registrato. Ottengo però un errore del genere:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

nella riga dove viene definita la query da inviare a mysql e non capisco perché.