Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ustawianie zmiennej sesji w controllerze
mattie
post 13.12.2006, 12:56:07
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.04.2006

Ostrzeżenie: (0%)
-----


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


--------------------
Slackware 11.0 kernel 2.6.18
php 5.2.0
MySQL 5.0.27
Go to the top of the page
+Quote Post
dr_bonzo
post 13.12.2006, 13:46:31
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


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 )


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:49