Ver Mensaje Individual
  #7 (permalink)  
Antiguo 26/07/2011, 19:14
julg03
 
Fecha de Ingreso: julio-2011
Mensajes: 47
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Formulario PHP no envia todos los campos

Hola marie_florido:
Buscando encontre este tema y quisiera saber como resolviste porque tengo un problema similar. Tengo un formulario PHP de contacto que solo envia tres campos (Nombre, Email y Fecha). Todos los demas llegan en blanco. Al principio pense que el error era que no mandaba llamar los datos ($_post), pero al hacerl con cada uno de los campos me manda error de página y no funciona. Ya lo compare con un formulario mas pequeño con lamisma estructura y no encuentro la falla. Es mas, al formulario pequeño solo le agregue los campos y tampoco funciona. Dejo aqui los codigos por si alguien se apiada de mi cabeza..gracias de antemano.

**Este es el archivo FORMA.PHP. Que no envia los campos.**
Código PHP:
Ver original
  1. <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
  2.   <!-- COMIENZA EL FORMULARIO -->
  3. </p>
  4. </hl>
  5.  
  6. <form method="post" name="formulario1" action="envio.php"
  7. onsubmit="return Valida(this)">
  8.  
  9. <!-- CAMBIE ESTE VALOR Y PONGA LA DIRECCION A LA QUE QUIERE QUE LE LLEGUEN LOS EMAILS -->
  10. <input type="hidden" name="direccionenvio"
  11. value="[email protected]" id="Hidden1" />
  12.  
  13. <!--CAMBIE ESTE VALOR Y EL URL DE LA PÁGINA DE CONFIRMACION-->
  14. <input type="hidden" name="paginaconfirmacion"
  15. value="confirmacion.php" id="Hidden2" />
  16.  
  17. <!-- COLOQUE AQUI LOS CAMPOS E INFORMACION QUE NECESITE -->
  18.  
  19. <p align="left"><span class="Estilo1">________________________________</span>Nombre*
  20.   <input name="nombre" type="text" id="nombre" size="40" />
  21. </p>
  22. <p align="left"><span class="Estilo1">______________________________</span>Apellido*
  23.     <input name="apellido" type="text" size="40" />
  24. </p>
  25. <p align="left"><span class="Estilo1">______________________</span>N&amp;mero de cliente
  26.   <input name="numcliente" type="text" id="numcliente" size="40" />
  27. </p>
  28. <p align="left"><span class="Estilo1">____________________</span>Correo Electr&oacute;nico*
  29.   <input type="text" name="email" size="40" /></p>
  30. <p align="left"><span class="Estilo1">______________________</span>Tel. de Contacto*
  31.   <input type="text" size="40" />
  32. </p>
  33. <p align="left"><span class="Estilo1">_______________________</span>Tel. Monitoreado
  34.   <input type="text" size="40" />
  35. </p>
  36. <p align="left"><span class="Estilo1">_________________________</span>C&quot;digo Postal*
  37.     <input type="text" size="40" />
  38. </p>
  39. <p align="left"><span class="Estilo1">_____________________________</span>Direcci&quot;n*
  40.   <input type="text" size="40" />
  41. </p>
  42. <p align="left"><span class="Estilo1">_______________________________</span>Colonia*
  43.   <input type="text" size="40" />
  44. </p>
  45. <p align="left"><span class="Estilo1">________________________________</span>Ciudad*
  46.   <input type="text" size="40" />
  47. </p>
  48.  
  49. <p align="left"><span class="Estilo1">________________________________</span>Estado*
  50.     <select name="select" size="1" id="select">
  51.       <option selected="selected">AGUASCALIENTES </option>
  52.       <option>BAJA CALIFORNIA NORTE</option>
  53.       <option>BAJA CALIFORNIA SUR</option>
  54.     </select>
  55. </p>
  56. <p align="left" class="Estilo2">CLASIFICACION DE CONTACTO
  57. </p>
  58. <p align="left" class="Estilo1">_______________________________</span>Producto
  59.   <select name="select2">
  60.     <option>TODOS</option>
  61.     <option>MONITOREO DE ALARMAS</option>
  62.     <option>CCTV</option>
  63.   </select>
  64. </p>
  65. <p align="left" class="Estilo1">_____________________</span>Motivo de Contacto
  66.   <select name="select3">
  67.     <option>AGRADECIMIENTOS</option>
  68.     <option>QUEJA/RECLAMO</option>
  69.   </select>
  70. </p>
  71. <p align="left" class="Estilo2">DETALLE DE SU CONULTA </p>
  72. <p align="left" class="Estilo1">_________________________</span>Detalle
  73.   <textarea name="textfield" cols="50" rows="5"></textarea>
  74. </p>
  75. <p><input type="submit" value="Enviar" name="B1"
  76. id="Submit1" />
  77. <input type="reset" value="Restablecer" name="B2"
  78. id="Reset1" /></p>
  79.  
  80. </form>
  81.  
  82. </body>
  83.  
  84. </html>

**Este es el archivo ENVIO.PHP que solo envia los campos Nombre, Email y Fecha**
Código PHP:
Ver original
  1. <?php
  2.  
  3. //************************* ENVIO DE EMAIL **********************************************************
  4. include("mandaemail.inc");
  5.  
  6. if ( isset($_POST['direccionenvio']) && isset($_POST['paginaconfirmacion']) ) {
  7.     $mailTo = $_POST['direccionenvio'];
  8.     $mailFrom = $_POST['email'];
  9.     $mailSubject = "Forma de correo";
  10.     $now = date('d-m-Y');
  11.     $name = $_POST['nombre'];
  12.  
  13.     /** MODIFIQUE AQUI EL CODIGO, INCLUYA UNA LINEA COMO LA DE  Nombre: $nombre Y
  14.     '** DESPUES \n
  15.     '** PARA CADA CAMPO QUE HAYA AGREGADO SIN BORRAR <<<EOT y EOT; E INDIQUE EL
  16.     FORMATO DEL CORREO */
  17.    
  18. $mailFormat = 1; // 0 para correo HTML o 1 para correo de texto
  19. $mailBody = <<<EOT
  20. Fecha: $now\n
  21. Nombre: $name\n
  22. Apellido: $apellido\n
  23. Número de Cliente: $numcliente\n
  24. Email: $mailFrom\n
  25. Tel. de Contacto: $telcontacto\n
  26. Tel. Monitoreado: $telmonitoreado\n
  27. Codigo Postal: $cp\n
  28. Direccion: $direccion\n
  29. Colonia: $colonia\n
  30. Ciudad: $ciudad\n
  31. Estado: $select\n
  32. Producto: $select2\n
  33. Motivo: $select3\n
  34. Descripcion: $textfield\n
  35. Fin del email
  36. EOT;
  37.     MandaEmail($mailTo,$mailFrom,$mailSubject,$mailBody,$mailFormat);                  
  38.    
  39.     //***MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
  40.    
  41.     Header("Location:". $_POST['paginaconfirmacion'] . "?nombre=" . $_POST['nombre'] . "&email=" . $_POST['email']);
  42.    
  43.     //*** FIN MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
  44. } else {
  45.  
  46. $head = '<?xml version="1.0" encoding="UTF-8"?>';
  47. $head .= <<<EOT
  48. <!DOCTYPE html
  49.      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  50.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  51. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  52. <head>
  53. <title>CONTACTENOS</title>
  54. <style type="text/css">
  55. <!--
  56. body {
  57.   font-family:"Lucida Grande","Lucida Console",sans-serif;
  58. }
  59. #content {
  60.   font-size:0.8em;
  61.     position:absolute;
  62.     width:750px;
  63.     left:50%;
  64.     margin-left:-392px;
  65.     margin-top:3em;
  66.     padding:15px;
  67.     border:2px solid gray;
  68. }
  69. #content h4 {
  70.   font-family:"georgia",serif;
  71.     font-size:1.5em;
  72.     color:brown;
  73.     font-variant:small-caps;
  74.     margin-top:0;
  75. }
  76. -->
  77. </style>
  78. </head>
  79.  
  80. <body>
  81.  
  82. <div id="content">
  83. <h4>Se han generado los siguientes errores</h4>
  84. EOT;
  85.  
  86.     echo $head;
  87.  
  88.     if(!isset($_POST['direccionenvio'])) {
  89.         echo '<p>No se puede enviar el formulario porque el campo "direccionenvio" est&aacute; vac&iacute;o</p>';
  90.     }
  91.    
  92.     if(!isset($_POST['paginaconfirmacion'])) {
  93.         echo '<p>No se puede enviar el formulario porque el campo "paginaconfirmacion" est&aacute; vac&iacute;o</p>';
  94.     }
  95.    
  96.     $bott =<<<EOT
  97. </div>
  98. </body>
  99. </html>
  100. EOT;
  101.  
  102.     echo $bott;
  103. }
  104. //**********************FIN ENVIO DE EMAIL **********************************************************
  105. ?>

Perdon por poner todo el codigo, pero como dije. No encuentro la falla por mas que revise y compare, con este otro que SI funciona y que envia toooodos los campos.

Código PHP:
Ver original
  1. <?php
  2.  
  3. //************************* ENVIO DE EMAIL **********************************************************
  4. include("mandaemail.inc");
  5.  
  6. if ( isset($_POST['direccionenvio']) && isset($_POST['paginaconfirmacion']) ) {
  7.     $mailTo = $_POST['direccionenvio'];
  8.     $mailFrom = $_POST['email'];
  9.     $mailSubject = "Forma de correo";
  10.     $now = date('d-m-Y');
  11.     $name = $_POST['nombre'];
  12.  
  13.     /** MODIFIQUE AQUI EL CODIGO, INCLUYA UNA LINEA COMO LA DE  Nombre: $nombre Y
  14.     '** DESPUES \n
  15.     '** PARA CADA CAMPO QUE HAYA AGREGADO SIN BORRAR <<<EOT y EOT; E INDIQUE EL
  16.     FORMATO DEL CORREO */
  17.    
  18. $mailFormat = 1; // 0 para correo HTML o 1 para correo de texto
  19. $mailBody = <<<EOT
  20. Fecha: $now\n
  21. Nombre: $name\n
  22. Email: $mailFrom\n
  23. Telefono: $textfield\n
  24. coment: $coment\n
  25. Fin del email
  26. EOT;
  27.     MandaEmail($mailTo,$mailFrom,$mailSubject,$mailBody,$mailFormat);                  
  28.    
  29.     //***MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
  30.    
  31.     Header("Location:". $_POST['paginaconfirmacion'] . "?nombre=" . $_POST['nombre'] . "&email=" . $_POST['email']);
  32.    
  33.     //*** FIN MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
  34. } else {
  35.  
  36. $head = '<?xml version="1.0" encoding="UTF-8"?>';
  37. $head .= <<<EOT
  38. <!DOCTYPE html
  39.      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  40.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  41. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  42. <head>
  43. <title>CONTACTENOS</title>
  44. <style type="text/css">
  45. <!--
  46. body {
  47.   font-family:"Lucida Grande","Lucida Console",sans-serif;
  48. }
  49. #content {
  50.   font-size:0.8em;
  51.     position:absolute;
  52.     width:750px;
  53.     left:50%;
  54.     margin-left:-392px;
  55.     margin-top:3em;
  56.     padding:15px;
  57.     border:2px solid gray;
  58. }
  59. #content h4 {
  60.   font-family:"georgia",serif;
  61.     font-size:1.5em;
  62.     color:brown;
  63.     font-variant:small-caps;
  64.     margin-top:0;
  65. }
  66. -->
  67. </style>
  68. </head>
  69.  
  70. <body>
  71.  
  72. <div id="content">
  73. <h4>Se han generado los siguientes errores</h4>
  74. EOT;
  75.  
  76.     echo $head;
  77.  
  78.     if(!isset($_POST['direccionenvio'])) {
  79.         echo '<p>No se puede enviar el formulario porque el campo "direccionenvio" est&aacute; vac&iacute;o</p>';
  80.     }
  81.    
  82.     if(!isset($_POST['paginaconfirmacion'])) {
  83.         echo '<p>No se puede enviar el formulario porque el campo "paginaconfirmacion" est&aacute; vac&iacute;o</p>';
  84.     }
  85.    
  86.     $bott =<<<EOT
  87. </div>
  88. </body>
  89. </html>
  90. EOT;
  91.  
  92.     echo $bott;
  93. }
  94. //**********************FIN ENVIO DE EMAIL **********************************************************
  95. ?>