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 :

$this->curr n'est pas reconnu [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut $this->curr n'est pas reconnu
    Bonjour,

    J'écris une classe quii s'inspire en partie de Iterator.
    Il y a une fonction de browsing dans celle-ci, passage d'une étape à une autre et vis et versa.
    Chaque X que je fais avant ou arrière, une variable ($curr) n'est pas reconnue
    Voici un extrait du coding

    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
    <?php	
    
    class Subscribe
    {	private $debug, $message, $start, $end ;
    	private static  $step = 0, $curr ;
    
    	const disabled  = "disabled" ;
    	const enabled   = "" ;
    	private $self_host = array(  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
    
    /**
    * Some iterator functions
    *
    */	
    	function key() {
    		return($this->curr) ;
    	}
    	
    	function current() {
    	}
    	
    	function rewind() {
    	}
    	
    	function next() {
    => 26	if ($this->curr + 1 < $this->end)
    			$this->curr++ ;
    		return($this->curr) ;
    	}
    	
    	function prev() {
    => 32		if ($this->curr - 1 > 0)
    			$this->curr-- ;
    		return($this->curr) ;
    	}
    	
    	
    	function valid() {
    		return( ($this->curr > 0) && ($this->curr < $this->end) ? true : false )  ; 
    	}
    /**
    * Iterator functions
    *
    Voici le log PHP

    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
    [08-Jul-2010 18:14:56] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:14:56] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:14:56] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 26
    [08-Jul-2010 18:14:56] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:14:58] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:14:58] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:14:58] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 26
    [08-Jul-2010 18:14:58] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:14:59] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:14:59] PHP Notice:  Browse[-1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:14:59] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [08-Jul-2010 18:14:59] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    [08-Jul-2010 18:14:59] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [08-Jul-2010 18:14:59] PHP Notice:  Browse[-1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [08-Jul-2010 18:14:59] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 16
    [08-Jul-2010 18:14:59] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 26
    [08-Jul-2010 18:15:00] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:15:00] PHP Notice:  Browse[-1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:15:00] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [08-Jul-2010 18:15:00] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    [08-Jul-2010 18:15:00] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [08-Jul-2010 18:15:00] PHP Notice:  Browse[-1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [08-Jul-2010 18:15:00] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 16
    [08-Jul-2010 18:15:00] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 26
    [08-Jul-2010 18:15:01] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:15:01] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:15:01] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 26
    [08-Jul-2010 18:15:01] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:15:02] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:15:02] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:15:02] PHP Notice:  Undefined property: Subscribe::$curr in F:\WebSites\jecrapahute\class\subscribe.php on line 26
    [08-Jul-2010 18:15:02] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    N'attachez pas d'importance à BOTTOM/

    Mais à chaque X que j'avance, je fais 0 + 1..... = 1 et cela reste ainsi
    Si je recule je retombe à 0

    Et pourtant cette variable est private static

    Cela doit être con mais je ne vois pas....

    Merci à celui qui.....
    Esteban

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Comme tu le dis, cette variable est private STATIC,
    on ne peut appeler une variable static en utilisant $this->
    il faut utiliser self::

  3. #3
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut $this->curr ou self::$curr
    Voici mon code modifié:

    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
    class Subscribe
    {	private $debug, $message, $start, $end ;
    	private static  $step = 0, $curr ;
     
    	const disabled  = "disabled" ;
    	const enabled   = "" ;
    	private $self_host = array(  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
     
    /**
    * Some iterator functions
    *
    */	
    	function key() {
    		return(self::$curr) ;
    	}
     
    	function current() {
    	}
     
    	function rewind() {
    	}
     
    	function next() {
    		if (self::$curr + 1 < $this->end)
    			self::$curr++ ;
    		return(self::$curr) ;
    	}
     
    	function prev() {
    		if (self::$curr - 1 > 0)
    			self::$curr-- ;
    		return(self::$curr) ;
    	}
     
     
    	function valid() {
    		return( (self::$curr > 0) && (self::$curr < $this->end) ? true : false )  ; 
    	}
    Mais rien de changé....

    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
    [08-Jul-2010 18:41:05] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:41:05] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:41:06] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:41:06] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:41:06] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:41:07] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:41:07] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:41:07] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:41:09] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:41:09] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:41:09] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:41:10] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:41:10] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:41:10] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:41:12] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:41:12] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:41:12] PHP Notice:  Browse[+1][1] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 18:41:13] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 18:41:13] PHP Notice:  Browse[-1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 18:41:13] PHP Notice:  Browse[-1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    Mais je remarque que les n° de ligne ont changé, voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    		if  (isset($_POST["subscribe_prev"]))
    =>88		{	$this->browse(-1) ;
    				user_error("Browse[-1][".self::$curr."]", E_USER_NOTICE);
    			}
    			
    		if  (isset($_POST["subscribe_next"]))
    =>93			{	$this->browse(+1) ;
    				user_error("Browse[+1][".self::$curr."]", E_USER_NOTICE);
    			}
    Bizarre, bizarre.... merci quand même
    Esteban

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    est ce que la fonction browse() est static ? si c est le cas , même rengaine, self:: pour l appeller

  5. #5
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut $this-> versus self::$
    J'ai encore fait des modifs en relisant ttes remarques sur les fonctions statiques
    Voici le code;

    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
    <?php	
    
    class Subscribe
    {	private $debug, $message, $starta ;
    	private static  $step = 0, $curr, $end ;
    
    	const disabled  = "disabled" ;
    	const enabled   = "" ;
    	private $self_host = array(  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
    
    /**
    * Some iterator functions
    *
    */	
    	function key() {
    		return(self::$curr) ;
    	}
    	
    	function current() {
    	}
    	
    	function rewind() {
    	}
    	
    	static function next() {
    		if (self::$curr + 1 < self::$end)
    			self::$curr++ ;
    		return(self::$curr) ;
    	}
    	
    	function prev() {
    		if (self::$curr - 1 > 0)
    			self::$curr-- ;
    		return(self::$curr) ;
    	}
    	
    	
    	function valid() {
    		return( (self::$curr > 0) && (self::$curr < $this->end) ? true : false )  ; 
    	}
    /**
    * Iterator functions
    *
    ===================================================================================================================================/	
    
    /**
    * Subscribe Constructor
    *
    */	
    	function __construct($start=0, $end, $debug=false)
    	{	$this->debug = $debug ;
    		$this->start = $start ;
    		$this->end   = $end   ;
    	    $this->step    = 0 ;
    	
    	}
    
    /**
    * Subscribe Destructor
    *
    */	
    	function destruct()
    	{    }
    	
    /**
    * Subscribe Executor
    *
    */	
    	function execute()
    	{
    		try {	if ($this->debug)
    					print("+++++++++++construct[setScreen] started" . CRLF) ;  
    /**
    * Body beginning
    *
    */	
    		$this->message = "Rentrez les données afin de vous inscrire à votre site" ;
    
    		if (	isset($_POST["subscribe_init"   ]) OR
    				isset($_POST["subscribe_city"   ]) OR
    				isset($_POST["subscribe_captcha"]) OR
    				isset($_POST["subscribe_confirm"])
    		 	)
    			$this->validate() ;
    			
    		if  (isset($_POST["subscribe_prev"]))
    			{	self::browse(-1) ;
    				user_error("Browse[-1][".self::$curr."]", E_USER_NOTICE);
    			}
    			
    		if  (isset($_POST["subscribe_next"]))
    			{	self::browse(+1) ;
    				user_error("Browse[+1][".self::$curr."]", E_USER_NOTICE);
    			}
    
    		//
    		//  Préparation affichage page
    		//	==========================
    		$this->screen   = $_SESSION[SCREEN]		 		;
    		$this->title    = $_SESSION[TITLE]		 		;
    		$this->subtitle = $_SESSION[SUBTITLE]			;
    		$this->form     = $_SESSION[FORM]		  		;
    		$this->menu     = $_SESSION[MENU]		 		;
    		$this->submenu  = $_SESSION[SUBMENU]	  		;
    		$this->klimsg   = $_SESSION[KLIMSG]		 		;
    
    /**
    * Body ending
    *
    */			} catch (Exception $E) 
    				{ 
    			   		throw Skeleton::display_exception($E) ; 
    				}
    
    	}
    
    	function validate()
    	{	print("validating....") ;  
    		switch($this->step)
    		{	case 0 :	break ;
    			case 1 :	break ;
    			case 2 :	break ;
    			case 3 :	break ;
    			default:          ;
    		} 
    	    return(true) ;
    	}
    	
    	static function browse($updown)
    	{	user_error("Browse[".$updown."]", E_USER_NOTICE);
    		if ($updown > 0)
    			return(self::next()) ;
    		else
    			return(self::prev()) ;
    	}
    	
    	function getMessage()
    	{	return( $this->message ) ;  }
    
    	function getSendAttr()
        {	return( self::enabled ) ; 	}
    
    	function getHost()
        {	return( $this->self_host[$this->step] ) ; }
    }
    
    $sub = new Subscribe(0,3) ;
    $sub->execute() ;
    
    //------------------------------------------------------------------------------------------------------------------------------------- //
    ?>
    Sans changement notable sauf que je n'ai plus dans le log mon self::$curr

    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
    [08-Jul-2010 20:23:05] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:23:06] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:23:06] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:23:06] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:23:07] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:23:07] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:23:07] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:23:07] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:23:07] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:23:07] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:23:08] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:23:08] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:23:08] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:33:21] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:33:21] PHP Notice:  Browse[-1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:33:21] PHP Notice:  Browse[-1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [08-Jul-2010 20:33:24] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:33:24] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:33:24] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:33:26] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:33:26] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:33:26] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:33:27] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:33:27] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:33:27] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:33:29] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:33:29] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:33:29] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:33:30] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:33:30] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:33:30] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:33:31] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:33:31] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:33:31] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:36:26] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:36:26] PHP Notice:  Browse[-1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:36:26] PHP Notice:  Browse[-1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [08-Jul-2010 20:36:27] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:36:27] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:36:27] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [08-Jul-2010 20:36:28] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [08-Jul-2010 20:36:28] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [08-Jul-2010 20:36:28] PHP Notice:  Browse[+1][] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    Pige pas, pige plus....
    Esteban

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    D'après les Notice, ta variable $curr est toujours nulle
    et ca se comprend,

    Tu n'initialises jamais cette variable.

    donne lui une valeur lors de la declaration ligne 5 $curr=0 par exemple

    je pense que le problème vient de la

  7. #7
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut $this-> versus self::$
    et bien, cela ne change rien à rien

    <?php

    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
    class Subscribe
    {	private $debug, $message, $starta ;
    	private static  $step = 0, $curr = 0, $end ;
    
    	const disabled  = "disabled" ;
    	const enabled   = "" ;
    	private $self_host = array(  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
    
    /**
    * Some iterator functions
    *
    */	
    	function key() {
    		return(self::$curr) ;
    	}
    	
    	function current() {
    	}
    	
    	function rewind() {
    	}
    	
    	static function next() {
    		if (self::$curr + 1 < self::$end)
    			self::$curr++ ;
    		return(self::$curr) ;
    	}
    	
    	static function prev() {
    		if (self::$curr - 1 > 0)
    			self::$curr-- ;
    		return(self::$curr) ;
    	}
    	
    	
    	function valid() {
    		return( (self::$curr > 0) && (self::$curr < $this->end) ? true : false )  ; 
    	}
    /**
    * Iterator functions
    *
    ===================================================================================================================================/	
    
    /**
    * Subscribe Constructor
    *
    */	
    	function __construct($start=0, $end, $debug=false)
    	{	$this->debug = $debug ;
    		$this->start = $start ;
    		$this->end   = $end   ;
    	    $this->step    = 0 ;
    	
    	}
    
    /**
    * Subscribe Destructor
    *
    */	
    	function destruct()
    	{    }
    	
    /**
    * Subscribe Executor
    *
    */	
    	function execute()
    	{
    		try {	if ($this->debug)
    					print("+++++++++++construct[setScreen] started" . CRLF) ;  
    /**
    * Body beginning
    *
    */	
    		$this->message = "Rentrez les données afin de vous inscrire à votre site" ;
    
    		if (	isset($_POST["subscribe_init"   ]) OR
    				isset($_POST["subscribe_city"   ]) OR
    				isset($_POST["subscribe_captcha"]) OR
    				isset($_POST["subscribe_confirm"])
    		 	)
    			$this->validate() ;
    			
    		if  (isset($_POST["subscribe_prev"]))
    			{	self::browse(-1) ;
    				user_error("Browse[-1][".self::$curr."]", E_USER_NOTICE);
    			}
    			
    		if  (isset($_POST["subscribe_next"]))
    			{	self::browse(+1) ;
    				user_error("Browse[+1][".self::$curr."]", E_USER_NOTICE);
    			}
    
    		//
    		//  Préparation affichage page
    		//	==========================
    		$this->screen   = $_SESSION[SCREEN]		 		;
    		$this->title    = $_SESSION[TITLE]		 		;
    		$this->subtitle = $_SESSION[SUBTITLE]			;
    		$this->form     = $_SESSION[FORM]		  		;
    		$this->menu     = $_SESSION[MENU]		 		;
    		$this->submenu  = $_SESSION[SUBMENU]	  		;
    		$this->klimsg   = $_SESSION[KLIMSG]		 		;
    
    /**
    * Body ending
    *
    */			} catch (Exception $E) 
    				{ 
    			   		throw Skeleton::display_exception($E) ; 
    				}
    
    	}
    
    	function validate()
    	{	print("validating....") ;  
    		switch($this->step)
    		{	case 0 :	break ;
    			case 1 :	break ;
    			case 2 :	break ;
    			case 3 :	break ;
    			default:          ;
    		} 
    	    return(true) ;
    	}
    	
    	static function browse($updown)
    	{	user_error("Browse[".$updown."]", E_USER_NOTICE);
    		if ($updown > 0)
    			return(self::next()) ;
    		else
    			return(self::prev()) ;
    	}
    	
    	function getMessage()
    	{	return( $this->message ) ;  }
    
    	function getSendAttr()
        {	return( self::enabled ) ; 	}
    
    	function getHost()
        {	return( $this->self_host[$this->step] ) ; }
    }
    
    $sub = new Subscribe(0,3) ;
    $sub->execute() ;
    
    //------------------------------------------------------------------------------------------------------------------------------------- //
    MON LOG.PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [10-Jul-2010 12:58:18] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 12:58:18] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 12:58:19] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 12:58:19] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 12:58:19] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 12:58:20] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 12:58:20] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 12:58:20] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    Le $curr (en gras) reste à 0 !!!!

    On va ré-étudier l'algorithme

    Merci à tous.....
    Esteban

  8. #8
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Salut,

    même rengaine, ton self::$end n'est pas initialisé à 0 ou du moins tu utilises $this->end dans ton constructeur au lieu de self::end

  9. #9
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut $this-> versus self::$
    rRen de changer, mais pas eu le tps de revoir l'algorytme/

    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
    [10-Jul-2010 15:32:44] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 15:32:44] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 15:32:44] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 15:32:46] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 15:32:46] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 15:32:46] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 15:32:48] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 15:32:48] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 15:32:48] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 15:32:49] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 15:32:49] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 15:32:49] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 15:32:50] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 15:32:51] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 15:32:51] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 15:32:52] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 15:32:52] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 15:32:52] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    Merci tout de même
    Esteban

  10. #10
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    As tu modifié tous tes appels à $this->end comme ici aussi ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function valid() {
    		return( (self::$curr > 0) && (self::$curr < $this->end) ? true : false )  ; 
    	}

    et mis self::end à la place ?

  11. #11
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut $this-> versus self::$
    Oui tu as trouvé le seul non modifié.....

    Source:
    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
    <?php	
     
    class Subscribe
    {	private $debug, $message, $starta ;
    	private static  $step = 0, $curr = 0, $end = 0 ;
     
    	const disabled  = "disabled" ;
    	const enabled   = "" ;
    	private $self_host = array(  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
     
    /**
    * Some iterator functions
    *
    */	
    	function key() {
    		return(self::$curr) ;
    	}
     
    	function current() {
    	}
     
    	function rewind() {
    	}
     
    	static function next() {
    		if (self::$curr + 1 < self::$end)
    			self::$curr++ ;
    		return(self::$curr) ;
    	}
     
    	static function prev() {
    		if (self::$curr - 1 > 0)
    			self::$curr-- ;
    		return(self::$curr) ;
    	}
     
     
    	function valid() {
    		return( (self::$curr > 0) && (self::$curr < self::$end) ? true : false )  ; 
    	}
    /**
    * Iterator functions
    *
    ===================================================================================================================================/	
    
    /**
    * Subscribe Constructor
    *
    */	
    	function __construct($start=0, $end, $debug=false)
    	{	$this->debug = $debug ;
    		$this->start = $start ;
    		$this->end   = $end   ;
    	    $this->step    = 0 ;
     
    	}
     
    /**
    * Subscribe Destructor
    *
    */	
    	function destruct()
    	{    }
     
    /**
    * Subscribe Executor
    *
    */	
    	function execute()
    	{
    		try {	if ($this->debug)
    					print("+++++++++++construct[setScreen] started" . CRLF) ;  
    /**
    * Body beginning
    *
    */	
    		$this->message = "Rentrez les données afin de vous inscrire à votre site" ;
     
    		if (	isset($_POST["subscribe_init"   ]) OR
    				isset($_POST["subscribe_city"   ]) OR
    				isset($_POST["subscribe_captcha"]) OR
    				isset($_POST["subscribe_confirm"])
    		 	)
    			$this->validate() ;
     
    		if  (isset($_POST["subscribe_prev"]))
    			{	self::browse(-1) ;
    				user_error("Browse[-1][".self::$curr."]", E_USER_NOTICE);
    			}
     
    		if  (isset($_POST["subscribe_next"]))
    			{	self::browse(+1) ;
    				user_error("Browse[+1][".self::$curr."]", E_USER_NOTICE);
    			}
     
    		//
    		//  Préparation affichage page
    		//	==========================
    		$this->screen   = $_SESSION[SCREEN]		 		;
    		$this->title    = $_SESSION[TITLE]		 		;
    		$this->subtitle = $_SESSION[SUBTITLE]			;
    		$this->form     = $_SESSION[FORM]		  		;
    		$this->menu     = $_SESSION[MENU]		 		;
    		$this->submenu  = $_SESSION[SUBMENU]	  		;
    		$this->klimsg   = $_SESSION[KLIMSG]		 		;
     
    /**
    * Body ending
    *
    */			} catch (Exception $E) 
    				{ 
    			   		throw Skeleton::display_exception($E) ; 
    				}
     
    	}
     
    	function validate()
    	{	print("validating....") ;  
    		switch($this->step)
    		{	case 0 :	break ;
    			case 1 :	break ;
    			case 2 :	break ;
    			case 3 :	break ;
    			default:          ;
    		} 
    	    return(true) ;
    	}
     
    	static function browse($updown)
    	{	user_error("Browse[".$updown."]", E_USER_NOTICE);
    		if ($updown > 0)
    			return(self::next()) ;
    		else
    			return(self::prev()) ;
    	}
     
    	function getMessage()
    	{	return( $this->message ) ;  }
     
    	function getSendAttr()
        {	return( self::enabled ) ; 	}
     
    	function getHost()
        {	return( $this->self_host[$this->step] ) ; }
    }
     
    $sub = new Subscribe(0,3) ;
    $sub->execute() ;
     
    //------------------------------------------------------------------------------------------------------------------------------------- //
    ?>
    Log.php;...

    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
    [10-Jul-2010 17:31:40] PHP Notice:  Browse[-1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [10-Jul-2010 17:31:41] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 17:31:41] PHP Notice:  Browse[-1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 17:31:41] PHP Notice:  Browse[-1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 88
    [10-Jul-2010 17:31:42] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 17:31:42] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 17:31:42] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 17:31:43] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 17:31:43] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 17:31:43] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 17:31:43] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 17:31:43] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 17:31:43] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 17:31:44] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 17:31:44] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 17:31:44] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 17:31:44] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 17:31:44] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 17:31:44] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    [10-Jul-2010 17:31:44] PHP Notice:  Undefined index: BOTTOM in F:\WebSites\jecrapahute\class\newScreen.php on line 70
    [10-Jul-2010 17:31:44] PHP Notice:  Browse[1] in F:\WebSites\jecrapahute\class\subscribe.php on line 130
    [10-Jul-2010 17:31:44] PHP Notice:  Browse[+1][0] in F:\WebSites\jecrapahute\class\subscribe.php on line 93
    Que je monte ou descends, l'indice reste == à 0 !

    Demain, j'aurai le temps de regarder à cela.

    Merci à tous pour vos remarques et commentaires.
    Esteban

  12. #12
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Non tu as pas tout corrigé

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function __construct($start=0, $end, $debug=false)
    {	
       $this->debug = $debug ;
       $this->start = $start ;
       self::$end   = $end   ;
       self::step    = 0 ;
     
    }

    PS: fais gaffe tu as mis $starta dans les attributs de classe et tu utilises $this->start

  13. #13
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut this-> versus self::
    Bonjour à tous,

    J'ai travaillé ce WE mais n'ai pu trouver mon erreur, au contaire le "mystère" s'obscursit !
    Pour rappel, j'essaye un scrolling avant-arrière en 4 étapes de la même "forme" fonctionnement parlant !

    Voici le code où les touches avant/arrière se déclenchent;
    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
     
    	    <td>			
    			<?php
    				if ($sub->next() )
    					{
    			?>
    						<button name="subscribe_next" type="submit" id="subscribe_next">
    							<img src="../buttons/next_over.gif" width="40" height="40"  title="Encodage du panneau précédent[INIT]"/>
    						</button>
    			<?php
    					}
    				else
    					{
    			?>
    						<button name="subscribe_next" type="submit" id="subscribe_next">
    							<img src="../images/Victor_vert.jpg" width="40" height="40" title="Attention je mords !"/>
    						</button>
    			<?php
    					}
    			?>		
    			</td>
    		</td>
       	</tr>
    Voici la classe qui gère (devrait gérer....) ce passage....
    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
    <?php	
    
    class Subscribe
    {	private $debug, $message ;
    	private static  $step = 0, $start, $curr, $end ;
    
    	const disabled  = "disabled" ;
    	const enabled   = "" ;
    	private $self_host = array(  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
    
    /**
    * Some iterator functions
    *
    */	
    	static function key() {
    		return(self::$curr) ;
    	}
    	
    	function current() {
    	}
    	
    	function rewind() {
    	}
    	
    	function null() {
    	}
    	
    	static function next() {
    29=> user_error("next[".self::$curr."] - End[".self::$end."]" , E_USER_NOTICE) ;
    		if (self::$curr + 1 < self::$end)
    			self::$curr++ ;
    32=>user_error("next[".self::$curr."] - End[".self::$end."]" , E_USER_NOTICE) ;
    		return(self::$curr) ;
    	}
    	
    	static function prev() {
    		if (self::$curr - 1 > 0)
    			self::$curr-- ;
    		return(self::$curr) ;
    	}
    	
    	
    	function valid() {
    		return( (self::$curr > 0) && (self::$curr < $this->end) ? true : false )  ; 
    	}
    /**
    * Iterator functions
    *
    ===================================================================================================================================/	
    
    /**
    * Subscribe Constructor
    *
    */	
    	function __construct($start, $end, $debug=false)
    	{	$this->debug = $debug ;
    	
    		self::$start = $start ;
    		self::$end   = $end   ;
    	    $this->step    = 0 ;
    	
    	}
    /**
    * Subscribe Destructor
    *
    */	
    	function destruct()
    	{    }
    	
    /**
    * Subscribe Executor
    *
    */	
    	function execute()
    	{
    		try {	if ($this->debug)
    					print("+++++++++++construct[setScreen] started" . CRLF) ;  
    /**
    * Subscribe beginning
    * ===================
    */	
    				$this->message = "Rentrez les données afin de vous inscrire à votre site" ;
    
    				if  (	isset($_POST["subscribe_init"   ]) OR isset($_POST["subscribe_city"   ]) OR
    						isset($_POST["subscribe_captcha"]) OR isset($_POST["subscribe_confirm"]) )
    					$this->validate() ;
    			
    				if  (isset($_POST["subscribe_prev"]))
    					{	self::prev( ) ;
    						user_error("Browse[-1] Start[".self::$start."] - Curr[".self::key()."] - End[".self::$end."]", E_USER_NOTICE);
    					}
    			
    				if  (isset($_POST["subscribe_next"]))
    					{	
    						user_error("Browse[+1] Start[".self::$start."] - Curr[".self::key()."] - End[".self::$end."]", E_USER_NOTICE);
    						self::next() ;
    					}
    
    				//
    				//  Préparation affichage page
    				//	==========================
    				$this->screen   = $_SESSION[SCREEN]		 		;
    				$this->title    = $_SESSION[TITLE]		 		;
    				$this->subtitle = $_SESSION[SUBTITLE]			;
    				$this->form     = $_SESSION[FORM]		  		;
    				$this->menu     = $_SESSION[MENU]		 		;
    				$this->submenu  = $_SESSION[SUBMENU]	  		;
    				$this->klimsg   = $_SESSION[KLIMSG]		 		;
    
    /**
    * Subscribe ending
    * ================
    */			} catch (Exception $E) 
    				{ 
    			   		throw Skeleton::display_exception($E) ; 
    				}
    
    	}
    
    	function validate()
    	{	print("validating....") ;  
    		switch($this->step)
    		{	case 0 :	break ;
    			case 1 :	break ;
    			case 2 :	break ;
    			case 3 :	break ;
    			default:          ;
    		} 
    	    return(true) ;
    	}
     
    	function getMessage()
    	{	return( $this->message ) ;  }
    
    	function getSendAttr()
        {	return( self::enabled ) ; 	}
    
    	function getHost()
        {	return( $this->self_host[$this->step] ) ; }
    }
    
    $sub = new Subscribe(0,3) ;
    $sub->execute() ;
    
    //------------------------------------------------------------------------------------------------------------------------------------- //
    ?>
    et finalement, le log.php
    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
    [11-Jul-2010 19:36:46] PHP Notice:  Browse[+1] Start[0] - Curr[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 95
    [11-Jul-2010 19:36:46] PHP Notice:  next[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:46] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:46] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:46] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:47] PHP Notice:  Browse[+1] Start[0] - Curr[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 95
    [11-Jul-2010 19:36:47] PHP Notice:  next[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:47] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:47] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:47] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:48] PHP Notice:  Browse[+1] Start[0] - Curr[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 95
    [11-Jul-2010 19:36:48] PHP Notice:  next[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:48] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:48] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:48] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:49] PHP Notice:  Browse[+1] Start[0] - Curr[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 95
    [11-Jul-2010 19:36:49] PHP Notice:  next[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:49] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:49] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:49] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:50] PHP Notice:  Browse[+1] Start[0] - Curr[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 95
    [11-Jul-2010 19:36:50] PHP Notice:  next[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:50] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:50] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:50] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:50] PHP Notice:  Browse[+1] Start[0] - Curr[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 95
    [11-Jul-2010 19:36:50] PHP Notice:  next[] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:50] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    [11-Jul-2010 19:36:50] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 29
    [11-Jul-2010 19:36:50] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 32
    Je constate dans ce dernier, différents problèmes que je ne comprends pas:

    1) La variable statique de la classe subscribe:$Curr n'apparait nulle part alors qu'elle est invoquée dans des user_error (en gras où elle devrait apparaitre)

    2) Chaque X que je fais (disons AVANT), cela se caractérise par 4 + 1 lignes dans le log. 2 + 1 sont expliquées mais pas le dédoublement de 2 lignes comme-ci l'event était declenché 2X
    Si vous regardez les 4 dernières lignes du log, elles proviennent des lignes 29,32 (29,32) de la source

    3) A chaque X, c'est comme-ci, on recommençait à 0 (zéro) à tous les coups...

    Voilà mon problème, je vous le soumets en espérant trouver de quoi avancer bientôt.

    Merci à tous er bon mondial
    Esteban

  14. #14
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Je t'ai déjà dis :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    self::step = 0;
    // et pas
    $this->step    = 0 ;
     
     
    // ainsi que 
    private static $curr = 0;
    // et pas
    private static $curr;

    J'espère vraiment que c'est pas les bourrins hollandais qui vont gagner

  15. #15
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut this-> versus self::
    Bonsoir et merci pour ta réponse

    Bon, la variable Step n'est pas concernée actuellement mais pourrait le devenr....

    J'ai fait les modifs que tu m'as suggèré et peu de changement....
    A l'écran, rien, dans le log oui.... $curr apparait mais == 0 tjs...

    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
    	[11-Jul-2010 22:36:39] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:36:39] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:00] PHP Notice:  Browse[-1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 92
    	[11-Jul-2010 22:39:00] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:00] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:11] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 97
    	[11-Jul-2010 22:39:11] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:11] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:11] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:11] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:12] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 97
    	[11-Jul-2010 22:39:12] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:12] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:12] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:12] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:12] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 97
    	[11-Jul-2010 22:39:12] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:12] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:12] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:12] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:13] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 97
    	[11-Jul-2010 22:39:13] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:13] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34
    	[11-Jul-2010 22:39:13] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    	[11-Jul-2010 22:39:13] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 34

    Ma source a donc peu changé.. mais je la remets quand même pour ceux qui prendrait le train en marche....

    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
    <?php	
     
    class Subscribe
    {	private $debug, $message ;
    	private static  $step = 0, $start, $curr = 0, $end ;
     
    	private $disenabled = array ( false => "disabled" , true => "" ) ; 
     
    	const disabled  = "disabled" ;
    	const enabled   = "" ;
    	private $self_host = array(  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
     
    /**
    * Some iterator functions
    *
    */	
    	static function key() {
    		return(self::$curr) ;
    	}
     
    	function current() {
    	}
     
    	function rewind() {
    	}
     
    	function null() {
    	}
     
    	static function next() {
    	user_error("next[".self::$curr."] - End[".self::$end."]" , E_USER_NOTICE) ;
    		if (self::$curr + 1 < self::$end)
    			self::$curr++ ;
    	user_error("next[".self::$curr."] - End[".self::$end."]" , E_USER_NOTICE) ;
    		return(self::$curr) ;
    	}
     
    	static function prev() {
    		if (self::$curr - 1 > 0)
    			self::$curr-- ;
    		return(self::$curr) ;
    	}
     
     
    	function valid() {
    		return( (self::$curr > 0) && (self::$curr < $this->end) ? true : false )  ; 
    	}
    /**
    * Iterator functions
    *
    ===================================================================================================================================/	
    
    /**
    * Subscribe Constructor
    *
    */	
    	function __construct($start, $end, $debug=false)
    	{	$this->debug = $debug ;
     
    		self::$start = $start ;
    		self::$end   = $end   ;
    	    self::$step    = 0 ;
     
    	}
    /**
    * Subscribe Destructor
    *
    */	
    	function destruct()
    	{    }
     
    /**
    * Subscribe Executor
    *
    */	
    	function execute()
    	{
    		try {	if ($this->debug)
    					print("+++++++++++construct[setScreen] started" . CRLF) ;  
    /**
    * Subscribe beginning
    * ===================
    */	
    				$this->message = "Rentrez les données afin de vous inscrire à votre site" ;
     
    				if  (	isset($_POST["subscribe_init"   ]) OR isset($_POST["subscribe_city"   ]) OR
    						isset($_POST["subscribe_captcha"]) OR isset($_POST["subscribe_confirm"]) )
    					$this->validate() ;
     
    				if  (isset($_POST["subscribe_prev"]))
    					{	self::prev( ) ;
    						user_error("Browse[-1] Start[".self::$start."] - Curr[".self::key()."] - End[".self::$end."]", E_USER_NOTICE);
    					}
     
    				if  (isset($_POST["subscribe_next"]))
    					{	
    						user_error("Browse[+1] Start[".self::$start."] - Curr[".self::key()."] - End[".self::$end."]", E_USER_NOTICE);
    						self::next() ;
    					}
     
    				//
    				//  Préparation affichage page
    				//	==========================
    				$this->screen   = $_SESSION[SCREEN]		 		;
    				$this->title    = $_SESSION[TITLE]		 		;
    				$this->subtitle = $_SESSION[SUBTITLE]			;
    				$this->form     = $_SESSION[FORM]		  		;
    				$this->menu     = $_SESSION[MENU]		 		;
    				$this->submenu  = $_SESSION[SUBMENU]	  		;
    				$this->klimsg   = $_SESSION[KLIMSG]		 		;
     
    /**
    * Subscribe ending
    * ================
    */			} catch (Exception $E) 
    				{ 
    			   		throw Skeleton::display_exception($E) ; 
    				}
     
    	}
     
    	function validate()
    	{	print("validating....") ;  
    		switch($this->step)
    		{	case 0 :	break ;
    			case 1 :	break ;
    			case 2 :	break ;
    			case 3 :	break ;
    			default:          ;
    		} 
    	    return(true) ;
    	}
     
    	function getMessage()
    	{	return( $this->message ) ;  }
     
    	function getSendAttr()
        {	return( $this->disenabled[false]) ; 	}
     
    	function getHost()
        {	return( $this->self_host[self::$step] ) ; }
    }
     
    $sub = new Subscribe(0,3) ;
    $sub->execute() ;
     
    //------------------------------------------------------------------------------------------------------------------------------------- //
    ?>
    Merci à tous et bonne fin de mondial.
    Esteban

  16. #16
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function valid() {
    		return( (self::$curr > 0) && (self::$curr < $this->end) ? true : false )  ; 
    	}

    ta fonction valid même si elle est pas utilisée (normal ?) est également fausse. $end est une propriété statique

  17. #17
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut This->end versus self::$end
    Effectivement valid() n'est pas utiisé pour l'instant mais la méthode n'est pas statique (j"ai pensé que....) $end étant réinitialisé à chaque fois avec la même valeur que ce n'était (peut être ! ) nécessaire...
    Mais $end est private statique ce qui n"est pas réellement utile...

    C'est marrant parce eu les Kas ont perdu mais aussi parce qu'on arrive à une classe statique, nouveau concept en PHP...
    A priori, rien de changer par rapport à hier, $curr reste à zéro et ce n'est que lorsqu'il évoluera entre 0 et 3 que je pourrais passer à l'étape suivant et avoir subcribe0, subscrbe_i.php.....

    log;Php
    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
    [12-Jul-2010 09:58:17] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 94
    [12-Jul-2010 09:58:17] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:17] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:17] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:17] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:17] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 94
    [12-Jul-2010 09:58:17] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:17] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:17] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:17] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:18] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 94
    [12-Jul-2010 09:58:18] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:18] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:18] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:18] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:19] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 94
    [12-Jul-2010 09:58:19] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:19] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:19] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:19] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:20] PHP Notice:  Browse[+1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 94
    [12-Jul-2010 09:58:20] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:20] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:20] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:20] PHP Notice:  next[2] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    [12-Jul-2010 09:58:21] PHP Notice:  Browse[-1] Start[0] - Curr[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 89
    [12-Jul-2010 09:58:21] PHP Notice:  next[0] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 28
    [12-Jul-2010 09:58:21] PHP Notice:  next[1] - End[3] in F:\WebSites\jecrapahute\class\subscribe.php on line 31
    La classe Subscribe

    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
    <?php	
     
    class Subscribe
    {	private $debug, $message ;
    	private static  $step = 0, $start, $curr = 0, $end ;
     
    	private $disenabled = array ( false => "disabled" , true => "" ) ; 
    	private $self_host  = array (  "subscribe.php"  ,  "subscribe1.php" , "subscribe2.php" ,  "subscribe3.php"  )  ;
     
    /**
    * Some iterator functions
    *
    */	
    	static function key() {
    		return(self::$curr) ;
    	}
     
    	function current() {
    	}
     
    	function rewind() {
    	}
     
    	function null() {
    	}
     
    	static function next() {
    	user_error("next[".self::$curr."] - End[".self::$end."]" , E_USER_NOTICE) ;
    		if (self::$curr + 1 < self::$end)
    			self::$curr++ ;
    	user_error("next[".self::$curr."] - End[".self::$end."]" , E_USER_NOTICE) ;
    		return(self::$curr) ;
    	}
     
    	static function prev() {
    		if (self::$curr - 1 > 0)
    			self::$curr-- ;
    		return(self::$curr) ;
    	}
     
     
    	static function valid() {
    		return( (self::$curr > 0) && (self::$curr < self::$end) ? true : false )  ; 
    	}
    /**
    * Iterator functions
    *
    ===================================================================================================================================/	
    
    /**
    * Subscribe Constructor
    *
    */	
    	function __construct($start, $end, $debug=false)
    	{	$this->debug = $debug ;
     
    		self::$start = $start ;
    		self::$end   = $end   ;
    	    self::$step    = 0 ;
     
    	}
    /**
    * Subscribe Destructor
    *
    */	
    	function destruct()
    	{    }
     
    /**
    * Subscribe Executor
    *
    */	
    	function execute()
    	{
    		try {	if ($this->debug)
    					print("+++++++++++construct[setScreen] started" . CRLF) ;  
    /**
    * Subscribe beginning
    * ===================
    */	
    				$this->message = "Rentrez les données afin de vous inscrire à votre site" ;
     
    				if  (	isset($_POST["subscribe_init"   ]) OR isset($_POST["subscribe_city"   ]) OR
    						isset($_POST["subscribe_captcha"]) OR isset($_POST["subscribe_confirm"]) )
    					$this->validate() ;
     
    				if  (isset($_POST["subscribe_prev"]))
    					{	self::prev( ) ;
    						user_error("Browse[-1] Start[".self::$start."] - Curr[".self::key()."] - End[".self::$end."]", E_USER_NOTICE);
    					}
     
    				if  (isset($_POST["subscribe_next"]))
    					{	
    						user_error("Browse[+1] Start[".self::$start."] - Curr[".self::key()."] - End[".self::$end."]", E_USER_NOTICE);
    						self::next() ;
    					}
     
    				//
    				//  Préparation affichage page
    				//	==========================
    				$this->screen   = $_SESSION[SCREEN]		 		;
    				$this->title    = $_SESSION[TITLE]		 		;
    				$this->subtitle = $_SESSION[SUBTITLE]			;
    				$this->form     = $_SESSION[FORM]		  		;
    				$this->menu     = $_SESSION[MENU]		 		;
    				$this->submenu  = $_SESSION[SUBMENU]	  		;
    				$this->klimsg   = $_SESSION[KLIMSG]		 		;
     
    /**
    * Subscribe ending
    * ================
    */			} catch (Exception $E) 
    				{ 
    			   		throw Skeleton::display_exception($E) ; 
    				}
     
    	}
     
    	function validate()
    	{	print("validating....") ;  
    		switch($this->step)
    		{	case 0 :	break ;
    			case 1 :	break ;
    			case 2 :	break ;
    			case 3 :	break ;
    			default:          ;
    		} 
    	    return(true) ;
    	}
     
    	function getMessage()
    	{	return( $this->message ) ;  }
     
    	function getSendAttr()
        {	return( $this->disenabled[false]) ; 	}
     
    	function getHost()
        {	return( $this->self_host[self::$step] ) ; }
    }
     
    $sub = new Subscribe(0,3) ;
    $sub->execute() ;
     
    //------------------------------------------------------------------------------------------------------------------------------------- //
    ?>
    Suite au prochain n°..... merci !
    Esteban

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [UBUNTU] Le live cd n'est pas reconnu comme un cédérom bootable
    Par Jihed Amine Maaref dans le forum Ubuntu
    Réponses: 4
    Dernier message: 12/07/2006, 14h37
  2. Réponses: 1
    Dernier message: 09/06/2006, 21h02
  3. Réponses: 3
    Dernier message: 16/05/2006, 16h34
  4. DOS: la commande 'more' n'est pas reconnue...
    Par billoum dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 02/05/2006, 17h11
  5. Réponses: 8
    Dernier message: 04/08/2004, 14h17

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