Mam taki kawalek kodu
function mailbox($params) { $_SESSION['login'] = $_POST['mailbox']; $_SESSION['pass'] = $_POST['pass']; if(($this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap')) == false) { $this->view = new LoginView; $this->view->setVars('wrong','Niepoprawny login lub hasło'); $this->view->display('login'); //echo 'Niepoprawny login lub hasło!'; } else { //echo 'Zalogowany!'; $this->model->inbox(); $stats = $this->model->status(); $num = $stats['Nmsgs']; $view = new LoginView; $boxes = $this->model->getMailboxes(); $msgsParts = $this->model->getMsgsParts($num); //$view->setVars('controller', 'controller'); $view->setVars('stats', $stats); $view->setVars('boxes', $boxes); $view->setVars('parts',$msgsParts); $view->display($params['action']); } }
Widac, ze mamy tutaj warunek if.
Sprawa tyczy sie zmiennej $this->view.
W pierwszej czesci petli klasa widoku jest inicjowana w ten sposob :
$this->view = new LoginView;
Zas w drugiej części warunku if tak :
$view = new LoginView;
A to dlatego ze jak probuje w drugiej czesci petli zainicjowac klase w ten sam sposob co w pierwszej dostaje taki blad :
Cytat
Notice: Undefined variable: view in C:\Apache\htdocs\PrackaMgr\controllers\class.LoginController.php on line 42
Fatal error: Cannot access empty property in C:\Apache\htdocs\PrackaMgr\controllers\class.LoginController.php on line 42
Fatal error: Cannot access empty property in C:\Apache\htdocs\PrackaMgr\controllers\class.LoginController.php on line 42
No i teraz pytanie, dlaczego w drugiej czesci petli nie moge zainicjowac klasy widoku w ten sam sposob co w pierwszej czesci czyli $this->view ..... ?