Nada hombre. No hay problema.
Te pongo el ejemplo sin utilizar JavaScript para la primera comprobación. Lo malo de esto, es que si no se envía, al volver al formulario, está en blanco y hay que volver a rellenarlo. Pero bueno, eso lo puedes mirar después.
Lo primero, tienes que cambiar la extensión de contacto.html por .php para poder recoger el mensaje de enviado o de error.
En el PHP sólo modifica el final, que te quede de esta manera:
Código PHP:
// Se envia el correo y se verifica el error
if( !$mail->smtp_send($de, $a, $header, $cuerpo, $cc, $bcc) )
{
header('Location: /contacto.php?enviado=si');
exit();
}
else
{
header('Location: /contacto.php?enviado=no');
exit();
}
Ahora, en contacto.
php recogemos la respuesta:
Código PHP:
// en la parte superior de la página, antes de cualquier etiqueta:
<?php
switch( @$_GET['enviado'] )
{
case 'si': $mensaje = '<p>Mensaje enviado</p>'; break;
case 'no': $mensaje = '<p>Mensaje no enviado</p>'; break;
}
?>
<!-- ahora ya sí irían las etiquetas <html><head></head><body> -->
<!-- donde quieras mostrar el mensaje de error, pones lo siguiente: -->
<?php echo $mensaje; ?>
Y con eso obtienes la respuesta del formulario.
Saludos.