Bonjour,

J'ai un souci dans l'affichage de zone qui contiennent des "leading" zero !

Voici mon log.php et les parties importantes en gras....

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
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
67
68
69
70
71
72
PHP Notice:  display(2) => Date de naissance[20101112] in F:\WebSites\checkform\class\validation\date.php on line 125
PHP Stack trace:
PHP   1. {main}() F:\WebSites\checkform\index.php:0
PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:313
PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:394
PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
PHP   7. require_once() F:\WebSites\checkform\doc\do_index.php:79
PHP   8. Date->display() F:\WebSites\checkform\config\formdef.php:123
PHP   9. user_error() F:\WebSites\checkform\class\validation\date.php:125
PHP Notice:  POST SUBMIT CATCHED in F:\WebSites\checkform\doc\do_index.php on line 58
PHP Stack trace:
PHP   1. {main}() F:\WebSites\checkform\index.php:0
PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:313
PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:394
PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
PHP   7. user_error() F:\WebSites\checkform\doc\do_index.php:58
PHP Notice:  ===>getFormContent  in F:\WebSites\checkform\class\validate.php on line 376
PHP Stack trace:
PHP   1. {main}() F:\WebSites\checkform\index.php:0
PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:313
PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:394
PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
PHP   7. Form->getFormContent() F:\WebSites\checkform\doc\do_index.php:62
PHP   8. user_error() F:\WebSites\checkform\class\validate.php:376
PHP Notice:  ===>getFieldValue[   0 0 0] in F:\WebSites\checkform\class\validation\date.php on line 153
PHP Stack trace:
PHP   1. {main}() F:\WebSites\checkform\index.php:0
PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:313
PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:394
PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
PHP   7. Form->getFormContent() F:\WebSites\checkform\doc\do_index.php:62
PHP   8. Date->getFieldValue() F:\WebSites\checkform\class\validate.php:383
PHP   9. user_error() F:\WebSites\checkform\class\validation\date.php:153
PHP Notice:  getFieldValue => Date de naissance[   0 0 0] in F:\WebSites\checkform\class\validation\date.php on line 159
PHP Stack trace:
PHP   1. {main}() F:\WebSites\checkform\index.php:0
PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:313
PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:394
PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
PHP   7. Form->getFormContent() F:\WebSites\checkform\doc\do_index.php:62
PHP   8. Date->getFieldValue() F:\WebSites\checkform\class\validate.php:383
PHP   9. user_error() F:\WebSites\checkform\class\validation\date.php:159
PHP Notice:  ***** >SUBMIT Catched in F:\WebSites\checkform\doc\do_index.php on line 64
PHP Stack trace:
PHP   1. {main}() F:\WebSites\checkform\index.php:0
PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:313
PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:394
PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
PHP   7. user_error() F:\WebSites\checkform\doc\do_index.php:64
PHP Notice:  display(2) => Date de naissance[1992 519] in F:\WebSites\checkform\class\validation\date.php on line 125
PHP Stack trace:
PHP   1. {main}() F:\WebSites\checkform\index.php:0
PHP   2. setScreen->execute() F:\WebSites\checkform\index.php:15
PHP   3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154
PHP   4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:313
PHP   5. require_once() F:\WebSites\checkform\class\newSkelt.php:394
PHP   6. require_once() F:\WebSites\checkform\config\myPage.php:181
PHP   7. require_once() F:\WebSites\checkform\doc\do_index.php:79
PHP   8. Date->display() F:\WebSites\checkform\config\formdef.php:123
PHP   9. user_error() F:\WebSites\checkform\class\validation\date.php:125
J'ai essayé une fonction écrite par moi même,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
/**
*	fill
*	====
*/
	function fill($str,$len)
	{	//user_error("==> fill[".$str."]  <= [".strlen($str)."] < [".$len."]",E_USER_NOTICE) ;
		for ($i = 0 ; strlen($str) < $len ; $i++)
		{	//user_error("+" , E_USER_NOTICE) ;
			$str = "0" . $str ;
		}
		//user_error("==> fill[".$str."] - [".$len."]",E_USER_NOTICE) ;
		return($str) ;
	}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
preg_replace ($zone, " ", "0")
 
str_replace(" ", "0",$zone)
 
et une 4 ième dont je ne me souviens plus du nom, dsl.... ;)
et toujours le même résultat.....

Ma hiérarche de classe est la suivante: Kernet => Form => Date/String....

Je vous mets un bout de "date" ici car il semble que ce soit la seule qui présente ce problème:

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
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
	function __construct($name, $must, $legend, $default, $debug=false)
	{	$this->name   = $name ;
		$this->must   = $must ;
		$this->legend = $legend ;
		$this->value  = (isset( $_POST["$this->name"] ) ) ? trim($_POST["$this->name"]) : NULL ;
		$this->debug  = $debug ;

		if (isset($default))
			switch($default) 
			{	case TODAY 	:	$this->date = date("Ymd") ; 
								break ;
								
				default		: 	user_error("Invalid Date default", E_USER_ERROR) ;
								break ;
			}		
		else
			$this->date = date("Ymd") ; 
// ==================================================================	20101109
/*
		$this->yy	= $this->fill(substr($this->date,0,4),4) ;		//	========
		$this->mm	= $this->fill(substr($this->date,4,2),2) ;  	//	01234567	
		$this->dd	= $this->fill(substr($this->date,6,2),2) ;  	// 	yyyymmdd

		if ($this->debug)
			var_dump("===> CONSTRUCT DATE =>: ",$this->date) ;
*/
	}
	
	function __destruct()
	{	}
	
	function execute()
	{		}

/**
*	validate
*	========
*/
	function validate()
	{	return( checkdate($this->fill($this->mm,2), $this->fill($this->dd,2),  $this->fill($this->yy,4) )  ? OK : ERRDATE) ;  }
	
/**
*	pickup
*	=======
*
*/	
	function pickup($start,$end,$len,$frmfld,$default)
	{	echo "<select name='" . $frmfld . "' id='" . $frmfld . "'>\n";
		for ($i = $start ; $i <= $end ; $i++)
		{	$d = $this->fill($i,$len) ;
 			if (strcmp($default,$d) == 0)
				echo '  <option value="' . $d . '" selected">' . $d. "</option>\n" ;
			else
				echo '  <option value="' . $d .           '">' . $d . "</option>\n" ;
		}
		echo "</select>\n" ;
	}
/**
*	select
*	=======
*
*/	
	function select($valarray,$frmfld,$default)
	{	echo "<select name='" . $frmfld . "' id='" . $frmfld . "'>\n";
		foreach ($valarray as $key => $value)
		{	if (strcmp($default,$key) == 0)
				echo '  <option value="' . $key . '" selected">' . $value . "</option>\n" ;
			else
				echo '  <option value="' . $key .           '">' . $value . "</option>\n" ;
		}
		echo "</select>\n" ;
	}
	
/**
*	display
*	=======
*
*/	
	function display()
	{	$this->dd = (isset($_POST["dd"])) ? $_POST["dd"] : date("d") ;
		$this->mm = (isset($_POST["mm"])) ? $_POST["mm"] : date("m") ;  // format interne
		$this->yy = (isset($_POST["yy"])) ? $_POST["yy"] : date("Y") ; 
		
//if ($this->debug)
		var_dump("display(0) : => " ,$this->mm,$this->dd,$this->yy) ;
	
		echo "<fieldset><legend  class='form_lbl'>" ;
		echo $this->legend ;
		echo "</legend>" ;
		echo '<span class="form_fld fieldset">' ;
		$this->pickup(1,31,2, $name="dd",$default=$this->dd) ;
		echo '</span>' ;    	
		echo '<span class="form_bkg fieldset">' ;
		echo "-" ;
		echo '</span>' ;    	
		echo '<span class="form_fld fieldset">'  ;
		$this->select($this->month, $name="mm",$default=$this->mm) ; //array_search($this->mm, $this->month)) ;
		echo '</span>' ;    	
		echo '<span class="form_bkg">' ;
		echo "-" ;
		echo '</span>' ;    	
		echo '<span class="form_fld">'  ;
		$this->pickup(1920,2020,4, $name="yy",$default=$this->yy) ;
		echo '</span>' ;    	
		echo "</fieldset>" ;

		$this->yy = (isset($_POST["yy"])) ? $_POST["yy"] : date("Y") ;		
		$this->mm = (isset($_POST["mm"])) ? $_POST["mm"] : date("m") ;	  // format interne	
		$this->dd = (isset($_POST["dd"])) ? $_POST["dd"] : date("d") ;		
 
//if ($this->debug)
	{	var_dump("display(1) => Date de naissance: ",$this->mm,$this->dd,$this->yy ) ;
		$this->value = sprintf("%4d%2d%2d",$this->yy, $this->mm, $this->fill($this->dd,2)) ;
		user_error("display(2) => Date de naissance[".$this->value."]", E_USER_NOTICE) ;
	}
	
	}
/**
*	getFieldName
*	============
*
*/	
	function getFieldName()
	{	return($this->name) ; }
	
/**
*	getFieldLegend
*	==============
*
*/	
	function getFieldLegend()
	{	return($this->legend) ; }
	
/**
*	getFieldValue
*	=============
*
*/	
	function getFieldValue()
	{	//var_dump("getFieldValue => Date de naissance: ",$this->mm,$this->dd,$this->yy ) ;
		$date = sprintf("%4d%2d%2d",$this->yy, $this->mm, $this->dd) ;  								//  20101109
		user_error("===>getFieldValue[".$date."]", E_USER_NOTICE) ;
																												//  ====--==
																										//	0123456789
	
//if ($this->debug)
	{	var_dump("getFieldValue => Date de naissance[",$this->mm,$this->dd,$this->yy,"]") ;
		user_error("getFieldValue => Date de naissance[".$date."]", E_USER_NOTICE) ;
	}
	
		return( $date ) ; 
	}
}
Espérons que je vais trouver parmis vous :