Autor Zpráva
Y2Kane
Profil
Chtel bych se zeptat, zda-li se da zjistit, jestli prohlizec podporuje cookies jinak, nez pomoci funkce get_browser() (na serveru, neni nastavena prislusna direktiva v nastaveni php). Predem dekuji za jakoukoliv radu
Jakub
Profil *
Obvykle potřebuješ zjistit nejen to, jestli prohlížeč podporuje cookies, ale také to, jestli je má uživatel zapnuté. Pokud je mi známo, tak jediný spolehlivý způsob je poslat na jedné stránce cookie a na druhé zjistit, jestli skutečně dorazila. Uživatel totiž může třeba cookies i individuálně povolovat nebo zakazovat.

prvni.php
<?php
setcookie("cookies", "1");
header("druha.php");
?>

druha.php
<?php
if (!isset($_COOKIE["cookie"])) {
echo "Máte vypnuté cookies.\n";
}
?>

Pak by to šlo řešit i v JavaScriptu přes navigator.cookieEnabled, ale to není tak spolehlivé. A vyžaduje to kromě cookies i zapnutý JavaScript.
Yuhů
Profil
ono se to dá řešit i v javascriptu na jediné stránce. Téměř vždy, když jsem psal nějaké reklamy spouštěné podle cookies, jsem to tak testoval. Stačí nějakou cookie setnout a hned ji zkusit přečíst.

<script>
document.cookie="testovaci=1";
if (document.cookie.indexOf("testovaci") > -1) {
//cookies jsou zapnuté
};
// else // atd...
</script>

V praxi je to potřeba napsat trochu pečlivěji i s expirací. Pokud o to opravdu jde, tak je opravdu lepší na jedné stránce cookie uložit a na druhé přečíst.
Anonymní
Profil *
fajla.php
<?
setcookie("blahblah", "lol", time()+3600);
?>

pls, vie niekto preco to na mna serie a nic nevytvori???
Anonymní
Profil *
hmmmm..... tak nikto nevie...... nemoze byt chyba na servri, alebo ja neviem kde?
llook
Profil
Může to být rozdílem mezi časem serveru a klienta. Jinak těžko říct.
Nepoužíváš IIS? Tam byly snad odedávna problémy s hlavičkama, například tohle: http://support.microsoft.com/kb/q176113/
Toto téma je uzamčeno. Odpověď nelze zaslat.