Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mi formulario no recibe las variables

Estas en el tema de Mi formulario no recibe las variables en el foro de PHP en Foros del Web. Hola, pido de su ayuda porque no se que estoy haciendo mal... tengo un formulario en HTML que se envia a un PHP... el PHP ...
  #1 (permalink)  
Antiguo 21/08/2013, 12:34
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Sonrisa Mi formulario no recibe las variables

Hola, pido de su ayuda porque no se que estoy haciendo mal... tengo un formulario en HTML que se envia a un PHP... el PHP valida que no se recibieron las variables y manda el correo, pero el problema es que no las recibe...
Estos son los codigos:

FORMULARIO:
Código HTML:
Ver original
  1. <form action="send.php" method="POST" enctype="application/x-www-form-urlencoded" name="contacto" target="_self" id="contacto" onsubmit="MM_validateForm('nombre','','R','email','','RisEmail','telefono','','R','comentarios','','R');return document.MM_returnValue">
  2.           <table width="410" border="0" align="center" cellpadding="0" cellspacing="0">
  3.             <tr>
  4.               <td colspan="2" align="center" valign="middle" class="previa-titulo">&nbsp;</td>
  5.             </tr>
  6.             <tr>
  7.               <td height="35" colspan="2" align="center" valign="middle" bgcolor="#E5E5E5" class="previa-titulo">Formulario de Contacto</td>
  8.             </tr>
  9.             <tr>
  10.               <td width="120" height="30" align="right" valign="middle" bgcolor="#F5F5F5">Nombre:&nbsp;</td>
  11.               <td width="290" height="40" align="left" valign="middle" bgcolor="#F5F5F5">
  12.                 <input name="nombre" type="text" class="descripcion-rojo" id="nombre" /></td>
  13.             </tr>
  14.             <tr>
  15.               <td width="120" height="30" align="right" valign="middle" bgcolor="#F5F5F5">Email:&nbsp;</td>
  16.               <td width="290" height="40" align="left" valign="middle" bgcolor="#F5F5F5">
  17.                 <input name="email" type="text" class="descripcion-rojo" id="email" /></td>
  18.             </tr>
  19.             <tr>
  20.               <td width="120" height="30" align="right" valign="middle" bgcolor="#F5F5F5">Teléfono:&nbsp;</td>
  21.               <td width="290" height="40" align="left" valign="middle" bgcolor="#F5F5F5">
  22.                 <input name="telefono" type="text" class="descripcion-rojo" id="telefono" /></td>
  23.             </tr>
  24.             <tr>
  25.               <td width="120" height="30" align="right" valign="middle" bgcolor="#F5F5F5">Comentarios:&nbsp;</td>
  26.               <td width="290" height="100" align="left" valign="middle" bgcolor="#F5F5F5">
  27.                 <textarea name="comentarios" cols="35" rows="5" class="descripcion-rojo" id="comentarios"></textarea></td>
  28.             </tr>
  29.             <tr>
  30.               <td width="120" height="30" align="left" valign="middle" bgcolor="#F5F5F5">&nbsp;</td>
  31.               <td width="290" height="40" align="left" valign="middle" bgcolor="#F5F5F5"><input name="Enviar" type="submit" class="USD" id="enviar" value="Enviar" /></td>
  32.             </tr>
  33.           </table>
  34.         </form>

PHP:
Código PHP:
Ver original
  1. <?PHP      if ($HTTP_POST_VARS){
  2.  
  3. $nombre = $_POST['nombre'];
  4. $email= $_POST['email'];
  5. $telefono= $_POST['telefono'];
  6. $comentarios= $_POST['comentarios'];
  7.  
  8.  
  9.  
  10. $asunto="Contacto Web ";
  11.  
  12.  
  13.  
  14.  
  15.  
  16. $encabezado="From: $nombre<$email >\n";
  17.  
  18.  
  19.  
  20. //Informacion del e-mail
  21.  
  22. $mensajedatos="
  23. Nombre:
  24. $nombre
  25.  
  26. Email:
  27. $email
  28.  
  29. Teléfono:
  30. $telefono
  31.  
  32. Comentarios:
  33. $comenatrios
  34.  
  35. ";
  36.  
  37.  
  38.  
  39. //E-mail al cual se envia el mensaje
  40.  
  41.  
  42.  
  43.  
  44. //Accion de enviar el mensaje
  45.  
  46. mail($mail, $asunto,$mensajedatos,$encabezado );
  47.  
  48. ?>
  49.    
  50.         <script type="text/javascript">
  51.         location.href="enviado.html";
  52.         </script>
  53.     <?
  54.  
  55.  
  56. }
  57. else{
  58.     ?>
  59. <script language="Javascript" type="text/javascript">
  60. alert("No se ha completado correctamente el Formulario");
  61. window.location.href="contacto.html"
  62.      </script>
  63. <?php
  64.     }
  65. ?>

Alguien me podría orientar que estoy haciendo mal?

Adicionalmente en Dreamweaver utilicé la funcion "Validar formulario"
saludos.

  #2 (permalink)  
Antiguo 21/08/2013, 12:36
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Mi formulario no recibe las variables

if (isset($_POST)) en vez de lo que tienes al inicio
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 21/08/2013, 12:39
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: Mi formulario no recibe las variables

Hola
$HTTP_POST_VARS esta obsoleto
Revisa el manual
http://php.net/manual/es/reserved.variables.post.php

Saludos
  #4 (permalink)  
Antiguo 21/08/2013, 12:40
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Mi formulario no recibe las variables

Cita:
Iniciado por loncho_rojas Ver Mensaje
if (isset($_POST)) en vez de lo que tienes al inicio
Hola muchas gracias, parece que si se envía... pero el correo no me llega :/
  #5 (permalink)  
Antiguo 21/08/2013, 12:49
 
Fecha de Ingreso: julio-2013
Mensajes: 32
Antigüedad: 10 años, 8 meses
Puntos: 2
Respuesta: Mi formulario no recibe las variables

Prueba así

Código PHP:
Ver original
  1. <?PHP    
  2.  if ($_POST){  
  3. //print_r($_POST); exit; // Al descomentar esta línea muestra el contenido de $_POST
  4. $nombre = $_POST['nombre'];
  5. $email= $_POST['email'];
  6. $telefono= $_POST['telefono'];
  7. $comentarios= $_POST['comentarios'];
  8.  
  9. $asunto="Contacto Web ";
  10.  
  11. $encabezado="From: $nombre<$email >\n";
  12.  
  13. //Informacion del e-mail
  14.  
  15. $mensajedatos="
  16. Nombre:
  17. $nombre
  18.  
  19. Email:
  20. $email
  21.  
  22. Teléfono:
  23. $telefono
  24.  
  25. Comentarios:
  26. $comentarios
  27.  
  28. ";
  29.  
  30.  
  31.  
  32. //E-mail al cual se envia el mensaje
  33.  
  34.  
  35.  
  36.  
  37. //Accion de enviar el mensaje
  38.  
  39. mail($mail, $asunto,$mensajedatos,$encabezado );
  40.  
  41. ?>
  42.    
  43.         <script type="text/javascript">
  44.         location.href="enviado.html";
  45.         </script>
  46. <?      
  47. }
  48. else{
  49.     ?>
  50. <script language="Javascript" type="text/javascript">
  51. alert("No se ha completado correctamente el Formulario");
  52. window.location.href="contacto.html"
  53.      </script>
  54. <?php
  55.     }
  56. ?>

al parecer $HTTP_POST_VARS es absoleto y se cambió por $_POST
  #6 (permalink)  
Antiguo 21/08/2013, 12:55
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Mi formulario no recibe las variables

Lo estas enviando del localhost? o lo tienes levantado en un servidor online? si estas en el localhost, no te va a enviar con la función MAIL
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 21/08/2013, 12:57
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Mi formulario no recibe las variables

Cita:
Iniciado por loncho_rojas Ver Mensaje
Lo estas enviando del localhost? o lo tienes levantado en un servidor online? si estas en el localhost, no te va a enviar con la función MAIL
Está en el servidor, ya subí los cambios, pero no recibo el correo... que pasara?
  #8 (permalink)  
Antiguo 21/08/2013, 13:08
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Mi formulario no recibe las variables

Puede que esté trancado en el server y te llegará una lluvia de email de tanto que intentaste...

Puede que tu servidor no admita el uso de la función MAIL

Prueba cambiado la cabecera así:
$encabezado="MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:".$_POST['email']."<br/>"

y el cuerpo así:

$mensajedatos="<b>Nombre:</b> ". $nombre."<br/>";
$mensajedatos.="<br/>";
$mensajedatos.="<b>Email:</b> ". $email."<br/>";
$mensajedatos.="<br/>";
$mensajedatos.="<b>Telefono:</b> ". $telefono."<br/>";
$mensajedatos.="<br/>";
$mensajedatos.= "<b>Comentario:</b><br/>";
$mensajedatos.="--".stripslashes($comentarios)."<br/>";

cuando lo envíes prueba:

mail($mail, $asunto,utf8_decode($mensajedatos),$encabezado );
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #9 (permalink)  
Antiguo 21/08/2013, 13:14
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Mi formulario no recibe las variables

Cita:
Iniciado por loncho_rojas Ver Mensaje
Puede que esté trancado en el server y te llegará una lluvia de email de tanto que intentaste...

Puede que tu servidor no admita el uso de la función MAIL

Prueba cambiado la cabecera así:
$encabezado="MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:".$_POST['email']."<br/>"

y el cuerpo así:

$mensajedatos="<b>Nombre:</b> ". $nombre."<br/>";
$mensajedatos.="<br/>";
$mensajedatos.="<b>Email:</b> ". $email."<br/>";
$mensajedatos.="<br/>";
$mensajedatos.="<b>Telefono:</b> ". $telefono."<br/>";
$mensajedatos.="<br/>";
$mensajedatos.= "<b>Comentario:</b><br/>";
$mensajedatos.="--".stripslashes($comentarios)."<br/>";

cuando lo envíes prueba:

mail($mail, $asunto,utf8_decode($mensajedatos),$encabezado );

Muchas gracias por tu ayuda....

Mira mi codigo quedó asi...

Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  3. </head>
  4. <?PHP      //if ($HTTP_POST_VARS){
  5. //if (isset($_POST)) {
  6. if ($_POST){  
  7. //print_r($_POST); exit; // Al descomentar esta línea muestra el contenido de $_POST
  8. $encabezado="MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:".$_POST['email']."<br/>";
  9.  
  10.  
  11. $nombre = $_POST['nombre'];
  12. $email= $_POST['email'];
  13. $telefono= $_POST['telefono'];
  14. $comentarios= $_POST['comentarios'];
  15.  
  16. $asunto="Contacto Web Simi Travel";
  17. $encabezado="From: $nombre<$email >\n";
  18.  
  19.  
  20. //Informacion del e-mail
  21. $mensajedatos="<b>Nombre:</b> ".$nombre."<br/>";
  22. $mensajedatos.="<br/>";
  23. $mensajedatos.="<b>Email:</b> ".$email."<br/>";
  24. $mensajedatos.="<br/>";
  25. $mensajedatos.="<b>Telefono:</b> ".$telefono."<br/>";
  26. $mensajedatos.="<br/>";
  27. $mensajedatos.= "<b>Comentario:</b><br/>";
  28. $mensajedatos.="--".stripslashes($comentarios)."<br/>";
  29.  
  30.  
  31. //E-mail al cual se envia el mensaje
  32.  
  33.  
  34.  
  35.  
  36. //Accion de enviar el mensaje
  37.  
  38.  
  39. mail($mail, $asunto,utf8_decode($mensajedatos),$encabezado );
  40.  
  41. ?>
  42.    
  43.         <script type="text/javascript">
  44.         location.href="enviado.html";
  45.         </script>
  46.     <?
  47.  
  48.  
  49. }
  50. else{
  51.     ?>
  52. <script language="Javascript" type="text/javascript">
  53. alert("No se ha completado correctamente el Formulario");
  54. window.location.href="contacto.html"
  55.      </script>
  56. <?php
  57.     }
  58. ?> </body>
  59. </html>

hace la funcion como que envía, pero no recibo nada... que podré hacer?
  #10 (permalink)  
Antiguo 21/08/2013, 13:26
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Mi formulario no recibe las variables

puedes revisar tu correo de SPAM o BASURA a ver si no te lo envía ahi?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #11 (permalink)  
Antiguo 21/08/2013, 15:16
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Mi formulario no recibe las variables

Dejé pasar ya algún tiempo, para ver si llegaban los correos, pero aun nada...
Ni en espam, basura. nada...
  #12 (permalink)  
Antiguo 21/08/2013, 15:18
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Mi formulario no recibe las variables

Bue, échale un vistaso a phpMailer, es una librería muy buena, complicada al principio pero funciona genial...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #13 (permalink)  
Antiguo 21/08/2013, 15:31
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Mi formulario no recibe las variables

Cita:
Iniciado por loncho_rojas Ver Mensaje
Bue, échale un vistaso a phpMailer, es una librería muy buena, complicada al principio pero funciona genial...
Ok, muchas gracias por la ayuda... saludos.

Etiquetas: formulario, html, variable, variables
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 19:01.