Foros del Web » Programando para Internet » PHP »

Formulario por mail, todos los fields menos uno.

Estas en el tema de Formulario por mail, todos los fields menos uno. en el foro de PHP en Foros del Web. Bueno como dice el titulo, estoy tratando de levantar los datos de unos campos de un form y enviarlos a una casilla de mail. Lo ...
  #1 (permalink)  
Antiguo 10/08/2010, 09:10
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 2
Formulario por mail, todos los fields menos uno.

Bueno como dice el titulo, estoy tratando de levantar los datos de unos campos de un form y enviarlos a una casilla de mail.
Lo raro es que me levanta todos los campos, excepto el del mensaje.

Este es el código, que supongo que es correcto...

Código:
<?php
if($_POST){
		$fecha=date("d/m/y - H:i");
		$mensaje="Tenés un nuevo mensaje desde el Sitio WEB: <br>";
		$mensaje.="Fecha: ".$fecha."<br><br>";

		
		$mensaje.="--- Datos de contacto ---<br><br><br>";
		
		$mensaje.="Asunto: ".$_POST['asunto']."<br>";
		$mensaje.="Nombre: ".$_POST['nombre']."<br>";
		$mensaje.="Institucion: ".$_POST['institucion']."<br>";
		$mensaje.="Provincia/Ciudad: ".$_POST['provincia']."<br>";
		$mensaje.="Telefono: ".$_POST['telefono']."<br>";
		$mensaje.="E-Mail: ".$_POST['email']."<br>";
		$mensaje.="Consulta: ".$_POST['mensaje']."<br>";
	
		$mensaje.="--- Fin datos de contacto ---<br>";
		
		$headers  = "Content-type: text/html\r\n";
		$headers .= "From: midominio.com.ar <[email protected]>\r\n";
		if(mail("[email protected]", "Comentario desde la Web", $mensaje, $headers)){
		
		$estado="Su Consulta ha sido enviada satisfactoriamente";
		
		}
}else{
	
	$estado="Haga su consulta completando el formulario. Gracias.";
	
	}
?>
Código:
<div class="cont_title"><?php echo $estado; ?></div>
       
       <form onSubmit="return validar(this)" name="formulario" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
	    <input name="asunto" type="text" id="asunto" />
		<label>Asunto(*)</label>
		<input name="nombre" type="text" id="nombre" />
		<label>Nombre(*)</label>
		<input name="institucion" type="text" id="institucion" />
		<label>Institución</label>
		<input name="provincia" type="text" id="provincia" />
		<label>Prov./Ciudad</label>
		<input name="pais" type="text" id="pais" />
		<label>Pais</label>
		<input name="telefono" type="text" id="telefono" />
		<label>Teléfono(*)</label>
		<input name="email" type="text" id="email" />
		<label>E-Mail(*)</label>
		<textarea name="mensaje" id="mensaje"></textarea>
		<label>Mensaje(*)</label>
		<p class="register">(*)Campos Requeridos</p>
	    <input type="submit" name="login" value="ENVIAR" class="go" />
        </form>
La verdad no encuentro el error...

si alguien me puede dar una mano, agradecido....
  #2 (permalink)  
Antiguo 10/08/2010, 09:42
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
De acuerdo Respuesta: Formulario por mail, todos los fields menos uno.

Publica el codigo de la funcion validar(), pues en el html ni en el php veo errores en cuanto al mensaje. Estaria bien.
__________________
Juguetes Sexuales
  #3 (permalink)  
Antiguo 10/08/2010, 09:51
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Formulario por mail, todos los fields menos uno.

richicasas, gracias por responder tan pronto

dejo el codigo de la funcion validar...a ver si econtras algo

Código:
function validar(formulario){ 
  
  if(formulario.asunto.value == ''){
    alert('Por favor ingrese motivo de su consulta'); 
    formulario.asunto.focus(); 
    return false; 
  }
  if(formulario.nombre.value == ''){   
    alert(' Por favor ingrese su nombre');    
    formulario.nombre.focus(); 
    return false; 
  } 
  
 if(formulario.telefono.value == ''){ 
    alert('Por favor ingrese su teléfono'); 
    formulario.telefono.focus(); 
    return false; 
  }

if(formulario.email.value == ''){
    alert('Por favor ingrese su dirección de e-mail'); 
    formulario.email.focus(); 
    return false; 
  }
 
if(formulario.mensaje.value == ''){ 
    alert('Por favor ingrese sus comentarios'); 
    formulario.mensaje.focus(); 
    return false; 
  }
  return true; 
}
saludos!
  #4 (permalink)  
Antiguo 10/08/2010, 09:58
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
De acuerdo Respuesta: Formulario por mail, todos los fields menos uno.

Pues no veo ningun error.
A mi me funciono perfecto.
__________________
Juguetes Sexuales
  #5 (permalink)  
Antiguo 10/08/2010, 10:10
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Formulario por mail, todos los fields menos uno.

que onda, sera algo en el server??
por que puede ocurrir algo asi?

gracias por tu tiempo, master....
  #6 (permalink)  
Antiguo 10/08/2010, 10:12
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
De acuerdo Respuesta: Formulario por mail, todos los fields menos uno.

Lo curioso es que manda los demas datos.
Si rellenaste el campo MENSAJE???
Te llega el correo con todos los datos excepto MENSAJE??
o estas haciendo un echo antes de enviar para verificar si el formulario si se procesa bien ???
__________________
Juguetes Sexuales
  #7 (permalink)  
Antiguo 10/08/2010, 10:16
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Formulario por mail, todos los fields menos uno.

Los campos los completo todos (incluso los que no estan validados)
y al mail llegan todos menos "mensaje"

En un par de ocaciones tampoco llegó el campo "institucion"
  #8 (permalink)  
Antiguo 10/08/2010, 10:23
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
De acuerdo Respuesta: Formulario por mail, todos los fields menos uno.

Has un echo antes de enviar haber si te llega el valor de mensaje. Si te llega diria que es problemas de tu server. Sino, pues no sabria ya que a mi me funciona y el form esta bien.
__________________
Juguetes Sexuales
  #9 (permalink)  
Antiguo 10/08/2010, 10:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Formulario por mail, todos los fields menos uno.

Se solucionó, richi!!!

Cambié esto

$mensaje.="Consulta: ".$_POST['mensaje']."<br>";

Por esto

$mensaje.="Consulta: ".$_POST['consulta']."<br>";


y también aca...

<textarea name="consulta" id="consulta"></textarea>
<label>Mensaje(*)</label>

Se me ocurrió hacerlo ya que coincidía el id con el nombre de la variable...
No se si tiene algo que ver, pero ahora funciona...


gracias por la ayuda...
  #10 (permalink)  
Antiguo 10/08/2010, 11:40
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
De acuerdo Respuesta: Formulario por mail, todos los fields menos uno.

jajajaj curioso problema. Pero bueno, lo importante es que ya lo solucionaste.

Saludos,
__________________
Juguetes Sexuales

Etiquetas: fields, mail, menos, 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 17:48.