phpMyForm : Initialisation et sauvegarde des champs du formulaire

Le script phpMyForm permet d’initialiser et de sauvegarder les champs du formulaire.

Cela va dépendre de la valeur de l’option mod (Options du formulaire).

Sauvegarde

Les champs du formulaire peuvent-être sauvegardés dans :

Un enregistement de la base de données MySQL

Les valeurs des champs du formulaire sont stockées sous forme sérialisée dans la base de données.
La value du champ dans la base données est par défaut form_name_ data.
(Peut être défini autrement. Voir l’option db_data_name dans les options du formulaire).

Exemple d’un enregistrement en base de données :

a:3:{s:11:"field_name1";s:6:"value1";
s:11:"field_name2";s:6:"value2";
s:11:"field_name3";s:6:"value3";}

Création table :

CREATE TABLE IF NOT EXISTS `pmf_form_data` (
`data_name` varchar(100) NOT NULL,
`data_value` text,
PRIMARY KEY (`data_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Table phpMyForm';

pmf_form_data, data_name, data_value sont définies dans les 3 constantes suivante :

define('_PMF_DB_TABLE_DATA_', 'pmf_form_data');
define('_PMF_DB_CHAMP_NAME_DATA_', 'data_name');
define('_PMF_DB_CHAMP_VALUE_DATA_', 'data_value');

Une option WordPress

Les champs sont enregistrés dans un enregistrement de la table wp_options de WordPress.

On utilisera dans le cas d’un formulaire dans une page d’administration de WordPress par exemple. Cela ne fonctionne donc QUE dans WordPress.

le nom de l’option dans WordPress est par défaut pmf_form_name_data.
(Peut être défini autrement. Voir l’option wp_option_name dans les options du formulaire).

Un fichier PHP

Le nom du fichier PHP est par défaut form_name_data.php.
(Peut être défini autrement. Voir l’option php_data_name dans les options du formulaire).
La variable array est automatiquement de la forme $form_name_data.

Obs. Si on change le nom du fichier PHP, la variable array prendra donc le nouveau nom (sans l’extension php!).
Ex. Si on définit l’option php_data_name avec la valeur toto, notre variable array sera donc : $toto (dans le fichier php toto.php).

Ce fichier PHP se trouvera dans le dossier form_name.

Exemple de fichier PHP :

$form_name_data = array (
                  'field_name1' => 'value1',
                  'field_name2' => 'value2',
                  'field_name3' => 'value3',
                  );

Initialisation

Les champs du formulaire peuvent-être initialisés depuis :

Un enregistrement de la base de données MySQL

Si cet enregistrement n’existe pas, les champs du formulaire seront initialisés avec les valeurs défauts (si définies dans le fichier form_definition.ini).

Une option WordPress

Les champs sont initialisés à partir d’un enregistrement de la table wp_options de WordPress. Si cet enregistrement n’existe pas, les champs du formulaire seront initialisés avec les valeurs défauts (si définies dans le fichier form_definition.ini).

Un fichier PHP

Si ce fichier n’existe pas, les champs du formulaire seront initialisés avec les valeurs défauts (si définies dans le fichier form_definition.ini).

Un tableau Array

Initialisation des 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',
                      ...
                      );