Generer et traiter un formulaire lambda

Description

Ce code affiche et traite un formulaire, il est composé d'un template xhtml, et d'une classe abstraite que vous devez étendre. Il produit un code validé par DOMDocument::validate() XHTML strict. Il vous laisse le choix de la base de donnée, cette fonctionnalité peut être ajoutée comme vous le voulez. Il modifie le DOMDocument si le formulaire n'est pas bien rempli. Il s'agit de ma première source postée, je la développerai d'avantage et vous la proposerai à nouveau.
J'attends beaucoup de vos critiques, pourvu qu'elles soient claires. La séparation du html et du php et complête.

Source / Exemple :


<?php
//include_once 'inscription.classe.php';

try
{
	// ce fichier servira de html ainsi que d'element de configuration et sera chargé dynamiquement
	$nom_formulaire = 'inscription';
	
	$nom_classe = ucfirst($nom_formulaire);
	
	$nom_fichier_classe = $nom_formulaire.'.classe.php';
	
	$nom_fichier_xml = $nom_formulaire.'.xml';
	
	if(!file_exists($nom_fichier_xml))
		throw new Exception('Le fichier "'.$nom_fichier_xml.'" n\'existe pas.');
	
	if(!file_exists($nom_fichier_classe))
		throw new Exception('Le fichier "'.$nom_fichier_classe.'" n\'existe pas.');
	
	require_once $nom_fichier_classe;
	
	
	
	// quel que soit la methode, si elle convient(post ou get) , le fichier XML sert
	if($_SERVER['REQUEST_METHOD'] == 'GET')
	{
		// il est bêtement lu
		// (a voir si c'est aussi bon)
		readfile($nom_fichier_xml);
	}
	elseif($_SERVER['REQUEST_METHOD'] == 'POST')
	{
		// il est ici un fichier de config important
		$doc = new $nom_classe($nom_fichier_xml);
		
		// on compare les INPUT avec la config du formulaire
		$doc->traiter();
		
		// on affiche le resultat
		echo $doc->getResult();

	}
	else // sinon une exception est levée
	{
		throw new Exception('La methode "'.$_SERVER['REQUEST_METHOD'].'" est interdite.');
	}
}
catch(Exception $e)
{
	echo '<pre>';
	print_r($e);
}
?>

Conclusion :


Ce script géère et traite un formulaire lambda écrit en xhtml.
Il s'agit de sa deuxiême version:
pour l'exemple la variable $nom_formulaire chargera le nécessaire, elle pourrait aussi bien être un $_GET['form']
la classe joueur est vraiment ras les paquerettes, il s'agit de démontrer l'utilité générique du script. Donc lorsque $nom_formulaire= 'joueur', un nouveau formulaire est chargé, avec sa classe correspondante. Ici cette variable peut être soit 'inscription' soit 'joueur'. A vous de faire ce qu'il faut pour vous en servir, a savoir:
-ecrire un document xhtml valide
-creer la classe correspondante qui comprends:
- un tableau de filtres
- un tableau $obligatoire qui indique à la classe mère ce qui doit être renseigné absolument
- une page xhtml de sortie

Je me perd un peu en détail, mais je pense que c'est néccessaire.

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.