Witam,
mam straszny problem z ciastkami. Wydawało mi się że są one zmiennymi globalnymi, znaczy jak utworzę je gdzieś to wszędzie mam do nich dostęp, a tu jednak psikus. Używam WebServ 2.0 i mam ułożone tak foldery (nazwy utworzone do celów orientacyjnych):
glówny:
- folder1/
- folder2/podfolder1/
W folderze /folder1 mam wyswietl.php oraz utworz.php. Podczas wyświetlania robię tak:
print_f($_COOKIE); // daje mi to możliwość sprawdzenia całej tablicy
Natomiast w /podfolder1 mam sam szablon (html bez kodu php), w którym po naciśnięciu przycisku wykonuje zawartość z pliku (przy pomocy AJAX) utworz.php. W tym pliku tworzę ciastko:
setcookie("nazwa_ciastka", "abcd", time()+60); // na 1 minutę do prób
Teraz jest tak że wyświetlając $_COOKIE['nazwa_ciastka'] w pliku utworz.php wyświetla mi poprawnie, natomiast w pliku wyswietl.php jest pusto.
I tu tkwi problem. Robiąc na odwrót, czyli tworząc ciastko w wyswietl.php i wyswietlajac w dodaj.php, oczywiście poprzez AJAX i plik szablonu - wszystko działa i ciastko jest widoczne.
Jest możliwość ustawienia foldera (zakresu) i jak robię "/" to nic nie daje. Sprawdzałem też "../". Podawałem też domenę w postaci ip 127.100.0.0, oraz folderu.
Co zrobić żeby ciastka były widoczne w taki sposób jaki podałem jako pierwszy.
P.S. Jeżeli zrobię tak dla pliku dodaj.php:
setcookie("abc", "z dodaj", time()+60);
print_r($_COOKIE);
wyswietl.php
setcookie("def", "z wyswietl", time()+60);
print_r($_COOKIE);
Rezultat w dodaj.php:
Array ( [abc] => z dodaj [def] => z wyswietl )
Rezultat w wyswietl.php:
Array ( [def] => z wyswietl )