Smarty y los formularios :(
Tengo un problemilla con smarty y los formularios, quiero hacer un listado de una tabla en la que tengo los apuntes de clase, mi site está através de smarty, y tengo mi propia librería de sql, que me gustaría seguir usando.
En el formulario tengo dos listas de opciones 1 para la asignatura ($signature) y otra para la evaluación ($eval), el formulario envía como post, aunque también me vendría bien una explicación para get, <code><form method="post" action = "listApuntes.php"></code>, en listApuntes.php tengo lo siguiente:
<code><?//líneas suprimidas por espacio
$file = "apuntes/apuntesList.php";
$smarty->assign('FILE', $file);
$smarty->display('index.htm');
?></code>, en index.htm (que es la plantilla :)) tengo esto {include file = "includes/$FILE"}, la cuestión es que no me lista los apuntes, porque a
apuntesList.php no se como pasarle las variables post, he probado con las variables $smarty ({$smarty.post.nombre}) y me muestra el valor, pero no se como igualarlo a las variables que se encargan de construir mi query ($query = "SELECT * FROM $signature WHERE eval = '$eval'"; ), que tengo en php "normal" (no el de smarty), y si intento recuperar las variables post desde php "normal", no me muestra valor alguno.
Espero ser claro, y si lo soy, ¿hay alguien que me pueda echar una mano?.
FELIZ 2004 A TODOS
meddle
creo que te estas haciendo la picha un lio con archivos php con y sin smarty. :)
A ver, si lo que quieres es enviar un formulario a un php con smarty para que lo muestre en una plantilla, entonces debes hacer algo del estilo siguiente en el php con smarty:
<code>$asignatura = $_POST['campoDelForm'];
$smarty->assign_by_ref('ASIG', $asignatura);</code>
y en la plantilla tendras algo como:
<code><p>Aqui hablamos de la asignatura de {ASIG}</p></code>
Como no se si estas hablando de variables o de arrays, lo dejo aqui. Te recomiendo te leas <em>de nuevo</em> mi introduccion a smarty en gentes.
dirarck
Creo que lo que quiero conseguir es todo lo contrario, y estoy de acuerdo en k tengo un lio en la picha :P, me parece algo complicado los experimentos que estoy haciendo para que un formulario tire en smarty. Me he leido tu tutorial, lo leí antes de postear y lo he intentado entender, pero en lo que a formularios se refiere, creo que soy un manazas. :(. Expongo mis ficheros a ver si pueden ayudarme.
tengo un plantilla (index.htm), en la cual tengo una capa (content) con overflow auto, para que funcione como si fuera un iframe, cuando vamos al enlace apuntes del menu se carga en la capa un formulario <code><form method="post" action = "listApuntes.php"></code>, hasta ahi vamos bien, en listApuntes.php tengo esto (no se si es correcto):
<code><?php
require '../Smarty/libs/Smarty.class.php';
$smarty = new Smarty;
$file = "apuntes/apuntesList.php";
$smarty->assign_by_ref('FILE', $file);
$smarty->display('index.htm'); // renderizar plantilla
?></code>
Como veis, le digo a smarty que cargue el listado (apuntesList.php) en la capa, el problema es que con $HTTP_POST_VARS['variable']; no me recoge el valor, porque creo que lo "perdí" en listApuntes.php, sin embargo si hago lo siguiente {$smarty.post.variable}, me muestra el valor correctamente. Mi pregunta de nuevo es: ¿hay manera, de pasar el valor generado por la variable {$smarty.post.variable}, a una variable $variable para poder contruir la sentencia del query que necesito para realizar el listado?, y mejor aún, ¿podrían facilitarme algún manual, o nociones básicas del uso de formularios con smarty?
Gracias