Время истечения срока действия Cookie - это значение ABSOLUTE, основанное на времени с января 1/1970. Вы отправляете более одного: «завтрашнее время минус текущее время». Это переводит в основном количество секунд, оставшихся между теперь и полуночью, которое затем интерпретируется как дата в январе 1/1970. Вам не нужно вычитать time()
вообще:
echo date('r', mktime(24,0,0)), ' ', date('r');
^--note: no subtraction
Tue, 28 Jan 2014 00:00:00 -0600 Mon, 27 Jan 2014 13:30:33 -0600
И бац, у вас есть «завтра в полночь», ветеринарный врач сегодняшняя текущая дата/время. Итак:
setcookie(..., mktime(24,0,0));
+1: для меня это лучше, чем решение указываете ей(). –