Sono tutte cose ben distinte... il file contenenti il modulo e quello che riceve i dati da esso inviati devono essere dei PHP perchè devono compiere delle elaborazioni lato server; la navigazione delle cartelle invece la devi fare in CSS+JavaScript. costruisci una <table> contenente una serie di <tr> tanti quante sono le cartelle che devi implementare, e ad ognuno assegni un ID diverso; ogni TR deve essere preventivamente nascosta impostando il rispettivo stile CSS (tranne la prima, o comunque quella che vuoi sia visualizzata all'apertura della pagina). ti sconsiglio di usare un frame per mettere il tasto di submit perchè ti complichi la vita; il tasto sarà semplicemente in una <tr> della tabella che non verrà mai nascosto, ma sarà sempre visibile.
codice:
<table>
<form name="my_form" action="..." method="post">
<tr id="cartella1"><td>...</td></tr>
<tr id="cartella2" style="display: none;"><td>...</td></tr>
<tr id="cartella3" style="display: none;"><td>...</td></tr>
<tr><td><input type="Submit" value="Invia"></td></tr>
</form>
</table>
nota che il form ed il tasto di submit sono unici.
quindi metti una serie di links che, richiamando una funzione JS alla quale passi l'ID della cartella da visualizzare, permettono la navigazione delle schede. ho scritto la funzione JS al volo e non l'ho provata quindi potrebbe dare qualche errore, comunque sarà qualcosa del genere:
codice:
function show_folder(folder_id) {
// visualizza la cartella passata
document.getElementById(folder_id).style.display = "";
// nasconde le altre
if (folder_id!='cartella1')
document.getElementById('cartella1').style.display = "none";
if (folder_id!='cartella2')
document.getElementById('cartella2').style.display = "none";
if (folder_id!='cartella3')
document.getElementById('cartella3').style.display = "none";
}
per i links di navigazione delle cartelle non devi fare altro che questo:
ogni link richiama la funzione JS passandogli l'ID della cartella che deve essere visualizzata (attenzione, il trattino nella parola "java-script:" non ci vuole.... credo venga messo in automtico da questo forum).
e dovrebbe essere finito, per lo meno nella versione base del sistema. aggiungi tu i vari rifinimenti a tuo piacimento.