foros.vulkano.com
 FAQFAQ   BuscarBuscar   RegistrarseRegistrarse   PerfilPerfil    LoginLogin 
Crear un formulario de contacto con PHP
Ir a página 1, 2  Siguiente
Publicar nuevo tema   Responder al tema    Foros de discusión -> Foro Diseño Web
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
CARSANTEL
Invitado





MensajePublicado: Lun Ene 24, 2005 12:52 pm    Asunto: Crear un formulario de contacto con PHP Responder citando

Hola, no tengo ni idea de PHP, entiendo muy poco el HTML, pero si pudieseis ayudarme a crear un formulario de envío de mail sin que el usuario tenga que usar su e-mail. Muchas gracias, no se si me e explicado bien cualquier consulta, aquí carsan@carsantel.com
Shocked
Volver arriba
Vulkano
Site Admin


Registrado: 25 Oct 2004
Mensajes: 170

MensajePublicado: Lun Ene 24, 2005 1:01 pm    Asunto: Responder citando

Hola Carsantel,

Para enviar los datos de un formulario mediante PHP puedes utilizar el código que te enviamos a continuación. Sólo tienes que personalizar las variables de configuración, guardarlo en un fichero con extensión .php y hacer que el formulario envie los datos mediante el método POST a este fichero.

Código:

<?php
/* Variables de  configuración */

$de = 'nombre@dominio.com';        // Remitente del mensaje
$para = 'nombre@dominio.com';      // Destinatario del mensaje
$asunto = 'Formulario web';        // Asunto del mensaje
$pagina_final = 'fin.html';        // Página a redirigir tras el envío

/* Fin configuración */

if ($_POST) { $campos = $_POST;
} else { die('ERROR: Formulario sin datos.');
}

while ( list($key,$val) = each($campos) ) {
   $message.= "$key: $val\r\n";
}

mail($para,$asunto,$message,"From: $de","-f$de");

header("Location: $pagina_final");
?>


Saludos,
_________________
VULKANO SERVICIOS TÉCNICOS S.L.
Alojamiento Web, Hosting, Registro de Dominios
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
CARSANTEL
Invitado





MensajePublicado: Mie Ene 26, 2005 11:07 am    Asunto: Gracias por el código, pero tengo alguna duda. Responder citando

Hola, otra vez. tengo un formulario de envío que lo mando al archivo que he creado con el código que me diste y se llama cont.php. Pero al pulsar el boton enviar no lo manda al archivo cont.php si no a: http://www.carsantel.com/_derived/nortbots.htm.
El código de mi formulario es el siguiente:

<html>

<head>
<meta http-equiv="Content-Language" content="es">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nombre</title>
</head>

<body>

<form method="POST" action="cont.php" onSubmit="location.href='cont.php';return false;" webbot-onSubmit>
<!--webbot bot="SaveResults" s-label-fields="TRUE" u-file="http://www.carsantel.com/cont.php" s-format="TEXT/CSV" startspan --><strong>[Componente Guardar resultados de FrontPage]</strong><!--webbot bot="SaveResults" endspan i-checksum="47215" --><div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="52%" id="AutoNumber1" height="1">
<tr>
<td width="50%" height="22">Nombre:</td>
<td width="50%" height="22"> <input type="text" name="T1" size="20"></td>
</tr>
<tr>
<td width="50%" height="22">Apellidos:</td>
<td width="50%" height="22"> <input type="text" name="T2" size="20"></td>
</tr>
<tr>
<td width="50%" height="22">E-mail: </td>
<td width="50%" height="22"> <input type="text" name="T3" size="20"></td>
</tr>
<tr>
<td width="50%" height="21">Repite el e-mail:</td>
<td width="50%" height="21"> <input type="text" name="T4" size="20"></td>
</tr>
<tr>
<td width="50%" height="1">Observaciones:</td>
<td width="50%" height="1" rowspan="2">
<textarea rows="10" name="S1" cols="30"></textarea></td>
</tr>
<tr>
<td width="50%" height="9">&nbsp;<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</td>
</tr>
<tr>
<td width="50%" height="19">
<input type="submit" value="Enviar" name="B1" style="float: right"></td>
<td width="50%" height="19"><input type="reset" value="Restablecer" name="B2"></td>
</tr>
</table>
</center>
</div>
</form>

</body>

</html>

Estoy haciendo el formulario con Frontpage, es el programa que se usar y el Dreamweaver no se me da muy bien. Pero me imagino que será alguna línea que este mal.

El código de cont.php una vez modificado del tuyo es el siguiente:
<?php
/* Variables de configuración */

$de = 'nombre@dominio.com'; // Remitente del mensaje
$para = 'form@carsantel.com'; // Destinatario del mensaje
$asunto = 'Contacto web'; // Asunto del mensaje
$pagina_final = 'final.htm'; // Página a redirigir tras el envío

/* Fin configuración */

if ($_POST) { $campos = $_POST;
} else { die('ERROR: Formulario sin datos.');
}

while ( list($key,$val) = each($campos) ) {
$message.= "$key: $val\r\n";
}

mail($para,$asunto,$message,"From: $de","-f$de");

header("Location: $pagina_final");
?>

MUCHAS GRACIAS POR TU TIEMPO!!!! ESPERO TU RESPUESTA.
Volver arriba
Vulkano
Site Admin


Registrado: 25 Oct 2004
Mensajes: 170

MensajePublicado: Mie Ene 26, 2005 12:35 pm    Asunto: Responder citando

Antes de nada, según mi experiencia personal, te recomendaría usar cualquier otro programa de diseño antes que Front Page, ya que este tiene tendencia a provocar errores como este.

Revisando el código de tu página creo que el problema viene por la sección que rodea al inicio de tu formulario. Prueba a poner esto en su lugar:

Código:

<body>

<form method="POST" action="cont.php">
<div align="center">
<center>


Saludos,
_________________
VULKANO SERVICIOS TÉCNICOS S.L.
Alojamiento Web, Hosting, Registro de Dominios
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
CARSANTEL
Invitado





MensajePublicado: Mie Ene 26, 2005 5:40 pm    Asunto: Responder citando

MUCHAS GRACIAS DE NUEVO,

Modifiqué esa línea y ahora lo que me aparece es un mensaje distinto, pero no va a la página final, si no a una distinta, y me aparece el siguiente mensaje:

Method Not Allowed
The requested method POST is not allowed for the URL /form.htm.


--------------------------------------------------------------------------------

Apache/1.3.26 Server at carsantel.com Port 80


No se qué puede significar o qué estoy haciendo mal.

Mi codigo de la página sigue siendo el mismo modificando lo que me dijiste. Mi pregunta es: Si no es mucho pedir podrías hacerme un formulario básico tu, que lo envie perfectamente y yo solo le modifico los campos. si te parece bien, si no, ya me has ayudado bastante, GRACIAS.
Volver arriba
Vulkano
Site Admin


Registrado: 25 Oct 2004
Mensajes: 170

MensajePublicado: Mie Ene 26, 2005 5:52 pm    Asunto: Responder citando

Este error normalmente se produce si no has definido el destino del formulario mediante el atributo "action". Por favor, verifica que la etiqueta "<form>" contiene lo siguiente:

<form method="POST" action="cont.php">

Saludos,
_________________
VULKANO SERVICIOS TÉCNICOS S.L.
Alojamiento Web, Hosting, Registro de Dominios
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
CARSANTEL
Invitado





MensajePublicado: Mie Ene 26, 2005 6:51 pm    Asunto: MUCHISIMAS GRACIAS POR TODO Responder citando

MUCHISIMA GRACIAS POR TODO!!!! YA ME FUNCIONA Very Happy

GRACIAS DE NUEVO, Y EN UNOS DIAS NO DEJEIS DE VISITAR WWW.CARSANTEL.COM
Y MI TIENDA EN MADRID.
GRACIAS Y MIL GRACIAS.

UN SALUDO, CARLOS SANTOS.
Volver arriba
SkateJack
Invitado





MensajePublicado: Dom Abr 17, 2005 1:42 am    Asunto: Ayuda!! Responder citando

Bueno, primero que nada gracias, porque su codigo de fuente de arriba me fue util..

el tema es que los datos sacados el form, no llegan al fichero php...
Porqué no sé...

me decia, "error: formulario sin datos", etc..
Saque el If, y ta, lo envia
pero llega en blanco..

que pasa??
porque no llegan los datos?? Rolling Eyes

Gracias!
Volver arriba
Vulkano
Site Admin


Registrado: 25 Oct 2004
Mensajes: 170

MensajePublicado: Mie Abr 20, 2005 6:51 pm    Asunto: Responder citando

Hola SkateJack,

Seguramente estas enviando los datos del formulario por el método GET en lugar del POST del ejemplo. Prueba a cambiar la siguiente línea en el código PHP del script:

Código:

if ($_POST) { $campos = $_POST;


por esto:

Código:

if ($_GET) { $campos = $_GET;
 


Saludos,
_________________
VULKANO SERVICIOS TÉCNICOS S.L.
Alojamiento Web, Hosting, Registro de Dominios
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
Invitado






MensajePublicado: Lun Jun 06, 2005 5:49 pm    Asunto: Responder citando

Hola Vulkano,

En primer lugar, agradecerte las explicaciones que das y que me están siendo de gran utilidad.

Si no te importa, abuso un poco de tu buena voluntad para preguntarte algo sobre estos formularios en .php.

Tras mucho buscar en la red, el tuyo es el único que me funciona (soy demasiado novato). Sin embargo, una vez enviado el formulario me da 3 problemas:

1,. No revisa si está en blanco o no (lo hace el propio cont.php?)

2.- Me redirige a una página diferente a la de "gracias.htm" que tengo creada y me da el siguiente mensaje:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/congeladosjuldan/juldan/cont.php:9) in /var/www/congeladosjuldan/juldan/cont.php on line 29


3.- El formulario me viene al correo electrónico como "nombre@dominio.com". ¿Hay alguna fórmula para que aparezca el correo de quien lo envía?

Gracias por anticipado
Volver arriba
Invitado






MensajePublicado: Mar Jun 07, 2005 7:59 pm    Asunto: Responder citando

ya está solucionado.

El problema era que en el documento "cont.php" no hay que poner <html><body> etc, sólo el codigo que está indicado arriba

Saludos,
Volver arriba
Luis
Invitado





MensajePublicado: Vie Jun 17, 2005 2:43 am    Asunto: husmeando Responder citando

hola yo andaba buscando un formulario y este es el unico que me ha funcionado correctamente WoW! gracias Vulkano y esta pagina esta en mis BOOKMARKS jejejs asi ke les dare un pokitin de molestia. Saludos
Volver arriba
Tabunk



Registrado: 16 Jun 2005
Mensajes: 3

MensajePublicado: Vie Jun 17, 2005 2:48 am    Asunto: Responder citando

Realmente ya me estoy enfadando bastante :@

Llevo unas 4 horas intentando de q funcione pero no sucede nada de nada
Abri un nuevo tema para ver si me podian ayudar y aun nada :s

Aqui les dejo un poco de informacion para ver si me pueden ayudar

La web la estoy hosteando en mi maquina con APACHE SERVER

Hago todo tal cual como lo indican en el post pero aun no sucede nada
Alguien me va a brindar ayuda plis ?

mi msn es dannykey3@hotmail.com , si alguien me pudise ayudar por ahi seria genial

Atte
Dannyk Astudillo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Pilar
Invitado





MensajePublicado: Jue Jun 30, 2005 1:17 am    Asunto: formulario Responder citando

hola me llamo Pilar y yo uso Front Pge kisiera ke me ayuden a crear un formulario de datos y ke me llegue a mi mail toda la informacion, sé qe esto es posible pero no se como hacerlo, gracias de antemano.
Pilar
Volver arriba
Vulkano
Site Admin


Registrado: 25 Oct 2004
Mensajes: 170

MensajePublicado: Jue Jun 30, 2005 2:27 pm    Asunto: Responder citando

Hola Pilar,

Siento no poder ayudarte pero no ofrecemos soporte sobre el uso de programas especificos. Tal vez si tu alojamiento dispone de PHP puedes utilizar los ejemplos de este foro. Si no, a lo mejor algun usuario de Front Page te puede echar una mano.

Saludos,
_________________
VULKANO SERVICIOS TÉCNICOS S.L.
Alojamiento Web, Hosting, Registro de Dominios
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Publicar nuevo tema   Responder al tema    Foros de discusión -> Foro Diseño Web Todas las horas son GMT + 1 Hora
Ir a página 1, 2  Siguiente
Página 1 de 2

 
Cambiar a:  
Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro


Powered by phpBB © 2001, 2002 phpBB Group - Archivo Foros
Oferta Alojamiento Web