Foros del Web » Programando para Internet » PHP »

Problema con un simple formulario de email

Estas en el tema de Problema con un simple formulario de email en el foro de PHP en Foros del Web. hola a todos, posteo para ver si me podrian señalar el error q estoy comentiendo al crear el php para q mande mails (en vez ...
  #1 (permalink)  
Antiguo 01/03/2012, 20:16
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
Problema con un simple formulario de email

hola a todos, posteo para ver si me podrian señalar el error q estoy comentiendo al crear el php para q mande mails (en vez de mandarlos simplemente se reinicia la pagina). La verdad q estuve viendo muchos post y no encuentro nada raro. aqui el php:
Código PHP:
<?php
$nombre
=$_POST["nombre"];
$mail=$_POST["mail"];
$comentario=$_POST["comentario"];
//para el envío en formato HTML 
$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
//dirección del remitente 
$headers .= "From: xxxxxx<[email protected]>\r\n"

//direcciones que recibián copia 
$headers .= "Cc: [email protected]\r\n"

//direcciones que recibirán copia oculta 
$headers .= "Bcc: [email protected],[email protected]\r\n"

$mensaje='
<div>
      <p><strong>Nombre</strong></p>
      <p>'
.$nombre.'</p>
      <p><strong>E-Mail</strong></p>
      <p>'
.$mail.'</p>
      <p><strong>Comentario</strong></p>
      <p>'
.$comentario.'</p>
      <p></p>
</div>'
;
echo 
'Bienvenido<h2>'.$nombre.'</h2><br>';

//echo $_POST["nombre"];
mail("[email protected]","Prueba de mail",$mensaje,$headers);

header("Location:index.html");
?>
y aqui la parte del formulario en html:
Código HTML:
 <table width="100%" border="0">
  <tr>
    <td><form id="form1" name="form1" method="post" action="contacto.php">
      <p>
        <label>Nombre<br />
          <input type="text" name="nombre" id="nombre" />
        </label>
      </p>
      <p>
        <label>E-Mail
          <br />
          <input type="text" name="mail" id="mail" />
        </label>
      </p>
     
      <p>
        <label>
          <textarea name="comentario" id="comentario" cols="45" rows="5"></textarea>
        </label>
        </p>
      
        <label>
          <input type="submit" name="button" id="button" value="Enviar" />
        </label>
        <br />
      
    </form></td>
  </tr>
</table> 
La pagina esta hosteada en dattatec...

Desde ya muchas gracias. Saludos.
  #2 (permalink)  
Antiguo 01/03/2012, 20:52
Avatar de alex_dh  
Fecha de Ingreso: septiembre-2011
Ubicación: Kreuzberg
Mensajes: 235
Antigüedad: 12 años, 7 meses
Puntos: 14
Respuesta: Problema con un simple formulario de email

podrias decirnos que error te indica? :D
__________________
Avanzado desarrollador HTML, CSS y programador PHP, MYSQL, JAVASCRIPT

=========CALLEJEROS INOCENTES=========
  #3 (permalink)  
Antiguo 01/03/2012, 21:07
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema con un simple formulario de email

nada, simplemente no manda ningun mail a la direccion indicada, solamente se reinicia la pagina.
  #4 (permalink)  
Antiguo 01/03/2012, 21:53
Avatar de Sasjuarez  
Fecha de Ingreso: abril-2008
Ubicación: Guatemala
Mensajes: 14
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con un simple formulario de email

Que tal agusmouni!

Probe tu script y si me funciona, el unico problema seria la ultima linea
Código PHP:
header("Location: index.html"); 
Tira el siguiente error
Warning: Cannot modify header information - headers already sent

Podrias intentar un refresh en una etiqueta <meta> en donde 5 es el tiempo en segundos a esperar para que te envie a la otra pagina
Código HTML:
<meta http-equiv="refresh" content="5;index.html"/> 

y como ultimo, si cambiaste eso de [email protected] verdad? (duda nomas)
Código PHP:
mail("[email protected]","Prueba de mail",$mensaje,$headers); 
  #5 (permalink)  
Antiguo 02/03/2012, 18:22
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema con un simple formulario de email

hola Sasjuarez

gracias por tu ayuda!, pero cuando probe remplazar la ultima linea del php:
Código PHP:
header("Location: index.html"); 
con:
Código HTML:
<meta http-equiv="refresh" content="5;index.html"/> 
, me tira el siguiente error: Parse error: syntax error, unexpected '<' in \\hmfsw\web\DTCWIN022\silviamorizono.com.ar\public _html\contacto.php on line 35. y no manda ningun mail. puede llegar a ser un problema del servidor?, la verdad q muchas otras razones no se me ocurren... Ademas, lo q me perturba es q a vos si te funciono y a mi no jaajajaj.

Gracias de vuelta por tu ayuda.

PD: si, cambie el xxxx@xxxx por un mail verdadero XD
  #6 (permalink)  
Antiguo 02/03/2012, 20:38
Avatar de Sasjuarez  
Fecha de Ingreso: abril-2008
Ubicación: Guatemala
Mensajes: 14
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con un simple formulario de email

Perdon creo que no fui claro en esa parte, lo que tenes que hacer es eliminar la funcion header() e ir a la etiqueta <head> (HTML) dentro colocas el <meta>

Quedaria mas o menos asi

Código PHP:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta http-equiv="refresh" content="5;index.html">
    <meta charset="UTF-8">
    <title>FDW</title>
</head>
<body>
    <?php 
        $nombre
=$_POST["nombre"]; 
        
$mail=$_POST["mail"]; 
        
$comentario=$_POST["comentario"]; 
        
//para el envío en formato HTML  
        
$headers "MIME-Version: 1.0\r\n";  
        
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";  
        
//dirección del remitente  
        
$headers .= "From: xxxxxx<[email protected]>\r\n";  

        
//direcciones que recibián copia  
        
$headers .= "Cc: [email protected]\r\n";  

        
//direcciones que recibirán copia oculta  
        
$headers .= "Bcc: [email protected],[email protected]\r\n";  

        
$mensaje=
        <div> 
              <p><strong>Nombre</strong></p> 
              <p>'
.$nombre.'</p> 
              <p><strong>E-Mail</strong></p> 
              <p>'
.$mail.'</p> 
              <p><strong>Comentario</strong></p> 
              <p>'
.$comentario.'</p> 
              <p></p> 
        </div>'

        echo 
'Bienvenido<h2>'.$nombre.'</h2><br>'

        
//echo $_POST["nombre"]; 
        
mail("[email protected]","Prueba de mail",$mensaje,$headers); 
?>
<h2>Mensaje enviado exitosamente!</h2>
</body>
</html>
  #7 (permalink)  
Antiguo 02/03/2012, 21:33
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 2 meses
Puntos: 36
Respuesta: Problema con un simple formulario de email

ok te dejo uno mas sencillo

si queres tomalo
creo que no debes de ponerte a romper cabezas..

jajaja
ahi va amigo

enviar.php

<?php

$mail='[email protected]';


$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$mensaje = $_POST['mensaje'];

$thank="gracias.html";

$message = "
nombre:".$nombre."
telefono:".$telefono."
email:".$email."
mensaje:".$mensaje."";

if (mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank");

?>

formulario.php

<html>
<head>
<title>Formulario de Contacto</title>
</head>

<body>
<table width="30%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><form id="form1" name="form1" method="post" action="enviar.php">
<p>Nombre:<br />
<label>
<input name="nombre" type="text" id="nombre" />
</label>
<br />
Telefono:<br />
<input name="telefono" type="text" id="telefono" />
<br />
Email:<br />
<input name="email" type="text" id="email" />
<br />
Mensaje:<br />
<textarea name="mensaje" id="mensaje"></textarea>
<br />
<label>
<input type="submit" name="Submit" value="Enviar Formulario" />
</label>
</p>
</form></td>
</tr>
</table>
</body>
</html>

gracias.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<b>Gracias</b>
<p><b><h3>lo mas pronto le responderemos </h3></b></p>



<?php
echo '&nombre':
echo '$telefono';
echo '$email';
echo 'Mensaje';
?>
</body>
</html>


espero te sirva ,,,, es mucho mas sencillo y funciona
ajajja
espero averte ayudadoo. si es asi mi karma
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #8 (permalink)  
Antiguo 03/03/2012, 04:51
Avatar de novatoide  
Fecha de Ingreso: abril-2011
Mensajes: 171
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: Problema con un simple formulario de email

FIjate si tienen hablitada la funcion mail

Abrazo.-
  #9 (permalink)  
Antiguo 03/03/2012, 11:16
 
Fecha de Ingreso: abril-2011
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema con un simple formulario de email

bueno, probe ambas opciones y me dan los siguientes errores. Sasjuarez, pruebo todo y me pone el siguiente error:
Warning: mail() [function.mail]: SMTP server response: 554 No se permite el envio de correo sin especificar una cuenta valida desde donde sale el correo. in \\hmfsw\web\DTCWIN022\silviamorizono.com.ar\public _html\contacto.php on line 37

siendo esta la linea 37 :
Código PHP:
mail("[email protected]","Prueba de mail",$mensaje,$headers); 
alguna idea de como especificar una cuenta de donde sale el correo?
por otro lado, cuando intento de con lo q me dijo herzbazi, me tira lo siguiente: Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in \\hmfsw\web\DTCWIN022\silviamorizono.com.ar\public _html\contacto.php on line 15

siendo la linea 15:
Código PHP:
if (mail($mail,"Formulario de Consulta",$message)) 
muchas gracias por su ayuda, Saludos.

Etiquetas: email, formulario, html, simple
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 18:12.