Bonjour,

Voila je rencontre un petit problème avec mon code.
J'ai un fomulaire très simple (pas de traitement JS etc...) , quand je soumets ce formulaire a chaque fois je tombe sur cette erreur " The request has been black-holed
Cake\Network\Exception\BadRequestException "

Voici le code du formulaire:

 <?= $this->Form->create('addnewclient', ['action' => 'addnewclient', 'class' => 'form-horizontal']) ?>

                                            <div class="form-body">
                                                <div class="form-group">

                                                    <label class="col-md-3 control-label">Type</label>
                                                    <div class="col-md-4">

                                                        <select class="form-control" name="type" id="type">

                                                                    <option value="particulier">Client particulier</option>
                                                                    <option value="pro">Client Pro</option>

                                                            </select>
                                                        <span class="help-block">
                                                        </span>
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="form-actions">
                                                <div class="row">
                                                    <div class="col-md-offset-3 col-md-9">
                                                        <button type="submit"  class="btn btn-circle blue">Ajouté</button>

                                                    </div>
                                                    <?= $this->Form->end() ?>

et ceux sur tout les fomulaires de mon application depuis que j'ai activé le componants Security et les paiement en ligne aussi genre Paypal etc...j'ai la même erreur.

Si vous avez une idée ?
Merci par avance :)

5 réponses


Wa3aR
Réponse acceptée

Si tu es en production, il vaut mieux le désactiver parce que tu vas passer ton temps à faire des tests et c'est généralement bloquant. En production, ça se discute. Personnellement je ne suis pas fan parce que ça peut bloquer beaucoup d'utilisateurs dont je le désactive mais derrière tu dois mettre en place des "contrôles" plus souples et moins bloquants on va dire.

Tout est une question d'affinités ^^ je te conseille de faire le test et tu verras toi même en production ce que ça donne.

slt, essaie d'utiliser du cake pour generer ton select et le submit

Salut,

Tu as dû activer le component "Security" qui ne te permet pas de soumettre un formulaire deux fois de suite (en actualisant par exemple). Je te conseille d'utiliser le FormHelper de Cake comme l'a mentionné alexyon mais surtout, de voir dans la formation sur Cake la partie concernant le component Security.

bonsoir,
Je vous remercie
Je code sous Cakephp depuis la version 2 sa fait pas longtemps que je suis passer sous la version 3.
Oui le componants Security est activé, je voulais savoirs si il était indispensable ou si ont pouvais le désactivé ? Qu'elle en serait les conséquences ?

Merci :)

Généralement, cette erreure apparait parce que tu n'as pas de token de sécurité dans ton formulaire. Assure toi de bien avoir ces champs :

<input name="_method" value="POST" type="hidden">
<input name="_csrfToken" value="8f4ad711cf59a617c1cd2c8172b2b43224d8303e" type="hidden">

Ils sont automatiquement générés par le SecurityComponent pour protéger ton formulaire.

Et comme suggérer par alexyon et Wa3aR, utilises le helper Form pour générer tes champs