Как я могу передать массив скрытой информации в запросе POST в Cake 3.2?

1

Я создал форму для запроса POST, но мне нужно отправить массив информации, который не должен быть видимым в этой форме. Массив состоит из не заданного количества других массивов.

Мой массив называется "$ dati" и создается ограниченным количеством массивов с тремя данными каждый.

Код моей формы:

<?= $this->Form->create(null,['type'=> 'post', 'url'=>['action'=>'selectForSell2',$rassegnaselezionata->id,$showselezionato->id,$proiezioneselezionata->id  ]]) ?>
    <?= $this->Form->input('stato', ['options' => ['tutti' => 'Tutti i Soci',  'firmato' => 'Soci Firmati', 'approvato' => 'Soci Approvati'] ] ); ?>
    <?= $this->Form->input('campo', ['options' => ['cognome' => 'Cognome', 'nome' => 'Nome', 'codicefiscale' => 'Codice Fiscale'] ] ); ?>
    <?= $this->Form->input('ricerca', ['label' => false, "class" => " form-control input-medium", "placeholder" => __('Ricerca'), 'visible'=>false]); ?>
    <?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
  • 1
    Когда вы говорите «не должно быть видно в форме», вы имеете в виду, что элементы ввода не должны быть видны обычному пользователю, смотрящему на страницу, или вы имеете в виду, что даже тот, кто смотрит на источник страницы, должен не сможет увидеть данные?
  • 0
    Для моей цели не должен быть виден обычному пользователю
Теги:
arrays
cakephp
post
cakephp-3.0

2 ответа

0
Лучший ответ

В моих проектах у меня есть следующий элемент как hidden.ctp:

if (isset($model)) {
    $model .= '.';
} else {
    $model = '';
}

foreach ($fields as $field => $values) {
    if (is_array($values)) {
        echo $this->element('hidden', ['model' => $model . $field, 'fields' => $values]);
    } else {
        echo $this->Form->hidden($model . $field, ['value' => $values]);
    }
}

Тогда вы можете просто позвонить ему

echo $this->element('hidden', ['fields' => $dati]);
  • 0
    Это почти работает! Но я должен отправить переменную массива с именем "dati", которая содержит n другого массива (безымянного), который содержит три данных ("social", "abbonamento" и "biglietto"). С вашим кодом я отправляю запрос с n массивами, но не содержащимися в массиве "dati"
  • 0
    Решено! Мне просто нужно было установить $ model на 'dati'!
-1

Если вы хотите скрыть значение массива, вы можете сделать это таким образом.

<?php
                                $a = array("Name" => "Peter", "Age" => "41", "Country" => "USA");
                                ?>

                                <input type="hidden" name="data[Menu][arr]" value="<?php pr($a); ?>">

Он может производить вывод, например, когда вы публикуете данные. Check it.it требуется или нет

Array
(
    [Menu] => Array
        (

            [arr] => Array( [Name] => sradha  [Age] => 20 [Country] => IN)


        )

)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню