Designed by NoKi !
69 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter





   

[PHP] - Validation de formulaire (1/3)

Gestion des erreurs via style CSS





twins20
Voici une petite classe en PHP qui vous permettra de valider vos formulaires en toute simplicité tout en mettant en évidence les champs erronés. Vous pourrez trouver ici le code source ainsi qu'un exemple d'utilisation complet.



Explications - Validator.php - Exemple


En premier lieu, une petite explication s'impose:

Cette classe permet en effet de valider vos formulaires tout en sécurisant les données tapées dans les champs par les utilisateurs afin de transformer les accents pour améliorer la visibilité des données mais aussi en empêchant l'utilisation des tags HTML dans les champs de type texte.

Elle permet de valider les principaux types de format:

- Les chaînes alphanumériques
- Les adresses email
- Les entiers
- Les URLs
- Les heures
- Les dates


Son utilisation peut paraître compliquée aux néophytes mais est en réalité elle est très simple.

Il suffit en effet d'inclure le fichier Validator.php dans votre formulaire et de le submit sur lui même par méthode POST en prenant soin d'ajouter un champ de type "hidden" nommé, dans l'exemple suivant "f", et qui vaut "1", pour être certain que le formulaire à bien été posté !

Au début de votre page de formulaire doit donc se trouver un bout de code PHP qui sera exécuté si ce champ "f" retourne bien "1".

Ce bout de code devra simplement instancier la classe testTools en passant en paramètre le nom du style utilisé en cas d'erreur (ici une couleur rouge).

Ensuite on doit utiliser les diverses fonctions disponibles par la classe testTools pour pouvoir tester un à un les différents champs selon le type attendu pour chacun.

Ainsi, un champ texte se compose de deux lignes par exemple :

$formSociete = $test->secure($_POST["Societe"]);
$test->stringtest($formSociete,"Societe");


La première ligne permet de sécuriser le champ pour être stocké dans une DB et éviter que l'on insère du code HTML à l'intérieur.

La seconde ligne permet de tester si le champ "Société" est bien une chaîne.

Si ce n'est pas le cas, le compteur nommé "Count" de la classe testTools sera incrémenté, et le nom du style associé à l'erreur, stocké dans le tableau nommé "fieldError".

Pour pouvoir être averti d'une erreur il suffit de rajouter ce bout de code sur le nom du champ à tester :

class="<?=$test->fieldError("Nom","fieldreq")?>"


Ce code permet d'appliquer un style CSS au texte "nom", la première variable étant le nom du champ testé pour l'identifier, le second étant le nom du style par défaut au cas où il n'y aurait pas d'erreurs (ici la couleur bleu).


Explications - Validator.php - Exemple



Pour pouvoir écrire dans ce forum, identifiez-vous !

 Lire  24/07/08 18:59 de stephbpm
Bonjour et bravo pour ce validator ! Petites quest...
  • 25/07/08 00:00 de TiPunK Tout professionnel a été un jour amateur...
  • 25/07/08 09:16 de DB77 Même sans aller chercher sur le web, la deu...
  • 25/07/08 09:29 de TiPunK Ah oui, aussi... ^^
  • 25/07/08 10:03 de DB77 Bin oui TiPunK, c'est quand LA question qui...
  • 25/07/08 10:23 de DB77 Oups. J'ai oublié le mot "même" derrière "q...
  • 25/07/08 18:25 de stephbpm Merci pour vos réponses rapides ! ...
  •  Lire  17/07/08 11:21 de Thoams
    Bonjour et merci pour ce Validator ! Je suis assez...
  • 17/07/08 15:08 de twins20 En effet, l'extension est assez limité...
  • 05/08/08 09:57 de TiPunK Salut Twins20. Merci pour cette classe, ...
  • 05/08/08 10:07 de twins20 J'ai du mal à la retrouver dans le for...
  • 05/08/08 10:12 de TiPunK Magnifique, merci ;) (7.46 Ko ! Impressi...
  • 05/08/08 11:13 de TiPunK C'est testable en quel langage ? Où pour...
  • 05/08/08 11:32 de twins20 Ici c'est pour du PHP il me semble ...
  • 05/08/08 11:41 de Thoams En PHP, tu peux utiliser la fonction str...
  • 05/08/08 11:53 de TiPunK En la jetant telle quelle dans un preg_m...
  • 05/08/08 12:02 de twins20 De rien bon amusement :)
  •  Lire  14/07/08 11:06 de mverel
    Bonjour, j'ai fait une petite requete analyse croisé...
     Lire  29/05/08 11:58 de rico92
    Bonjour, Je trouve ce validateur de formulaire tres ...
  • 30/05/08 12:44 de twins20 Bonjour, je n'ai jamais utilisé SPI...
  •   v1.3p © ASP-PHP.net 2002  

    twins20 le 30/05/2008 (108 387 hits)
    Didier Téléchargez 1200 Partitions Gratuites !!!
    Au fil des news  
    Listes liées (dépendantes) : avec ou sans XMLHTTPR - Les délires «Ajax or not Ajax»
    Comme toujours, c'est à la suite d'un coup de pouce que je me suis décidé à faire ce tuto. Merci à ...
    Amélioration du Search MOSS : Les scopes - Quelques possibilités d'amélioration du Search
    Lorsqu'on installe le moteur de recherche de MOSS et qu'on le configure basiquement, on veut ...
    SharePoint - Lister les templates utilisés - Identifier les définitions utilisées par vos sites
    Un site SharePoint est créé à partir d'un modèle ou définition de site. Mais comment savoir après ...
    PowerShell - Profile avec la participation de mon ami Tigrou :)
    Adobe - Lancement de la CS4, tous à vos agendas !
    [MAJ] PHP - Fonctions de redimensionnement d'images - BD : redimensionner image + picto après upload
    Ajout de FONCTIONS de redimensionnement.
    PHP - Tchat PHP V2.1 sans base de donnée
    SharePoint et les statistiques d'utilisation - Comment obtenir des statistiques depuis SharePoint
    La mise en place de ferme SharePoint doit s'accompagner d'une notion de gouvernance. Cette notion ...
    Adobe - Nouvelles annonces Adobe sur le salon IBC 2008
    PHP - PHP TV emission 2 (septembre 2008)
    PHP - PDO ADMIN
    [MAJ] Inscription contrôlée à une NewsLetter ou Service - Abonnement avec confirmation et désabonnement
    Correction d'un point-virgule manquant (merci de m'avoir obligé à chercher JPierre) dans le module ...
    PHP - Premier lundi d'une semaine et d'une année
    JavaScript - Premier lundi d'une semaine et d'une année
    ASP - Premier lundi d'une semaine et d'une année
    Alphabet Radio et Code Morse - Alpha Zulu appelle Tango Charlie !
    Encoder-Décoder en "Alphabet Radio" ... "Alpha Zulu appelle Tango Charlie !" ou en Code Morse ... ...
    Filtrer les modèles de site SharePoint - Filtrer l'affichage des modèles de site SharePoint
    Je vous propose de découvrir à l'aide de cet article quels mécanismes peuvent vous permettent de ...
    ASP/PHP - Méthode de cryptage - par table de correspondance
    (ASP/PHP) Une méthode de cryptage de données par l'utilisation d'une "table de correspondance ...
    PHP - Listes liées (1 table) - version2
    JavaScript - Rendre Visible ou Invisible des éléments d'un form
    PHP - Listes liées (1 table) - version1
    JavaScript - Intercepter le click sur vidéo WMP ou flash SWF
    [MAJ] Une base de données sans base de données - Comment travailler avec des fichiers texte ?
    Modification du paramétrage du dossier à scanner dans le popup qui permet de sélectionner l'image.
    Jeux de l'été (et de 5) - Un jeu de Motus (mots de 8 lettres)
    C'est reparti pour un tour... Comme je venais de proposer un jeu de Mastermind, je me suis dit que, ...
    PowerShell - Extraire toutes les collections SharePoint en CSV
    PowerShell - Lister les collections pour une WebApp SharePoint
    PowerShell - Lister les utilisateurs d'un site SharePoint
    PowerShell - Connaître le code version de votre SharePoint
    Connaître la version de SharePoint installée - Comment savoir la version de SharePoint en cours
    Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître ...
    PowerShell - Travailler avec une base de données SQL Server
    .NET - Visual Studio 2008 sur Facebook : çà rock's
    PowerShell - Ajouter des liens sur deux niveaux dans SharePoint
    Un petit annuaire perso avec photo - en PHP et MySQL
    Avoir des copains et des amis c'est bien que dis-je c'est même vital pour le bien être de chacun. ...
    Une base de données sans base de données - Comment travailler avec des fichiers texte ?
    Suite à une question sur le forum (les habitués me connaissent), je propose une mini-gestion de ...
    ASP/PHP : Affichage de données en tableau html - Afficher des données (BD, Array) dans un tableau
    Création d'un tableau "à la volée" pour afficher ses données. Affichage "en ligne" ou "en ...
    PowerShell - Ajouter une liste dans un site SharePoint
    Annuaire d'entreprise en PHP - Très pratique pour ne plus rien perdre
    Mon petit annuaire d'entreprise, je m'en sers tous les jours alors autant vous en faire profiter. ...
    PHP-MySQL : Formulaire - pour le script 'Bon anniversaire' de DB77
    Formulaire et script d'enregistrement pour le script « Bon anniversaire » de DB77 en PHP/MySQL ...
    .NET - Introducing Microsoft Silverlight 2.0, 2nd Edition
    PHP5 - Upload de fichiers - Classe PHP
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3 © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     MVP CodePPC El Roubio The Inquirer FR Wygwam ASP-magazine Codes Sources TechNet Groupes Utilisateurs Microsoft DotNet Project