propage
13.02.2009, 19:15:04
Używam takiego kodu do inicjiowania sesji:
<?php
if (isset($_COOKIE['sesja'])) { }
setcookie(COOKIE_NAME
, "$sesja", time()+25920000, '/', '.domena.pl'); ?>
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?
Axexis
13.02.2009, 21:18:27
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 ; ))
erix
13.02.2009, 21:46:33
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?
propage
13.02.2009, 22:28:04
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
<?php
setcookie(COOKIE_NAME
, "$sesja", time()+25920000, '/', '.'.$config['domain']); ?>
żaden sposób nie pomógł.
erix
13.02.2009, 22:36:10
A co masz w stałej COOKIE_NAME?
erix
13.02.2009, 22:58:45
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.
propage
13.02.2009, 23:46:12
usunołem wszystko cały kod odpowiedzilny za start sesji wygląda teraz tak
<?php
?>
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
erix
13.02.2009, 23:56:54
Ok, pokaż, jakie ciastko dostaje przeglądarka.
propage
14.02.2009, 01:46:01
Widzę zę tworzy się 5 ciastek o nazwach:
PHPSESSID
__utmb
__utmc
...
Tylko te "PHPSESSID" ma domenę ".www.domain.pl", reszta ma ".domain.pl"
erix
14.02.2009, 12:27:50
slewin
14.02.2009, 12:58:38
Strasznie to zagmatwane . Może zamiast
<?php
?>
daj
<?php
?>
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