[PHP] Jak ustawić cookies ważne tylko do północy aktualnego dnia lub do dowolnej innej daty z dokładnością co do sekundy?
Chcesz ustawić wartość w cookies, która będzie przechowywana wyłącznie do północy aktualnego dnia i po północy nie będzie już dostępna. W ten sam sposób możesz też ustawiać ważność cookies do dowolnej, określonej przez Ciebie daty.
Przy ustawianiu cookies możesz podać datę wygaśnięcia zmiennej co do sekundy. Wystarczy więc uzyskać znacznik czasu dla północy aktualnego dnia i ustawić go w polu ważności "ciasteczka". Możesz też podać dowolną inną datę i godzinę. Zobacz jak to zrobić:
<?
$czas = mktime(23,59,59,date("m"),date("d"),date("Y"));
setcookie("ciastko","wartosc",$czas);
?>
Funkcja mktime() zwraca znacznik czasu w sekundach dla podanej daty. Ustawiamy więc godzinę 23:59 i 59 sekund, dla aktualnego dnia. Numer miesiąca, dnia i roku zwracają funkcje date().
Teraz wystarczy umieścić w cookies uzyskany znacznik czasu wygaśniecia ciasteczka. Po północy zmienna $ciastko nie będzie już dostępna.
Jeżeli chcesz ustawić inną, dowolną datę wygaśnięcia cookies, możesz podać pełną datę dla funkcji mktime(), np.:
<?
$czas = mktime(12,00,00,4,7,2003);
setcookie("ciastko","wartosc",$czas);
?>
Teraz cookies będzie przechowywane do południa, 7 kwietnia 2003 roku.