Formulario en PHP

Hola, mi nombre es Jorge. Esto comenzando con PHP. Quisiera implementar en mi sitio un formulario de contacto. He probado los ejemplos con la...

La FAQ Formulario en PHP tiene

Pertenece a la categoría:
Pregunta
Hola, mi nombre es Jorge. Esto comenzando con PHP. Quisiera implementar en mi sitio un formulario de contacto.
He probado los ejemplos con la función mail() pero el correo no llega. Tampoco recibo ningun mensaje de error.
El sitio está alojado en mi máquina: windows XP, apache, servidor de correo MDaemon.
Espero si mi pueden ayudar!!!
El sitio está buenisimo, gracias por sus consejos !!!
Respuesta de Jonathan
<body>
<? if (!$HTTP_POST_VARS){ ?> <FORM action="../Users/JONATHAN/Desktop/SOLO TRABAJOS/Clientes D&amp;A 2010/WILSON GUZMAN/web/Web DIDESA/web didesa/form.php" method=post> <!-- Ó action="form.html" Dependiendo la extensión del archivo --> NOMBRE: <input type="text" name="name" size="36" style="text-align: justify"> <br><br>
CORREO:
<input type="text" name="e-mail" size="36" style="text-align: justify" value="@" >
<br><br>
MENSAJE:
<textarea name="txtmessage" rows="8" cols="72" style="text-align: justify" ></textarea>
<br><br>
<center>
<INPUT TYPE="RESET" NAME="limpiar" VALUE="LIMPIAR">
<INPUT TYPE="SUBMIT" NAME="enviar" VALUE="ENVIAR">
</center>

</FORM>

<br><br>

<?
}
else{
//Nota. Cuerpo o contenido del mensaje.
$cuerpo = "<br> Formulario Recibido <br><br>
";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["name"] . " <br>
";
$cuerpo .= "Correo: " . $HTTP_POST_VARS["e-mail"] . "<br>
";
$cuerpo .= "Mensaje: " . $HTTP_POST_VARS["txtmessage"] . "<br><br>
";

//Nota. Cabeceras para el envío en formato HTML.
$headers = "MIME-Version: 1.0
";
$headers .= "Content-type: text/html; charset=iso-8859-1
";

//Nota. Dirección del remitente.
$headers .= "From: " . $HTTP_POST_VARS["e-mail"] . "
";

//Nota. Dirección de respuesta.
$headers .= "Reply-To: " . $HTTP_POST_VARS["e-mail"] . "
";

//Nota. Ruta del mensaje desde origen a destino.
$headers .= "Return-path: " . $HTTP_POST_VARS["e-mail"] . "
";

//Nota. Funcion Mail de PHP:
// mail( $correoreceptor, $asunto, $mensaje, $cabeceras );
mail("tuemail@xxxxx.com","Contacto Desde La Pagina",$cuerpo,$headers);

//Confirmación de envio del mensaje.
echo "Comentarios Enviados Correctamente. En breve nos comunicaremos con usted.";

echo "<input type=button value=Atras onClick=history.go(-1);>";
}

?>
<body>
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

ANTLAG17

30/6/2010
Formulario PHP
Hola amigo, como dice el compañero anterior, esa debería ser la estructura de tu form, salvo que yo uso POST y GET como variables y no las variables globales, sin embargo, veo que tu problema es básicamente que no te llega ningún mensaje y que no te sale ningún error, pues te cuento, yo pienso que todo está funcionando bien, pero que estás tratando de enviar el correo a una cuenta hotmail y este servidor está bloqueando este envío. Prueba con alguna cuenta de otro dominio que no bloquee este tipo de "envíos locales" y verás que las cosas van bien, si tienes una cuenta de correo en una empresa, haz la prueba con esta ya que por lo general los hostings no hacen estos bloqueos, sino búscate alguna gratuita que nunca falta por ahí.

Saludos,

juan pablo

30/6/2010
formulario en php
Hola
Si has hecho en forma correcta el formulario y utilizas el comando send mail de php debes de subir la pagina a un servidor que sea gratuito como www.webshost000.com y subes la pagina y puedes prpbar el envio de correo.
esta es una pagina gratuita y acepta php y mysql y tiene la funcion mail activada.

hasta pronto

Karbo13

19/7/2010
Donde hacer un formulario
En este sitio
http://phpformgen.sourceforge.net/new_demo/phpformgen/
podés hacer formularios online, enviando el correo con PHP y si se desea guardando los datos en una Base de Datos MySQL.

net007

18/10/2011
formulario contacto Reply-To
Hola. les agradesco vuestra ayuda desde ya.
el envio del mensaje a traves del formulario funciona perfectamente, mi problema es que cuando recibo el mensaje en el outlook 2007 y le doy responder, no muestra autimaticamente la direccion a la que se tiene que responder, en este caso la que contiene la variable $mail que estoy utilizando con Reply-To:.
espero puedan ayudarme. Gracias

$mail = $_POST['e-mail'];
$dest = "reservas@ecoamazonia.com.pe"; //Email de destino
$asunto = "Contacto Web Ecoamazonia Lodge";//sunto
$cuerpo = $_POST['mensaje']; //Cuerpo del mensaje
//Cabeceras del correo
$headers = "From: $nombre <$email> "; //Quien envia?
$headers .= "X-Mailer: PHP5 ";
$headers .= 'MIME-Version: 1.0' . " ";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . " "; //
$headers .= "Reply-To: $mail";
$headers .= "Return-path: $mail";//Ruta del mensaje desde origen a destino.

if(mail($dest,$asunto,$cuerpo,$headers)){ //mas codigo}
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías