PHP Cookies с использованием переменной из URL - PullRequest
6 голосов
/ 04 июня 2011

Я не эксперт по PHP и пытаюсь установить cookie, который содержит код реферера из URL.Например: www.example.com?promotioncode=google должен установить промокод с именем cookie, значение, которое когда-либо будет после = и 6-месячного истечения срока действия.

Я могу получить промо-код, используя

$_GET['promotioncode']

, ноЯ не могу вставить это в строку cookie.Я пробовал несколько способов:

$id = 'promo';
$value = $_GET['promotioncode'];
$time = time()+60*60*24*180;
setcookie($id, $value, $time);

и

$id = 'promo';
$time = time()+60*60*24*180;
setcookie($id, $_GET['promotioncode'], $time);

, но это не работает.Если я использую слово или число в качестве значения файла cookie, то для файла cookie не возникает проблем.

Что я пропускаю / делаю неправильно?

Ответы [ 5 ]

2 голосов
/ 27 июня 2011

Добавьте параметр для определения пути на сервере, на котором будет доступен файл cookie:

setcookie($id, $value, $time, '/');

Это должно работать.

0 голосов
/ 06 сентября 2016

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

setcookie($id, "" . $value, $time);

Пустая строка ("") может помочь уточнить или установить тип значения $.Кавычки в основном гарантируют, что переменная $ value передается в качестве строкового параметра в метод setcookie.

0 голосов
/ 20 мая 2016

$ id = $ _GET ['рекламный код'];
setcookie («рекламный код», $ id, время () + 60 * 30 * 24 * 3600, '/');

0 голосов
/ 07 июня 2011

попробуйте добавить

if($_GET['promotioncode'])
    setcookie(.....)
0 голосов
/ 04 июня 2011

Нет различий между простыми $string и $_GET['key'], поэтому проблема не может быть в этом.

...