Ciao,
la prima volta che carichi la pagina ed esegui lo script la variabile $submit non è settata e il pulsante di invio ha id e name vuoti. Il form viene correttamente inviato, ma non esistendo il dato $_POST['submit'] e di conseguenza $submit, il controllo iniziale
[php]if(isset ($submit))[/php]
è sempre falso.

Ecco due soluzioni possibili:

aggiungi un else all'IF di cui sopra
[php]
else $submit='nome_del_pulsante';
[/php]

modifica la riga del pulsante in questo modo:
[php]
echo "<tr><td><input type="submit" id = 'nome_del_pulsante' name = 'nome_del_pulsante' value="Registra" /></td></tr>
[/php]

Alessandro