2010-04-16 2 views
1

Я новичок в файлах cookie, и я пытаюсь установить cookie, где хранить реферер (org ref).
Но когда я попробовать эту функцию:Cookie устанавливается дважды (дублируется)

function do_it_cookie() { 

// Check if cookie exists 
if (isset($_COOKIE['ref'])) { 

    // It dose exist, do nothing or anything... 

    } else { 
     setcookie ('ref', $_SERVER['HTTP_REFERER'], time() + 60, '/'); 
     header ("Location: http://www.nyttforetag.com/mind-your-own-business/"); 
    } 
} 

Я хочу, чтобы хранить куки на компьютере пользователя в течение 30 дней, если возврат я хочу знать начальное судейский URL.

Но когда я использую это и скажу, что я перехожу на другую страницу на своем сайте, а затем вернусь на домашнюю страницу, он устанавливает новый файл cookie с тем же именем и ссылкой на предыдущую страницу.

Оттуда избежать этого?

ответ

1

Теперь вы хранилища печенья на 60 секунд.

time()+60*60*24*30 //this makes store it for 30 days. 

из php.netexpire -

Время истечения куки. Это Unix timestamp, так что это число секунд с эпохи. В других словах вы, скорее всего, установите этот с функцией времени() плюс за несколько секунд до того, как вы захотите его . Или вы можете использовать mktime(). время() + 60 * 60 * 24 * 30 установит печенье истечет через 30 дней. Если установлено значение 0, или опущена, печенье истекает в конце сессии (когда браузер закрывает)

0

First Point, пожалуйста, установите имя куки является уникальным для каждого дня. Пожалуйста, добавьте имя cookie с датой. Установите cookie только на домашних или первых страницах. В течение 30 дней вы можете использовать расчет как время() + 60 * 60 * 24 * 30.

+0

Зачем делать имя файла cookie уникальным? –

+0

Потому что пользователь будет хранить файлы cookie в течение 30 дней. – Karthik

+0

Не понимаю, что вы имеете в виду, и как я могу выбрать первый файл cookie, который был сохранен? –

Смежные вопросы