Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Nie trzymanie sessji
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Używam takiego kodu do inicjiowania sesji:

  1. <?php
  2. if (isset($_COOKIE['sesja'])) {
  3. session_id($_COOKIE['sesja']);
  4. }    
  5.        
  6.        session_set_cookie_params(time()+25920000);
  7.        session_start();
  8.        $sesja = session_id();
  9.      
  10.    
  11.        setcookie(COOKIE_NAME, "$sesja", time()+25920000, '/', '.domena.pl');
  12. ?>


Sesja działa dobrze jednak jeśli ktos wpisuje adres "domena.pl", jeśli ktoś wchodzi na strone wpisując adres "www.domena.pl" sesja nie działa. Jaka jest tego przyczyna?
Go to the top of the page
+Quote Post
Axexis
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 14
Dołączył: 13.01.2008
Skąd: Birmingham

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


Sesja domyślnie zapisuje się do określonej domeny. (www.php.pl to nie php.pl i odwrotnie).

Do .htaccess możesz spróbować dodać:
Kod
php_value session.cookie_domain ".domena.pl"



domena.pl zamień na własną (kropka ma być tam ; ))


--------------------
  1. root@php.pl:~# rm -fr /


be. confused
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale przecież można wszystko ustawić przez session_set_cookie_params" title="Zobacz w manualu PHP" target="_manual, po co kombinować z htaccess/php.ini?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
propage
post
Post #4





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Próbowałem na 2 sposoby to znaczy:

dodałem do pliku php.ini (dodajac to do hta. cala strona przestala dzialac):
php_value session.cookie_domain ".domena.com"

i
  1. <?php
  2. session_set_cookie_params(time()+25920000, '/',  '.'.$config['domain']);
  3. $sesja = session_id();    
  4. setcookie(COOKIE_NAME, "$sesja", time()+25920000, '/', '.'.$config['domain']);
  5. ?>


żaden sposób nie pomógł.
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co masz w stałej COOKIE_NAME?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
propage
post
Post #6





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


tekst "procms"
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A masz ustawioną własną nazwę sesji?

Z tego, co widzę, to wynajdujesz koło na nowo z tym ciastkiem, a wystarczyłoby IMHO session_name" title="Zobacz w manualu PHP" target="_manual.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
propage
post
Post #8





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


usunołem wszystko cały kod odpowiedzilny za start sesji wygląda teraz tak

  1. <?php
  2. session_set_cookie_params(time()+25920000, '/', '.'.$config['domain'] );
  3. ?>


Ciągle nie działa, na próbę ustawiłem '.www.'.$config['domain'] zamiast '.'.$config['domain'], ale też co dziwne nie działa strona www.domain.pl a działa domain.pl hmm
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ok, pokaż, jakie ciastko dostaje przeglądarka.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
propage
post
Post #10





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Widzę zę tworzy się 5 ciastek o nazwach:
PHPSESSID
__utmb
__utmc

...

Tylko te "PHPSESSID" ma domenę ".www.domain.pl", reszta ma ".domain.pl"
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Spróbuj może tak:
  1. <?php
  2. session_set_cookie_params(time()+25920000, '/', '.'.$config['domain'] );
  3. session_name(COOKIE_NAME);
  4. ?>


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
slewin
post
Post #12





Grupa: Zarejestrowani
Postów: 104
Pomógł: 7
Dołączył: 9.12.2008
Skąd: wroc

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


Strasznie to zagmatwane . Może zamiast
  1. <?php
  2. session_set_cookie_params(time()+25920000, '/', '.'.$config['domain'] );
  3. ?>

daj
  1. <?php
  2. session_set_cookie_params(time()+25920000, '/', '.'.$_SERVER['HTTP_HOST']);
  3. ?>
Go to the top of the page
+Quote Post
Suh
post
Post #13





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

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


Witam, nie chciałem zakładać nowego tematu, a ten tematyką pasuje do mojego problemu.

Sprawa wygląda tak.. piszę skrypt z obsługą sesji. Wczoraj testowałem funkcjonalność i wszystko chodziło.. z resztą nie tylko wczoraj ale już od dawna. W tej chwili pracuje nad nowsza wersją i po prostu ulepszam silnik starszej.

Problem polega na tym, że nie mogę przekazać zmiennych sesyjnych między plikami, co wcześniej odbywało się bez problemów.
Po kliku próbach "debugowania" na różne sposoby, sprawdzania dostępności zmiennych itp, napotkałem coś takiego:

Warning: Unknown: w in Unknown on line 0

Warning: Unknown: F in Unknown on line 0

ocb ? Może ktoś mi wyjaśnić ? może ktoś już coś takiego spotkał..

pzdr


--------------------
Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
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 Aktualny czas: 19.08.2025 - 15:48