Podrías iniciar sesión i guardar los campos del formulario en ella, pero yo creo que lo mejor sería que cambiaras el enfoque. En lugar de poner en el action del formulario el script de validación (y supongo que luego usas mail() o algo para enviar el correo), yo usaría el mismo script del formulario, el cual se autoprocesaría. De esta forma, puedes montar una alternativa que en caso de validar bien el form mandara el mail y en caso contario volviera a enviar el marcado del formulario, poniendo los valores que ya tienes en cada campo.
Un ejemplo sencillo. Un formulario que pide el nombre y teléfono, y que muestra error si el usario deja alguno de los dos en blanco podría hacerse así:
Código PHP:
// nombre.php
<?php
$Nombre="";
$Telefono="";
if (isset($_POST["submit"])) {
$Nombre=$_POST["Nombre"];
$Telefono=$_POST["Telefono"];
if (empty($Nombre) || empty($Telefono))
echo "<p>Por favor, rellene todos los campos.</p>";
else {
if (mail (...))
exit ("Se envió el correo.");
else
exit ("Error mandando correo.");
}
}
?>
<form action="nombre.php" method="post">
<input type="text" name="Nombre" value="<? echo $Nombre ?>" />
<input type="text" name="Telefono" value="<? echo $Telefono ?>" />
<input type="submit" name="submit" value="Enviar" />
</form>