Définition formulaire phpMyForm

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.

Tous les types de champs

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.

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 :
    1. $array_data : Tableau des valeurs des champs du formulaire.
    2. $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.

validate

[options]
...
;défaut : 1
validate=0

Validation des champs du formulaire en PHP coté serveur.

Règles de validation

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

novalidate W3Schools.com

<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).

Initialisation et sauvegarde

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).

Initialisation et sauvegarde

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).

Initialisation et sauvegarde

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

tabindex W3Schools.com

<input tabindex="10" name="field_name" id="field_name" ... />