Les options sont définies dans un fichier form_options.ini.
Ce fichier est optionnel. Si omis, les valeurs défaut sont utilisées.
Ce fichier est à créer dans le dossier du formulaire form_name.
Il y a possibilité de définir des options directement dans le script avant l'affichage du formulaire (Instanciation de la class PhpMyForm).
Les différentes options
Structure du fichier :
[options]
Option1=Value1
Option2=Value2
Option3=Value3
...
mod
Cette option défini la méthode d'initialisation des données des champs du formulaire et la méthode de sauvegarde de ces données.
[options]
...
;défaut : 0
mod=n
Les différentes valeurs de l'option mod
mod=0 (défaut)
- Initialisation : Les champs du formulaire sont initialisés avec les valeurs défauts (si définies dans le fichier form_definition.ini). ou avec les valeurs d'un tableau array (dans ce cas, l'option mod sera toujours à 0 par défaut, quelque soit sa valeur définie).
- Sauvegarde : Les données du formulaire ne sont pas sauvegardées automatiquement après validation.
mod=1
- Initialisation : Base de données MySQL.
- Sauvegarde : Base de données MySQL + fichier PHP.
mod=2
- Initialisation : Base de données MySQL.
- Sauvegarde : Base de données MySQL.
mod=3
- Initialisation : Fichier PHP.
- Sauvegarde : Base de données MySQL + fichier PHP.
mod=4
- Initialisation : Fichier PHP.
- Sauvegarde : Fichier PHP.
mod=5
- Initialisation : Option WordPress.
- Sauvegarde : Option WordPress.
action
[options]
...
;défaut : ''
action=toto.php
<form id="form_name" action="toto.php" method="post" ... >
method
[options]
...
;défaut : 'post'
method=get
<form id="form_name" method="get" ... >
enctype
[options]
...
;défaut : application/x-www-form-urlencoded
enctype=multipart/form-data
Utilisé uniquement avec method post.
<form id="form_name" enctype="multipart/form-data" method="post" ... >
description
[options]
...
;défaut : ''
description=Une courte description du formulaire
Est utilisé dans l'administration des formulaires.
location
[options]
...
;défaut : ''
location=https://www.page.com
Url de la page contenant le formulaire.
Est utilisé dans l'administration des formulaires.
function_before
[options]
...
;défaut : ''
function_before=my_function
Fonction PHP exécutée avant l'affichage du formulaire.
Utilisée par exemple dans le cas d'une gestion de base de données. Cela permetra d'initialiser les champs du formulaire avec l'enregistrement lu de la base de données.
- Nom de la fonction sans ().
- Fonction à définir, sinon un message d'erreur sera affiché.
function_after
[options]
...
;défaut : ''
function_after=my_function
Fonction PHP exécutée après la soumission du formulaire.
- Nom de la fonction sans ().
- Fonction à définir, sinon un message d'erreur sera affiché.
- La fonction accepte 2 arguments :
- $array_data : Tableau des valeurs soumises.
- $args (Différents arguments) :
- $args['form'] : form_name.
- $args['files'] : Tableau renvoyé par un(ou plusieurs) champ(s) de type file.
Ex. La fonction toto va afficher les valeurs du formulaire :
function toto($array_data, $args) {
// Simple affichage des valeurs
echo "<p>Résultat de la soumission du formulaire : $args['form']</p>";
var_dump($array_data);
}
pos_result
[options]
...
;défaut : top
pos_result=bottom
Valeurs possibles :
- top
- bottom
Position du résultat de la fonction définie dans l'option function_after.
Si cette fonction génère par exemple un affichage, on a le choix de le faire au-dessus (top) du formulaire ou en-dessous (bottom).
top_form
[options]
...
;défaut : 1
top_form=0
Positionnement de la page après soumission du formulaire.
Valeurs possibles :
- 1 : Au-dessus du formulaire.
- 0 : En haut de la page web.
validate
[options]
...
;défaut : 1
validate=0
Validation des champs du formulaire en PHP coté serveur.
jquery_validate
[options]
...
;défaut : 0
jquery_validate=1
Validation des champs du formulaire avec jQuery Validation Plugin.
Il n'y a rien à faire. Le script phpMyForm gère automatiquement l'utilisation de jQuery Validation Plugin.
error_container
[options]
...
;défaut : 0
error_container=1
Affichage des erreurs de validation au-dessus du formulaire et non sous chaque champ.
novalidate
[options]
...
;défaut : 0
novalidate=1
<form novalidate="novalidate" id="form_name" method="post" ... >
submit_message
[options]
...
;défaut : Formulaire « %FORM% » soumis.
submit_message="Formulaire Envoyé! C'est cool!"
Message affiché quand le formulaire a été soumis.
Si on ne veut pas de message : submit_message=
- %FORM% : form_name.
submit_page
[options]
...
;défaut : ''
submit_page=http://www.siteweb.com/merci.html
URL de la page web chargée quand le formulaire a été soumis.
php_message
[options]
...
;défaut : Fichier « %PHP% » mis à jour.
php_message="Mon beau fichier php a été mis à jour!"
Message affiché quand le fichier PHP a été mis à jour.
Si on ne veut pas de message : php_message=
- %PHP% : php_data_name.php (Nom du fichier php).
- %FORM% : form_name.
db_message
[options]
...
;défaut : "Donnée « %DB% » de la base de données mise à jour."
db_message="Base de données mise à jour! C'est cool!"
Message affiché quand l'enregistrement de la base de données a été mis à jour.
Si on ne veut pas de message : db_message=
- %DB% : db_data_name (Nom de la colonne dans la base de données MySQL).
- %FORM% : form_name.
wp_message
[options]
...
;défaut : Option WordPress « %WP% » mise à jour.
wp_message="Option WordPress mise à jour! Super, ça roule!"
Message affiché quand l'option WordPress dans la table wp_options a été mise à jour.
Si on ne veut pas de message : wp_message=
- %WP% : wp_option_name (Nom de l'option WordPress dans la table wp_options).
- %FORM% : form_name.
db_data_name
[options]
...
;défaut : %FORM%_data
db_data_name=my_data_file
Nom du champ dans la base de données MySQL (utilisé si initialisation ou sauvegarde).
- %FORM% : form_name.
php_data_name
[options]
...
;défaut : %FORM%_data
php_data_name=my_php_file
Nom fichier PHP sans l'extension php (utilisé si initialisation ou sauvegarde).
- %FORM% : form_name.
wp_option_name
[options]
...
;défaut : pmf_%FORM%_data
wp_option_name=my_option_wp
Nom de l'option WordPress dans la table wp_options (utilisé si initialisation ou sauvegarde).
- %FORM% : form_name.
alternate
[options]
...
;defaut : ''
alternate=white,#F5F5F5
Coloration alternative des lignes du formulaire.
- Les 2 valeurs doivent être séparées par une virgule.
- Notation HTML ou nom des couleurs.
- Couleur #1 : Coloration lignes impaires.
- Couleur #2 : Coloration lignes paires (Si omise, la couleur
transparent
sera utilisée).
button_inline
[options]
...
;défaut : 0
button_inline=1
Affiche le bouton à droite du champ text.
Uniquement si le formulaire n'est composé que d'un seul champ text.
button_name
[options]
...
;défaut : Valider
button_name="HOP!"
Nom du bouton de validation du formulaire.
<input class="submit-button" id="submit_form_name" type="submit" value="HOP!" ... >
button_image
[options]
...
;défaut : ''
button_image=http://www.mon-site.com/my-image.png
- Image #1 : http://www.mon-site.com/my-image.ext
- Image #2 : http://www.mon-site.com/my_image_hover.ext (Optionnel).
Si cette 2ème image est définie, elle s'affichera au survol de la souris.
Les 2 images doivent être de la même taille et du même type. - ext : png, gif, jpg, webp...
button_position
[options]
...
;défaut : 'field'
button_position=label
Position du bouton submit.
Valeurs possibles :
- field : Le bouton est positionné au niveau des champs du formulaire.
- label : Le bouton est positionné au niveau des labels.
button_repeat
[options]
...
;défaut : 0
button_repeat=5
Répétition du bouton submit tous les x champs.
button_align
[options]
...
;défaut : left
button_align=right
Alignement du bouton submit.
Valeurs possibles :
- left
- center
- right
text_form_top
[options]
...
;défaut : ''
text_form_top=Texte affiché au dessus du formulaire
Code HTML autorisé.
text_form_bottom
[options]
...
;defaut : ''
text_form_bottom=Texte affiché au dessous du formulaire
Code HTML autorisé.
text_after_button
[options]
...
;défaut : ''
text_after_button=Texte affiché après le bouton submit
Code HTML autorisé.
width_col
[options]
...
;défaut : 20%,80%
width_col=15%,85%
Largeur des colonnes du formulaire (colonne label et champs).
Les 2 valeurs doivent être séparées par une virgule.
class
[options]
...
;défaut : ''
class=class1 class2
Class appliquée au bloc général.
Si plusieurs class, les séparer par un espace.
<div class="php-my-form form_name class1 class2 ...">
...
</div>
width
[options]
...
;défaut : 100%
width=70%
Largeur du bloc général (par rapport au bloc parent).
<div class="php-my-form form_name..." style="width:70%;">
...
</div>
style
[options]
...
;défaut : ''
style="border: 4px solid green;"
Style appliqué au bloc général.
Le ; est obligatoire à la fin (en cas d'ajout de style par le script).
<div class="php-my-form form_name" style="border: 4px solid green; ...">
...
</div>
class_form
[options]
...
;défaut : ''
class=class1 class2
Class appliquée au bloc entourant le formulaire.
Si plusieurs class, les séparer par un espace.
<div id="form_name-content" class="form-content class1 class2 ...">
...
</div>
style_form
[options]
...
;défaut : ''
style_form="border:4px solid green;"
Style appliqué au bloc entourant le formulaire.
Le ; est obligatoire à la fin (en cas d'ajout de style par le script).
<div id="form_name-content" style="border: 4px solid green; ...">
...
</div>
center
[options]
...
;défaut : 0
center=1
Le formulaire sera centré par rapport au bloc parent.
field_border
[options]
...
;défaut : ''
field_border=4px solid green
Bordure entre chaques champs du formulaire.
Pas de ; à la fin. On ne spécifie pas le border qui est géré par le script suivant la position du champ dans le formulaire.
col_label
[options]
...
;défaut : 1
col_label=0
Affiche la colonne de l'attribut label à gauche des champs du formulaire.
Si la valeur est à 0, et même si le label du champ est défini, il ne s'affichera pas.
pos_label
[options]
...
;défaut : left
pos_label=right
Alignement du texte de l'attribut label.
Valeurs possibles :
- left
- right
- top
show_form_after
[options]
...
;défaut : 1
show_form_after=0
Le formulaire ne sera pas réaffiché après la la validation des champs et la soumission.
Ne fonctionne qu'avec l'option mod (0) et pos_result (top).
tabindex
[options]
...
;défaut : 0 (pas de tabindex)
tabindex=10
Spécifier la valeur du premier tabindex (les autres seront incrémentés de 1).
<input tabindex="10" name="field_name" id="field_name" ... >
Source : https://www.nonoweb.net/phpmyform-options-du-formulaire