Hola!, mirate este tutorial que es muy simple:
http://manuelbaronetti.com.ar/blog/2013/02/facil-y-simple-formulario-de-contacto-con-html5-css-y-php/
Para tu caso, primero en el HTML que nos mostrás la etiqueta form debería quedarte así:
Código HTML:
<form id="contact-form" action="contacto.php" method="post">
Esto hace que al hacer clic en "enviar" se envien los datos al archivo contacto.php que los procesa y envía el mail.
Ahora, el contacto.php recibiría tus variables mas o menos así:
Código PHP:
<?php
$nombre = $_POST['name'];
$email = $_POST['email'];
$asunto = $_POST['subject'];
$para = '[email protected]';
$header = 'From: ' . $email;
$mensaje = '$_POST['message'];';
$msjCorreo = "Nombre: $nombre\n E-Mail: $email\n Mensaje:\n $mensaje";
if ($_POST['submit']) {
if (mail($para, $asunto, $msjCorreo, $header)) {
echo "<script language='javascript'>
alert('Mensaje enviado, muchas gracias.');
window.location.href = 'http://TUSITIOWEB.COM';
</script>";
} else {
echo 'Falló el envío';
}
}
?>
Te lo explico un poquito para no pegarte una posible solución y que no la entiendas:
En las primeras líneas a cada variable ($variable) se le está asignando el valor que se introdujo en el formulario. Por ej:
$nombre = $_POST['name']; le asigna a la variable
$nombre el valor que introdujeron en el formulario en el
input "name"
En
$msjCorreo simplemente concatena lo que va a mandarse en el cuerpo del mail.
Y se usa una función "
mail" que recibe ciertos parámetros, en este caso:
$para, $asunto, $msjCorreo, $header. Para indicar el destinatario del correo, el asunto, el mensaje que va en el cuerpo del mail y de quién viene el correo.
Ahora algo personal mio :p Yo generalmente el formulario y el código php lo pongo en la misma página. Ese
if ($_POST['submit']) { justamente lo que dice es que el código dentro se ejecutará solamente si hicieron clic en el "
submit" del formulario. Entonces en la etiqueta <form> el action puede ser la misma página que contiene el formulario y te evitas de tener dos archivos :)