За последние 24 часа нас посетили 97719 программистов и 5966 роботов. Сейчас ищут 1744 программиста ...

Редирект страницы

Тема в разделе "PHP для новичков", создана пользователем savotii, 20 янв 2016.

  1. savotii

    savotii Новичок

    С нами с:
    19 янв 2016
    Сообщения:
    34
    Симпатии:
    0
    Добрый день.
    Есть видимо старый проект на подобии бк. Есть форма авторизации, все бы ничего но там есть момент перенаправления страницы путем вызова header(Location:адресстраницы)
    Перечитав информацию по данному вопросу и ограничению по использованию, проверял до момента отказа в работе. Есть подключаемая страница, которая по большей степени нужна для подключения к базе mysql. и вот после подключения этой страницы, перенаправление увы не работает. Если кидаю до вызова страницы, перенаправляет.
    Какие можно использовать варианты, вместо header? Или придется лопатить файл на предмет вычленения вывода в html?
    Спасибо.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    meta refresh, javascript location.
     
  3. savotii

    savotii Новичок

    С нами с:
    19 янв 2016
    Сообщения:
    34
    Симпатии:
    0
    Решил я в общем покапаться, чисто случайно, убрал пустую строку(первая строка в подключаемом файле), заработало.
    Но я не находил информацию о том, что не должно быть пустых строк( Может не так читал.
    Спасибо в любом случае.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    В документации к header написано, что функцию нужно запускать до вывода любой информации
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Пустая строка до <?php, если не включена автоматическая буферизация, формирует уже вывод, поэтому и не работала. В логах должна была быть headers already sent
     
  6. savotii

    savotii Новичок

    С нами с:
    19 янв 2016
    Сообщения:
    34
    Симпатии:
    0
    Спасибо, про логи не знал, про буферизацию тоже ,обязательно пороюсь.

    Добавлено спустя 5 минут 12 секунд:
    я вот думаю, может какой-то старый php подключить, а то везде в коде есть header(locatio
    причем в выводе в таблице, то есть сначала хтмл выводится, потом табличка и скрипт в tr тэге с редиректом
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Причём здесь старый-новый, это одна из опций php.ini. А вообще код значит безобразный, раз header location посреди вывода. Попробуйте в htaccess
    Код (PHP):
    1. php_flag output_buffering on
    если хостером разрешено.
     
  8. savotii

    savotii Новичок

    С нами с:
    19 янв 2016
    Сообщения:
    34
    Симпатии:
    0
    Прошу простить, я еще не совсем разобрался htaccess, это файл который позволяет без перезапуска сервера применять изменения? apache который?
    А на счет безобразности кода, хм. Я когда-то занимался в компьютерной академии, на дизайнера. Но в курс входили понятия хтмл цсс пхп асп и т.д но в виду того, что был маленький и не понимал, ушел в дизайн. Но даже тогда стили
    Код (PHP):
    1. style ="width:40"  
    задавались так, в коде в большинстве страниц порви мой мозг в большой массе своей вот так
    Код (PHP):
    1. style ="width=40" 
    С другой стороны, я бы вряд ли написал бы даже такой проект, поэтому жаловаться не буду) Мне наоборот поприколу, признаю только рост на подобных проектах, можно много камней найти, которые я бы вряд ли определил писав с 0)
    По поводу header location там много таких мест, часть начал выносить, где это легко, а вот где оно встроено с хитроумной задумкой, пока нет. Разберу код, будет понимание чего хотели, перепишу.
    Спасибо еще раз.