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.
<!-- Formulario >
<form action="?cat=email" method="post" enctype="text/plain">
<label for="nombre">Nombre:</label>
<input type="text" name="nombre" size="30" maxlength="100">
</form>
/* Moudulo email.php */
$nombre=$_POST['nombre'];
echo $nombre;
/* index.php asi se cargan los modulos */
if (!empty( $_GET ['cat']))
$modulo = $_GET ['cat'];
else
$modulo = MODULO_DEFECTO ;
$path_modulo=MODULO_PATH . '/' . $conf[$modulo]['archivo'];
if(file_exists($path_modulo))
include($path_modulo);
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.
Los está tomando... en mail.php pon print_r($_POST);
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.
Cita de: 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.
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
<form action="?cat=email" method="post" >
<label for="nombre">Nombre:</label>
<input type="text" name="nombre" size="30" maxlength="100">
</form>
<?php
if (!empty( $_GET ['cat'])){
$modulo = $_GET ['cat'].'.php';
if(file_exists($modulo))
include($modulo);
}
?>
email.php
<?php
$nombre=$_POST['nombre'];
echo $nombre;
?>
S2
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
eso no sabría decirte... ya una vez tuve problemas con enctype y me costó mucho solucionarlo... así que no sabría decirte...
S2
Ok, intentare averiguarlo pero si alguien lo sabe pues que lo diga si es tan amable.
Un saludo.