da PHP puoi anche usare:
$return_URL = $_SERVER['HTTP_REFERER'];
header("Location: $return_URL");
exit;
dove HTTP_REFERER è una variabile server che memorizza il referer per la pagina corrette.
però il mantenere i valori compilati dal form dipende da browser...
mozilla per esempio mantiene explorer no..
io di solito memorizzo i miei $_POST['var'] in $_SESSION e li richiamo come value nel form.. una volta terminata la procedura riazzero quei valori di sessione...