Foros del Web » Programando para Internet » PHP »

Formulario no envia todos los campos

Estas en el tema de Formulario no envia todos los campos en el foro de PHP en Foros del Web. Hola. Antes que nada, mil disculpas por abrir tema, pero en los temas anteriores que encontre no me han podido ayudar o no han querido. ...
  #1 (permalink)  
Antiguo 26/07/2011, 19:35
 
Fecha de Ingreso: julio-2011
Mensajes: 47
Antigüedad: 12 años, 9 meses
Puntos: 0
Formulario no envia todos los campos

Hola. Antes que nada, mil disculpas por abrir tema, pero en los temas anteriores que encontre no me han podido ayudar o no han querido. Y los temas que estan cerrados no me han sacado de dudas. Asi que ahi les voy:

Tengo un formulario de contacto en PHP que se compone de 4 archivos: FORMA.PHP, ENVIO.PHP, CONFIRMACION.PHP Y MANDAEMAIL.INC.. Los 4 funcionan pero los campos que tengo en ENVIO.PHP solo se envian 3 (Nombre, Fecha y Email). Esta estructura la tengo con otro formulario mas chico y funciona a la perfeccion. Envia tooodos los campos y prcticamente es el mismo, solo que con menos campos. Ya revise y recontrarevise y no encuentro la falla. Ya intente llamando los datos con $_POST, pero me da error de pagina. Quito los $_POST y vuelve a funcionar pero sin enviar todos los campos (solo los tres que ya mencione). Ademas, si se fijan en el codigo del formulario que SI funciona, no uso el $_POST para los campos que agregué. Dejo aqui los codigos del formulario que si funciona y del que no funciona. Ojala alguien se apiade de mi cabeza. Gracias de antemano.

**ENVIO.PHP** SOLO ENVIA EMAIL, NOMBRE Y TELEFONO.***
Código:
Código PHP:
<?php //** ENVIO DE EMAIL include("mandaemail.inc"); if ( isset($_POST['direccionenvio']) && isset($_POST['paginaconfirmacion']) ) {     $mailTo $_POST['direccionenvio'];     $mailFrom $_POST['email'];     $mailSubject "Forma de correo";     $now date('d-m-Y');     $name $_POST['nombre']; //    $apellido = $_POST['apellido'] //    $numclie = $_POST['numclie'] //    $telcontacto = $_POST['telcontacto'] //    $telmonit = $_POST['telmonit'] //    $cp = $_POST['cp'] //    $direccion = $_POST['direccion'] //    $colonia = $_POST['colonia'] //    $ciudad = $_POST['ciudad'] //    $select = $_POST['select'] //    $select2 = $_POST['select2] //    $select3 = $_POST['select3] //    $consulta = $_POST['consulta']     /** MODIFIQUE AQUI EL CODIGO, INCLUYA UNA LINEA COMO LA DE  Nombre: $nombre Y     '** DESPUES \n      '** PARA CADA CAMPO QUE HAYA AGREGADO SIN BORRAR <<<EOT y EOT; E INDIQUE EL     FORMATO DEL CORREO */      $mailFormat 1// 0 para correo HTML o 1 para correo de texto $mailBody = <<<EOT Fecha: $now\n Nombre: $name\n Apellido: $apellido\n Número de Cliente: $numcliente\n Email: $mailFrom\n Tel. de Contacto: $telcontacto\n Tel. Monitoreado: $telmonitoreado\n Codigo Postal: $cp\n Direccion: $direccion\n Colonia: $colonia\n Ciudad: $ciudad\n Estado: $select\n Producto: $select2\n Motivo: $select3\n Descripcion: $textfield\n Fin del email EOT;     MandaEmail($mailTo,$mailFrom,$mailSubject,$mailBody,$mailFormat);                                  //***MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email          Header("Location:"$_POST['paginaconfirmacion'] . "?nombre=" $_POST['nombre'] . "&email=" $_POST['email']);          //*** FIN MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email } else { $head '<?xml version="1.0" encoding="UTF-8"?>'; $head .= <<<EOT <!DOCTYPE html       PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>CONTACTENOS</title> <style type="text/css"> <!-- body {    font-family:"Lucida Grande","Lucida Console",sans-serif; } #content {   font-size:0.8em;     position:absolute;     width:750px;     left:50%;     margin-left:-392px;     margin-top:3em;     padding:15px;     border:2px solid gray; } #content h4 {   font-family:"georgia",serif;     font-size:1.5em;     color:brown;     font-variant:small-caps;     margin-top:0; } --> </style> </head> <body> <div id="content"> <h4>Se han generado los siguientes errores</h4> EOT;     echo $head;     if(!isset($_POST['direccionenvio'])) {         echo '<p>No se puede enviar el formulario porque el campo "direccionenvio" est&aacute; vac&iacute;o</p>';     }          if(!isset($_POST['paginaconfirmacion'])) {         echo '<p>No se puede enviar el formulario porque el campo "paginaconfirmacion" est&aacute; vac&iacute;o</p>';     }          $bott =<<<EOT </div> </body> </html> EOT;     echo $bott;  } //FIN ENVIO DE EMAIL ?>
***ARCHIVO ENVIO.PHP *** ENVIA TODOS LOS CAMPOS
Código:
Código PHP:
<?php //** ENVIO DE EMAIL  include("mandaemail.inc"); if ( isset($_POST['direccionenvio']) && isset($_POST['paginaconfirmacion']) ) {     $mailTo $_POST['direccionenvio'];     $mailFrom $_POST['email'];     $mailSubject "Forma de correo";     $now date('d-m-Y');     $name $_POST['nombre'];     /** MODIFIQUE AQUI EL CODIGO, INCLUYA UNA LINEA COMO LA DE  Nombre: $nombre Y     '** DESPUES \n      '** PARA CADA CAMPO QUE HAYA AGREGADO SIN BORRAR <<<EOT y EOT; E INDIQUE EL     FORMATO DEL CORREO */      $mailFormat 1// 0 para correo HTML o 1 para correo de texto $mailBody = <<<EOT Fecha: $now\n Nombre: $name\n Email: $mailFrom\n Telefono: $textfield\n coment: $coment\n Fin del email EOT;     MandaEmail($mailTo,$mailFrom,$mailSubject,$mailBody,$mailFormat);                                  //***MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email          Header("Location:"$_POST['paginaconfirmacion'] . "?nombre=" $_POST['nombre'] . "&email=" $_POST['email']);          //*** FIN MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email } else { $head '<?xml version="1.0" encoding="UTF-8"?>'; $head .= <<<EOT <!DOCTYPE html       PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>CONTACTENOS</title> <style type="text/css"> <!-- body {    font-family:"Lucida Grande","Lucida Console",sans-serif; } #content {   font-size:0.8em;     position:absolute;     width:750px;     left:50%;     margin-left:-392px;     margin-top:3em;     padding:15px;     border:2px solid gray; } #content h4 {   font-family:"georgia",serif;     font-size:1.5em;     color:brown;     font-variant:small-caps;     margin-top:0; } --> </style> </head> <body> <div id="content"> <h4>Se han generado los siguientes errores</h4> EOT;     echo $head;     if(!isset($_POST['direccionenvio'])) {         echo '<p>No se puede enviar el formulario porque el campo "direccionenvio" est&aacute; vac&iacute;o</p>';     }          if(!isset($_POST['paginaconfirmacion'])) {         echo '<p>No se puede enviar el formulario porque el campo "paginaconfirmacion" est&aacute; vac&iacute;o</p>';     }          $bott =<<<EOT </div> </body> </html> EOT;     echo $bott//**FIN ENVIO DE EMAIL ?>
  #2 (permalink)  
Antiguo 26/07/2011, 19:41
 
Fecha de Ingreso: julio-2011
Mensajes: 47
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Formulario no envia todos los campos

Mil Disculpas. Empiezo en esto de postear.

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

**ARCHIVO ENVIO.PHP QUE ENVIA TODOS LOS CAMPOS (NO TIENE $_POST EN LOS CAMPOS AGREGADOS.
<?php

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

Buenas compañero, antes que nada cuidado al postear, has iniciado dos temas, y en éste has escrito dos post. Puedes "enfadar" a los moderadores jeje.

Bueno, intenta ser más explícito. Dices que no te envía todos los campos. Según veo en tu código, tienes el resto de campos que quieres enviar como si fuese lineas de explicación de código. Fíjate que tienen las barras // . Y toda línea de código que sea iniciada por esas barras, para la consola es como si no hubiese nada, las salta completamente, se usan para "comentar". Quítaselas y habilitarás el resto del código. Un saludo.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #4 (permalink)  
Antiguo 27/07/2011, 10:23
 
Fecha de Ingreso: julio-2011
Mensajes: 47
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Formulario no envia todos los campos

hola winjose, mil gracias por contestar.
Ofrezco disculpas por los errores al postear. Soy nuevo en esto de postear. Pido a los moderadores comprension y paciencia. En el otro tema pregunte para no abrir nuevo tema, pero me di cuenta que es un tema del 2011. POr eso abri este. Lo siento mucho.

Tratare de explicarme mejor con lo del formulario. Los campos que quiero enviar, les puse las barras porque estuve haciendo pruebas. Pero el formulario no funciona si las quito. Es decir, el formulario funciona perfectamente sin los $_post. Pero si los pongo, NO funciona. Asi de simple. Me manda la pantalla de "a pagina web no ha sido encontrada". Si no pongo los $_POST, solo me envia los campos NOMBRE, FECHA Y EMAIL.

Ahora bien. Este formato es el que uso siempre, basado en uno más pequeño que tambien pegue arriba. Si te fijas, es el mismo. Lo unico que hago es agregar campos y modificaciones pequeñas. El original (el pequeño) funciona perfectamente y NO llama con $_POST los campos que agregue. Solo me pide poner los campos como - $coment\n - y - $textfield\n -. POr eso decia que no encuentro la falla, porque ya compare los dos codigos y la unica diferencia, son los campos que agregue. Ya probe poniendo todos los campos como textfield, ya probe quitando y poniendo campos, Ya lo revise varias veces y no entiendo porque el pequeño si funciona bien y el grande no, si practicamente es el mismo.

Espero haber sido mas explicito y tu sapiencia me de una orientacion.

Gracias de antemano.
  #5 (permalink)  
Antiguo 01/08/2011, 17:40
 
Fecha de Ingreso: julio-2011
Mensajes: 47
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Respuesta: Formulario no envia todos los campos

Buenas.

no se que pasa. Si el tema qu eabri lo cancelaron, alguien lo movio a otra parte o de plano todos me ignoran por la dificultad del tema, pero no he recibido rspuesta en varios dias...¿como puedo checar esto o saber si algo pasa o si los moderadores me bloquearon.?

Gracias de antemano.

Etiquetas: campos, envia, html, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:06.