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

Форум PHP

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

 

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

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

тема: Срок истечения куки на 1-2 сек опережает срок записанный в базе, почему?
 
 автор: TetRiska   (18.10.2011 в 15:42)   письмо автору
 
 

Всем привет. Вот мой код:

$date  = date('Y-m-d H:i:s');
$where = "`id` = ".$res2['result']['id'][0];
$arr   = "`date` = '".$date."',
          `counter` = ".$res4['count'];

update_query('log_company',$arr,$where);
                
list($ddate,$dtime) = explode(' ',$date);
list($dyear,$dmonth,$dday) = explode('-',$ddate);
list($dhour,$dmin,$dsec) = explode(':',$dtime);
                
$tcook = mktime($dhour, $dmin, $dsec, $dmonth, $dday, $dyear);
                
setcookie('kz_'.$res['result']['em_company_id'][0],$res['result']['em_company_id'][0],$tcook+24*60*60,'/');

Получается в куке на 1-2 секи время впереди, но не всегда. Не понятно почему. Я же когда получаю дату для проведения над ней операций, то записываю ее сначала в переменную, чтобы постоянно новую не брать.

  Ответить  
 
 автор: cheops   (18.10.2011 в 16:06)   письмо автору
 
   для: TetRiska   (18.10.2011 в 15:42)
 

Вообще теоретически такого быть не должно, но на всякий случай упростите код следующим образом - ситуация меняется?
$tcook = time(); 
                 
$date  = date('Y-m-d H:i:s', $tcook); 
$where = "`id` = ".$res2['result']['id'][0]; 
$arr   = "`date` = '".$date."', 
          `counter` = ".$res4['count']; 

update_query('log_company',$arr,$where); 
                 
setcookie('kz_'.$res['result']['em_company_id'][0],$res['result']['em_company_id'][0],$tcook+24*60*60,'/');

  Ответить  
 
 автор: TetRiska   (18.10.2011 в 16:27)   письмо автору
37.9 Кб
 
   для: cheops   (18.10.2011 в 16:06)
 

такая же картина:( приложу скрин, на котором фаердебаг развернут и запись в базе...в базе нужно будет еще на сутки вперед сделать, как в куке, но меня волнует именно разность секунд между куками и базой, кука опережает

  Ответить  
 
 автор: TetRiska   (18.10.2011 в 23:57)   письмо автору
 
   для: TetRiska   (18.10.2011 в 16:27)
 

заметил один нюанс.....записал в базу дату
$tcook = time()+(24*60*60);          
$date  = date('Y-m-d H:i:s', $tcook);
$where = "`id` = ".$res2['result']['id'][0];
$arr   = "`date` = '".$date."',
    `counter` = ".$res4['count'];
          
update_query('log_company',$arr,$where);

после этого получил дату и перевел в юникс формат
$sql5 = "
    SELECT `date`
    FROM `log_company`
    WHERE `id`=".$res2['result']['id'][0]."
    "; 
                                  
$res5 = select_query($sql5);
                
list($ddate,$dtime) = explode(' ',$res5['result']['date'][0]);
list($dyear,$dmonth,$dday) = explode('-',$ddate);
list($dhour,$dmin,$dsec) = explode(':',$dtime);
                 
$cook = mktime($dhour, $dmin, $dsec, $dmonth, $dday, $dyear);

сделал сравнения
echo $tcook.'-'.$cook;

итог - они одинаковы, теперь пишу в куку
setcookie('kz_'.$res['result']['em_company_id'][0],$res['result']['em_company_id'][0],$cook,'/');

результат на 1-2 секунды в куке время впереди, ппц не знаю что за фигня с этим временем в куке

  Ответить  
 
 автор: cheops   (19.10.2011 в 10:04)   письмо автору
 
   для: TetRiska   (18.10.2011 в 23:57)
 

А браузер какой используется, FireFox? В других браузерах ситуация воспроизводится?

  Ответить  
 
 автор: TetRiska   (19.10.2011 в 10:38)   письмо автору
 
   для: cheops   (19.10.2011 в 10:04)
 

в других как бы не проверял, т.к. там фаердебаг не стоит

  Ответить  
 
 автор: cheops   (19.10.2011 в 10:49)   письмо автору
 
   для: TetRiska   (19.10.2011 в 10:38)
 

В Opera есть DragonFly, да и в Chrome помоему тоже какой-то отладчик имеется.

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

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