Download Tform Génération de formulaires 1.0

      Information

 Information

La classe TForm sert à générer la source html, valider, et récupérer des valeurs d'un formulaire.
Pour pouvoir l'utiliser, il faut inclure la page tform_autoload.php. Lisez la doc plus bas et vous serez tout sur ma classe.
Si vous avez une question, une suggestion, n'hésitez pas à me contacter à l'adresse christophetd [at] gmail [dot] com

Ensuite, la classe s'utilise comme ceci :
$form = new TForm('identifiant du formulaire', 'méthode', 'page d\'action', 'vérification de la validité de la page d\'action'); //notez qu'aucun paramètre n'est obligatoire
?>


Pour ajouter un champ :
$form->add('Type du champ');

Il existe 10 types de champs :
- Text, un champ de saisie de texte
- Email, un champ qui vérifie automatiquement la validité syntaxique d'une adresse email
- Date, un champ qui vérifie automatiquement la validité d'une date à l'aide du format indiqué (voir plus bas)

- Checkbox, une case Ă  cocher
- Radio, un bouton radio
- Select, une liste de sélection
- Password, un champ de saisie de mot de passe
- Hidden, un champ caché
- Textarea, une zone de saisie de texte
- File, un champ d'envoi de fichier

Pour chaque type, il existe différente méthodes servant à préciser des attributs au champ.
Une méthode s'ajoute comme ceci :

$form->add('Text')
->methode1('parametre')
->methode2('parametre');
?>

Les méthodes communes à tous les types sont :
- name( string $nomDuChamp ), qui sert Ă  indiquer le nom du champ
- id ( string $idDuChamp ), qui sert Ă  indiquer l'id du champ
- required ( bool $leChampEstRequis ), qui sert Ă  indiquer si le champ est obligatoire
- label ( string $labelDuChamp ), qui indique le libellé du champ
- value ( string $valeurParDefaut ), qui indique la valeur par défaut du champ

Les méthodes valables pour les champs de saisie de texte sont :
- maxlength ( int $nombreMaximumDeCaracteres ), qui indique le nombre maximal de caractères que peut recevoir le champ
- minlength( int $nombreMinimumDeCaracteres ), qui indique le nombre minimal de caractères que peut recevoir le champ
- regex ( regex $regex ), qui indique la regex Ă  laquelle le contenu du champ doit correspondre

Pour les éléments d'option (Radio et Checkbox), [g]defaultChoice( bool $choixParDefaut ) indique si l'élément est coché / choisi par défaut.

La génération d'une liste déroulante se fait comme ceci :

$form->add('Select')
->label('Ma liste déroulante')
->options(array('Option 1' => 'valeur', 'Option 2' => 'valeur'));

//Pour avoir une liste hiérarchisée, il est également possible de faire comme ceci :

$form->add('Select')
->label('Ma liste déroulante hiérarchisée')
->options(array('Groupe 1' => array('Option 1' => 'valeur', 'Option 2' => 'valeur')));
?>

Pour indiquer le choix par défaut, on utilise là aussi defaultChoice ( $nomDuChoixParDefaut )

Pour vous donner un exemple, une liste déroulante de quelques pays pourrait être générée comme ceci :
$form->add('Select')
->name('pays')
->label('Pays')
->options(array('Europe' => array('France' => 'fr',
'Espagne' => 'es',
'Italie' => 'it',
'Angleterre' => 'uk'),
'Amérique' => array('Etats unis' => 'usa',
'Canada' => 'cn')))
->defaultChoice('France');


Pour afficher le formulaire, il faut tout simplement faire un echo de l'instance de la classe :
echo $form; //génère le formulaire

Validation et récupération


Pour vérifier que le formulaire est conforme aux attentes spécifiées, on utilise la méthode [g]idValid($arrayUtilise), où $arrayUtilise est le plus souvent [g]$_POST, pour les données transmises par POST, ou [g]$_GET, pour les données transmises par GET :
if($form->isValid($_POST)) {
echo 'Le formulaire a correctement été rempli.';
}
else {
echo $form;
}
?>

Pour afficher d'éventuelles erreurs liées à l'entrée d'informations non correctes ou de champs manquants, on utilise la méthode errors() :
echo $form->errors() //affiche les erreurs
?>

Pour récupérer les données sortantes d'un formulaire, c'est
get_cleaned_data ( $champARecuperer, $champARecuperer [ $champARecuperer ... ] :
// ...

$form->add('Text')
->name('nom')
->label('Nom');

$form->add('Text')
->name('prenom')
->label('Prénom');

if($form->isValid($_POST)) {
list($nom, $prenom) = $form->get_cleaned_data('nom', 'prenom');
echo 'Bonjour '.$prenom.' '.$nom.' ! ';
}
else {
echo $form;
echo $form->errors();
}
?>


  • Merci de signaler tout problème rencontrĂ© avec ce script

L'ajout de commentaire est libre et ne demande pas d'inscription


Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

  Derniers scripts PHP / MySQLi

IGalerie 3.0.9

Script PHP / MySQL
Langue langue fr
Date 21 Déc 2020
Taille 0.87 Mo
Catégorie Galeries

TYPO3 10.4.11

logo TYPO3
Langue langue fr
Date 16 Déc 2020
Taille 36 Mo
Catégorie CMS

E107 2.3.0

logo e107
Langue langue fr
Date 14 Déc 2020
Taille 12 Mo
Catégorie CMS

Vtiger 7.3

Script PHP / MySQL
Langue langue fr
Date 14 Déc 2020
Taille 60 Mo
Catégorie CRM