Ver Mensaje Individual
  #9 (permalink)  
Antiguo 09/08/2011, 10:45
julg03
 
Fecha de Ingreso: julio-2011
Mensajes: 47
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Formulario PHP/HTML no envia todos los campos

Hola. Mil Gracias por su tiempo y paciencia.
En un principio tambien me di cuenta que no se llamaban con POST los datos, pero hice pruebas y no era eso. Tambien probe con lo siguiente:
Código PHP:
Ver original
  1. $i = 1;
  2. //-- Imprimir todas las variables pasadas por el formulario
  3. foreach($_POST as $k => $p)
  4.     {
  5.         echo "$i .- '$k' es igual a '$p'<br>";
  6.         $i++;
  7.     }
  8. */
  9. //-- FIN Prueba para verificar que variables se pasan mediante POST

Pero segun esta prueba no hay ningun problema.
No quisiera agobiarlos explicando las muchas pruebas que hice...bueno con var_dump($_POST)... no lo he hecho, pero lo hare inmediatamente.
Como comente arriba, este formulario es identico a otro que tengo "ORIGINAL" y que uso como base y solo agrego o quito campos segun se necesite. Les dejo aqui el codigo del formulario que SI funciona. Veran que los campos Telefono y Coment no son llamados con $_POST y sin embargo, SI llegan.
Los campos $cp, $direccion, $ciudad, $textfield son los Campos declarados en FORMA.php y como veran en el formulario ORIGINAL, solo los llamo con $nombrecampo.
Mil gracias por su paciencia. Por favor denle un vistazo. Yo ya los compare linea por linea y no encuentro la diferencia entre el que SI funciona y el que NO funciona.

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

FORMA.PHP (SI FUNCIONA)
Código PHP:
Ver original
  1. <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
  2. <!DOCTYPE html
  3.      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  4.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  6. <head>
  7. <title>CONTACTENOS</title>
  8. <style type="text/css">
  9. <!--
  10. body {
  11.     font-family:"Lucida Grande","Lucida Console",sans-serif;
  12.     background-image: url(fondo_Cristal.jpg);
  13. }
  14. #content {
  15.     font-size:0.8em;
  16.     position:absolute;
  17.     width:850px;
  18.     left:435px;
  19.     margin-left:-375px;
  20.     margin-top:3em;
  21.     padding:15px;
  22.     border:2px solid gray;
  23.     top: -19px;
  24.     background-image: url(Marmol_rojo.jpg);
  25. }
  26. #content ol {
  27.   margin:0;
  28. }
  29. #content ol li {
  30.   margin-top:15px;
  31. }
  32. #content h4 {
  33.   font-family:"georgia",serif;
  34.     font-size:1.5em;
  35.     color:brown;
  36.     font-variant:small-caps;
  37. }
  38.  
  39. #content input {
  40.     font-family:"Lucida Grande","Lucida Console",sans-serif;
  41.     color:#666;
  42.     background:#eee;
  43.     border:1px solid #666;
  44.     /*width:100px;*/
  45. }
  46.  
  47. #content input["type=text"] { width:120px; }
  48. .Estilo1 {color: #FFFFCC}
  49. .Estilo2 {color: #FFFF99}
  50. a:link {
  51.     color: #FFFF99;
  52. }
  53. a:visited {
  54.     color: #FFFFCC;
  55. }
  56. .Estilo3 {color: #FFFF33}
  57. .Estilo4 {color: #990000}
  58. #Layer1 {
  59.     position:absolute;
  60.     width:249px;
  61.     height:299px;
  62.     z-index:1;
  63.     left: 629px;
  64.     top: 26px;
  65. }
  66. -->
  67. </style>
  68. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head>
  69.  
  70. <body>
  71.  
  72. <div id="content">
  73.  
  74.   <h1><span class="Estilo1">FORMULARIO PARA CONTACTO</span>
  75.     <!-- VALIDACION DEL FORMULARIO -->
  76.     <script type="text/javascript">
  77. <!--
  78. function Valida(theForm)
  79. {
  80.   if (theForm.nombre.value == "")
  81.   {
  82.     alert("Escriba un valor para el campo \"nombre\".");
  83.     theForm.nombre.focus();
  84.     return (false);
  85.   }
  86.   return (true);
  87. }
  88. //-->
  89.     </script>
  90.     <!-- FIN VALIDACION DEL FORMULARIO -->
  91.  
  92.     <!-- COMIENZA EL FORMULARIO -->
  93. </h1>
  94.   <form method="post" name="formulario1" action="envio.php"
  95. onsubmit="return Valida(this)">
  96.  
  97. <!-- CAMBIE ESTE VALOR Y PONGA LA DIRECCION A LA QUE QUIERE QUE LE LLEGUEN LOS EMAILS -->
  98. <input type="hidden" name="direccionenvio"
  99. value="[email protected]" id="Hidden1" />
  100.  
  101. <!--CAMBIE ESTE VALOR Y EL URL DE LA PÁGINA DE CONFIRMACION-->
  102. <input type="hidden" name="paginaconfirmacion"
  103. value="confirmacion.php" id="Hidden2" />
  104.  
  105. <!-- AQUI LOS CAMPOS E INFORMACION QUE SE NECESITE -->
  106.  
  107. <div id="Layer1"><img name="" src="MP900409071.png" width="250" height="301" alt="" /></div>
  108. <p class="Estilo2">Gracias por visitar nuestra secci&oacute;n para contactarnos. </p>
  109. <p class="Estilo2">Por favor complete los campos y haga click en enviar, nos comunicaremos pronto.</p>
  110. <p align="left" class="Estilo2">Todos los campos son requeridos.</p>
  111. <p class="Estilo2">Nombre*
  112.   <input type="text" name="nombre" size="47" />
  113. </p>
  114. <p><span class="Estilo2">Email </span>
  115.   <input type="text" name="email" size="49" />
  116. </p>
  117. <p>
  118.   <label><span class="Estilo2">Teléfono Incluir LADA </span>
  119.   <input name="textfield" type="text" size="35" />
  120.   </label>
  121. </p>
  122. <p>
  123.   <span class="Estilo2">
  124.   <label>Comentario
  125.   <textarea name="coment" cols="50" id="coment"></textarea>
  126.   </label>
  127.   </span></p>
  128. <p><input type="submit" value="Enviar" name="B1"
  129. id="Submit1" />
  130. <input type="reset" value="Restablecer" name="B2"
  131. id="Reset1" /></p>
  132. </form>
  133.  
  134. </div>
  135.  
  136. <p>&nbsp;</p>
  137. <p>&nbsp;</p>
  138. <p>&nbsp;</p>
  139. <p>&nbsp;</p>
  140. <p>&nbsp;</p>
  141. <p>&nbsp;</p>
  142. <p>&nbsp;</p>
  143. <p>&nbsp;</p>
  144. <p>&nbsp;</p>
  145. <p>&nbsp;</p>
  146. <p>&nbsp;</p>
  147. <p>&nbsp;</p>
  148. <p>&nbsp;</p>
  149. </body>
  150.  
  151. </html>