Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как запретить устанавливатся куке, если время текущей еще не истекло?
 
 автор: TetRiska   (04.10.2011 в 20:47)   письмо автору
 
 

Вот так я устанавливаю на сутки, но как запретить ее перезапись в течении этих суток?
var expiresDate = new Date();
expiresDate.setTime(expiresDate.getTime()+24*60*60*1000);
var expires = expiresDate.toGMTString();
document.cookie = "nextdo=1;expires="+expires+";path=/;"; 

  Ответить  
 
 автор: cheops   (04.10.2011 в 20:52)   письмо автору
 
   для: TetRiska   (04.10.2011 в 20:47)
 

Хм... может просто проверить существование текущей куки? Если она есть, то не выполнять блок установки новой cookie при помощи if().

  Ответить  
 
 автор: TetRiska   (04.10.2011 в 22:04)   письмо автору
 
   для: cheops   (04.10.2011 в 20:52)
 

Т. е. если время сессии истекает она сама уничтожается, то достаточно проверить ее существование перед новой установкой? Как в это в джаваскрипте сделать, не подскажете?

  Ответить  
 
 автор: АЯС   (05.10.2011 в 00:02)   письмо автору
 
   для: TetRiska   (04.10.2011 в 22:04)
 

if (document.cookie) alert ('Куки уже установлены, срок их действия не истёк!');
else alert ("То ли куки вовсе не ставили, то ли срок их действия прошёл!");

  Ответить  
 
 автор: TetRiska   (05.10.2011 в 01:20)   письмо автору
 
   для: АЯС   (05.10.2011 в 00:02)
 

так это проверка на любую куку ведь? мне нужно конкретную проверить
if (document.cookie != 'nextdo'){
//ставим заново
}
верно?

  Ответить  
 
 автор: TetRiska   (05.10.2011 в 10:37)   письмо автору
 
   для: TetRiska   (05.10.2011 в 01:20)
 

уже помогли:)
    function doesCookieExist (name)
    {
        var isFound = false;
        var arrCookies = document.cookie.split (';');  
     
        for (var i=0; i < arrCookies.length; i++)  
        {
            var cookiePair = arrCookies[i].trim().split ('=');
            if (sName == name)
            {
                isFound = true;
                break;
            }
        }  
     
        return isFound;
    }
     
     
        if (!doesCookieExist ('nextdo'))
        {
            var expiresDate = new Date();
            expiresDate.setTime(expiresDate.getTime()+24*60*60*1000);
            var expires = expiresDate.toGMTString();
            document.cookie = "nextdo=1;expires="+expires+";path=/;";
        }

  Ответить  
 
 автор: АЯС   (05.10.2011 в 10:52)   письмо автору
 
   для: TetRiska   (05.10.2011 в 10:37)
 

Куки - это СТРОКА символов, кою вы САМИ и поставили на комп пользователя (вместе с подстрокой 'nextdo').
Если куки есть (проставлены и срок их действия не истёк) - то эта строка ЕСТЬ.
А если не проставлены (или срок действия истёк), то этой строки НЕТ.

Вопрос о том, имеется ли в существующей строке подстрока 'nextdo' - это вопрос излишний.

[поправлено модератором]

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования