Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/11/2014, 14:41
Avatar de solmedina87
solmedina87
 
Fecha de Ingreso: noviembre-2014
Mensajes: 68
Antigüedad: 9 años, 5 meses
Puntos: 4
Respuesta: Formulario de contacto

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 :)

Última edición por solmedina87; 24/11/2014 a las 14:50 Razón: agregar explicación