Maison  >  Article  >  développement back-end  >  Gestion des formulaires CakePHP

Gestion des formulaires CakePHP

WBOY
WBOYoriginal
2024-09-10 17:26:25216parcourir

CakePHP fournit diverses balises intégrées pour gérer les formulaires HTML facilement et en toute sécurité. Comme beaucoup d’autres frameworks PHP, les principaux éléments HTML sont également générés à l’aide de CakePHP. Voici les différentes fonctions utilisées pour générer des éléments HTML.

Les fonctions suivantes sont utilisées pour générer des options de sélection

Syntaxe _selectOptions( tableau $elementsarray(), tableau $parentsarray(), booléen $showParentsnull, tableau $attributesarray() )
Paramètres
  • Syntax _selectOptions( array $elementsarray(), array $parentsarray(), boolean $showParentsnull, array $attributesarray() )
    Parameters
    • Elements to format

    • Parents for OPTGROUP

    • Whether to show parents

    • HTML attributes

    Returns array
    Description Returns an array of formatted OPTION/OPTGROUP elements
    Éléments à formater
  • Parents pour OPTGROUP

  • Montrer ou non aux parents
  • Attributs HTML
    Syntax select( string $fieldName, array $options array(), array $attributes array() )
    Parameters

    Name attribute of the SELECT

    Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element.

    Returns Formatted SELECT element.
    Description Returns a formatted SELECT element.
Retours tableau
Description Renvoie un tableau d'éléments OPTION/OPTGROUP formatés

Les fonctions suivantes sont utilisées pour générer un élément de sélection HTML.

Syntaxe select( string $fieldName, array $options array(), array $attributes array() )
Paramètres
Syntax

Button(string $title, array $optionsarray() )

Parameters
  • The button's caption. Not automatically HTML encoded.

  • Array of options and HTML attributes

Returns HTML button tag.
Description

Creates a tag. The type attribute defaults to type="submit". You can change it to a different value by using $options['type'].

Attribut Nom du SELECT

Tableau des éléments OPTION (sous forme de paires 'value'=>'Text') à utiliser dans l'élément SELECT.

Retours Élément SELECT formaté.
Description Renvoie un élément SELECT formaté.
Les fonctions suivantes sont utilisées
pour générer un bouton
Syntax Checkbox(string $fieldName, array $optionsarray() )
Parameters
  • Name of a field, like this "Modelname.fieldname"

  • Array of HTML attributes. Possible options are value, checked, hiddenField, disabled, default.

Returns An HTML text input element.
Description Creates a checkbox input widget.
sur une page HTML.

Syntaxe Bouton(string $title, array $optionsarray() )
Paramètres
  • La légende du bouton. Pas automatiquement encodé en HTML.
  • Syntax create( mixed $modelnull , array $optionsarray() )
    Parameters
    • The model name for which the form is being defined. Should include the plugin name for plugin models. e.g. ContactManager.Contact. If an array is passed and $options argument is empty, the array will be used as options. If false, no model is used.

    • An array of html attributes and options. Possible options are type, action, url, default, onsubmit, inputDefaults, encoding.

    Returns

    A formatted opening FORM tag.

    Description Returns an HTML FORM element.
    Tableau d'options et d'attributs HTML
Retours Balise de bouton HTML.
Description

Crée une balise . L'attribut type est par défaut

type="submit"
. Vous pouvez le remplacer par une valeur différente en utilisant
Syntax

file(string $fieldName, array $optionsarray() )

Parameters
  • Name of a field, in the form "Modelname.fieldname"

  • Array of HTML attributes.

Returns

A generated file input.

Description

Creates file input widget.

$options['type'].
Les fonctions suivantes sont utilisées pour générer des cases à cocher sur une page HTML.
Syntaxe Checkbox(string $fieldName, array $optionsarray() )
Paramètres
  • Nom d'un champ, comme ceci "Modelname.fieldname"
  • Tableau d'attributs HTML. Les options possibles sont valeur, coché, HiddenField, désactivé, par défaut.
Retours Un élément de saisie de texte HTML.
Description Crée un widget de saisie de case à cocher.
Les fonctions suivantes sont utilisées pour créer un formulaire sur une page HTML.
Syntaxe create( mixte $modelnull , tableau $optionsarray() )
Paramètres
  • Le nom du modèle pour lequel le formulaire est défini. Doit inclure le nom du plugin pour les modèles de plugin. par ex. ContactManager.Contact. Si un tableau est passé et que l'argument $options est vide, le tableau sera utilisé comme options. Si faux, aucun modèle n'est utilisé.
  • Un tableau d'attributs et d'options HTML. Les options possibles sont type, action, url, default, onsubmit, inputDefaults, encoding.
Retours Une balise d'ouverture FORM formatée.
Description Renvoie un élément HTML FORM.
Les fonctions suivantes sont utilisées pour fournir une fonctionnalité de téléchargement de fichiers sur une page HTML.
Syntaxe fichier(string $fieldName, array $optionsarray() )
Paramètres
  • Nom d'un champ, sous la forme "Modelname.fieldname"
  • Tableau d'attributs HTML.
Retours Une entrée de fichier générée.
Description Crée un widget de saisie de fichier.

Les fonctions suivantes sont utilisées pour créer un élément caché sur une page HTML.

Syntaxe
Syntax

hidden( string $fieldName , array $optionsarray() )

Parameters
  • Name of a field, in the form of "Modelname.fieldname"

  • Array of HTML attributes.

Returns

A generated hidden input

Description

Creates a hidden input field

hidden( string $fieldName , array $optionsarray() )
Paramètres
  • Nom d'un champ, sous la forme "Modelname.fieldname"

  • Tableau d'attributs HTML.
Retours
Une entrée cachée générée
Syntax

Input(string $fieldName , array $options array() )

Parameters
  • This should be "Modelname.fieldname"

  • Each type of input takes different options

Returns

Completed form widget

Description

Generates a form input element complete with label and wrapper div

Description Crée un champ de saisie masqué

Les fonctions suivantes sont utilisées pour générer un élément d'entrée
sur une page HTML.
Syntax

Radio(string $fieldName , array $optionsarray() , array $attributesarray() )

Parameters
  • Name of a field, like this "Modelname.fieldname"

  • Radio button options array.

  • Array of HTML attributes, and special attributes above.

Returns Completed radio widget set
Description Creates a set of radio widgets. Will create a legend and fieldset by default. Use $options to control this.
Syntaxe

Input(string $fieldName , array $options array() )

Paramètres
  • Ceci devrait être "Modelname.fieldname"
  • Chaque type d'entrée prend différentes options
    Syntax Submit(string $caption null, array $options array() )
    Parameters
    • The label appearing on the button OR if string contains :// or the extension .jpg, .jpe, .jpeg, .gif, .png. Use an image if the extension exists, AND the first character is /, image is relative to webroot, OR if the first character is not /, image is relative to webroot/img.

    • Array of options. Possible options are div, before, after, type etc.

    Returns

    An HTML submit button

    Description Creates a submit button element. This method will generate elements that can be used to submit, and reset forms by using $options. Image submits can be created by supplying an image path for $caption.
Retours Widget Formulaire complété

Description Génère un élément de saisie de formulaire complet avec une étiquette et un div wrapper
Les fonctions suivantes sont utilisées pour générer un
Syntax

Textarea(string $fieldName , array $options array() )

Parameters
  • Name of a field, in the form "Modelname.fieldname"

  • Array of HTML attributes, special option like escape

Returns A generated HTML text input element
Description Creates a textarea widget
bouton radio
sur une page HTML.

Syntaxe

Radio(string $fieldName , array $optionsarray() , array $attributesarray() ) td>

Paramètres
  • Nom d'un champ, comme ceci "Modelname.fieldname"
  • Tableau d'options de boutons radio.

  • Tableau d'attributs HTML et attributs spéciaux ci-dessus.
Retours Ensemble de widgets radio terminé
Description Crée un ensemble de widgets radio. Créera une légende et un ensemble de champs par défaut. Utilisez $options pour contrôler cela.
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('register',['controller'=>'Registrations','action'=>'index']);
   $builder->fallbacks();
});

Les fonctions suivantes sont utilisées pour générer le bouton soumettre sur la page HTML.

Syntaxe Soumettre(string $caption null, array $options array() )
Paramètres
  • Le label apparaissant sur le bouton OU si la chaîne contient :// ou l'extension .jpg, .jpe, .jpeg, .gif, .png. Utilisez une image si l'extension existe, ET le premier caractère est /, l'image est relative à webroot, OU si le premier caractère n'est pas /, l'image est relative à webroot/img.
  • Tableau d'options. Les options possibles sont div, avant, après, type, etc.

Retours Un bouton de soumission HTML
Description Crée un élément de bouton de soumission. Cette méthode générera éléments qui peuvent être utilisés pour soumettre et réinitialiser des formulaires en utilisant $options. Les soumissions d'images peuvent être créées en fournissant un chemin d'image pour $caption.
<?php namespace App\Controller;
   use App\Controller\AppController;
   class RegistrationsController extends AppController{
      public function index(){
         $country = array('India','United State of America','United Kingdom');
         $this->set('country',$country);
         $gender = array('Male','Female');
         $this->set('gender',$gender);
      }
   }
?>
Les fonctions suivantes sont utilisées

pour générer un élément de zone de texte sur une page HTML.

Syntaxe Textarea(string $fieldName , array $options array() )
Paramètres
  • Nom d'un champ, sous la forme "Modelname.fieldname"
  • Tableau d'attributs HTML, option spéciale comme escape
Retours Un élément de saisie de texte HTML généré
Description Crée un widget de zone de texte

Exemple

Apportez des modifications au fichier
<?php echo $this->Form->create(NULL,array('url'=>'/register'));
   echo '<label for="country">Country</label>';
   echo $this->Form->select('country',$country);
   echo '<label for="gender">Gender</label>';
   echo $this->Form->radio('gender ',$gender);
   echo '<label for="address">Address</label>';
   echo $this->Form->textarea('address');
   echo $this->Form->file('profilepic');
   echo '<div>'.$this->Form->checkbox('terms').
      '<label for="country">Terms &mp; Gestion des formulaires CakePHPs</label>
</div>';
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>
config/routes.php

comme indiqué dans le code suivant.

config/routes.php

Créez un fichier Gestion des formulaires CakePHPRegistrationsController.php à src/Controller/RegistrationsController.php. Copiez le code suivant dans le fichier du contrôleur. src/Controller/RegistrationsController.php Créez un répertoire Inscriptions dans src/Template et sous ce répertoire, créez un fichier View appelé index.php. Copier le code suivant dans ce fichier. src/Template/Registrations/index.php Exécutez l'exemple ci-dessus en visitant l'URL suivante - http://localhost/cakephp4/register Sortie Lors de l'exécution, vous recevrez le résultat suivant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Journalisation CakePHPArticle suivant:Journalisation CakePHP