Foros del Web » Programando para Internet » PHP »

Arto con el formulario de mi web

Estas en el tema de Arto con el formulario de mi web en el foro de PHP en Foros del Web. Hola resulta que tengo un formulario en mi web que no se como hacer que se envie lo que me escriban a mi web, lo ...
  #1 (permalink)  
Antiguo 17/05/2012, 04:22
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Arto con el formulario de mi web

Hola resulta que tengo un formulario en mi web que no se como hacer que se envie lo que me escriban a mi web, lo tengo echo y no quiero modificar el estilo, al parecer hay que enviarlo a traves de un php y yo de eso se 0.

Lo he intentado y no hay manera asi que recurro a ustedes para ver si me pueden ayudar.

La web del formulario es http://www.bodegasramonsaenz.com/calendar.html

Esta es la parte del formulario en html5

<div class="inner">
<div class="main">
<section id="content">
<div class="indent">
<div class="wrapper">
<article class="col-1">
<div class="indent-left">
<h3>Formulario de contacto</h3>
<div class="p3">
<form id="contact-form" method="post" enctype="multipart/form-data">
<fieldset>
<label><span class="text-form">Nombre:</span>
<input name="p1" type="text" />
</label>
<label><span class="text-form">E-mail:</span>
<input name="p2" type="text" />
</label>
<div class="wrapper">
<div class="text-form">Mensaje:</div>
<div class="extra-wrap">
<textarea name="textarea"></textarea>
<div class="clear"></div>
<div class="buttons"> <a class="button-2" href="#" onClick="document.getElementById('contact-form').reset()"> Borrar todo</a> <a class="button-2" href="mailto:[email protected]" onClick="document.getElementById('contact-form').submit()">Enviar</a> </div>
</div>
</div>
</fieldset>
</form>
</div>
</div>
<div class="bg">
<div class="padding">

Les agradeceria mucho que me dijeran como tengo que hacer el php para que llegue a mi correo [email protected]

Espero respuestas, un saludo y gracias por su atención.
  #2 (permalink)  
Antiguo 17/05/2012, 04:42
 
Fecha de Ingreso: mayo-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 23
Respuesta: Arto con el formulario de mi web

Cita:
Iniciado por theuploaded Ver Mensaje
Hola resulta que tengo un formulario en mi web que no se como hacer que se envie lo que me escriban a mi web, lo tengo echo y no quiero modificar el estilo, al parecer hay que enviarlo a traves de un php y yo de eso se 0.

Lo he intentado y no hay manera asi que recurro a ustedes para ver si me pueden ayudar.

La web del formulario es http://www.bodegasramonsaenz.com/calendar.html

Esta es la parte del formulario en html5

<div class="inner">
<div class="main">
<section id="content">
<div class="indent">
<div class="wrapper">
<article class="col-1">
<div class="indent-left">
<h3>Formulario de contacto</h3>
<div class="p3">
<form id="contact-form" method="post" enctype="multipart/form-data">
<fieldset>
<label><span class="text-form">Nombre:</span>
<input name="p1" type="text" />
</label>
<label><span class="text-form">E-mail:</span>
<input name="p2" type="text" />
</label>
<div class="wrapper">
<div class="text-form">Mensaje:</div>
<div class="extra-wrap">
<textarea name="textarea"></textarea>
<div class="clear"></div>
<div class="buttons"> <a class="button-2" href="#" onClick="document.getElementById('contact-form').reset()"> Borrar todo</a> <a class="button-2" href="mailto:[email protected]" onClick="document.getElementById('contact-form').submit()">Enviar</a> </div>
</div>
</div>
</fieldset>
</form>
</div>
</div>
<div class="bg">
<div class="padding">

Les agradeceria mucho que me dijeran como tengo que hacer el php para que llegue a mi correo [email protected]

Espero respuestas, un saludo y gracias por su atención.
Primero que nada tienes que ver si el servidor donde tienes alojada esa pagina permite enviar emails mediante SMTP.
supongo que tiene que traerlo (siempre que no sea host gratis) pero comprobarlo nunca esta de mas.

despues tienes que crear un script php que recoja los datos mediante POST (por ejemplo) y los envie a tu correo usando la funcion de php: mail().

Para enviar los datos, en el action del formulario debes poner la ruta del archivo php.

y seguidamente creas el archivo php que procese los datos.

te dejo un ejemplo super sencillo:

index.html
Código HTML:
<form action="mail.php" method="post">
     <input type="text" name="nombre" />
     <input type="submit" value="Enviar" />
</form> 
mail.php
Código PHP:
<?php 
$mensaje 
"el mensaje lo envio el user: "$_POST['nombre'];

mail('[email protected]''asunto del mensaje'$mensaje);

?>
salida: recibiras un correo con el mensaje: "el mensaje lo envio el user: nombre_de_usuario"

la variable superglobal $_POST accede a los datos a partir del atributo name de los elementos del formulario.

Nota: aquí se entiende que el archivo index.html y mail.php están en el mismo lugar


Esto es un ejemplo super sencillo, en el php se deberían hacer validaciones y demas.

Espero que te sirva!

Para mas información, puedes ver la documentación acerca de la función mail de php:

http://php.net/manual/es/function.mail.php

Un Saludo
  #3 (permalink)  
Antiguo 17/05/2012, 05:06
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

Hola te agradezco mucho tu pronta respuesta pero la verdad es que he echo unas pruebas y no tengo ni idea de nada cambio algunas cosas en el html y uso ese php y nada de nada, sobre si soporta SMTP supongo que si lo tengo alojado en evidalia y pago al año.
Puedes ayudarme un poco mas, podrias decirme como adecuar ese php para mi formulario?
un saludo y gracias.
  #4 (permalink)  
Antiguo 17/05/2012, 05:17
 
Fecha de Ingreso: mayo-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 23
Respuesta: Arto con el formulario de mi web

Debes tener un boton submit en tu formulario para que se envie a php.
y bueno el php depende de como quieras armar el mensaje..

Código PHP:
$mesnaje "Mensaje: \n";
$mensaje .= "Nombre: "$_POST['p1'];
$mensaje .= "Email: "$_POST['p2'];
$mensaje .= "Mensaje: "$_POST['textarea'];

mail('[email protected]''asunto del mensaje'$mensaje); 
Eso seria adaptado a tu formulario..

Lo importante es que tu form tenga esta estructura:

Código HTML:
<form action="mail.php" method="post"> 
y que tengas un boton submit:

Código HTML:
<input type="submit" value="Enviar" /> 
en vez del enlace que tienes puesto.

Prueba el ejemplo que te hice en el mensaje anterior, si te envia el correo tienes SMTP si te salta un error no lo tienes!

Saludos!
  #5 (permalink)  
Antiguo 17/05/2012, 05:18
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

De verdad que me estoy volviendo loco le he puesto la funcion form action="mail.php" y con el archivo php a mi email

lo he subido todo a la web y lo que hace es cargar la pagina de nuevo, no se que hacer ya, me desespero.
  #6 (permalink)  
Antiguo 17/05/2012, 05:30
 
Fecha de Ingreso: mayo-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 23
Respuesta: Arto con el formulario de mi web

esto es lo que tu has puesto:

Código HTML:
<form id="contact-form" form="" action:"send.php"="" method="post" enctype="multipart/form-data"> 
y deberia ser:
Código HTML:
<form id="contact-form" action="send.php" method="post"> 
Saludos!
  #7 (permalink)  
Antiguo 17/05/2012, 06:46
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

Bien vamos avanzando, he echo la prueba solo haciendo el html como tu me dices y con el php que me indicas tal cual esta a mi email.

Lo he subido y el resultado es que me llega un email de root@.... pero me sale solo emal: sin nada mensaje : sin nada

Como lo adapto a mi formulario?

espero tu respuesta me estas siendo de gran ayuda, un saludo.
  #8 (permalink)  
Antiguo 17/05/2012, 06:51
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

Así es como tengo la parte de mi formulario real en html

div class="inner">
<div class="main">
<section id="content">
<div class="indent">
<div class="wrapper">
<article class="col-1">
<div class="indent-left">
<h3>Formulario de contacto</h3>
<div class="p3">
<form id="contact-form" form action:"mail.php" method="post" enctype="multipart/form-data">
<fieldset>
<label><span class="text-form">Nombre:</span>
<input name="p1" type="text" />
</label>
<label><span class="text-form">E-mail:</span>
<input name="p2" type="text" />
</label>
<div class="wrapper">
<div class="text-form">Mensaje:</div>
<div class="extra-wrap">
<textarea name="textarea"></textarea>
<div class="clear"></div>
<div class="buttons"> <a class="button-2" href="#" onClick="document.getElementById('contact-form').reset()"> Borrar todo</a> <a class="button-2" onClick="document.getElementById('contact-form').submit()">Enviar</a> </div>
</div>
</div>
</fieldset>
</form>
</div>
</div>
<div class="bg">
<div class="padding">

¿Que es lo que tengo mal?
Un saludo.
  #9 (permalink)  
Antiguo 17/05/2012, 07:26
 
Fecha de Ingreso: mayo-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 23
Respuesta: Arto con el formulario de mi web

deberia de llegarte bien el mensaje..

la linea esta la sigo viendo mal
Código HTML:
<form id="contact-form" form action:"mail.php" method="post" enctype="multipart/form-data"> 
que es esto? form action:"mail.php" ??

los atributos en HTML se ponen atributo=valor

deberia estar asi:
Código HTML:
<form id="contact-form" action="mail.php" method="post"> 
Saludos!
  #10 (permalink)  
Antiguo 17/05/2012, 07:36
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

Dios por fin a llegado, caunto tiempo esperando esto, sin mariconadas pero cuanto te quiero!
una cosilla mas cuando le doy a enviar lo envia pero se me queda la pantalla en blanco en el enlace de mail.php no se si me explico

Como puedo hacer para que regrese a pa pagina de nuevo o le de un aviso de que se ha enviado con exito?

Gracias de nuevo un saludo.
  #11 (permalink)  
Antiguo 17/05/2012, 07:54
 
Fecha de Ingreso: mayo-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 23
Respuesta: Arto con el formulario de mi web

pues tienes varias opciones:

1- puedes realizar el envió en la misma pagina donde tienes el formulario

2- puedes comprobar si se a enviado correctamente el mensaje, la función mail devuelve true si el mensaje se envió correctamente y false en caso contrario:
Código PHP:
if(mail('[email protected]''asunto del mensaje'$mensaje)){
     echo 
"Mensaje enviado correctamente";
}else{
     echo 
"Ocurrió un error";

3-
Puedes redireccionar utilizando la función header, siempre y cuando no envies las cabeceras http antes:
Código PHP:
if(mail('[email protected]''asunto del mensaje'$mensaje)){
     
header("Location: direccion_de_la_pagina");
}else{
     echo 
"Ocurrio un error";

Según lo que mas te convenga!

Saludos y espero que te sirva!
  #12 (permalink)  
Antiguo 17/05/2012, 08:07
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Arto con el formulario de mi web

Excelente pfranco, ahí tienes 64 de karma!

motivando a los usuarios que aportan, por que no? es una forma de aportar al foro también.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #13 (permalink)  
Antiguo 17/05/2012, 08:09
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

T iba a decir que eras mi dios! pero no me vuelve a la url que le digo, este es el php que me queda, por cierto me envia dos veces el email.

<?php
$mensaje = "Mensaje:

\n";
$mensaje .= "Nombre: ". $_POST['p1'];
$mensaje .= "

Email: ". $_POST['p2'];
$mensaje .= "

Mensaje: ". $_POST['textarea'];

mail('[email protected]', 'Pregunta pagina web', $mensaje);

if(mail('[email protected]', 'Pregunta pagina web', $mensaje)){
header("http://bodegasramonsaenz.com/enviado.html/");
}else{
echo "Ocurrio un error";
}
?>
  #14 (permalink)  
Antiguo 17/05/2012, 08:16
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

Ya esta lo tengo todo resuelto ERES MI DIOOOOOOS

TE mereces esos puntos que te han dado mil graciaaaaaaaaaaaaaaaaaaas!! visita mi web si te gusta el buen vino aprobecha hay buenos precios. un saludo.
  #15 (permalink)  
Antiguo 17/05/2012, 08:17
 
Fecha de Ingreso: mayo-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 23
Respuesta: Arto con el formulario de mi web

Cita:
Iniciado por theuploaded Ver Mensaje
T iba a decir que eras mi dios! pero no me vuelve a la url que le digo, este es el php que me queda, por cierto me envia dos veces el email.

<?php
$mensaje = "Mensaje:

\n";
$mensaje .= "Nombre: ". $_POST['p1'];
$mensaje .= "

Email: ". $_POST['p2'];
$mensaje .= "

Mensaje: ". $_POST['textarea'];

mail('[email protected]', 'Pregunta pagina web', $mensaje);

if(mail('[email protected]', 'Pregunta pagina web', $mensaje)){
header("http://bodegasramonsaenz.com/enviado.html/");
}else{
echo "Ocurrio un error";
}
?>
debes poner el header asi:
Código PHP:
header("Location: http://bodegasramonsaenz.com/enviado.html/"); 
Saludos!

EDITO:

Cita:
Iniciado por stramin Ver Mensaje
Excelente pfranco, ahí tienes 64 de karma!

motivando a los usuarios que aportan, por que no? es una forma de aportar al foro también.
Gracias!, estoy aquí para ayudar en lo que pueda!

Saludos!

Cita:
Iniciado por theuploaded Ver Mensaje
Ya esta lo tengo todo resuelto ERES MI DIOOOOOOS

TE mereces esos puntos que te han dado mil graciaaaaaaaaaaaaaaaaaaas!! visita mi web si te gusta el buen vino aprobecha hay buenos precios. un saludo.
Me alegra que te halla servido.

Te quedo bien buena la pagina!! Felicidades!

Un Saludo
  #16 (permalink)  
Antiguo 17/05/2012, 08:28
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

Muchisisisiismas gracias con lo que me has ayudado tú ha sido la guinda del pastel.
Eres un fenómeno mil gracias de nuevo por tu atención y dedicación, un saludo.
  #17 (permalink)  
Antiguo 09/04/2013, 14:12
lbp
 
Fecha de Ingreso: abril-2013
Ubicación: CATALUNYA
Mensajes: 17
Antigüedad: 11 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

He seguido estos mismo pasos para crear mi formulario ( o eso he intentado ) y en vez de mandarme nada, me salta un error 404 de la web y ya no se donde mas buscar.

He creado un archivo .php como el del ejemplo que adjunto a continuación.

<?php
$mensaje = "Mensaje:

\n";
$mensaje .= "Nombre: ". $_POST['p1'];
$mensaje .= "

Email: ". $_POST['p2'];
$mensaje .= "

Mensaje: ". $_POST['textarea'];

mail('[email protected]', 'Pregunta pagina web', $mensaje);

if(mail('[email protected]', 'Pregunta pagina web', $mensaje)){
header("Location: http://www.aplusclima.com/contacts.html/");
}else{
echo "Ocurrio un error";
}
?>

y el código del formulario es el siguiente,

<h2 class="p0">Formulario de Contacto</h2>
<form id="contact-form" action="mail.php" method="post" enctype="multipart/form-data">
<fieldset>
<label><span class="text-form">Nombre:</span><input name="p1" type="text" /></label>
<label><span class="text-form">Email:</span><input name="p2" type="text" /></label>
<div class="wrapper"><div class="text-form">Texto:</div><textarea></textarea></div>
<div class="buttons">
<a class="button-2" href="#" onClick="document.getElementById('contact-form').reset()">Borrar</a>
<a class="button-2" onClick="document.getElementById('contact-form').submit()">Enviar</a>
</div>
</fieldset>
</form>

que se puede ver en www.aplusclima.com/contacts.html


la cosa es que me llegan los mail, pero cuando le das al botón "enviar" me dirige a un erro de pagina 404

Saludos
  #18 (permalink)  
Antiguo 09/04/2013, 22:53
lbp
 
Fecha de Ingreso: abril-2013
Ubicación: CATALUNYA
Mensajes: 17
Antigüedad: 11 años
Puntos: 1
Respuesta: Arto con el formulario de mi web

Please........... ninguna idea????
Me envía el mail dos veces a mi correo, pero una vez enviado, me dirige a la dirección www.aplusclima.com/mail.php y , claro, me da error de pagina 404.

Saludos

Etiquetas: formulario, html
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 21:44.