Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: IWKY en 5 Enero 2009, 16:28 pm



Título: Formulario + web modular
Publicado por: IWKY en 5 Enero 2009, 16:28 pm
Hola, estoy haciendo una web modular, y tengo un problema, resulta que en uno de los módulos hay un formulario, el cual debe llamar a otro modulo el cual valida e interactua con los datos del formulario, el problema viene cuando envío el formulario que no coge los datos del formulario, pongo los códigos para que se vea más claro.

Código
  1. <!-- Formulario >
  2. <form action="?cat=email" method="post" enctype="text/plain">
  3.    <label for="nombre">Nombre:</label>
  4.    <input type="text" name="nombre" size="30" maxlength="100">
  5. </form>
  6.  

Código
  1. /* Moudulo email.php */
  2. $nombre=$_POST['nombre'];
  3. echo $nombre;
  4.  

Código
  1. /* index.php asi se cargan los modulos */
  2.  
  3. if (!empty( $_GET ['cat']))
  4.  $modulo  =  $_GET ['cat'];
  5. else
  6.  $modulo  =  MODULO_DEFECTO ;
  7.  
  8. $path_modulo=MODULO_PATH . '/' . $conf[$modulo]['archivo'];
  9.  
  10. if(file_exists($path_modulo))
  11.  include($path_modulo);
  12.  

Como lo puedo hacer para que el email.php coja los valores del formulario.


Un saludo, y si hace falta algún dato más pidan lo.


Título: Re: Formulario + web modular
Publicado por: дٳŦ٭ en 5 Enero 2009, 17:53 pm
Los está tomando... en mail.php pon print_r($_POST);


Título: Re: Formulario + web modular
Publicado por: IWKY en 6 Enero 2009, 21:34 pm
Hola, pues la respuesta del comando print_r es Array ( ) o sea que deduzco que no le llegan los valores.
Supongo que es por lo siguiente, desde el form indico el modulo a cargar (?cat=email), si el form lo paso por get entonces me dice que no encuentra el modulo y me carga el modulo por defecto y si lo paso por post me carga el modulo pero me sale Array (), así pues deduzco que toma como modulo ?cat=email?nombre=XXX (en el caso de get).

Como puedo solucionarlo.

Un saludo.


Título: Re: Formulario + web modular
Publicado por: Karman en 7 Enero 2009, 05:23 am
Hola, pues la respuesta del comando print_r es Array ( ) o sea que deduzco que no le llegan los valores.

incorrecto, tanto print_r como echo $_POST te va a devolver array porque $_POST es un array...

el problema está en el enctype="text/plain"... fijate:

index.php
Código
  1. <form action="?cat=email" method="post" >
  2.    <label for="nombre">Nombre:</label>
  3.    <input type="text" name="nombre" size="30" maxlength="100">
  4. </form>
  5.  
  6. <?php
  7. if (!empty( $_GET ['cat'])){
  8.  $modulo  =  $_GET ['cat'].'.php';
  9. if(file_exists($modulo))
  10.   include($modulo);
  11. }
  12. ?>
  13.  

email.php
Código
  1. <?php
  2. $nombre=$_POST['nombre'];
  3. echo $nombre;
  4. ?>
  5.  

S2


Título: Re: Formulario + web modular
Publicado por: IWKY en 7 Enero 2009, 14:52 pm
Gracias, ya funciona ahora el print_r muestra lo siguiente Array ( [nombre] => XXX ), ahora me gustaría saber el porque el enctype no deja pasar los valores.

Un saludo


Título: Re: Formulario + web modular
Publicado por: Karman en 7 Enero 2009, 17:15 pm
eso no sabría decirte... ya una vez tuve problemas con enctype y me costó mucho solucionarlo... así que no sabría decirte...

S2


Título: Re: Formulario + web modular
Publicado por: IWKY en 7 Enero 2009, 21:01 pm
Ok, intentare averiguarlo pero si alguien lo sabe pues que lo diga si es tan amable.

Un saludo.