Poczytalem troche o sesjach no i chce teraz zaimplementowac je do wlasnej aplikacji wiec zrobilem tak :
Mam formularz logowania do skrzynki pocztowej :
function login() { $this->output.='<div align="center" class="loginform">'. '<form action="index.php" method="post">'. '<input type="text" name="login">'. '<input type="password" name="pass">'. '<input type="hidden" name="check" value="ok">'. '<input type="submit" value="Zaloguj">'. '</form>'. '</div>'; }
Za pomoca tablicy $_POST zmienne przekazywane sa do kontrolera i tam sytuacja wyglada tak :
if($postvars['check'] == 'ok') { $_SESSION['login'] = $postvars['login']; $_SESSION['pass'] = $postvars['pass']; if(($this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap')) == false) { $this->login(); } else { $this->inbox(); } $this->message($postvars['naglowek'][0]); $this->login(); } else { }
Czyli zmienne post sa zapisywane jako zmienne sesji a nastepnie nastepuje logowanie do skrzynki pocztowej, jesli logowanie sie uda , wyswletla sie skrzybka $this->inbox.
Nastepnie klikam sobie na jakiejs wiadomosci w mojej skrzynce no i aplikacja przechodzi do kolejnego widoku ktory wyglada tak :
function message($id) { $this->output.='Wiadomosc : '.$this->model->body($id); $this->output.='To jest wiadomosc numer'.$id.'<a href="java script:history.back();">Wstecz</A>'; }
Wyswietlam sobie we wszystkich widokach tablice $_SESSION, no i w ostatnim widoku wiadomosci widze ze zmienne sesyjne sa ustawione prawidlowo czyli
$_SESSION['login'] - login do mojej skrzynki
$_SESSION['pass'] - haslo do mojej skrzynki
No i teraz chce sobie wrocic z widoku pojedynczej wiadomosci do widoku calej skrzynki no wiec klikam sobei przycisk 'wstecz' pyta mnie czy przeslac dane ponownie, ale niestety zamiast widoku skrzynki pojawia sie widok logowania , mimo ze dane sesyjne sa ciagle wyswietlane prawidlowo no i z tego co rozumiem ten kod :
if(($this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap')) == false) {
Powinien ponownie przyjmowac zmienne sesyjne no i logowac sie bez problemu do skrzynki wyswietlajac jej zawartosc, a zamiast tego wyswietla mi sie widok logowania.....