Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: setcookie
Forum PHP.pl > Forum > Przedszkole
rybosom
offtopic.gif
mike
Cytat(rybosom @ 2006-02-18 17:28:49)
dlaczego gdy mam:
Kod
<?php ob_start ("ob_gzhandler");
setcookie('1', '2', time() + 3600);
...
to owe cookie tworzy sie dopiero po przeladowaniu strony?

A dlaczego nie czytasz manuala?

setcookie()
Cytat
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.

Zapytaj twórców języka php tongue.gif

Przenoszę na php Pocz.
Radarek
Cytat(rybosom @ 2006-02-18 16:28:49)
dlaczego gdy mam:
Kod
<?php ob_start ("ob_gzhandler");
setcookie('1', '2', time() + 3600);
...
to owe cookie tworzy sie dopiero po przeladowaniu strony?

Dlatego ze taka jest filozofia protokolu http. Ustawiajac ciastko (np wolajac funkcje setcookie) wysylasz je do przegladarki. W tym momencie nie jestes w stanie stwierdzic czy przegladarka zaakceptowala ciastko. Stwierdzisz to w momencie gdy zostanie wywoalana jakas strona, do ktorej (w naglowku http) przegladarka wysle wsyzstkie ciastka skojarzone z domena, do ktorej sie odwoluje. Dopiero wtedy mozesz stwierdzic jakie ciastka dostales.
Kuziu
Po nastawieniu ciasteczka możesz wywołać Header("Location: adres.php");
Wtedy będziesz już widział ciasteczko
ave
albo
  1. <?php ob_start ("ob_gzhandler");
  2. setcookie('1', '2', time() + 3600);
  3. if(!$_COOKIE[1])$_COOKIE[1]=2;
  4. ...
  5. ?>

i masz jakby ciasteczke bez przeladowania
sobstel
Cytat(ave @ 2006-02-19 03:42:57)
  1. <?php
  2. setcookie('1', '2', time() + 3600);
  3. if(!$_COOKIE[1])$_COOKIE[1]=2;
  4. ...
  5. ?>

i masz jakby ciasteczke bez przeladowania

a jak przeglądarka nie przyjmie potem ciasteczka? nie jesteś w stanie tego stwierdzić bez wysłania kolejnego żądania

Cytat
Po nastawieniu ciasteczka możesz wywołać Header("Location: adres.php");
Wtedy będziesz już widział ciasteczko


gdy przeglądarka nie będzie akceptować ciacha to wtedy w ten sposób można wywołać niekończącą się pętle...
Kuziu
Niekoniecznie.

Formularz przekieruje np. na plik login.php ten powróci do indexu i jesli cookie nie zostanie przyjęte to uzytkownik bedzie nadal niezalogowany.

Mozna rowniez przekazac info ze probowal sie zalogowac i poinformaowac go o tym.
ave
Cytat
a jak przeglądarka nie przyjmie potem ciasteczka? nie jesteś w stanie tego stwierdzić bez wysłania kolejnego żądania


to user nie bedzie mogł sie zalogować, niech wlączy cookies snitch.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.