Come riporta il manuale su php.net:
exit() terminates execution of the script. Shutdown functions and object destructors will always be executed even if exit is called.
Per cui se lo utilizzi prima di terminare l'esecuzione della porzione di codice php che ti interessa, non otterrai il risultato sperato.
Per esempio nel caso del codice:
il compilatore, una volta entrato nel ciclo if dell'azione modifica, include il file formadd.html.php e poi termina l'esecuzione (ossia puoi cancellare le 3 righe che vengono dopo in quanto non verranno mai eseguite).Codice PHP:
if(isset($_POST['action']) and $_POST['action']=='Modifica')
{
include 'formadd.html.php';
exit();
include 'modifica.php';
header('Location: .');
exit();
}
Pertanto inserisci l'exit() sono quando sai che devi fare finire l'esecuzione dello script.