Verification des champs

Mammouth du PHP | 725 Messages

26 juin 2011, 04:45

bonjour,

avant de me plonger dans une piscine que je connaissais pas sa profondeur, je voudrais savoir comment proceder pour realiser une classe de verification des champs qui s'appliquent sur des champs differents, par exemple:

+ est ce que le champs est vide,
+ la regex du champs,

merci

Eléphant du PHP | 60 Messages

26 juin 2011, 11:38

Bonjour,
La question a déjà largement été traitée.
Tu peux t'inspirer de l'approche décrite sur cette page http://www.html-form-guide.com/php-form ... ation.html.

Un coup d'oeil au niveau des fonctions de filtre natives de php pourra également t'éclairer http://php.net/manual/fr/book.filter.php
"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"
Albert Einstein.

Mammouth du PHP | 725 Messages

26 juin 2011, 12:39

Bonjour,
La question a déjà largement été traitée.
Tu peux t'inspirer de l'approche décrite sur cette page http://www.html-form-guide.com/php-form ... ation.html.

Un coup d'oeil au niveau des fonctions de filtre natives de php pourra également t'éclairer http://php.net/manual/fr/book.filter.php
merci je vais lire la documentation

Mammouth du PHP | 725 Messages

27 juin 2011, 03:57

ce site a un tres bon tuto, mais j'ai rien pige, code tres complexe, alors j'ai voulu mettre le mien, avec:
class verificationChamps{

public final function addInput($InptType='', $InptName='', $InptValue='', $verifField='')
{
                                $this->InptType		= $InptType;
				$this->InptName  	= $InptName;
				$this->InptValue 	= $InptValue;
				$this->verifField	= $verifField; // 0 pour le negliger et 1 pour le verifier

// ici je construis mon input
echo '<input type="'.$this->InptType.'" name="'.$this->InptName.'" value="'.$this->InptValue.'" />';
}


// ici je veux mettre une fonction qui recupere les champs du formulaire avec verifField = 1 et commencer la verification

}

// utilisation:
$v = new verificationChamps();
$v->addInput('text', 'nom', '', 1); // il faut verifier ce champs il porte 1
merci

ViPHP
AB
ViPHP | 5818 Messages

28 juin 2011, 02:07

Bah ça dépend de ce que tu veux faire mais tu risque de perdre pas mal de temps à vouloir faire une classe générique pour cela. C'est jamais assez complet, les vues sont souvent différentes... Sauf à utiliser un framework que l'on connais déjà, c'est souvent beaucoup plus rapide de faire du code sur mesure suivant les cas.

devlop78
Invité n'ayant pas de compte PHPfrance

28 juin 2011, 03:45

ce site a un tres bon tuto, mais j'ai rien pige, code tres complexe, alors j'ai voulu mettre le mien, avec:
class verificationChamps{

public final function addInput($InptType='', $InptName='', $InptValue='', $verifField='')
{
                                $this->InptType		= $InptType;
				$this->InptName  	= $InptName;
				$this->InptValue 	= $InptValue;
				$this->verifField	= $verifField; // 0 pour le negliger et 1 pour le verifier

// ici je construis mon input
echo '<input type="'.$this->InptType.'" name="'.$this->InptName.'" value="'.$this->InptValue.'" />';
}


// ici je veux mettre une fonction qui recupere les champs du formulaire avec verifField = 1 et commencer la verification

}

// utilisation:
$v = new verificationChamps();
$v->addInput('text', 'nom', '', 1); // il faut verifier ce champs il porte 1
merci
J'ai remarqué que tu faisais toujours $this->machin = $machin
Peux-tu, d'un, essayer de voir pourquoi faire (bah oui, tu vas réutiliser cette valeur dans ton objet ?), deux, en quoi l'ajout d'un input est une validation/vérification ? Trois, en quoi ça concerne une validation ici ? Quatre, que se passe-t-il si tu fais $v->addInput('text','nom','Le jour se lève " />',1); ? Cinq, plus un détail, pourquoi faudrait-il instancier une classe pour accéder à ce type de méthode qui est plutôt un outil ?

Réfléchir sur ces questions te fera avancer, c'est pas pour tout détruire ;)

Mammouth du PHP | 725 Messages

28 juin 2011, 04:05

AB: merci pour le conseil du framework, mais je fais tout ca pour apprendre les class et s'approfondir en php avec des exemple concrets.

develop78:
J'ai remarqué que tu faisais toujours $this->machin = $machin
Je vais les utiliser ulterieurement, c'est une class d'un formulaire deja instancie par <form>
deux, en quoi l'ajout d'un input est une validation/vérification ?
pour chaque champs/type dans un formulaire je precise a etre verifie ou non, par exemple:
addInput(text, nom, valeur,1) => 1 veut dire qu'il soit verifie
addInput(text, prenom, valeur,1) => 1 veut dire qu'il soit verifie
addInput(radio, genre, valeur,0) => 0 veut dire qu'il soit PAS verifie
Trois, en quoi ça concerne une validation ici ?
c'est de recuperer tous les champs du formulaire deja crees qui ont la valeur 1, et les verifier:
switch(verifier)

case 'empty' if(empty(champs)
case 'regex' if preg_match

ainsi de suite

Quatre, que se passe-t-il si tu fais $v->addInput('text','nom','Le jour se lève " />',1); ? 
un input du type text va etre cree avec le nom nom et la valeur Le jour se lève et doit etre verifier
Cinq, plus un détail, pourquoi faudrait-il instancier une classe pour accéder à ce type de méthode qui est plutôt un outil ?
l'instanciation se fait au niveau de <form>
Réfléchir sur ces questions te fera avancer, c'est pas pour tout détruire ;)
ca m'encourage, grand MERCI

devlop78
Invité n'ayant pas de compte PHPfrance

29 juin 2011, 02:08

Quatre, que se passe-t-il si tu fais $v->addInput('text','nom','Le jour se lève " />',1); ?
Non, non, fais le test ...

Mammouth du PHP | 725 Messages

29 juin 2011, 04:02

Quatre, que se passe-t-il si tu fais $v->addInput('text','nom','Le jour se lève " />',1); ?
Non, non, fais le test ...
en code HTML voila:
<input type="text" name="nom" value="Le jour se lève " />" />
le />, vous l'avez pre-ferme, parce que je le ferme au niveau du code:
<input type="'.$this->InptType.'" name="'.$this->InptName.'" value="'.$this->InptValue.'" />

devlop78
Invité n'ayant pas de compte PHPfrance

01 juil. 2011, 14:21

HIHIHI, mais moi je suis un méchant utilisateur.

Mammouth du PHP | 725 Messages

01 juil. 2011, 22:50

HIHIHI, mais moi je suis un méchant utilisateur.
Cette class n'est qur pour moi, me faciliter la tache :)

devlop78
Invité n'ayant pas de compte PHPfrance

03 juil. 2011, 05:11

Ce n'est pas une raison ...

Mammouth du PHP | 725 Messages

03 juil. 2011, 05:51

Ce n'est pas une raison ...
svp je voudrais juste savoir comment effectuer cette operation apres je vais passer a la verification des champs crees par l'utilisateur :priere:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 juil. 2011, 12:53

heu pour être franc la je comprend plus rien a ta demande, peut tu la re préciser simplement stp ?

pour ce qui est de l'exemple de develop78 si tu ajoute un htmlentities tu n'auras plus de soucis ;)
pense que tu ne va p'tet pas te rappeler par coeur le fonctionnenment de la classe et qu'un jour tu voudra p'tet faire un près chargement de formulaire et la c'est le drame :mrgreen:

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 725 Messages

03 juil. 2011, 13:29

je suis ici de comment puis je recuperer les nom des champs qui ont pour valeur 1 a la variable aVerifier?