2012-03-13 8 views
7

Nie mogę uzyskać dostępu do plików cookie z żadnej strony poza stroną, na której się znajdują. Patrzyłem na print_r($_COOKIE) na różnych stronach i jedyną wspólną zmienną między stronami jest $_COOKIE['PHPSESSID'].Moje pliki cookie są dostępne tylko na stronach PHP, na których są ustawione, czy to normalne?

Pracuję na lokalnym serwerze testowym XAMPP. Czy jest jakieś ustawienie, które powinienem zmienić na PHP.ini, czy jest to normalne zachowanie dla plików cookie? Przepraszam, jestem trochę nowy w tych rzeczach i byłem pod wrażeniem, że pliki cookie były dostępne na stronie.

ja ustawiania ciasteczka jak:

setcookie("user", "Dave Schmave", time()+60*60*24*120); 

Każda pomoc będzie mile widziana. Dzięki

+0

Możesz znaleźć ['$ cookie-> setPath ($ path)'] (https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L104) pomocne, jak znaleźć w [tej samodzielnej bibliotece] (https://github.com/delight-im/PHP-Cookie). – caw

Odpowiedz

11

Spróbuj ustawić ścieżkę plików cookie do korzeni:

setcookie("user", "Dave Schmave", time()+60*60*24*120, '/'); 

jest również w tej samej domenie? Dostęp przez HTTPS wpłynie również na pliki cookie.

+0

Wydaje się to robić. Czy jest to coś, co można zmienić na globalnym serwerze? Mój plik php.ini session.cookie_path jest ustawiony na '/', ale myślę, że nadal będę musiał zadeklarować root w setcookie(). Dziękujemy za pomoc1 –

+0

może coś nadpisuje to ustawienie. Spróbuj umieścić phpinfo() w miejscu twojego skryptu i sprawdź ustawienia :) –

+0

Ah, źle odczytałem interfejs API i zamiast ścieżki używałem mojej domeny "domain.com". –

Powiązane problemy