problem z getSession() - Strona 2
Strona 2 z 2 PierwszyPierwszy 12
Wyniki 11 do 15 z 15

Temat: problem z getSession()

  1. #11
    Debiutant
    Dołączył
    14-12-2012
    Wpisy
    7
    Punkty
    2

    Domyślny

    https://dl.dropbox.com/u/1575961/Untitled.png
    pierwsze 2 pozycje są spowodowane logowaniem przez mój skrypt. Ostatnia jest stworzona po zalogowaniu do panelu administracyjnego joomla (więc na 100% jest dobra). Nie wiem dlaczego kolumna data jest pusta. Widać też, że client_id = 0 w obu przypadkach pewnie dlatego ze guest = 1. Zastanawia mnie też dlaczego pierwsze logowanie przebiega prawidłowo i zwracane są jakieś dane ustawione wcześniej za pomocą:
    Kod PHP:
    $session->set('status'1);
    $session->set('login'$login); 
    skoro "data" jest puste (no chyba ze sie myle i to pole nie służy do tego)

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #12
    Wyjadacz pawelSafiStudio awatar
    Dołączył
    27-09-2010
    Wpisy
    646
    Punkty
    90

    Domyślny

    Na Twoim miejscu jednak skorzystałbym z $_SESSION. W Twoim przypadku dwa razy ładujesz core Joomla!, co może powodować błędy. Usiadłem sobie w weekend i zrobiłem zapis danych do sesji z poziomu artykułu ale przy pomocy autorskiego pluginu i wszystko działa ok. Nie wiem jak z sourcerer bo nie uznaję takich dodatków. Jeśli masz debuggera to prześledź jak są przekazywane dane na każdym kroku działania Twojej aplikacji. Może wówczas wychwycisz jakiś błąd.
    "Twoja strategia jest do bani (głównie dlatego, że nie poświęcasz jej wystarczająco dużo czasu)" - Mitch Joel

  4. #13
    Debiutant
    Dołączył
    14-12-2012
    Wpisy
    7
    Punkty
    2

    Domyślny

    skorzystałem własnie z $_SESSION i sprawa wygląda następująco:
    1) zmodyfikowałem nieco szablon strony by wyświetlał mi na samej górze identyfikator sesji (echo session_id();)
    2) to samo zrobiłem dla formularza logowania (jakiś bajerancki jest więc wolałem się upewnić)
    3) do pliku .php wywoływanego dzięki ajax w formularzu logowania również dałem echo session_id();
    4) do artykułu za pomocą wtyczki sourcerer wstawiłem echo session_id();

    moje spostrzeżenia:
    session_id w 1 oraz 2 przypadku jest takie samo. Niestety w punkcie 3 oraz 4 zdaje sie tworzona jest całkowicie nowa sesja bo identyfikator jest zupełnie inny
    przekazałem poprzez input type="hidden" w formularzu logowania identyfikator sesji do punktu 3 (czyli do pliku php który sprawdzi poprawnosć logowania) Dzięki temu już tylko w punkcie 4 mam jakiś inny identyfikator sesji i nadal mnie to blokuje. Być może w tym momencie już jakoś sobie poradzę dalej. Pytanie tylko czy coś wam to mówi ? Bo może jest jakiś "oczywisty" sposób na rozwiązanie tego problemu

  5. #14
    Przeglądacz
    Dołączył
    24-01-2011
    Wpisy
    43
    Punkty
    10

    Domyślny

    Witam. Podpowiem coś do tematu może pomogę.
    1. Radziłbym nie wysyłać $_POST w ten sposób może to doprowadzić do problemów.
    2. Source jest puste nie przekazujesz tam loginu tak mi się wydaje i chyba tak jest.
    3. Spróbuj w source wywołać samą sesję a potem przypisać do niej usera np. tak:
    Kod PHP:
    {source}
    <?php
    $sessi     
    JFactory::getSession();
                   
    $sesja_key $sessi->getId(); 
    ?>
    {/source}
    powinno zadziałać.
    4. Jak by czasem nie zadziałało choć wątpię to spróbuj przywołać sesję z bazy danych i pobierz to co potrzeba.

  6. #15
    Przeglądacz
    Dołączył
    24-01-2011
    Wpisy
    43
    Punkty
    10

    Domyślny

    a i jeszcze jeden szczegół
    Kod PHP:
      jimport'joomla.session.session' ); 
    i link http://docs.joomla.org/API15:JSession

Strona 2 z 2 PierwszyPierwszy 12

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •