Не срабатывает Header редирект

Nikky

Новичок
Всем доброго времени суток. У меня в коде используется редирект функцией Header в таком виде:

header("Location: http://www.example.com/?$my_var1=1&$my_var2=2");

Проблема в том, что иногда редирект не происходит, перед Header'ом ничего не выводиться, ну и насколько я понимаю если бы выводилось - была бы ошибка, но ошибок нет никаких.

В каких случаях header может не работать? Мб настройки сервера какие то или еще что? Голову поломал уже напроч.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Nikky, а надо посмотреть в каких случаях у тебя там может не быть переменных. Настройки сервера тут не при чем.
 

Nikky

Новичок
Nikky, а надо посмотреть в каких случаях у тебя там может не быть переменных. Настройки сервера тут не при чем.
Такое исключено. Они в любом случае есть, значение лишь меняется. Ну и разве при их отсутствии может быть сбой? Я так понимаю просто урл будет неполным, но редирект же все равно должен быть.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Nikky, я лишь предположил, что может быть. Я понятия не имею, как вы там обрабатываете заголовки, и включены ли вообще ошибки.
 

Nikky

Новичок
Вывод включен, ошибок нет. Нарыл инфу о том, что подобная фигня может быть изза кодировки UTF8 без BOM, так как она имеет свойство в начало файла какие-то символы добавлять, возможно в этом проблема, так как у меня как раз она.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Бред ты нарыл, у нас тоже UTF8 и редирект всегда работает.
 

peon

Lok'tar ogar
если у тебя стоит метка БОМ вероятно из-за этого проблема. сохрани файл в формате ютиэф8 без бом
 

AnrDaemon

Продвинутый новичок
Не зацикливайтесь на PHP. Смотрите логи вебсервера, тестируйте разными инструментами.
Тот же CURL очень много интересного может рассказать о вашем коде, если Wireshark для вас неподъёмен.
 

vasinsky

Новичок
заголовок должен посылаться до любого вывода.
это может быть и пустая строка до заголовка, echo, print (и т.д.)
так же недопустим html код - до посылке заголовка

Но последнее время - очень популярна, как и сказали выше - метка BOM - нужно пересохранить файл (если он в unicode) utf8 без BOM

Чтобы не гадать на кофейной гуще во время отладки - начинайте свой скрипт с
PHP:
<?php
ini_set("display_errors", 1);
error_reporting(-1);
 
Сверху