2010-05-21 8 views
6

¿Cuál sería la mejor manera de enviar una publicación completa a un modelo en Code Igniter? Los métodos que sé son los siguientes:Cómo enviar un POST completo al modelo en el Código Ignitor

Nombre elementos de formulario como matriz, por ejemplo.

<input type="text" name="contact[name]"> 
<input type="text" name="contact[surname]"> 

y luego usar:

$this->Model_name->add_contact($this->input->post('contact')); 

El otro sería añadir cada elemento de una matriz y a continuación, enviarlo al modelo como tal:

<input type="text" name="name"> 
<input type="text" name="surname"> 

y

$contact_array = array('name' => $this->input->post('name'), 
         'surname' => $this->input->post('surname')); 
$this->Model_name->add_contact($contact_array); 

Cuál de estos sería b e mejor práctica, y ¿hay alguna manera de enviar directamente un POST completo a un modelo (o tal vez a un formulario completo?)

Respuesta

5

Simplemente pase la variable $ _POST al método que desee para trabajar con todas las variables POST. Veo su preocupación, pero puede estar seguro: $ _POST se desinfecta mediante la función de filtrado de seguridad cada vez que se crea una instancia del controlador.

Así:

$this->Model_name->add_contact($_POST); 
+1

Ah genial! No sabía que $ _POST en sí estaba desinfectado. ¡Gracias! –

+0

Bueno, en cierta medida, pero con seguridad, puede habilitar el filtrado auto-xss en config.php configurando $ config ['global_xss_filtering'] = TRUE –

+0

$ config ['global_xss_filtering'] está habilitado, simplemente Nunca se me ocurrió que se desinfectaron las $ _POST reales var. –

Cuestiones relacionadas