Foros del Web » Programando para Internet » PHP »

enviar formulario al correo

Estas en el tema de enviar formulario al correo en el foro de PHP en Foros del Web. Hola, me ha surjido una duda a la hora de mandar un formulario a una direccion de correo.. lo que quiero es que el usuario ...
  #1 (permalink)  
Antiguo 09/05/2011, 05:53
 
Fecha de Ingreso: julio-2006
Mensajes: 44
Antigüedad: 17 años, 9 meses
Puntos: 2
enviar formulario al correo

Hola, me ha surjido una duda a la hora de mandar un formulario a una direccion de correo.. lo que quiero es que el usuario introduzca los datos en un formulario y al presionar en "enviar" todos los campos del formulario se envien a una direccion de correo visualizando la informacion de forma ordenada.... una vez que el formulario se envia, aparece un mensaje como "mensaje enviado correctamente"
El caso es que con el codigo que tengo, cuando presiono el boton "enviar" parece que se envia e incluso me aparece el mensaje de confirmacion ..pero no recibo nada en mi correo...el correo es una cuenta de hotmail...
Os pongo el codigo que tengo, por si alguien pudiera indicarme que es lo que hago mal.
Gracias de antemano.

<?php
if (!$HTTP_POST_VARS) {
?>
<form id="form2" name="formcitas" method="post" action="">
<div id="labeles">
<label for="nombre" id="nombre">Nombre y apellidos</label>
<br /><br />
<label for="marca" id="marca">Marca</label>
<br /><br />
<label for="modelo" id="modelo">Modelo</label>
<br /><br />
<label for="telefono" id="telefono">Telefono</label>
<br /><br />
<label for="correo" id="correo">Correo de contacto</label>
<br /><br />
<label for="tipo" id="tipo">Tipo de reparación</label>
<br /><br /><br />
<label for="dia" id="dia">Dia deseado</label>
</div>
<div id="cajas">
<input name="nombre" type="text" id="nombre" />
<br /><br />
<input name="marca" type="text" id="marca" />
<br /><br />
<input name="modelo" type="text" id="modelo" />
<br /><br />
<input name="telefono" type="text" id="telefono" />
<br /><br />
<input name="correo" type="text" id="correo" />
<br /><br />
<textarea name="tipo" id="tipo"></textarea>
<br /><br /><br />
<input name="dia" type="text" id="dia" />
</div>
<div style="clear:both; height:2px;">
</div>
<div id="botonenviar">
<input type="submit" name="boton" id="boton" value="Enviar"/>
</div>
</form>
<?php
}else{
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Marca: " . $HTTP_POST_VARS["marca"] . "\n";
$cuerpo .= "Modelo: " . $HTTP_POST_VARS["modelo"] . "\n";
$cuerpo .= "Telefono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "Tipo de reparacion: " . $HTTP_POST_VARS["tipo"] . "\n";
$cuerpo .= "Correo: " . $HTTP_POST_VARS["correo"] . "\n";
$cuerpo .= "Dia deseado: " . $HTTP_POST_VARS["dia"] . "\n";
//manda el correo
mail("[email protected]","Formulario recibido",$cuerpo);
//damos las gracias por el envio
echo "El formulario se ha enviado correctamente. Nos pondremos en contacto con usted lo antes posible";
}
?>
  #2 (permalink)  
Antiguo 09/05/2011, 07:29
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: enviar formulario al correo

primero que nada cambia esto:
$HTTP_POST_VARS
por $_POST
ya que HTTP_POST_VARS esta obsoleta

y tambien podes agregar un if

if(mail("[email protected]","Formulario recibido",$cuerpo))
echo ''ok'';
else
echo 'algo no funciona';

y por ultimo usa una cuenta gmail que anda si o si
el hotmail es medio malo para estas cuestiones
  #3 (permalink)  
Antiguo 09/05/2011, 09:20
 
Fecha de Ingreso: julio-2006
Mensajes: 44
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: enviar formulario al correo

Gracias por tu respuesta Patriarka.. ya he resuelto lo de mandar el email... me llega a mi correo y con la informacion ordenada (como bien me dijiste, a la de hotmail no llega, pero si a la que tengo en mi dominio)..el caso es que me crecen los enanos.... ahora una vez que he conseguido que me llege el email, lo que pretendia era que esos mismos datos que se han enviado se almacenasen en una BD que tengo creada en MYSQL.... ahora cuando me meto en la pagina del formulario me pone el siguiente error:

Warning: require_once(../Connections/drcoche.php) [function.require-once]: failed to open stream: No such file or directory in /homepages/28/d343146511/htdocs/wsb6034691001/citas2.php on line 1

Fatal error: require_once() [function.require]: Failed opening required '../Connections/drcoche.php' (include_path='.:/usr/lib/php5') in /homepages/28/d343146511/htdocs/wsb6034691001/citas2.php on line 1

No se si sera porque a un formulario no se le pueden añadir varias acciones.... o si se puede, lo estare haciendo mal....
Agradecere cualquier ayuda.
  #4 (permalink)  
Antiguo 09/05/2011, 09:37
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: enviar formulario al correo

y bueno fijate que este archivo este bien direccionado
drcoche.php
te recomiendo q uses paths absolutos
  #5 (permalink)  
Antiguo 09/05/2011, 11:24
 
Fecha de Ingreso: julio-2006
Mensajes: 44
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: enviar formulario al correo

bueno...pues ahora he conseguido que este error no m salga..... he empezado desde el principio y los datos se almacenan en la BD... pero ahora lo que no consigo es que me made el email....y creo que es simplemente cosa de añadir 2 acciones al formulario..una que me añada los registros y otra que vaya a enviar.php.....pero no se si esto se puede hacer.... se pueden añadir 2 acciones a un formulario????
Seleccionando el formulario, en la casilla "Accion", abajo en el panel propiedades tengo el siguiente script.."<?php echo $editFormAction; ?>"..que me lo añade correctamente...ahora tengo que buscar la forma de añadirle otra accion...
Gracias de nuevo.

Etiquetas: correo, formulario
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 02:32.