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

  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 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