Setcookie работает в других браузерах, но не в Firefox - PullRequest
0 голосов
/ 05 декабря 2011

У меня это работает на других, но на (Firefox самый важный), это не работает.Что не так в моем коде?или что не так с Firefox:)

if($_COOKIE['ea1']){
die ("cookies set");
} else {
setcookie('ea1',1,time()+24*60*60);
}    

Ответы [ 5 ]

1 голос
/ 28 октября 2016

Была такая же проблема, у меня это сработало:

Установите cookie на localhost, используйте false

setcookie("TestCookie", $value, time()+3600, "/", false);

Для удаления того же куки используйте отрицательное время

setcookie("TestCookie", '', time()-3600, "/", false);
1 голос
/ 05 декабря 2011

У меня иногда возникали проблемы с файлами cookie и перенаправлениями.Убедитесь, что вы устанавливаете заголовок Location ДО ТОГО, как вы установили заголовок Cookie для максимальной совместимости с браузером.

1 голос
/ 05 декабря 2011

попробуйте это:

if($_COOKIE['ea1']){
die ("cookies set");
} else {
setcookie('ea1',1,time()+24*60*60,'/','example.com');
}    

вы также можете подумать о том, чтобы очистить куки браузера до

РЕДАКТИРОВАТЬ: если вы находитесь на локальном хосте, вам, возможно, придется использовать

setcookie('ea1',1,time()+24*60*60,'/',false);
1 голос
/ 05 декабря 2011

Это будет работать

  1. // Set_Cookie ('mycookie', 'посетили 9 раз', ​​30, '/', '', ''); функция Set_Cookie (имя, значение, срок действия, путь, домен, безопасный) { if (! hasKey ()) { вернуть; }

    var today = new Date();
    today.setTime(today.getTime());
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));
    
    document.cookie = name + "=" + escape(value) +
        ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
        ((path) ? ";path=" + path : "") +
        ((domain) ? ";domain=" + domain : "") +
        ((secure) ? ";secure" : ""); }
    

    функция Get_Cookie (check_name) { var a_all_cookies = document.cookie.split (';'); var a_temp_cookie = ''; var cookie_name = ''; var cookie_value = ''; var b_cookie_found = false;

    for (i = 0; i < a_all_cookies.length; i++) {
        a_temp_cookie = a_all_cookies[i].split('=');
    
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
    
        if (cookie_name == check_name) {
            b_cookie_found = true;
            if (a_temp_cookie.length > 1) {
                cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
            }
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if (!b_cookie_found) {
        return null;
    } }
    
1 голос
/ 05 декабря 2011

Предполагая, что вы имеете в виду Firefox, я рекомендую прочитать этот пост "Почему я не могу создать куки в Firefox"

Кроме того, возможно, стоит попытаться установить больше параметров, особеннопараметр домена.Подробнее см. в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...