Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/05/2011, 00h16   #1
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
Par défaut [POO] Comment empiler mes array

Bonjour,

Je me prends le chou mais méchament et j'ai tellement ramer à exploser.

Je vous explique mon problème
Je fais un class from pour créer un formulaire.

J'appelle ma class ainsi
Code PHP :
1
2
3
4
5
6
7
8
 
        $formulaire = new Form('field','id','name','class','isNotEmpty,isEmail,isString,isNumeric,isBool,isInt,minDigit:5,maxDigit:5,nbDigit:5,removeAccent,strp_tags');
$formulaire->type = 'input';
$formulaire->Display();
 
$formulaire = new Form('field','id','firstname','class','isNotEmpty,minDigit:5');
        $formulaire->type = 'input';
        $formulaire->Display();

Les champs de mon formulaire ce créen bien et là je n'ai pas de problème.


Mon problème se situe au niveau de $string_condition qui est vaut ceci pour le champs "nom" :
Citation:
isNotEmpty,isEmail,isString,isNumeric,isBool,isInt,minDigit:5,maxDigit:5,nbDigit:5,removeAccent,strp_tags
et ceci pour le champ "prénom" :
Code :
1
2
 
isNotEmpty,minDigit:5
Voici le constructeur de ma class Form
Code PHP :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
function __construct($balise,$id,$name,$class,$string_condition){
		$this->balise = $balise;
		$this->id = $id.'_'.$name;
		$this->name = $name;
		$this->class = $class;
 
 
//ICI JE CONTROLE SI MA VARIABLE EST UN STRING OU PAS		
if(is_int($string_condition)){
			$this->mandatory = $string_condition;
		}elseif(!empty($string_condition)){
//SI C?EST UN STRING PASSE ICI
		// Liste des conditions possibles
			$validCondition = array(
				'isNotEmpty',
				'isEmail',
				'isString',
				'isNumeric',
				'isBool',
				'isInt',
				'minDigit', // (minDigir:5) Doit avoir au moins 5 caracteres
				'maxDigit', // (maxDigit:5) Doit avoir max 5 caractères
				'nbDigit', // (digit:5) doit avoir 5 caractere
				'removeAccent',
				'strp_tags' // strip_tags:br,hr,p,
			);
 
 
			//JE PLACCE MES CONDITONNE SOUS FORME D'ARRAY
			$array_condition = explode(',',$string_condition);
 
			// JE VEUX M?ASSURER QUE MES CONDITIONS SONT PERMISE EN LES COMPARANT AVEC $validCondition
//JE PARCOURS MON TABLEAU
			foreach ($array_condition as $key => $condition){
 
				//JE DOIS ENCORE SUPPRIMER LES VALEURS DE CERTAINE CONDITION. PAR EXEMPLE: minDigit:8
				$_condition = explode(":",$condition);
				// ICI J'AI RECUPERE minDigit ET J IGNORE :8
// PUIS JE COMPARE AVEC LES VALEURS DE $validCondition
				if(!in_array($_condition[0],$validCondition)){
					echo $name.': ['.$_condition[0].'] is not valid. ';
				}else{	
// I C I  E S T  M O N  P R O B L E M E:
// JE souaihterais empiler mes valeurs dans un tableau mulidimentionnel comme ceci:			
 
$this->toValidates[$name]=$array_condition;
 
// Simplement, la ligne ci dessus, me retourne seulement la valeur du champs en question. Par exemple Sous le champs prénom je devrair avoir les conditions du champs name et firstname. mais je n'ai que les condition de firstname. Si j'ajoute d'autre champs c'est la meme chose.		
				}	
			}
 
// CECI EST DES RESTE DE MES TESTES
			$_SESSION['test'] = $this->toValidates;
 
			array_push($this->toValidates,$_SESSION['test']);
 
			print_r($this->toValidates);
 
 
 
 
			//$this->toValid($name,$array_condition);
 
		}
	}
Je crois que e problème, c'est que pour chaque champs, la class FORM est instentiée. Donc c'est comme si on repartait de zéro.

J'espère que vous m'avez bien compris?

En gros j'aimerais savoir comment "empiler" les conditions de chaque champs dans un tableau multidimentionnel.

Oufs, ben j'espère que j'ai été assez claire
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 08h28   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Assez flou en effet, moi je statuerai sur un problème de conception.
Ce n'est pas une class form que tu as fait mais une class "input" qui est à utiliser dans une class form (bien qu'en général on utilise simplement une fonction dans la class form).
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h46.


 
 
 
 
Partenaires

Hébergement Web