Jak wykryć czy ciasteczko jest ustawione ?

0

Wyłączyłem ciasteczka i chciałem sprawdzić czy można ustawić ciasteczko i wyświetlić informacje że proszę włączyć ciacho. Ale po ustawieniu ciacha w sesji nie widzę go. Widać dopiero po pierwszym odświeżeniu strony. Jest jakiś sposób żeby wykryć czy ciacho się zapisało bo mimo blokady zwraca mi true :/

    // check is cookie enabled
    $cookieNname = "ciasteczkowy_potwor";
    $cookieValue = "check";
    var_dump(setcookie($cookieNname, $cookieValue, time() + (86400 * 30), "/"));
    // i w tej linijce wyzej nawet jak mam wylaczone ciasteczka to pokazuje true mimo ze nie zapisuje    	

    var_dump($_COOKIE[$cookieNname]);
    // a tu zaraz po utworzeniu ciacha pokazuej ze nie ma nic

    if(!isset($_COOKIE[$cookieNname])){
        $cookieEnabled = false;
    } else {
    	$cookieEnabled = true;
    }

    // na koncu dostaje ze cookieEnabled = false mimo ze ciacho jest

dopiero po odswiezeniu strony pokazuje ze jest ciacho.

0

Zmienna globalna $_COOKIE jest inicjalizowana na początku żądania HTTP, komenda setcookie nie zmienia jej wartości bezpośrednio. Jeżeli bardzo chcesz mieć od razu, to musisz to po prostu ustawić w tej zmiennej globalnej, oprócz ustawienia przez setcookie.

0

chodzi wlasnie o to ze jesli ja mam zwrotke TRUE z tej linijki

var_dump(setcookie($cookieNname, $cookieValue, time() + (86400 * 30), "/")); 

mimo iz sesja nie zostala zapisana bo mam zablokowane pliki ciasteczkowe to jak przypisze to do globalnej to bedzie blad bo ciastka nadal nie ma. Wiec moje pytanie jak sprawdzic czy sesja sie zapisala do cistka lub nie z poziomu tej liniji

var_dump(setcookie($cookieNname, $cookieValue, time() + (86400 * 30), "/"));

pozostaje mi to zrobic na JS

0

Niekoniecznie JS, możesz to zrobić samymi przekierowaniami HTTP z poziomu PHP.

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