Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Zničení COOKIES

PHP PHP Zničení COOKIES American English version English version

Aktivity (1)
Avatar
IT Man
Redaktor
Avatar
IT Man:29.3.2015 12:33

Zdravím komunito, :)

mám po dlouhé době zase problém. A s ním si tedy nevím rady. Googlil jsem (asi špatně nebo co), ale nic jsem nenašel. Jedná se o COOKIES.
Kvůli trvalému přihlášení si vytvářím COOKIES s názvem "Identifikace" a do ní vkládám token:

setcookie("Identifikace", $token, mktime(0,0,0,12,31,2020));

Bohužel, když ho chci zničit, vytvoří se další s prázdnou hodnotou, který se po chvilce smaže, ale ten starý tam pořád zůstane.
Smazání vypadá takto:

setcookie("Identifikace");

Byl bych tedy rád, kdyby mi s tím někdo pomohl. Předem děkuji za pomoc. :)

Odpovědět 29.3.2015 12:33
Cokoliv a kdokoliv může jednou uspět.
Avatar
Pavel Junek
Redaktor
Avatar
Odpovídá na IT Man
Pavel Junek:29.3.2015 12:40

Zkus toto ;)

if(isset($_COOKIE['Identifikace'])) {
  unset($_COOKIE['Identifikace']);
}
 
Nahoru Odpovědět 29.3.2015 12:40
Avatar
Odpovídá na IT Man
Michal Žůrek (misaz):29.3.2015 12:41

zkus

setcookie("Identifikace", "", mktime(0,0,0,1,1,1970));
Nahoru Odpovědět  +1 29.3.2015 12:41
Nesnáším {}, proto se jim vyhýbám.
Avatar
IT Man
Redaktor
Avatar
IT Man:29.3.2015 12:42

Oboje jsem zkoušel kluci, ani jedno nejde. A já nevím proč. :(

Nahoru Odpovědět 29.3.2015 12:42
Cokoliv a kdokoliv může jednou uspět.
Avatar
softman23
Člen
Avatar
softman23:29.3.2015 12:45

není způsob, jak přímo vymazat cookies. Stačí použít setcookie s datem expirace v minulosti

$ Cookie_name = '' ;
unset ( $ _COOKIE [ $ cookie_name ]);
// Prázdné hodnoty a vypršení hodinu před
$ res = setcookie ( $ cookie_name , '' , time () - 3600);

 
Nahoru Odpovědět 29.3.2015 12:45
Avatar
Odpovídá na IT Man
Josef Kuchař (Pepa489):29.3.2015 12:46

Zkus to takto:

setcookie("Identifikace","", time()-3600);
unset($_COOKIE['Identifikace']);
Nahoru Odpovědět 29.3.2015 12:46
2x piš, jednou debuguj
Avatar
Marek Z.
Redaktor
Avatar
Marek Z.:29.3.2015 12:46

S tímto jsem se setkal už také zkus zvolit i cestu, tedy:

Při uložení:

setcookie("Identifikace", $token, mktime(0,0,0,12,31,2020), '/');

A smazání:

setcookie("Identifikace", null, mktime(0,0,0,12,31,2020));
Editováno 29.3.2015 12:50
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +2 29.3.2015 12:46
Chybami se člověk učí, běžte se učit jinam!
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Marek Z.
IT Man:29.3.2015 12:48

Díky moc, už to funguje. Takže koukám, že COOKIES se vždy vytváří na jiné doméně. :D

Jinak též děkuji všem, kteří se mi tady snažili pomoc. :)

Editováno 29.3.2015 12:49
Nahoru Odpovědět  +1 29.3.2015 12:48
Cokoliv a kdokoliv může jednou uspět.
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na IT Man
Marek Z.:29.3.2015 12:51

ACh ten edit, chybí tam čtvrtý parametr, jinak také jsem si s tím kdysi lámal hlavu a přitom je to taková prkotinka.. :D

Edit pro řešení:

setcookie("Identifikace", null, mktime(0,0,0,12,31,2020), '/');
Nahoru Odpovědět  +1 29.3.2015 12:51
Chybami se člověk učí, běžte se učit jinam!
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Marek Z.
IT Man:29.3.2015 12:52

Jop, já to pochopil již u toho prvního, takže jsem to dopsal i do toho mazání. :)

Nahoru Odpovědět  +1 29.3.2015 12:52
Cokoliv a kdokoliv může jednou uspět.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.