A me si apre senza problemi, ad ogni modo, ti basterebbe mettere sticky forms in Google per trovare informazioni.... esattamente come ho fatto io!
Il trucco per avere le variabili nella form anche nel caso il sistema non abbia accettato alcuni parametri e si sia costretti a tornare indietro senza però perdere quanto scritto, è semplicemente questo:
Codice PHP:
echo "
<form action=\"xxx.php\" method=\"post\" enctype=\"abababaa\">
<input type=\"text\" id=\"campo1\" name=\"campo1\" value=\"".$_POST['campo1']."\" />
<input type=\"text\" id=\"campo2\" name=\"campo2\" value=\"".$_POST['campo2']."\" />
<textarea id=\"campo3\" name=\"campo3\">".$_POST['campo3']."</textarea>
</form>
";
Se l'array $_POST è vuoto, il contenuto delle value della form sarà vuoto. Altrimenti sarà valorizzato.
Se hai quindi uno script di filtraggio degli inputs che blocca uno o più campi, si può tranquillamente tornare indietro senza trovare la propria form completamente vuota!
Due considerazioni però.
1. Dovrai anche prevedere un sistema che indichi all'utente quale sia il campo che deve modificare in quanto non accettato dal sistema.
2. Se hai i notice attivati, sappi che il sistema, la prima volta che la form sarà visualizzata e che quindi non ci sono i riferimenti nell'array $_POST, ti solleverà tanti WARNING quanti indici sono presenti nell'array superglobale.
Questo non significa che lo script sia inutilizzabile, ma che ti compariranno X scritte se non provvedi a comandare a PHP di non comunicare i Notice.