J'ai un souci, ne sachant pas trouver une erreur, j'ai crée une classe Stack pour essayer d'isoler le problème.
Pour l'instant, je n'ai fait que le reporter... le parent a la classe Stack comme enfant, j'ai du redéfinir 2 méthodes, je ne pensais pas devoir le faire à cause de l'héritage... mais je peux me tromper de sens....
J'ai 2 problèmes avec cette classe:
1) PHP me donne un msg d'erreur que je ne peux comprendre, j'ai fait toutes les vérifs possibles et même changer le nom de la variable, rien n'y a fait.
2) Dans l'itération de mon code qui m'occupe, je stacke 2 messages... et bien j'en ai qu'un seul que je ne peux afficher car une méthode me dit que je n'ai pas de msg empilé....
Voici le code de la classe:
L'erreur PHP est la suivante:
Code : 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 class Stack Extends CheckForm { protected $stackMsg = array(), $cntStack = 0 ; function __construct() { $this->emptyStack() ; } function __destruct() {} function stackMessage($msg) { // print("Stacking[".$msg."]") ; $this->stackMsg[] = $msg . "<br>\n" ; $this->cntStack++ ; print_r($this->stackMsg); } function getStackError() { $str = "" ; // print("getStackError[".$this->getStackCntError()."]") ; Ligne 463 ==> for ($i = 0 ; $i < $this->cntStack ; $i++) $str .= $this->stackMsg[$i] ; return($str) ; } function getStackCntError() { return($this->cntStack) ; } function emptyStack() { $this->cntStack = 0 ; $this->stackMsg = array() ; } }
Le msg Checkform::$cntStack semble vouloir dire que la propriété $cntStack appartient à le classe Parent et non à la classe Stack... mais alors je ne comprends pas pkoi PHP ne donne pas le même msg pour chaque occurence de cette propriété!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [25-May-2010 20:47:27] PHP Notice: Undefined property: Checkform::$stackCnt in F:\WebSites\test\checkform.php on line 463 [25-May-2010 20:48:09] PHP Notice: TEXT Validating FILLED[xs ffffffffffffffffffffffffsssss] in F:\WebSites\test\checkform.php on line 384 [25-May-2010 20:48:09] PHP Notice: Undefined property: Checkform::$cntStack in F:\WebSites\test\checkform.php on line 463
L'affichage du stack est ici:
En gras, l'indice du stack qui est incrémenté mais où; quand, comment ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Array ( [0] => Le champ[prenom] doit avoir une longueur comprise entre 3 et 30 ) Array ( [0] => Le champ[nom] doit avoir une longueur comprise entre 3 et 30 )
J'accède 2X au stack et au même indice alors que celui-ci est incrémenté.
A la sortie de ma forme, je veux afficher mon stack, dans ma classe parent, j'ai du redéfinir:
Et rien à la sortie... bon je laisse cela pour mes rêves de nuit....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // ================================== // All Error Stacking functions // ================================== function stackMessage($msg) { Stack::stackMessage($msg) ; } function getStackError() { return(Stack::getStackError() ) ; }
Bonne chance et merci aux lecteurs....![]()
Partager