phpMyForm : Instanciation de la class

Création d'une instance de la class PhpMyForm

$my_form = new PhpMyForm('form_name', $params = array());
<form id="form_name" ... >

Options d'initialisation du formulaire

Initialisation des champs du formulaire

Attrubut init_data :

Initialisation d’un tableau pour initialiser les champs du formulaire avant l’appel de la méthode form.

$my_form->init_data = array(
                      'field_name1' => 'value1',
                      'field_name2' => 'value2',
                      'field_name3' => 'value3',
                      ...
                      );

Par exemple, si je veux initialiser le champ nom avec la valeur toto et le champ email avec la valeur toto@titi.org de mon formulaire, je vais créer un tableau php comme ceci :

$my_form->init_data = array (
                      'nom' => 'toto', 
                      'email' => 'toto@titi.org'
                      );

Ce tableau php, peut bien entendu être créé dynamiquement, par exemple à la lecture d’un enregistrement de base de données.
Il suffira de créer la function adéquate qui se chargera de créer le tableau PHP.
On peut utiliser l’option function_before dans les options phpMyForm.

Génération dynamique de la définition des champs du formulaire

Attribut init_fields :

Si on a besoin de définir dynamiquement les champs du formulaire dans le script.

Cela primera sur l’utilisation du fichier form_definition.ini si défini.

$my_form->init_fields = $array;

Exemple :

// Exemple pour un formulaire : doc-init-fields
$toto = [];
$toto['champ1']['field_type'] = 'text';
$toto['champ1']['label'] = 'Champ #1';
$toto['champ1']['text_bottom'] = '<small><em>Texte en dessous</em></small>';
$toto['champ1']['rules']['required']['value'] = 1;
$toto['champ2']['field_type'] = 'checkbox';
$toto['champ2']['label'] = 'Champ #2';
$toto['champ2']['text_after'] = 'Une case à cocher';
// ************************************************
$my_form = new PhpMyForm('doc-init-fields');
$my_form->init_fields = $toto;
$my_form->form();

L'exemple ci-desssus va générer ce simple formulaire :

Texte en dessous

Champ #2
 

Initialisation d'options

Attribut init_options :

Si on a besoin d'initialiser des options du formulaire dans le script avant son affichage.
Création d'un tableau qui va fusionner avec form_options.ini si existe.

$my_form->init_options = $array;

Si erreur (message affiché) dans form_options.ini (et même si $my_form->init_options est défini) ce sont les options par défaut qui seront utilisées.

Si une option est initalisée à la fois dans le script et dans form_options.ini, la valeur de l'option dans le script prime.

Exemple :

Initialisation des options button_name et function_after directement dans le script.

// Exemple pour un formulaire : test_init_options
$toto = [];
$toto['options']['button_name'] = 'Enregistrer';
$toto['options']['function_after'] = 'my_function';
// ************************************************
$my_form = new PhpMyForm('test_init_options');
$my_form->init_options = $toto;
$my_form->form();

Ajout de champ(s) text type hidden

Attribut hidden_field :

Possibilté d’ajouter un(ou plusieurs) champ(s) caché(s) au formulaire.

$my_form->hidden_field = array(
                         'name01' => 'value01',
                         'name02' => 'value02',
                         ...
                         );

Là aussi, ce tableau php peut être créé dynamiquement. Pour reprendre l’exemple de la base de données, on mettra en champ caché l’idendifiant de l’enregistrement lu que l’on veut modifier. Il sera donc envoyé lors de la soumission du formulaire.

Le(ou les) champ(s) caché(s) est(sont) construit(s) de cette forme.

<input type="hidden" name="name01_form_name" value="value01">
<input type="hidden" name="name02_form_name" value="value02">
...

Appel de la méthode form()

Affichage du formulaire :

$my_form->form();