intanto siccome lo script gestisce sia il form che il suo invio dovresti fare dei controlli per capire se è chiamato dopo l'invio o meno (sposta if ($_POST['submit']) { in cima alla parte di gestione), inoltre fopen("testo.txt", "a") significa (quella "a") "append", cioè "aggiungi" i contenuti in coda a quelli esistenti... se ogni volta vuoi "svuotare" il file devi usare "w"