Génération de formulaires html personnalisés.

Description

Bonjour,

L'archive comprend la classe formulaire qui génère le code HTML du formulaire, la classe de vérification des données, la classe captcha.

Vous pouvez générer les text, textarea, select, radio, checkbox, hidden, submit, captcha ajax.

Vérification des Emails, des num de téléphones, etc.

Tout est parametrable.

Cette source a beaucoup à évoluer. Je compte sur vous pour me donner vos idées afin que tout le monde puisse gérer des formulaires facilement.

La regénération du captcha se fait en ajax par la bibliothèque javascript prototype.
Si vous utilisez Jquery, pensez à JqueryNoConflict() ou à changer le code ajax de la classe (juste une requete ajax, rien de bien méchant).

Comme d'hab, et je sais que c'est un gros défaut, je n'ai pas beaucoup commenté le code source. C'est pour cela que toutes les questions sont les bienvenues.

Dézippez l'archive, et copiez le répertoire formulaire sur votre serveur afin d'exécuter formulaire.php pour l'exemple.

L'architecture fournie est opérationnelle, veuillez bien vérifier vos chemins en cas de changements (notamment pour le captcha).

Le formulaire est complètement personnalisable. (valeurs par défaut en haut de la classe formulaire) + feuille de style. Regardez bien le code source de votre formulaire car il va vous permettre de voir les id générés (préfixe in_$name pour les input par exemple). Ces id vont vous permettre de gérer des cas particuliers de mise en forme css.

Je suis de nouveau en train de me perdre dans mes explications... le mieux est de tester.

Source / Exemple :


//Comment générer le formulaire:
require_once("classes/formulaire/class.Formulaire.php");

$form=new Formulaire("formulaire.php");
$fields=array(
	""=>array("type"=>"comment", "name"=>"entete", "value"=>"<br />(*) Champs obligatoires"),
	"Civilité"=>array("type"=>"radio", "name"=>"civil", "label"=>"1",
		"valuesRadio"=>array("Mme", "Mlle", "Mr"), "checkedRadio"=>"2"),
	"Nom"=>array("type"=>"text", "label"=>"1", "name"=>"nom", "required"=>"1"),
	"Email"=>array("type"=>"email", "label"=>"1", "name"=>"email", "required"=>"1"),
	"Code Postal"=>array("type"=>"text", "label"=>"1", "name"=>"cp"),
	"Téléphone"=>array("type"=>"phone", "label"=>"1", "name"=>"tel", "required"=>"1"),
	"Objet"=>array("type"=>"list", "label"=>"1", "name"=>"objet", "required"=>"1", 
		"valuesList"=>array("Option 1", "Option 2"), "selectedList"=>"1"),
	"Message"=>array("type"=>"textarea", "label"=>"1", "name"=>"msg"),
	"Captcha"=>array("type"=>"captcha", "label"=>"1", "name"=>"captcha", "required"=>"1"),
	"Envoyer"=>array("type"=>"submit", "name"=>"submit")
);
$form->setTabFields($fields);
$form->createForm();

$tabValidated = $form->verifValidate();
if($tabValidated) 
{
	//TRAITEMENT DES INFOS
	var_dump($tabValidated);
}
echo $form->getMsg();
echo $form->displayForm();

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.