Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] sesje, Zagubione sesjie przy wywolanach ajaxowych
fernet
post 25.04.2009, 17:37:11
Post #1





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 22.03.2007

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


Napisalem prosty mechanizm zminy id sesji przy kazdym wywolaniu zalogowanego uzytkownika na stronie.

Dzalala to nastepujaco

Skryp sprawdza czy zmienna sesji ma nalozona wartosc jesli tak to dalej sprawdza czy ciacho uzytkownika ma wartosc bierzacego id sesji jesli tak to nastepuje zmiana id sesji i wysylane jest ciasteczko z nowa wartoscia id sesji.


Wylogowanie nastepuje jesli bierzace id sesji nie je pasuje do wartosci z ciasteczka lub jesli zmienna w sesji nie ma wartosci.

I wszystko smiga ale w stronach "adresowych". Kiedy pisze strony "adresowe" mam na mysli te strony w do ktorych odwoluje sie z adresu przegladarki. Jednak niektore elementow strony sa aktualizowane ajaxowo. Tam tez z chwila kiedy zmianiam id sesji pojawia sie problem.


Chodzi o to ze moge zminic id sesji w skryptach ktore sa wykonywane ze stron adresowych. A skrpyty wykonywalne przez ajaxa traca id sesji czy cos tam w rezultacie wywala mi logout

Zalezy mi by kazda aktywnosc uzytkownika zminiala id sesji i aktualizowala ciasteczko a puki co moge tego dokonac tylko z poziomu zapytan "adresowych".

Za pomoc i zainteresowanie z gory dziekuje i pozdrawiam

Ten post edytował fernet 25.04.2009, 17:43:47


--------------------
Czy sprzedal sie juz czy dopiero ma? Oto pytanie, ktore stawiam wam. A czemu gdy byl, to nic tylko spal? Ze mna co lubie go gadac nic nie chcial. A czemu to gra, a tamtego nie. Chyba nas wszystkich nic nie szanuje. Jaki byl kiedy pil? Jaki byl kiedy gral? Czy to ten czlowiek sam czy moze rozni dwaj?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
fernet
post 28.04.2009, 15:29:33
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 22.03.2007

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


blad jaki wyskakuje to taki ze header juz jest i zebym sobie darowal co jest nawet logiczne z tym ze mnie to nie zadawala

wyglada to mniej wiecej tak

index.php (strona adresowa)

  1. <?php
  2. require("include/set_offline.php");
  3. ?>
  4.  
  5. <html>
  6. <a href="java script:bambam();">Odpal ajaxa</a>
  7. <div id="ajaxowy">
  8. <?php include("include/strona_servera.php")?>
  9. </div>
  10. <html>


plik strona_servera.php nie jest strona adresowa i mam tam znowu require("set_offline.php"); no i zwrot tagow html ktore albo z include strony adresowej albo za pomoca ajaxa i responseText przypisuje do <div id="ajaxowy">. Operacja requre include itd w pliku strona_servera.php jest problematyczna jak wpisze tam samo session_start() bez fikolkow ze zmiana id sesj to smiga.


najistotniejsza cześć kodu z set_offline.php

  1. <?php
  2. if(isset($_SESSION['user'])) {
  3.    if(isset($_COOKIE['ciacho'])) {
  4.        if($_COOKIE['ciacho'] == session_id()) {
  5.            //cacy            
  6.            session_regenerate_id();
  7.            setcookie("ciacho",session_id(),time()+60*30,"/" );
  8.  
  9.        } else {
  10.            //zle
  11.        }
  12.    } else {
  13.        //zle
  14.    }    
  15. } else {
  16.    //zle
  17. }
  18. ?>


Ten post edytował fernet 28.04.2009, 16:01:23


--------------------
Czy sprzedal sie juz czy dopiero ma? Oto pytanie, ktore stawiam wam. A czemu gdy byl, to nic tylko spal? Ze mna co lubie go gadac nic nie chcial. A czemu to gra, a tamtego nie. Chyba nas wszystkich nic nie szanuje. Jaki byl kiedy pil? Jaki byl kiedy gral? Czy to ten czlowiek sam czy moze rozni dwaj?
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 15:49