IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Comment empiler mes array


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 102
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 102
    Points : 953
    Points
    953
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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" :
    isNotEmpty,isEmail,isString,isNumeric,isBool,isInt,minDigit:5,maxDigit:5,nbDigit:5,removeAccent,strp_tags
    et ceci pour le champ "prénom" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    isNotEmpty,minDigit:5
    Voici le constructeur de ma class Form
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 391
    Points
    9 391
    Par défaut
    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).

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/12/2008, 18h41
  2. Réponses: 15
    Dernier message: 25/07/2007, 13h38
  3. [TChart] Comment empiler plusieurs séries ?
    Par coucoucmoi dans le forum Composants VCL
    Réponses: 11
    Dernier message: 26/07/2005, 11h44
  4. POO : comment bien sous-classer ?
    Par Invité1 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 05/04/2005, 13h20
  5. [POO] Comment connaître le type d'un objet
    Par zizou39 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/03/2005, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo