@dfhusfhgsuo3

Почему не работает условие?

Здравствуйте, не работает условие в IF

$referer = $_SERVER['HTTP_REFERER'];

if(!isset($_COOKIE['checkreferer'])) {
setcookie("checkreferer", $referer, time() + (60 * 10));
$_COOKIE['checkreferer'] = $referer;
}

echo $_COOKIE['checkreferer'];

const FILES_PATH = './myfiles/';
if($_COOKIE['checkreferer'] != 'https://site..com/' && empty($_GET['id']) && empty($_GET['ss'])){
}

Хотя этот:

if($_COOKIE['checkreferer'] != 'https://site.com/'){
echo 0;
} else {
echo 1;
}

Работает корректно. Подскажите, пожалуйста, в чем можем быть причина. Спасибо.
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
1. оформляйте код как код, это же не читаемо.
2. Вы спрашиваете про условие, а привели их 2, какое не работает?
3. У Вас 3 разных условия. А Вы удивляетесь что одно работает, а другое нет. Так бывает. Они же разные вещи проверяют.
4. Все Ваши условия работают корректно, просто Вы по какой-то причине ожидаете иной результат. Что бы мы поняли какой - приведите 1 условие, а не 3 и напишите ожидания.

ПС. Думаю var_dump решит все проблемы, всегда причина в том, что в переменной не те данные, которые Вам хочется или не тот тип. Так что прежде чем писать вопрос, я бы вывел var_dump($_COOKIE['checkreferer'] ) перед условием, которое по Вашему не работает и приложил результат к вопросу
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы