Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2017, 11:49   #1
Риназ
 
Регистрация: 13.06.2017
Сообщений: 6
По умолчанию ЧТО НЕ ТАК? Почему не работает условие? (переход по ссылкам из файла)

Всем привет. Уже почти час ломаю голову.
Вот код:
Код:
<?
$links = file('links.txt');
$url1 = $links[0]; //первая ссылка
$url2 = $links[1]; //вторая ссылка
if ($_SERVER['HTTP_REFERER']==$url1) { //определяем откуда пришел пользователь, если с ссылки 1, то делаем редирект на ссылку 2
    header("Location:$url2"); //делаем редирект на ссылку 2
}
?>
Почему не работает условие. Вроде бы все правильно. На сайте 1 делаю от 5 кликов, чтобы $_SERVER['HTTP_REFERER'] работал.
После перехода с ссылки 1, то ничего не происходит. Просто пустая страница.
Риназ вне форума Ответить с цитированием
Старый 28.11.2017, 12:11   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Риназ Посмотреть сообщение
Уже почти час ломаю голову.
Цитата:
Сообщение от Риназ Посмотреть сообщение
ничего не происходит
Отладочная печать (var_dump) в помощь.

http://phpfaq.ru/debug
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.11.2017, 13:37   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

насчёт debug'а полностью согласен.

но, без отладки, просто глядя на код, я бы рассмотрел такой вариант:
Код:
$links = file('links.txt', FILE_IGNORE_NEW_LINES);
if(count($links)>1){
   $url1 = $links[0]; //первая ссылка
   $url2 = $links[1]; //вторая ссылка
   if ($_SERVER['HTTP_REFERER']==$url1) { //определяем откуда пришел
                         //  пользователь, если с ссылки 1, то делаем редирект на ссылку 2
    header("Location:$url2"); //делаем редирект на ссылку 2
}
}
ибо, из описания функции file():
Цитата:
Замечание:
Каждая строка в полученном массиве будет завершаться символами конца строки (если вы не указали флаг FILE_IGNORE_NEW_LINES), поэтому, если вам будет нужно избавиться от этих символов, вы можете использовать функцию rtrim().
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему работает так? DeuS7 Общие вопросы по Java, Java SE, Kotlin 1 15.06.2016 15:26
Что с условие не так? Parallelogram PHP 7 06.06.2014 16:43
Не работает условие. Почему? Dmitriy.G Общие вопросы по Java, Java SE, Kotlin 2 03.11.2012 21:41
Почему не работает программа, что не так? Демик Паскаль, Turbo Pascal, PascalABC.NET 9 17.07.2011 21:12
С#.NET. Маленькая проблемка - условие не работает так , как надо Ksy Общие вопросы .NET 11 24.12.2009 21:07