freed102 Arayashiki | Bonjour à tous.. j'ai une question.. un truc qui m'a pris la tete toute la journée hier...
voila j'explique, j'ai créé une fonction de canonisation de données, cette fonction permet donc de tester et normaliser les informations inserées dans un formulaire... mais j'ai un probleme lorsque je veux afficher un message d'erreur.. en fait je declare une variable dans ma fonction dans lequel se trouve le message d'erreur.
à savoir : ma fonction est dans un include.
voici donc ma page variables.inc.php :
Code :
- // Messages d'erreur
- function AfficheErreur ($numeroerreur,$nomduchamp, $min, $max)
- {
- switch ($numeroerreur)
- {
- //bug pour l'affichage des erreurs => n'affiche pas la variable "$erreur" dans la page ajout.php
- case 1 : $erreur.="Ne pas depasser ".$max." caractères dans le champ <b>".$nomduchamp."</b><br/>";break;
- case 2 : $erreur.="Veuillez saisir ".$min." caractères minimum dans le champ <b>".$nomduchamp."</b><br/>";break;
- case 3 : $erreur.="Le champ <b>".$nomduchamp."</b> est vide <br/>";break;
- case 4 : $erreur.="Le champ <b>".$nomduchamp."</b> doit être une valeur numérique <br/>";break;
- default : $erreur.="Erreur inconnue"; break;
- }
- }
- // canonisation d'une chaine de caracteres
- function CanonisationChaine($chaine,$nomduchamp,$min,$max)
- {
- if (!empty($chaine))
- {
- //verifie le nombre de caracteres
- if(strlen($chaine) > $max)
- {
- AfficheErreur(1,$nomduchamp,$min,$max);
- return $chaine;
- }
- elseif(strlen($chaine) < $min)
- {
- AfficheErreur(2,$nomduchamp,$min,$max);
- return $chaine;
- }
- else
- {
- //canonise la chaine de caractères
- return $chaine=htmlentities(ucwords(trim(strtolower($chaine))),ENT_QUOTES);
- exit();
- }
- }
- else
- {
- AfficheErreur(3,$nomduchamp,$min,$max);
- return $chaine;
- exit();
- }
- }
|
Et voici ma page qui contient mon formulaire (en resumé) :
Code :
- <?php session_start();
- include('includes/variables.inc.php'); //inclus le fichier de variables
- if($ajouter)
- {
- $nom_produit=$_POST['nom_produit'];
- $nom_produit=CanonisationChaine($nom_produit,"nom du produit",2,20);
- }
- ?>
- <form name="form1" method="post" ENCTYPE="multipart/form-data" action="<?php echo $PHP_SELF; ?>">
- <?php echo $erreur; ?>
- <b>Nom du produit</b>
- <input type="text" name="nom_produit" value="<?php echo $nom_produit; ?>">
- <input type="submit" name="ajouter" value="ajouter un produit">
- </form>
|
Donc ma fonction de canonisation fonctionne tres bien mais les messages d'erreur ne s'affichent que quand je mets "echo" devant mes erreurs dans les fonctions... simplement ça s'affiche en haut de ma page et pas dans mon <?php echo $erreur; ?>
Merci d'avance
Freed Message édité par freed102 le 07-05-2004 à 10:16:24 ---------------
Freed102
|