tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
413
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von StupidBoy
    StupidBoy StupidBoy ist offline Mitglied Gold
    Registriert seit
    Aug 2005
    Ort
    Bremen
    Beiträge
    197
    Einen schönen guten Abend,

    ich schlage mich mal wieder ein wenig mit PHP rum und auch mit der OOP.

    Kurz und knackig mein Problem:
    Ich defefiniere eine Session in Methode A und will etwas später den Inhalt der Session mit einer anderen Methode ausgeben, alles noch in der selben Klasse.
    Dann bekomm ich aber die Medlung "Notice: Undefined variable: userSession".

    Was mich nun etwas wundert, dass ich das Problem nicht habe, wenn ich die Session in der selben Methode definiere die die Session-Variable dann auch ausgibt.

    Schließlich ist der Sinn der Session ja, dass ich eine Variable hab die nicht in irgendeiner Weise gekapselt ist und erhalten bleibt - so seh ich das zumindest .

    Das geht nicht:
    PHP-Code:
    class exampleController extends Zend_Controller_Action
    {
        
    //...
        
    public function fooAction()
        {
            
    //...
            
    $userSession = new Zend_Session_Namespace('userData');
            
    $userSession->userName "Mustermann";
            
    //...
        
    }
        
    //...
        
    protected function testAction(){
            
    $text "Hallo" $userSession->userName;
            
    $view $this->initView();
            
    $view->ausgabe $text;

        }

    Und so gehts:
    PHP-Code:
    class exampleController extends Zend_Controller_Action
    {
        
    //...
        
    protected function testAction(){
            
    $userSession = new Zend_Session_Namespace('userData');
            
    $userSession->userName "Mustermann";
            
    $text "Hallo" $userSession->userName;
            
    $view $this->initView();
            
    $view->ausgabe $text;

        }

     
    Grüße SB

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Du definierst die Variable nur im Namensraum deiner Methode, nicht innerhalb der Klasse.

    So sollte es gehen.

    PHP-Code:
    class exampleController extends Zend_Controller_Action
    {
        protected 
    $userSession;
        
    //...
        
    public function fooAction()
        {
            
    //...
            
    $this->userSession = new Zend_Session_Namespace('userData');
            
    $this->userSession->userName "Mustermann";
            
    //...
        
    }
        
    //...
        
    protected function testAction(){
            
    $text "Hallo" $this->userSession->userName;
            
    $view $this->initView();
            
    $view->ausgabe $text;

        }

     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Avatar von StupidBoy
    StupidBoy StupidBoy ist offline Mitglied Gold
    Registriert seit
    Aug 2005
    Ort
    Bremen
    Beiträge
    197
    Vielen Dank für die schnelle Antwort,

    leider heißt es nun: Notice: Trying to get property of non-object .

    //Edit:

    Ich hab eine Lösung gefunden, auch wenn mir nicht ganz klar ist, warum es nun funktioniert.
    Naja, vielelicht hilft es jemanden.

    PHP-Code:
    class exampleController extends Zend_Controller_Action
    {
        protected 
    $userSession;
        public function 
    preDispatch()
        {
            
    $this->userSession = new Zend_Session_Namespace('userData');
        }
        
    //...
        
    public function fooAction()
        {
            
    //...
            
    $this->userSession->userName "Mustermann";
            
    //...
        
    }
        
    //...
        
    protected function testAction(){
            
    $text "Hallo" $this->userSession->userName;
            
    $view $this->initView();
            
    $view->ausgabe $text;

        }

    Geändert von StupidBoy (22.02.09 um 19:42 Uhr)
     
    Grüße SB

Ähnliche Themen

  1. Sicherheit - Undefined variable
    Von oldputz1990 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 05.09.07, 11:31
  2. [AS2] Variable auf einmal UNDEFINED
    Von chmee im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 06.08.07, 15:33
  3. globale variable -> undefined
    Von fatxy im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 13.02.06, 14:16
  4. Undefined variable:
    Von jma im Forum PHP
    Antworten: 2
    Letzter Beitrag: 03.11.04, 19:48
  5. Undefined variable
    Von Toasty im Forum PHP
    Antworten: 9
    Letzter Beitrag: 29.07.04, 00:03

Stichworte