Cookie

0

Jak mozna sprawdzic czy ciacho zostalo wyslane, czy istnieje i jaka ma wartosc w danym momencie ??

Chcialbym to wiedziec poniewaz zrobilem sobie logowanie na stronie i robie nastepujaco:

plik LOGI.PHP4

zawiera formularz do wpisania danych i kiedy haslo i login sie zgadza nastepuje przeslanie ciacha

[code]setcookie("Ciacho1",1,time()+360);[/code]

i pojawia sie informacja:
[code]
echo("[Zalogowany: $login]");
echo("Przejdz do strony glownej");
[/code]

po kliknieciu na link i przejsciu na INDEX.PHP4 nie dziala tak jak powinno

plik INDEX.PHP4 wyglada nastepujaco
[code]
include("includeheader.php4");

$ciastko = $_COOKIE["ciacho1"];

if($ciastko==1):
ramki($page,1);
else:
ramki($page,0);
endif;
[/code]

no i to nie dziala poniewaz to $ciastko nie rowna sie 1.

<font color="red"> DLACZEGO ?? </span>

0

jezeli wyslales ciacho to masz je w opowiedniej tablicy superglobalnej, a wowczas uzywasz tylko funkcji isset(), ktora zwroci true jesli zmienna istnieje, czyli jesli ciacho zostalo wyslane, a jaka ma wartosc mozesz sprawdzic tak jak dla kazdej zmiennej :P

0

Ustawiaj ciacho na dluzszy czas: np. 3600. Sproboj wziac wartosc w apostrofy: setcookie('ciastko', 'wartosc_1', time()+3600);

Przy odczytywaniu sprawdz tablice: $HTTP_COOKIE_VARS (nie na kazdym PHP dziala $_COOKIES). Uzywaj funkcji empty() - nie isset().

Czyli:

if (!empty($_HTTP_COOKIE_VARS['ciastko'])) {
// odczytujemy
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1