- <?
- if($_POST[validation]) { // On traite le formulaire
-
- // On récupère proprement les données du formulaire
- for(list($nom, $variable) = each($_POST))
- $$nom = $variable:
-
-
- // On vérifie les erreurs dans le formulaire
- // On place toutes les erreurs trouvées dans un tableau
-
- if($nom == "") $erreur[nom] = "vide";
- else if($nom == "casimir") $erreur[nom] = "interdit";
-
- if($prénom == "") $erreur[prénom] = "vide";
-
- if($mail == "") $erreur[mail] = "vide";
- else if(!ereg("(.*)@(.*)\.[a-z]{2,6}")) $erreur[mail] = "syntaxe";
-
- if($conditions != 1) $erreur[conditions] = "refuse";
-
- // On traite les erreurs :
-
- if(is_array($erreur)) { // S'il y a des erreurs
-
- echo "<table><tr><td>Merci de corriger les erreurs suivantes :<br><br>";
-
- switch($erreur[nom]) { // S'il y a une erreur dans le nom...
- case "vide" : echo "Vous n'avez pas indiqué votre nom."; break; // On a trouvé que l'internaute avait po mis son nom
- case "casimir" : echo "Votre nom ne doit pas être Casimir !"; break;
- // + autres erreurs éventuelles
- }
- switch($erreur[prénom]) {
- case "vide" : echo "Vous n'avez pas indiqué votre prénom."; break;
- // + autres erreurs éventuelles
- }
- switch($erreur[mail]) {
- case "vide" : echo "Vous n'avez pas indiqué votre adresse e-mail."; break;
- case "syntaxe" : echo "Adresse e-mail syntaxiquement erronée."; break;
- // + autres erreurs éventuelles
- }
- switch($erreur[conditions]) {
- case "refuse" : echo "Vous n'avez pas accepté les conditions."; break;
- // + autres erreurs éventuelles
- }
-
- /*
- Je sais que ça ne sert à rien de faire un switch pour 1 valeur, mais c'est juste pour montrer le principe qu'il faut suivre dans le gestion du formulaire
- */
-
- echo "</td></tr></table>";
-
- }
-
- }
-
- ?>
-
-
-
- <?
- /*
- Votre formulaire.
- Vous ajoutez des champs comme vous voulez.
- Pour afficher la valeur par défaut dans un champ texte, on met htmlspcecialchars($variable) pour éviter des conflits.
-
- On affiche le formulaire que s'il n'est pas validé
- */
-
- if(!$validation || is_array($erreur)) {
- ?>
-
- <form action='<? echo $PHP_SELF ?>' method='post'>
- <input type="hidden" name="validation" value=1>
- Nom : <input type="text" name="nom" value="<? echo htmlspecialchars($nom) ?>"><br>
- Prénom : <input type="text" name="prénom" value="<? echo htmlspecialchars($prénom) ?>"><br>
- Adresse e-mail : <input type="text" name="mail" value="<? echo htmlspecialchars($mail) ?>"><br>
- Acceptez-vous les conditions ? <input type="checkbox" name="conditions" value=1 <? if($conditions) echo "checked" ?>><br>
- <input type="submit" value='Envoyer">
- </form>
-
- <?
- } else { // Le formulaire est validé
-
- // Vous traitez le formulaire
-
-
- echo "Formulaire envoyé avec succès !";
-
-
- }
- ?>
<?
if($_POST[validation]) { // On traite le formulaire
// On récupère proprement les données du formulaire
for(list($nom, $variable) = each($_POST))
$$nom = $variable:
// On vérifie les erreurs dans le formulaire
// On place toutes les erreurs trouvées dans un tableau
if($nom == "") $erreur[nom] = "vide";
else if($nom == "casimir") $erreur[nom] = "interdit";
if($prénom == "") $erreur[prénom] = "vide";
if($mail == "") $erreur[mail] = "vide";
else if(!ereg("(.*)@(.*)\.[a-z]{2,6}")) $erreur[mail] = "syntaxe";
if($conditions != 1) $erreur[conditions] = "refuse";
// On traite les erreurs :
if(is_array($erreur)) { // S'il y a des erreurs
echo "<table><tr><td>Merci de corriger les erreurs suivantes :<br><br>";
switch($erreur[nom]) { // S'il y a une erreur dans le nom...
case "vide" : echo "Vous n'avez pas indiqué votre nom."; break; // On a trouvé que l'internaute avait po mis son nom
case "casimir" : echo "Votre nom ne doit pas être Casimir !"; break;
// + autres erreurs éventuelles
}
switch($erreur[prénom]) {
case "vide" : echo "Vous n'avez pas indiqué votre prénom."; break;
// + autres erreurs éventuelles
}
switch($erreur[mail]) {
case "vide" : echo "Vous n'avez pas indiqué votre adresse e-mail."; break;
case "syntaxe" : echo "Adresse e-mail syntaxiquement erronée."; break;
// + autres erreurs éventuelles
}
switch($erreur[conditions]) {
case "refuse" : echo "Vous n'avez pas accepté les conditions."; break;
// + autres erreurs éventuelles
}
/*
Je sais que ça ne sert à rien de faire un switch pour 1 valeur, mais c'est juste pour montrer le principe qu'il faut suivre dans le gestion du formulaire
*/
echo "</td></tr></table>";
}
}
?>
<?
/*
Votre formulaire.
Vous ajoutez des champs comme vous voulez.
Pour afficher la valeur par défaut dans un champ texte, on met htmlspcecialchars($variable) pour éviter des conflits.
On affiche le formulaire que s'il n'est pas validé
*/
if(!$validation || is_array($erreur)) {
?>
<form action='<? echo $PHP_SELF ?>' method='post'>
<input type="hidden" name="validation" value=1>
Nom : <input type="text" name="nom" value="<? echo htmlspecialchars($nom) ?>"><br>
Prénom : <input type="text" name="prénom" value="<? echo htmlspecialchars($prénom) ?>"><br>
Adresse e-mail : <input type="text" name="mail" value="<? echo htmlspecialchars($mail) ?>"><br>
Acceptez-vous les conditions ? <input type="checkbox" name="conditions" value=1 <? if($conditions) echo "checked" ?>><br>
<input type="submit" value='Envoyer">
</form>
<?
} else { // Le formulaire est validé
// Vous traitez le formulaire
echo "Formulaire envoyé avec succès !";
}
?>