Не могу послать header("Location: .php");

  • Автор темы Автор темы amorfis
  • Дата начала Дата начала

amorfis

я стараюсь
Не могу послать header("Location: .php");

У меня есть скрипт first.php, который выполяняет определенный действия, в том числе вывод в браузер. После выполнения этих определенных действий необходимо передать управление скрипту second.php. В итоге у меня возникает ошибка, т.е. заголовки уже отправлены. Может кто-нить поможет?

...
header("Location: second.php");
exit;
...
 
Читал я это. Просто я хочу узнать как мне передать управление с помощью header ("Location: .php");, при этом использовав ввод данных в браузер перед этим. Это вообще возможно?
 
>Это вообще возможно?

Возможно. После прочтения указанной выше статьи, пробем не возникает.
 
>Это вообще возможно?
Лучше поменяй алгоритм работы скриптов.
 
У меня заработало. Просто для проверки правильности скрипта я использовал функцию print для просмотра переменных. А как же тогда отлаживать? Я раньше писал в средах, где пошагово можно было запускать программу и тем самым легко ее отлаживать, а в РНР так не получается. И это очень плохо. При этом получается, что нельзя для проверки выводить переменные на экран, иначе невозможно будет использовать функцию HEADER. Я все правильно понял? Будьте добры, подскажите кто-как выходит из этой ситуации?
 
>где пошагово можно было запускать программу и тем самым легко ее отлаживать, а в РНР так не получается. И это очень плохо.

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

>При этом получается, что нельзя для проверки выводить переменные на экран, иначе невозможно будет использовать функцию HEADER. Я все правильно понял?

При отладке нужно отключать буферизацию и ставить error_reporting(E_ALL) и будет тебе счастье.
При этом, естественно, location работать не будет.
 
amorfis
ты сейчас пишешь, извини меня, полный бред.
задача хидера какая? перенаправить браузер на другую страницу - так? то есть, ты хочешь, чтобы тебе показали другую страницу.
И вдруг вспоминаешь об отладке!
Так чего ты хочешь-то?! отладочную информацию или другую страницу? ВОТ вопрос, который тебе нужно решить. А хидер здесь не при чем.
хочешь отладочную - отключи хидер.
хочесь страницу - выкини отладочную.
Вот и всё.
 
Кром, Фанат, вы мне очень помогли! Спасибо. Просто поймите человека, который до этого все время писал не для вэб, а обычные прикладные программы.
 
Сверху