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 :

Problème logique PHP [PHP 5.3]


Sujet :

Langage PHP

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé 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
    Par défaut Problème logique PHP
    Un souci qui sera vite élucider, j'en suis sur....
    En gros, la logique, j'ai un site géré par un Skelet, site ou il faut / ou pas mais dégragé être membre. Le skelet va lire la 1ère page (class: nexScreen) et va voir pour entre autre si(il faut être membre ou pas (sous classe UpdScteen, car il met à jour des infos relatives à l'écran proprement-dit) puis retour au Skelet.
    Tout se passe dans cet environnement.
    De skelet -> newScreen => Updsreen --> presque fin, ok, je veux rendre la main à l'appelant newScreen et KO !!!!!

    Voici les displays realisés:

    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
    Au départ, le visiteur souhaite un info administrative
    
    >>>>>>>>>>>>>>>>updScreen EXECUTE<<<<<<<<<<<<<<<<<<
    SCREEN => admin
    TITLE => Vous souhaitez avoir une info administrative
    SUBTITLE => sur [Jecrapahute] ?
    FORM => admin
    MENU => index
    SUBMENU => contact
    KLIMSG => Vous souhaitez avoir une info administrative
    MUSTMBER => 1
    getScreen >>>!!!!
    
    ISNOTMBER  <il n'est pas membre, il ne peut la recevoir ici> 
    
    hello row=>Array [B( [SCREEN] => isnotmember [TITLE] => Il faut être membre pour utiliser cette page [SUBTITLE] => sur [Jecrapahute] ? [FORM] => isnotmember [MENU] => index [SUBMENU] => contact [KLIMSG] => Pas encore membre, vous allez rater la belle saison ! [MUSTMBER] => 1 [BOTTOM] => ) -- hello tbl=>Pas encore membre, vous allez rater la belle saison ![/B] 
    
    Jusqu'ici, c'est OK
    
    <<<< @@@@@notmber1@ 
    
    Ici de ne l'est plus
    
    Array ( [SCREEN] => admin [TITLE] => Vous souhaitez avoir une info administrative [SUBTITLE] => sur [Jecrapahute] ? [FORM] => admin [MENU] => index [SUBMENU] => contact [KLIMSG] => Vous souhaitez avoir une info administrative [MUSTMBER] => 1 ) SKELETArray ( [SCREEN] => admin [TITLE] => Vous souhaitez avoir une info administrative [SUBTITLE] => sur [Jecrapahute] ? [FORM] => admin [MENU] => index [SUBMENU] => contact [KLIMSG] => Vous souhaitez avoir une info administrative [MUSTMBER] => 1 ) ==========> SKELT Back from Screen
    L'extrait de code, je mettrais la source entière en attachement

    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
    			   case 1   :	$this->row = $this->dbInst->dbfetchAssoc($this->gu) ;
    			   				echo "getScreen >>>!!!!S" . $this->status; 
    			   				if (strcmp($this->status,NOTMBER) == 0)
    								{	
    									$this->TBL_screen = $this->row[SCREEN  ] ;
    									$this->TBL_screen = $this->row[TITLE   ] ;
    									$this->TBL_screen = $this->row[SUBTITLE] ;
    									$this->TBL_screen = $this->row[FORM    ] ;
    									$this->TBL_screen = $this->row[MENU    ] ;
    									$this->TBL_screen = $this->row[SUBMENU ] ;
    									$this->TBL_screen = $this->row[MUSTMBER] ;
    									$this->TBL_screen = $this->row[KLIMSG  ] ;
    echo "hello row=>" ; print_r($this->row) ; echo "  -- " ;
    echo "hello tbl=>" ; print_r($this->TBL_screen) ;
    LIGNE 148 => echo " <<<< @@@@@" ;return(NOTMBER) ;	
    								}
    							else
    								if ($this->screen   != $this->row[SCREEN  ]	OR
    		 							$this->title    != $this->row[TITLE   ]	OR
    									$this->subtitle != $this->row[SUBTITLE]	OR
    									$this->form     != $this->row[FORM    ]	OR
    									$this->submenu  != $this->row[SUBMENU ]	OR
    									$this->mustmber != $this->row[MUSTMBER]	OR
    									$this->klimsg   != $this->row[KLIMSG  ]	)  
    									return(UPDATE) ; 
    								else
    									return(NOTHING) ;
    			  				break ;
    								
    			   default	:	return(NOTHING) ;
    			  				break ;
    			}
    		return(INSERT) ;
    	}
     
    /**
    *   updScreen() destructor
    *
    */	
      	function __destruct( )	
    	{	if ($this->debug)
    			user_error("Destruct UPDSCREEN" , E_USER_NOTICE) ; 	
    	}
    }
    // ------------------------------------------------------------------------------------------------------------------------------- //	
    // ---------------------------------             MANAGMENT PAGE/SCREEN PARAMETRES                --------------------------------- //	
    // ------------------------------------------------------------------------------------------------------------------------------- //	
    class Screen extends Skeleton
    {   public          $TBL_screen ;
    	public  static  $scrnInst ;
    
    /**
    * 	Instanciation de la classe Screen
    *   ---------------------------------
    */
    	function __construct($dbInst, $TBL_screen, $debug=false)	
        {   if (!self::$scrnInst)
               self::$scrnInst   = $this;
    
            $this->dbInst       = $dbInst ;
            $this->TBL_screen 	= $TBL_screen ;
            $this->debug  		= $debug      ;
    
    //      print_r($this->TBL_screen) ;
    			
            if ($this->debug)
                {   user_error("Construct SCREEN[OK]" , E_USER_NOTICE) ;
                    print "================> Construct SCREEN[OK]" . "<br>\n" ;
    //                print_r($this->TBL_screen) ; echo CRLF ;
                }
    
            return(self::$scrnInst) ;
    	}
    
    /**
    *   function __destruct()
    *
    */	
    	function __destruct( )	
    	{	if ($this->debug)
    			{	user_error("Destruct SCREEN" , E_USER_NOTICE) ; 	
    				print "================> SCREEN Ended" . "<br>\n" ;
    			}
    	}
    /**
    *   function Execute()
    *
    */	
    	function Execute()
    	{	if ($this->debug)
    			{	user_error("SCREEN[Execute]" , E_USER_NOTICE) ; 	
    				print "================> SCREEN Executing" . "<br>\n" ;
    			}
    //
     		try {
     
     				$this->updtScrnInst = new updateScreen($this->dbInst, $this->TBL_screen, $this->debug) ;
    				switch( $this->updtScrnInst->execute() ):
    					case UPDATE:	echo "update" ; $this->UpdScreen() ;
    									break ;
    							
    					case INSERT:	echo "insert" ; $this->IsrtScreen() ;
    									break;
    							
    					case NOTHING:	echo "nothing" ; 
    									break;
    							
    ligne 341 => KOKOKOKO		case NOTMBER:	echo "notmber1" ; echo"@ " ; print_r($this->TBL_screen) ; print_r($this->row) ;
    									break;
    							
    					default:		throw new EXCEPTION("Screen/updScreen => impossible case detected !") ;
    
    				endswitch ;
    Depuis hier, je cherche, je cherche, mets des displays.... etc
    Je me dis qu'un élairage nouveau verra sans doute la solution !

    Merci à vous tous......
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Problème de PHP vers du Perl
    Par crabosnos dans le forum Web
    Réponses: 2
    Dernier message: 19/05/2006, 09h26
  2. [XML] Problème XMLHttpRequest / PHP
    Par ldcarpathes dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 26/04/2006, 16h05
  3. Problème entre php et mysql
    Par kornmuse90 dans le forum Apache
    Réponses: 17
    Dernier message: 24/04/2006, 16h52
  4. [PHP-JS] Problème en PHP
    Par chouchou23 dans le forum Langage
    Réponses: 12
    Dernier message: 18/04/2006, 12h27
  5. Problème : Script PHP IE NOK Firefox OK
    Par Saiyan dans le forum Langage
    Réponses: 40
    Dernier message: 16/11/2005, 00h59

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