A rigor di logica ...

Codice PHP:
$what = '<? $dbhost '.$_POST['dbhost'].' $dbuser '.$_POST['dbuser'].' $dbpasswd '.$_POST['dbpasswd'].' $dbname '.$_POST['dbname'].' ?>';
Il tuo problema è che valuta $dbhost come una variabile e cerca di usarla