Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [php] Problem z czytaniem cookies (?)

Napisany przez: Bartek Blaszczyk 10.04.2006, 04:29:46

mam bardzo dziwny problem z czytaniem plikow cookie z poziomu php:
cookie ustawiam w skrypcie przy pomocy funkcji setCookie, nastepnie w innym skrypcie chce to cookie odczytac. w firefoxie odczytuje sie tylko po wpisaniu adresu skryptu z palca a pole adresu przegladarki (po przekierowaniu do skryptu i 'odswiezaniu' nie dziala). z kolei w ie nie dziala w ogole. odczytujac cookie korzystam z tablicy $_COOKIE. zaznaczam, ze co do ustawien, domeny, sciezki i czasu jestem pewien co do poprawnosci podanych przeze mnie argumentow.
czy ktos moze mial podobny problem lub/i wiec jak go rozwiazac?questionmark.gif

Napisany przez: mike_mech 10.04.2006, 07:05:17

Nie podałes kodu, więc pozostaje strzelać.
Czyżbyś nadział się na to:

Cytat(setcookie())
Częste pułapki:
  • Ciasteczka nie będą widziane do następnego przeładowania strony dla której mają być widoczne.
  • Ciasteczko może być usunięte tylko z tymi parametrami, z jakimi je ustawiono.

http://pl2.php.net/manual/pl/function.setcookie.php

Napisany przez: Guest 11.04.2006, 00:07:14

nie, nie - to na pewno nie to - przeczytalem dokladnie w manualu na temat setcookie().
podaje kod (oba skrypty sa w tym samym katalogu, hosting na home.pl):

SetCookie.php

  1. <?php
  2. http://www.php.net/define('COOKIE_LIFETIME', 30 * 24 * 60 * 60); // 1 month
  3. if (http://www.php.net/isset($_GET['SetCookie']))
  4. {
  5. http://www.php.net/setcookie('TestCookie', $_GET['CookieValue'], http://www.php.net/time() + COOKIE_LIFETIME);
  6. }
  7. ?>
  8. <form action="?" method="GET">
  9. Cookie value: <input type="text" name="CookieValue">
  10. <input type="submit" name="SetCookie" value="Set"><br /><br />
  11. </form>
  12. <br /><br />
  13. <a href="ReadCookie.php">Read cookie...</a>


ReadCookie.php

  1. Cookie value: "
  2. <?php http://www.php.net/echo($_COOKIE['TestCookie']); ?>
  3. "<br /><br />
  4. <a href="SetCookie.php">Set cookie...</a>


no i dupa - nie dziala... sad.gif
wywoluje SetCookie.php, wpisuje tam jakas wartosc, nastepnie przechodze za pomoca linka do ReadCookie.php i nic. odswiezam - i nic. kilka razy - nic. wpisuje adres recznie w pasek adresu (w firefoxie) wtedy dziala.
w internet explorerze nie dziala w ogole...

Napisany przez: Kuziu 11.04.2006, 00:47:45

Wkleiłem Twój kod u mnie i działa.
Napewno masz włączone cookies w przeglądarce ?

Napisany przez: mike_mech 11.04.2006, 10:19:14

Lub druga sprawa: możesz mieć włączone register_globals.
Wtedy nie masz tablic superglobalnych $_GET, $_POST, ...

Napisany przez: Guest 11.04.2006, 15:44:25

Cytat
Napewno masz włączone cookies w przeglądarce ?

tak na stowe... zreszta sprawdzalem - cookies sie zapisuja w przegladarce.

Cytat
Lub druga sprawa: możesz mieć włączone register_globals.
Wtedy nie masz tablic superglobalnych $_GET, $_POST, ...

w home.pl dla php4 register globals jest domyslnie wlaczone, ale ciagle mam dostep do tablic superglobalnych. odpalalem te skrypty pod php5, gdzie register globals jest wylaczone z tego co wiem, i dzialalo dokladnie tak samo...
poza tym sprawdzalem tez w tablicy $_GLOBALS - tez nic...

Napisany przez: BartekBlaszczyk 13.04.2006, 03:20:51

sluchajcie - problem rozwiazany biggrin.gif
okazalo sie, ze to 'wina' ZoneAlarm, ktory sobie niedawno zainstalowalem.
otoz mialem ustawione (chociaz nie przypominam sobie, zebym sam to ustawial) blokowanie 3rd party cookies. przywrocilem wartosci domyslne (tam blokowanie bylo wylaczone) i wszystko zaczelo dzialac.
tylko teraz pytanie - dlaczego to cookie zostalo uznane za 3rd party cookie...?

Napisany przez: emitra 13.04.2006, 21:46:41

A ja mam następujący problem.

Wszystko ladnie mi smigalo. Cookiesy sie zapisywały zalozmy ze skryty byly pod adresem http://adres.costam.xxx.pl
ladnie logowanie dzialalo i wszycy byli happy ;]

do czasu az wykupilem sobie domenke powiedzmy adres.pl noi przekierowalem ja na http://adres.costam.xxx.pl

No i pojawiły sie problemy.
Pod FireFoxem ladnie smiga niestetry pod IE nie zapisuje ciastek. Nie tlyko mi. A wszystkim uzytkownikom. Natomiast wszystkim bezblednie smiga pod FF. Probowalem roznych kombinacji i zadna nie zadzialala oto one:

Kod
setcookie ("user_session", $user_session, (time () + $cookie_live),0);
setcookie ("user_session", $user_session, (time () + $cookie_live), "/", ".adres.pl",0);
setcookie ("user_session", $user_session, (time () + $cookie_live), "/", ".adres.costam.xxx.pl",0);


I nic. Jak moilem pod FF ladnie dziala jak podgladam sobie ciasteczka i jak dam wszystkie 3 linijki w kodzie to ciastko zapisuej sie dla
domeny: .adres.costam.xxx.pl
katalog: /

oraz
domeny: adres.costam.xxx.pl
katalog: 0

i ladnie dziala natomiast nie potrafie przekonac Iexplorera6 by wzial przyklad z konkurenta.

Pozdrawiam

Napisany przez: mediasp 23.04.2007, 07:45:29

Cytat(BartekBlaszczyk @ 13.04.2006, 04:20:51 ) *
sluchajcie - problem rozwiazany biggrin.gif
okazalo sie, ze to 'wina' ZoneAlarm, ktory sobie niedawno zainstalowalem.
otoz mialem ustawione (chociaz nie przypominam sobie, zebym sam to ustawial) blokowanie 3rd party cookies. przywrocilem wartosci domyslne (tam blokowanie bylo wylaczone) i wszystko zaczelo dzialac.
tylko teraz pytanie - dlaczego to cookie zostalo uznane za 3rd party cookie...?


Miałem podobny z Mozillą i Avasem. W IE ciasteczka funkcjonowały poprawnie a w Mozilli nie były odczytywane. Po wyłączeniu Avastu skrypt działał poprawnie. I nie wiem dlaczego tak sie dzieje?
Skrypt zabezpieczał przed wielokrotnym głosowaniem.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)