2017-07-19 2 views
1

Dans cakephp 3 j'ai reçu une erreur Champ inattendu dans les données POST. En fait ce champ n'est pas dans ma table, mais je veux utiliser dans le contrôleur.Dans cakephp 3 j'ai eu une erreur Champ inattendu dans les données POST

+0

Bienvenue sur Stackoverflow mon ami! S'il vous plaît nous montrer votre code si vous voulez que nous vous aidons! Sinon, votre question pourrait être fermée, car il est trop large pour y répondre maintenant. –

Répondre

3

Le composant de sécurité dans CakePHP ne pardonne pas. Si vous souhaitez autoriser un champ à travers cela ne devrait pas passer par le processus de hachage composant de sécurité, vous devez utiliser la méthode unlockedField qui vient avec la classe FormHelper en tant que tel:

$this->Form->unlockField('field'); 

Si cela ne fonctionne pas, vous besoin de nous fournir le code pertinent

0

Je recevais l'erreur similaire dans cakephp 3.4 J'utilisais la simple forme html et les champs de saisie. Je passais les champs d'entrée de données dans le tableau. comme ci-dessous: -

<form action="" method="post">  
<input name="data[1][category_1]" id="category_1"> 
</form> 

Alors je fais un peu de R & D et a constaté que nous avons besoin d'utiliser l'assistant formulaire de CakePHP pour créer la forme et ses champs comme ci-dessous: -

En cas de forme passe données tableau

<?= $this->Form->create($user, ['url' => ['controller' => 'Users', 'action' => 'saveOrder']]); ?> 
    <?= $this->Form->input("Data.1.category_1"); ?> 
<?= $this->Form->end() ?> 

en cas de champs de saisie simples que vous pouvez faire le code comme ci-dessous

<?= $this->Form->create($user, ['url' => ['controller' => 'Users', 'action' => 'saveOrder']]); ?> 
    <?= $this->Form->input("category"); ?> 
<?= $this->Form->end() ?> 

Ce travail me former et résoudre l'erreur inattendue champ dans les données POST dans CakePHP 3.4