Foros del Web » Programando para Internet » PHP » CodeIgniter »

Formularios: alguna duda

Estas en el tema de Formularios: alguna duda en el foro de CodeIgniter en Foros del Web. Hola amigos.....voy a ir planteando algunas dudas sobre FORMS en CI ...a ver si me pueden ayudar Cita: echo $this->input->post('username'); VS Cita: echo set_value('username'); Lo ...
  #1 (permalink)  
Antiguo 03/07/2011, 17:15
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Formularios: alguna duda

Hola amigos.....voy a ir planteando algunas dudas sobre FORMS en CI ...a ver si me pueden ayudar

Cita:
echo $this->input->post('username');
VS

Cita:
echo set_value('username');
Lo que he visto es que de AMBAS formas se devuelve el valor del campo del formulario aunque... la forma set_value() no funciona para CAMPOS OCULTOS:

Cita:
form_hidden('ip', $this->input->ip_address())
Alguien sabe el alcance de cada forma ?
__________________
Salu2!
  #2 (permalink)  
Antiguo 04/07/2011, 06:03
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 5 meses
Puntos: 165
Respuesta: Formularios: alguna duda

Bueno yo uso la segunda forma para colocarlo dentro de los input como valores por defecto.

Para recoger la información de los form, uso la primera forma, que ademas si lo quieres hacer, limpia las variables.

Un saludo!
  #3 (permalink)  
Antiguo 04/07/2011, 08:56
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: Formularios: alguna duda

Gracias MIKTRV

Como es eso del "limpiado" de vairables ? eso no lo hace set_rules ?
__________________
Salu2!
  #4 (permalink)  
Antiguo 04/07/2011, 11:30
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 5 meses
Puntos: 165
Respuesta: Formularios: alguna duda

Hola buenas de nuevo,

Si, eso también lo puedes especificar de manera individual, pero para mi, no tiene mucho sentido tener que pasar por un validador para limpiar una variable, ya que la puedes necesitar por ejemplo, por get.

Dentro del archivo de configuración de tu app (recuerda que puede ser multiapp), tienes la siguiente linea:

$config['global_xss_filtering'] = TRUE;

Con esta linea puedes hacer que se limpien de manera automática.

Para más info:

http://codeigniter.com/user_guide/libraries/input.html

Un saludo!
  #5 (permalink)  
Antiguo 04/07/2011, 17:27
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: Formularios: alguna duda

Cita:
ya que la puedes necesitar por ejemplo, por get.
amigo: gracias por el dato del filtering

MI SEGUNDA DUDA:

Hay alguna forma de generar AUTOMATICAMENTE la insersion en la DB ? no es que sea muy dificil....pero no es directo porque no se puede insertar cada variable que viene del formulario:

Cita:
array(6) { ["email"]=> string(11) "[email protected]" ["password"]=> string(6) "gogogo" ["passconf"]=> string(6) "gogogo" ["username"]=> string(6) "gfrggg" ["ip"]=> string(9) "127.0.0.1" ["submit"]=> string(6) "Enviar" }
Ahi se puede ver como envia tambien un indice "submit" que obviamente no tiene sentido insertar ese campo ni la confirmacion del password:

Código PHP:
$this->data $this->input->post();
unset (
$this->data['submit']);
unset (
$this->data['passconf']);      
$this->user_m->insert_user($this->data); 
¿ Como me evito los UNSETs ?
__________________
Salu2!

Última edición por Italico76; 04/07/2011 a las 18:22
  #6 (permalink)  
Antiguo 05/07/2011, 00:47
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 5 meses
Puntos: 165
Respuesta: Formularios: alguna duda

Bueno.. yo es que lo hago a mano.. es decir, recojo cada variable con:

Código PHP:
Ver original
  1. $this->input->post('var');

Y luego trabajo con ellas. Si no recuerdo mal, puedes quitarle al button la propiedad name para que no se envíe, no se si con eso te sirve.

Un saludo!

Etiquetas: frameworks-y-php-orientado-a-objetos, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:08.