2010-11-06 5 views
2

Je me casse le cerveau. J'utilise CodeIgniter, en essayant d'obtenir une valeur à partir d'une case à cocher de formulaire dans un tableau de données à envoyer à la base de données. Voici les extraits:CodeIgniter: Obtention de données à partir d'un tableau de formulaire dans le tableau de poste

Formulaire (vue):

<label>Rental Car?</label><input type="checkbox" name="options[is_rental]" value="1" <?php echo set_checkbox('options[is_rental]', '1', FALSE); ?> /> 

Controller:

$data['is_rental'] = $this->input->post('options[is_rental]'); 

Maintenant, pendant ce processus, je suis également valider et repeupler le formulaire avec des données en utilisant options [is_rental] et cela fonctionne très bien. En utilisant var_dump je reçois:

Décharges (avec la case cochée) du contrôleur:

var_dump($this->input->post('options[is_rental]')) 

Retours

bool(false) 

et ...

var_dump($this->input->post('options')) 

Retours

array(3) { ["engine"]=> string(4) "4cyl" ["transmission"]=> string(9) "automatic" ["is_rental"]=> string(1) "1" } 

Pour ce que ça vaut, je ne peux pas non plus accéder à ces autres valeurs dans le tableau.

Répondre

8

Pourquoi ne pas le faire:

$ data = $ this-> entrées-> après ('options');

Ensuite $ data [ 'is_rental'] == 1 devrait

+0

Cela fonctionne, mais j'aimerais quand même savoir pourquoi cela n'a pas fonctionné lorsque vous avez retiré des éléments individuels de ce tableau. – mdvaldosta

+0

Je ne pense pas que vous pouvez faire: $ this-> input-> post ('options [is_rental]') dans CI pour le moment. – phirschybar

0

J'ai remarqué la même chose avec CodeIgniter. Si vous passez l'index à la règle de validation de formulaire, cela fonctionne correctement, mais pour placer les données dans une autre var, vous devez d'abord placer le tableau de publication dans une variable temporaire, puis accéder à cet index. Vous ne pouvez pas accéder aux index sur les tableaux POST en utilisant $ this-> input-> post

Questions connexes