Définition des paramètres de chaque champ du formulaire
Ces paramètres sont définis dans un fichier form_definition.ini.
Ce fichier se situe dans le dossier phpMyForm/form/form_name.
form_name à remplacer par le nom du formulaire.
form_definition.ini
Définition des différents champs du formulaire.
Structure du fichier :
[field_name_1]
Attribut1=Value1
Attribut2=Value2
Attribut3=Value3
...
[field_name_2]
Attribut1=Value1
Attribut2=Value2
Attribut3=Value3
...
Options du formulaire
Les options sont définies dans un fichier form_options.ini.
Ce fichier se situe dans le dossier phpMyForm/form/form_name.
form_name à remplacer par le nom du formulaire.
form_options.ini
Structure du fichier :
[options]
Option1=Value1
Option2=Value2
Option3=Value3
...
Les différentes options du formulaire
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]
...
;Valeur défaut
mod=0
- 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 (Initialisation et sauvegarde). 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.
[options]
...
;Initialisation : Base de données MySQL.
;Sauvegarde : Base de données MySQL + fichier PHP.
mod=1
[options]
...
;Initialisation : Base de données MySQL.
;Sauvegarde : Base de données MySQL.
mod=2
[options]
...
;Initialisation : Fichier PHP.
;Sauvegarde : Base de données MySQL + fichier PHP.
mod=3
[options]
...
;Initialisation : Fichier PHP.
;Sauvegarde : Fichier PHP.
mod=4
[options]
...
;Initialisation : Option WordPress.
;Sauvegarde : Option WordPRess.
mod=5
description
[options]
...
description=Une courte description du formulaire
Est utilisé dans l'administration des formulaires.
emplacement
[options]
...
;Url de la page contenant le formulaire
emplacement=https://www.page.com
Est utilisé dans l'administration des formulaires.
function_before
[options]
...
;Fonction PHP exécutée avant l'affichage du formulaire
function_before=my_function
Utilisée dans cet exemple : Gestion d'une base de données (La fonction exécutée avant l'affichage du formulaire permet l'initialisation des champs 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]
...
;Fonction PHP exécutée après la soumission du formulaire
function_after=my_function
Cette fonction est requise pour traitement des données envoyées par le formulaire.
Quelques exemples :
Gestion d'une base de données
Formulaire de contact
Formulaire de connexion
- 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 des champs du formulaire.
- $args (Différents arguments) :
- $args['form'] : form_name (Nom du formulaire).
- $args['files'] : Tableau renvoyé par un(ou plusieurs) champ(s) de type file.
Ex. Cette fonction va afficher les valeurs du formulaire :
function my_function($array_data, $args) {
// Simple affichage des valeurs
echo '<p>Résultat de la soumission du formulaire : '.$args['form'].'</p>';
var_dump($array_data);
}
Voir le code de la fonction nth_send_mail de l'exemple de formulaire de contact.
pos_result
[options]
...
;défaut : top
;Valeurs possibles : top / bottom
pos_result=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 du formulaire ou en-dessous.
top_form
[options]
...
;défaut : 1
;retour au-dessus du formulaire
top_form=0
;retour en haut de la page web
Positionnement après validation du formulaire.
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.
novalidate
[options]
...
;défaut : 0
novalidate=1
<form novalidate="novalidate" id="form_name" method="post" ... >
submit_message
[options]
...
;défaut : Formulaire « %FORM% » soumis.
;si on ne veut pas de message :
submit_message=
;si on veut le message : Formulaire Envoyé!
submit_message="Formulaire Envoyé!"
Message quand le formulaire a été soumis.
- %FORM% : form_name (Nom du formulaire).
submit_page
[options]
...
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.
;si on ne veut pas de message :
php_message=
;si on veut le message : Mon beau fichier php a été mis à jour!
php_message="Mon beau fichier php a été mis à jour!"
Message quand le fichier PHP a été mis à jour.
- %PHP% : php_data_name.php (Nom du fichier php).
- %FORM% : form_name (Nom du formulaire).
db_message
[options]
...
;défaut : Donnée « %DB% » de la base de données mise à jour.
;si on ne veut pas de message :
db_message=
;si on veut le message : Base de données mise à jour! C'est cool!
db_message="Base de données mise à jour! C'est cool!"
Message quand la base de données a été mise à jour.
- %DB% : db_data_name (Nom du champ dans la base de données MySQL).
- %FORM% : form_name (Nom du formulaire).
wp_message
[options]
...
;défaut : Option WordPress « %WP% » mise à jour.
;si on ne veut pas de message :
wp_message=
;si on veut le message : Option WordPress mise à jour! Super, ça roule!
wp_message="Option WordPress mise à jour! Super, ça roule!"
Message quand l'option WordPress dans la table wp_options a été mise à jour.
- %WP% : wp_option_name (Nom de l'option WordPress dans la table wp_options).
- %FORM% : form_name (Nom du formulaire).
error_container
[options]
...
défaut : 0
error_container=1
Affichage des erreurs de validation au-dessus du formulaire et non sous chaque champ.
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 (Nom du formulaire).
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 (Nom du formulaire).
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 (Nom du formulaire).
alternate
[options]
...
;Les 2 valeurs doivent être séparées par une virgule.
;Notation HTML ou nom des couleurs.
alternate=white,#F5F5F5
Coloration alternative des lignes du formulaire.
- Couleur #1 : Coloration lignes impaires.
- Couleur #2 : Coloration lignes paires (Si omise, la couleur transparent sera utilisée).
button_inline
[options]
...
;Affiche le bouton à droite du champ text.
;défaut : 0
button_inline=1
Uniquement si le formulaire n'est composé que d'un seul champ text.
button_name
[options]
...
;Nom du bouton de validation du formulaire.
;défaut : Valider
button_name="HOP!"
<input class="submit-button" id="submit_form_name" type="submit" value="HOP!" ... />
button_image
[options]
...
;Image de fond du bouton submit.
button_image=my_image.png
- Image #1 : my_image.ext.
- Image #2 : 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.
- Le texte du bouton doit être intégré dans l'image.
- ext : png, gif, jpg, ...
- Dans le dossier : phpMyForm/form/form_name/images.
button_position
[options]
...
;Position du bouton submit.
;défaut : field (Le bouton est positionné au niveau des champs du formulaire)
;Valeurs possibles : label / field
button_position=label
button_repeat
[options]
...
;Répétition du bouton submit.
;défaut : 0 (Pas de répétition)
;Répétition du bouton tous les 5 champs
button_repeat=5
button_align
[options]
...
;Alignement du bouton submit.
;défaut : left
;Valeurs possibles : left / center / right
button_align=right
text_form_top
[options]
...
;code HTML autorisé.
text_form_top=Texte affiché au dessus du formulaire
text_form_bottom
[options]
...
;code HTML autorisé.
text_form_bottom=Texte affiché au dessous du formulaire
text_after_button
[options]
...
;code HTML autorisé.
text_after_button=Texte affiché après le bouton submit
width_col
[options]
...
;Largeur des colonnes du formulaire.
;Les 2 valeurs doivent être séparées par une virgule.
;défaut : 20%,80%
width_col=15%,85%
class_form
[options]
...
;Un (ou plusieurs) nom(s) de class.
;Si plusieurs class, les séparer par un espace.
class=class1 class2
Class appliquée au bloc div entourant le formulaire.
style_form
[options]
...
;syntaxe CSS.
;si on veut une bordure verte de 4 pixels :
style_form="border:4px solid green;"
Style appliqué au bloc div entourant le formulaire.
Le ; est obligatoire à la fin (en cas d'ajout de style par le script).
field_border
[options]
...
;si on veut une bordure verte de 4 pixels :
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]
...
;Affiche la colonne de l'attribut label à gauche des champs du formulaire.
;défaut : 1
col_label=0
pos_label
[options]
...
;Alignement du texte de l'attribut label.
;top : Attribut label au dessus du champ.
;défaut : left
;Valeurs possibles : left / right / top
pos_label=right
center
[options]
...
;défaut : 0
;Le formulaire sera centré par rapport au bloc parent.
center=1
width
[options]
...
;défaut : le formulaire prend toute la largeur disponible.
width=70%
tabindex
[options]
...
;défaut : 0 (pas de tabindex)
;Spécifier la valeur du premier tabindex (les autres seront incrémentés de 1)
tabindex=10
<input tabindex="10" name="field_name" id="field_name" ... />
Source de cet article : https://www.nonoweb.net/phpmyform/definition-formulaire/