Usando el mismo ejemplo que te di, yo lo hago de esta manera:
Código PHP:
<?php
// a este archivo lo llamamos enviamail.php
if(isset($_POST['enviar'])) { // consultamos si es que se enviaron los datos del formulario
// creamos una función para validar que el email esté en un formato correcto
function email_valido($correo) {
if (eregi("^[_\.0-9a-z-]+@[0-9a-z\._\-]+\.[a-z]{2,4}$", $correo)) return true;
else return false;
}
// luego validamos que los datos ingresados sean los correctos
if(!email_valido($_POST['email'])) { // email lo puedes cambiar por el nombre de tu campo
echo "El email ingresado no es correcto <a href='javascript:history.back()'>Regresar</a>"; // el href='javascript:history.back()' nos devolverá el formulario con todos los datos recuperados
}else {
// aquí tu código de envío
}
}else {
?>
<form action="enviamail.php" method="post">
<input type="text" name="email" />
<input type="submit" name="enviar" value="Enviar correo" />
</form>
<?php
}
?>
Ahí te darás cuenta que en el mensaje de error del email he añadido un link con la propiedad
javascript:history.back() lo cual nos devolverá el formulario con todos los datos que se ingresaron. Pruébalo y nos cuentas que tal te fue.
Saludos