Siempre podr�s acceder a los post con $_POST[] pero lo normal en
CodeIgniter es usar la librer�a Input:
http://codeigniter.com/user_guide/libraries/input.html
Entonces, usamos $this->input->post(); que una de las ventajas es que si
tenemos filtrado XSS por defecto, ya nos devolver� el valor filtrado y
la manera ser�a:
$variable = $this->input->post("example");
Siempre que el formulario sea tipo <input type="text" name="example" />
Sobre "de recivirlos en un modelo o en un controlador?", se hace igual
en ambos sitios.
Un saludo,
Isern Palaus
http://blog.ipalaus.es
El 30/03/2011 22:39, cesar barcia escribi�:
> Sobre "de recivirlos en un modelo o en un controlador?", se hace igual
> en ambos sitios.
Ya que lo mensionas, siempre tuve la duda de que en el modelo no se
debería usar input, se supone que el modelo no sabe de donde viene la
info ¿O estoy meando fuera del tarro?
Lo correcto, aunque despu�s cada uno tenemos nuestros m�todos, ser�a
procesar los post en el controlador y pasarlos ya formateados al modelo,
rollo:
// Controlador
$datos = array(
"nombre" => $this->input->post("title"),
"slug" => url_title($dats["nombre"]),
"fecha" => $this->input->post("date"), // aqu� podriamos
convertirlo a time, por ejemplo
// .. etc
);
$run = $this->example_model->insert($datos);
if(true === $run)
redirect("index");
else
$this->session->set_flashdata("error", "no funciona");
// Modelo
public function insert($datos = false)
{
if(false == is_array($datos) // Una comprobaci�n m�s no est�
return false; // de menos... ;-)
return $this->db->insert("tabla", $datos);
}
Pero vamos... esta es mi forma de hacerlo. Hay gente que prefiere
procesar los inputs en los modelos de modo que los controladores tienen
4 l�neas y as� son m�s "reutilizables"... en Google si buscas por "MVC
fat models" encontrar�s varias discusiones sobre el tema.
Espero que te sirva.
Un saludo,
Isern
El 05/04/11 13:25, Carlos Mora escribi�:
> Isern,
>
>> Sobre "de recivirlos en un modelo o en un controlador?", se hace igual
>> en ambos sitios.
> Ya que lo mensionas, siempre tuve la duda de que en el modelo no se
> deber�a usar input, se supone que el modelo no sabe de donde viene la
> info �O estoy meando fuera del tarro?
>
--
Isern Palaus <ipa...@ipalaus.es>
Hola Carlos,
Lo correcto, aunque después cada uno tenemos nuestros métodos, sería procesar los post en el controlador y pasarlos ya formateados al modelo, rollo:
// Controlador
$datos = array(
"nombre" => $this->input->post("title"),
"slug" => url_title($dats["nombre"]),
"fecha" => $this->input->post("date"), // aquí podriamos convertirlo a time, por ejemplo
// .. etc
);
$run = $this->example_model->insert($datos);
if(true === $run)
redirect("index");
else
$this->session->set_flashdata("error", "no funciona");
// Modelo
public function insert($datos = false)
{
if(false == is_array($datos) // Una comprobación más no está
return false; // de menos... ;-)
return $this->db->insert("tabla", $datos);
}
Pero vamos... esta es mi forma de hacerlo. Hay gente que prefiere procesar los inputs en los modelos de modo que los controladores tienen 4 líneas y así son más "reutilizables"... en Google si buscas por "MVC fat models" encontrarás varias discusiones sobre el tema.
Espero que te sirva.
Un saludo,
Isern
El 05/04/11 13:25, Carlos Mora escribió:
Isern,
Sobre "de recivirlos en un modelo o en un controlador?", se hace igualYa que lo mensionas, siempre tuve la duda de que en el modelo no se
en ambos sitios.
debería usar input, se supone que el modelo no sabe de donde viene la
> Lo correcto, aunque después cada uno tenemos nuestros métodos, sería
> procesar los post en el controlador y pasarlos ya formateados al modelo,
Buscaba una opinión, soy de tu misma idea pero siempre me encuentro
con gente con otros gustos, y no le veo muchas ventajas.
Gracias
--
---
Para anular la suscripción a este grupo, envía un mensaje a
codeigniter-spa...@googlegroups.com
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/codeigniter-spanish?hl=es.