Foros del Web » Programando para Internet » PHP »

Formulario contacto para enviar al email

Estas en el tema de Formulario contacto para enviar al email en el foro de PHP en Foros del Web. Buenas,he realizado una seccion de contacto en mi web. Resulta que hay un formulario que al rellenarlo y al darle a enviar se me envía ...
  #1 (permalink)  
Antiguo 02/05/2006, 05:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 374
Antigüedad: 12 años, 3 meses
Puntos: 0
Formulario contacto para enviar al email

Buenas,he realizado una seccion de contacto en mi web. Resulta que hay un formulario que al rellenarlo y al darle a enviar se me envía a mi correo correctamente.Los 2 problemas están en que si no escribo nada y lo dejo en blanco y le doy a enviar....tambien me manda un correo en blanco, y eso no me interesa.

El 2º problema es que me gustaria que apareciera un mensaje de error cuando no se rellenen los campos del formulario.

Espero puedan ayudarme. Muchas gracias y un saludo.
El codigo es el siguiente:

<?
if (!$HTTP_POST_VARS){
?>

<MARQUEE><font size=7> CONTACTE CON NOSOTROS MEDIANTE LOS MEDIOS QUE OFRECEMOS </font></MARQUEE><br>
<BR>
<BR>

<h2> Si lo prefiere, usted puede contactar con nosotros via email rellenando este formulario.</h2>
<form action="contacto.php" method=post>
<font face="Verdana, Arial, Helvetica, sans-serif"><br>
Nombre:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type=text name="nombre" size=25>
<br>
Email:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type=text name="email" size=25>
<br>
Mensaje:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<textarea name="coment" cols="25" rows="6"></textarea>

</font><br>
<br>
<input name="submit" type=submit value="Enviar">
</form>


<?

}else{

//Estoy recibiendo el formulario, compongo el cuerpo

$cuerpo = "Formulario enviado desde la pagina web www.misuperpagina.com";

$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "n";

$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "n";

$cuerpo .= "Mensaje: " . $HTTP_POST_VARS["coment"] . "n";



//mando el correo...

mail("[email protected] " , " Formulario recibido " , $cuerpo);



//doy las gracias por el envío

echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";


}

?>
  #2 (permalink)  
Antiguo 02/05/2006, 05:29
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
y si pones:

if (($HTTP_POST_VARS["nombre"] !="") && ($HTTP_POST_VARS["coment"] !=""))
{mail("[email protected] " , " Formulario recibido " , $cuerpo);
}
else {//mensaje de que deben introducir el email}

asi no vale?
  #3 (permalink)  
Antiguo 02/05/2006, 05:30
Avatar de vash-stampede-  
Fecha de Ingreso: abril-2006
Ubicación: En el estómago de una Rana
Mensajes: 441
Antigüedad: 11 años, 7 meses
Puntos: 3
Antes de meter en el correo las variables de nombre y demas, pasalas a otra variable, y comprueba que está todo rellenado, si no es así, puedes poner algo del tipo <script>alert("Por favor para realizar su petición rellene todos los campos")</script>.

Luego si ha habido algun campo sin rellenar, no lo mandas y ya esta.
__________________
¡¡¡ Hoy el son de la batalla llegará hasta mi lucharemos hasta vencer o morir, hoy avanzaremos entre toda oscuridad llevando en nuestra sangre el himno de Rohan !!!!!
  #4 (permalink)  
Antiguo 02/05/2006, 05:39
 
Fecha de Ingreso: septiembre-2005
Mensajes: 374
Antigüedad: 12 años, 3 meses
Puntos: 0
Azrael666, de esa manera al darle a la seccion contacto aparece directamente el mensaje de "gracias por rellenar este formulario" sin haber escrito nada ni aperece el formulario.
  #5 (permalink)  
Antiguo 02/05/2006, 05:44
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
hombre.. pero el mensaje metelo dentro del if, donde mandas el email, y donde muestras el mensaje de error mete la redireccion al formulario anterior

if (($HTTP_POST_VARS["nombre"] !="") && ($HTTP_POST_VARS["coment"] !=""))
{mail("[email protected] " , " Formulario recibido " , $cuerpo);
//mensaje de envio aqui
}
else {//mensaje de que deben introducir el email y REDIRECCION a la pagina anterior}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:03.