Типа header('Location: xxxx.php');

ulandj

Новичок
Типа header('Location: xxxx.php');

Всем привет!:)
Помогите пожалуйста!
есть файл. там в пхп обрабатывается какие то действия. етот скрипт находится внутри html тэгов. и здесь я хочу перенаправится к другому файлу, т.е. должен открыватся другой файл. только не инклудируясь(без include();). Тут мне header("Location: file.php"); не помог. и хочу спросить есть ли другая стандартная функция пхп, каторая мне поможет? Ну типа header? Но работающее в любом месте файла.:confused:
 

SiMM

Новичок
> работающее в любом месте файла
В этом нет необходимости.
 

Фанат

oncle terrible
Команда форума
SiMM, ну как это нет?
а как же любимая ламерами всего мира конструкция "а сейчас мы заинклюдим наш модуль в дизайн"?
 

Alexandre

PHPПенсионер
eto je prosto ssilka. a ssilku nujno najat' obyazatel'no. a eto mne ne nujno poka chto.
offftop
я понимаю что не на всех машинах установленны русские шрифты, но есть виртуальная консоль все же... уважайте тех - кто читает ваши сообщения.
 

littleannika

Новичок
ulandj - опиши подробно, что надо реализовать. Не понятно что тебе нужно и зачем это нужно. Если будет ясно, что ты хочешь сделать - найдется решение.
 

demon_goo

Новичок
Я так понял у тебя не работает редирект, потому что часть контента уже выдана? Выдает 'Cannot set header. Headers already set' когда пытаешься редиректить страницу?
 

bigstalker

Новичок
Страницу редиректят после чего-то, а он хочет:
и здесь я хочу перенаправится к другому файлу, т.е. должен открыватся другой файл.
а зачем? просто открыть другую страницу? или после действий пользователя? или обратится к файлу? .......что конкретно?
 

Beavis

Banned
для открытия другого файла используется ф-ция fopen()
но т.к. тебе тут нужно явно не это, опиши подробно что ты хочешь)
 

Major

Новичок
ulandj

Я так понял у тебя не работает редирект, потому что часть контента уже выдана? Выдает 'Cannot set header. Headers already set' когда пытаешься редиректить страницу?
Я тоже об этом подумал. Есть конечно выход.

PHP:
<html>
<body>
... туева хуча всего...
<?php
ob_clean();
header("Location: ...");
exit;
?>
</body></html>
Но поверь, это не программирование, это костылезация. Лучше перепеши так, как надо.
 

ulandj

Новичок
Всем спасибо за помощь!!!
Я уже нащел ответ. Оказывается просто нужно добавить в начале файла ob_start(), чтоб header дальше работал.
Например:
<?php ob_start ?>
<HTML-CODE>
<?php header("Location: xxx"); >
Мне именно ето нужно было.

Извини Major если что-то ни так, но разве ето называется костылезацией?
 

Dovg

Продвинутый новичок
Если в середине страницы нужно вставить header, то нужно не вставлять его, а менять логику приложения.
чтобы такой необходимости не возникало
 

kvf77

Red Devil
Dovg
чушь говоришь - менять логику приложения под хеадеры глупо.
 

Dovg

Продвинутый новичок
kvf77
Вам нравится предложенное решение для _данного_ случая?
 

kvf77

Red Devil
Dovg
Совершенно нормальное решение, все им пользуются спокойно (я про ob_start()).
 

Dovg

Продвинутый новичок
kvf77
Если мы знаем, что результатом работы скрипта будет редирект куда-либо, то зачем _до_ этого редиректа что-то выводить в браузер?

Мне кажется, что в данном случае ob_start - это костыль.

что мешает перенаправление сделать до любого вывода?
 
Сверху