Foros del Web » Programando para Internet » PHP »

Enviar el dichoso formulario directamente

Estas en el tema de Enviar el dichoso formulario directamente en el foro de PHP en Foros del Web. Hola a todos... Bueno trabajo con unicamente dreamweaver y necesito un formulario para mi web que sea: nombre email mensaje botones: enviar y restablecer hacerlo ...
  #1 (permalink)  
Antiguo 22/04/2009, 09:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Enviar el dichoso formulario directamente

Hola a todos... Bueno trabajo con unicamente dreamweaver y necesito un formulario para mi web que sea:
nombre
email
mensaje
botones: enviar y restablecer

hacerlo es facil pero lei por ahi y primero loo hice poniendo: mailto:correoarrobaloquesea.com y bueno el formulario no se enviaba directamente (como era de esperar)

lo que necesito es que se envie a la direccion de correo mia al pulsar enviar y que al darle te transporte a otra pagina en la que previamente pondre: formulario enviado correctamente...

Estube leyendo y encontre varios codigos pero no sabia configurar ninguno... posiblemente por el php del cual ando muy negado >.<

Podria ser que alguien me pudiera proporcionar un codigo que tan solo tubiera que pegar en el dreamweaver y sustituir los correos?

muchas gracias. ando loco con este tema ;)

Última edición por leyendacloud; 22/04/2009 a las 12:21
  #2 (permalink)  
Antiguo 22/04/2009, 10:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Enviar el dichoso formualrio directamente

Tema trasladado desde PHP Configuración
  #3 (permalink)  
Antiguo 22/04/2009, 11:10
Avatar de _eNGeLs_  
Fecha de Ingreso: noviembre-2007
Ubicación: CDE, Paraguay
Mensajes: 278
Antigüedad: 16 años, 4 meses
Puntos: 4
Respuesta: Enviar el dichoso formualrio directamente

un ejemplo del php que procesa los datos del formulario..

Código PHP:
//Enviar los datos a $email
mail($email,"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]");
//Rredireccionar
header("Location: pagina.html"); 
salu2!
__________________

  #4 (permalink)  
Antiguo 22/04/2009, 11:17
 
Fecha de Ingreso: abril-2009
Ubicación: Cuba
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: Enviar el dichoso formualrio directamente

Busca el PHPMailer, es el paquete más completo que hay para envío de correo con imagenes y código html embebido.

Saludos.
  #5 (permalink)  
Antiguo 22/04/2009, 11:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Enviar el dichoso formualrio directamente

Cita:
Iniciado por _eNGeLs_ Ver Mensaje
un ejemplo del php que procesa los datos del formulario..

Código PHP:
//Enviar los datos a $email
mail($email,"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]");
//Rredireccionar
header("Location: pagina.html"); 
salu2!
perdona mi enorme ignorancia pero donde pego eso? este es el codigo de mi formulario (html):

<form name="form1" method="post" action="">
<p>Nombre
<input type="text" name="textfield">
</p>
<p>Email
<input type="text" name="textfield2">
</p>
<p>Mensaje</p>
<p>
<textarea name="textarea" cols="50" rows="7"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="Enviar">
<input type="reset" name="Submit2" value="Restablecer">
</p>
</form>

en php soy nulo >.<
  #6 (permalink)  
Antiguo 22/04/2009, 16:32
Avatar de _eNGeLs_  
Fecha de Ingreso: noviembre-2007
Ubicación: CDE, Paraguay
Mensajes: 278
Antigüedad: 16 años, 4 meses
Puntos: 4
Respuesta: Enviar el dichoso formulario directamente

ok, basicamente lo que debes hacer es, en la pagina HTML, al atributo action ponerle como valor el nombre del archivo PHP que procesara los datos.. ej "proceso.php".

-----

Y creas un archivo php (proceso.php) con el codigo que postee anteriormente, modificas el email a donde enviar los datos y la pagina a redireccionar y deberia estar listo

salu2
__________________

  #7 (permalink)  
Antiguo 22/04/2009, 21:38
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Enviar el dichoso formulario directamente

además agrega un exit después del header para aseguarte que no ejecutará más códigos.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #8 (permalink)  
Antiguo 24/04/2009, 14:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Enviar el dichoso formulario directamente

Bueno lo cierto es que lo explicaron muy bien... pero lo que no se es: el proceso.php lo puedo hacer con dreamweaver? si es asi... donde pego el codigo?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1">
<meta http-equiv="" content="text/html; charset=iso-8859-1">
</head>

<body>

</body>
</html>

esto es lo que sale generalmente en un archivo nuevo...


y mi otra duda era que solo se han de sustituir los que estan en rojo verdad?
y luego el exit donde lo pongo?

//Enviar los datos a $aqui el mail
mail($email,"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]");
//Rredireccionar
header("Location: pagina.html");



Gracias por adelantado.. admiro su paciencia >.<
  #9 (permalink)  
Antiguo 24/04/2009, 15:43
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Enviar el dichoso formulario directamente

en cualquier editor de texto, pero al momento de guardar, debes de hacerlo con la extensión php, si sólo procesa no debes de poner etiquetas html y aún cuando vas a utilizar header, además después de este último acostúmbrate a poner exit para aegurarte que no se jecutará más códigos.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #10 (permalink)  
Antiguo 25/04/2009, 04:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Enviar el dichoso formulario directamente

Bueno lo intente y cuando le di a enviar me salio una pagina en blanco con lo siguiente:
//Enviar los datos a [email protected] mail($email,"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]"); //Rredireccionar header("Location: /index.htm");

puse que se redireccionara a index.htm para probar...

que ocurre? parece que no lo procesa.

OS DEJO EL CODIGO DE proceso.php:

Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
//Enviar los datos a [email protected]
mail($email,"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]");
//Rredireccionar
header("Location: /index.htm");


<body>

</body>
el exit lo he de poner tal cual?
//Enviar los datos a $email
mail($email,"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]");
//Rredireccionar
header("Location: pagina.html"); exit

algo asi? >.< me parece que no >.<
  #11 (permalink)  
Antiguo 25/04/2009, 04:31
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Enviar el dichoso formulario directamente

El codigo que te pasaron lo has puesto entre las etiquetas <?php y ?> ???.

El codigo quedaria asi:

Código PHP:
<?php
//Enviar los datos a $email 
mail($email,"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]"); 
//Rredireccionar 
header("Location: pagina.html");
?>
Edito: el exit creo que hay que ponerlo asi tal cual:
exit;
De todas formas ya te lo confirmaran los fenomenos de este foro

Última edición por rompeguesos; 25/04/2009 a las 04:32 Razón: se me olvido el exit;
  #12 (permalink)  
Antiguo 25/04/2009, 08:45
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Enviar el dichoso formulario directamente

no puse el exit y bueno creo que lo psue todo bien.. este fue el resultado

una pagina en blanco y salia esto:
Warning: mail() [function.mail]: Safety Restriction in effect. The mail() command is not allowed, contact the admin. in /www/110mb.com/a/d/d/i/c/t/_/_/addict/htdocs/proceso.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /www/110mb.com/a/d/d/i/c/t/_/_/addict/htdocs/proceso.php:3) in /www/110mb.com/a/d/d/i/c/t/_/_/addict/htdocs/proceso.php on line 5



sustitui los dos $email por el mio y puse index.htm y bueno ahora me salio esto:


Parse error: syntax error, unexpected '@' in /www/110mb.com/a/d/d/i/c/t/_/_/addict/htdocs/proceso.php on line 3

Última edición por leyendacloud; 25/04/2009 a las 09:07
  #13 (permalink)  
Antiguo 26/04/2009, 07:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Enviar el dichoso formulario directamente

porfavor, necesito el codigo para abrir mi web..
Porque no funciona?

gracias
  #14 (permalink)  
Antiguo 26/04/2009, 07:29
Avatar de _eNGeLs_  
Fecha de Ingreso: noviembre-2007
Ubicación: CDE, Paraguay
Mensajes: 278
Antigüedad: 16 años, 4 meses
Puntos: 4
Respuesta: Enviar el dichoso formulario directamente

el primer error es porque tienes desabilitado el envio de emails con la funcion 'mail()'

y el segudno es porque la funcion 'header()' debe ir antes que cualquier otro codigo html

salu2
__________________

  #15 (permalink)  
Antiguo 26/04/2009, 09:24
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Enviar el dichoso formulario directamente

como que antes que cualquier codigo html?
<?php
//Enviar los datos a [email protected]
mail([email protected]),"Datos Formulario","Nombre: $_POST[nombre], Email: $_POST[email], Mensaje: $_POST[mensaje]");
//Rredireccionar
header("Location: index.htm");
?>

antes no hay nada



de verdad que no lo entiendo >.<
  #16 (permalink)  
Antiguo 26/04/2009, 13:25
Avatar de _eNGeLs_  
Fecha de Ingreso: noviembre-2007
Ubicación: CDE, Paraguay
Mensajes: 278
Antigüedad: 16 años, 4 meses
Puntos: 4
Respuesta: Enviar el dichoso formulario directamente

entonces puede que tu proveedor de hosting agregue algo antes de que se procese el codigo php, suele pasar en hostings gratuitos, donde agregan publicidad..

estas en un server gratuito? o puede ser otra cosa.
__________________

  #17 (permalink)  
Antiguo 28/04/2009, 10:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Enviar el dichoso formulario directamente

si estoy en uno gratuito pero no tiene publicidad (110mb), salvo la que pongo yo (adsense) la cual no he puesto en el formulario.

Es posible que sea por el servidor de envio de correo o algo asi que lei por ahi?

es que no se que ocurre de verdad..

No entiendo porque tanta complicacion para un formulario..
Gracias de nuevo
  #18 (permalink)  
Antiguo 28/04/2009, 10:28
Avatar de jaao_death  
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
Respuesta: Enviar el dichoso formulario directamente

al parecer, no entiendes nada de php, si quieres que te explique empiezo:

1º php es un código de programación interpretado, lo que quiere decir que el servidor debe entender php, esto es, tener un motor de php instalado junto al servidor web. (Al parecer en este caso se cumple el requisito).

2º si quieres enviar un correo con los datos que necesitas, debes saber que no puedes crear un formulario en html, que lo envie directamente, porque en realidad HTML es un código que sirve para presentar diseño y poco más, con lo cual debes crear un formulario que envíe los datos a tu server '<form action="procesar.php" method="post">' y posteriormente crear el archivo procesar.php que no debe tener más datos que código php, es decir, nada de <!DOCTYPE....> ni nada, o por lo menos en este caso no debería.
el archivo sería de este estilo.

Código PHP:
<?php
 
//Codigo de php
?>
luego lo que debes de hacer es recibir los datos enviados por el cliente mediante la variable $_POST['htmlName'] donde htmlName es el noMbre dado para cada INPUT del formulario. Posteriormente lo que debes de hacer es enviar el correo con los datos que quieras, yo te recomendaría informarte de cómo funciona esta función mail(), y luego que le añadas una comprobación de los datos y algo de seguridad, pues un mail bombing sería debastador pero muy fácil de hacer.


POR OTRO LADO

lo que está claro es que tu servidor no te ha habilitado la opcion mail(), esto es lo que tiene no pagar un buen hosting, o lo que es parecido, no buscar el mejor free hosting . y el segundo error te aparece puesto que la negación de la ejecucion de mail():

Warning: mail() [function.mail]: Safety Restriction in effect. The mail() command is not allowed, contact the admin. in /www/110mb.com/a/d/d/i/c/t/_/_/addict/htdocs/proceso.php on line 3


Ya ha enviado datos al cliente, cosa que imposibilita la manipulación del header:

header('location: index.html');

disparando un error:

Warning: Cannot modify header information - headers already sent by (output started at /www/110mb.com/a/d/d/i/c/t/_/_/addict/htdocs/proceso.php:3) in /www/110mb.com/a/d/d/i/c/t/_/_/addict/htdocs/proceso.php on line 5

así que lo que te recomiendo es que busques ayuda profesional, o lo que no es muy bueno: que aprendas php y mejor HTML para así diseñar aplicaciones más potentes y rígidas, sin que te confundas y que por lo menos entiendas lo que te dicen los participantes de este foro...
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 07:33.