Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ustawianie zmiennej sesji w controllerze
Forum PHP.pl > Forum > PHP
mattie
Witam serdecznie mam problem gdyż nie wiem jak rozwiązać ustawianie zmiennych sesji.

Sprawa wygląda nestępująco. Mam plik user.php który korzysta z dwóch klas. Jedną z nich jest UsesSession spełniająca funkcje związane z sesjami, między innymi ustwaia smienne sesji w bazie danych. Oraz klasa UserController, która odbiera adres http rozkłada go na części i na podstawie wartości przekazanych w adresie wywołuje odpowiednie metody z wewnątrz klasy.

Treść user.php
  1. <?php
  2. require_once('models/UserSession.php');
  3. require_once('controllers/UserController.php');
  4.  
  5. $session = new UserSession();
  6. $logged = $session->IsLoggedIn();
  7. if ($logged == 1) {
  8. $session->Impress();
  9. $login = $session->__get('login');
  10. $user = new UserController($login);
  11. } else {
  12. header("Location: http://".$_SERVER['HTTP_HOST']."/index.php");
  13. }
  14. ?>


Jak widać tutaj tworzę obiekt UserSession i sprawdzam czy user jest zalogowany. Problem pojawia się później gdy wewnątrz funkcji w klasie UserController chcę ustawić następną zmienną sesji. Robię to w ten sposób ale coś nie chce to działać.

UserController
  1. <?php
  2. function showAddMeToGroup() {
  3. $user = new User();
  4. $wynik = $user->myFirstTime($this->login);
  5. if ($wynik == false) {
  6. echo 'przekieruj na default';
  7. exit();
  8. }
  9. $course = $_POST['kierunek'];
  10. if (empty($course)) {
  11. echo 'przekieruj gdzies'; //do zrobienia
  12. exit();
  13. }
  14. $planData = new PlanData();
  15. $studyCourses = $planData->getStudyCourse();
  16. $courseid = $studyCourses[0][$course];
  17. $studyGroups = $planData->getStudyGroups($courseid);
  18. $session = new UserSession();
  19. $session->__set('idplanu',$courseid);
  20. include('view/studyGroups.html');
  21. }
  22. ?>


Może powinienem link do obiekty UserSession zapisać globalnie już w user.php a może to wina czegoś innego.
Klasa userSession działa dobrze gdyż już wcześniej ją wykorzystuje.

Z góry dziękuję z pomoc. Pozdrawiam
dr_bonzo
Maly OT:
  1. <?php
  2. $login = $session->__get('login');
  3. ?>

skoro uzywasz tych funkcji magidznych to w ten sposob:
  1. <?php
  2. $login = $session->login;
  3. ?>

albo uzyj tradycyjnych akcesorow:
function get( $var )
function set( $var, $value )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.