Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проверка: существует ли COOKIE


Автор: Pakimon 15.1.2009, 13:47
Помогите сделать проверку на главной странице.

Если пришли с поисковика на главную страницу(mydomen.ru), то куки $_COOKIE['fromreff'] должен создаваться
Если пришли со страници (mydomen.ru/bla-bla-bla.php) на (mydomen.ru) то куки $_COOKIE['fromreff'] не должен создаваться

Так не работает:
Код

if ($_COOKIE['fromreff'] != 'mydomen.ru')
 {
$ref = $_SERVER['HTTP_REFERER'];
$date_of_expiry = 3600;
setcookie("fromreff","$ref",$date_of_expiry,"/"); 
} 
else{
setcookie("fromreff", false, time() - 1, "/");
}




Автор: krundetz 15.1.2009, 15:19
Pakimon, попробуй проверку существования куки делать так
Код

if (isset($_COOKIE['fromreff']))
{
....
}

и только после этого делать проверку на значение этого куки

Автор: Pakimon 15.1.2009, 15:24
не работает
Код

if (isset($_COOKIE['fromreff']) && $_COOKIE['fromreff'] != 'mydomen.ru')
 {
$ref = $_SERVER['HTTP_REFERER'];
$date_of_expiry = 3600;
setcookie("fromreff","$ref",$date_of_expiry,"/"); 
} 
else{
setcookie("fromreff", false, time() - 1, "/");
}


это условие почему то не выполняется
Код

$_COOKIE['fromreff'] != 'mydomen.ru'

Автор: krundetz 15.1.2009, 16:55
Цитата(Pakimon @  15.1.2009,  15:24 Найти цитируемый пост)
это условие почему то не выполняется

попробуй проверку делать по очереди, сначала на существование, а в том случае если существует на значение

Автор: Severyanin 17.1.2009, 08:01
из мануала:
Цитата

'HTTP_REFERER'
Адрес страницы (если имеется), которая направила пользовательский агента (ПА) на текущую страницу. Устанавливается ПАгентом. Не все ПА будут его устанавливать, а некоторые могут модифицировать HTTP_REFERER. Короче говоря, доверять ему нельзя.


Так что, возможно, ваш браузер некорректно отправляет запрос или в этой переменной хранится не то значение, с которым вы сравниваете. попробуйте посмотреть установленные куки или после прогона выводить значение этой куки

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)