如何在Cake 3.2中的POST请求中传递一组隐藏信息


How can I pass an array of hidden informations in a POST request in Cake 3.2?

我已经为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() ?>

在我的项目中,我有以下元素作为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]);

如果你想隐藏数组的值,那么你可以用这种方式。

<?php
                                $a = array("Name" => "Peter", "Age" => "41", "Country" => "USA");
                                ?>
                                <input type="hidden" name="data[Menu][arr]" value="<?php pr($a); ?>">

当你发布数据时,它可以产生类似的输出。检查它。是否需要

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

        )
)