Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Redirect в PHP

304
26 января 2005 года
Fenyx
707 / / 26.01.2005
В ASP есть встроенный объект с методом (response.redirect). Есть ли что-либо подобное в PHP?
header не подходит...
4
26 января 2005 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by Fenyx
В ASP есть встроенный объект с методом (response.redirect). Есть ли что-либо подобное в PHP?
header не подходит...



responce.redirect использует header.
не понимаю чем не подходит.

бывает три вида редиректа

1. В HTTP заголовке
2. В теле, с помощью META refresh
3. В теле, с помощью JavaScript

Здается мне header не подходит из-за того что ты хочешь вызвать его после того как сделал вывод в "тело".

Вариант только один - буферизируй вывод: [phpdoc]ob_start[/phpdoc]

Пример:

Код:
<?
ob_start("callback");
?>

<html>
<body>


It's like comparing apples to oranges.
</body>
</html>

<?php
header("Location: test.php");

ob_end_flush();
?>
2.0K
26 января 2005 года
Prokur
85 / / 13.10.2004
Цитата:
Originally posted by mike

Вариант только один - буферизируй вывод: [phpdoc]ob_start[/phpdoc]

Пример:

Код:
<?
ob_start("callback");
?>

<html>
<body>


It's like comparing apples to oranges.
</body>
</html>

<?php
header("Location: test.php");

ob_end_flush();
?>



Возможно будет ошибка, так как функция callback не объявлена.
В данном случае надо просто
ob_start();

304
26 января 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by Prokur


Возможно будет ошибка, так как функция callback не объявлена.
В данном случае надо просто
ob_start();


тобто непосредственного редиректа нет....
- php, + asp

304
26 января 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by mike


responce.redirect использует header.
не понимаю чем не подходит.

бывает три вида редиректа

1. В HTTP заголовке
2. В теле, с помощью META refresh
3. В теле, с помощью JavaScript

Здается мне header не подходит из-за того что ты хочешь вызвать его после того как сделал вывод в "тело".

Вариант только один - буферизируй вывод: [phpdoc]ob_start[/phpdoc]

Пример:

Код:
<?
ob_start("callback");
?>

<html>
<body>


It's like comparing apples to oranges.
</body>
</html>

<?php
header("Location: test.php");

ob_end_flush();
?>


response.redirect если и использует header то не так ка php

4
26 января 2005 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by Fenyx

response.redirect если и использует header то не так ка php



Header - это поле HTTP заголовка, и везде оно идинаково. Читай RFC2068.

http://www.codenet.ru/webmast/http/rfc2068/

304
27 января 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by mike


Header - это поле HTTP заголовка, и везде оно идинаково. Читай RFC2068.

http://www.codenet.ru/webmast/http/rfc2068/



Response.redirect заставляет браузер выгрузить текущую страницу, и перейти на новый URL. При этом кажись даже старый header не трогается.

4
27 января 2005 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by Fenyx


Response.redirect заставляет браузер выгрузить текущую страницу, и перейти на новый URL. При этом кажись даже старый header не трогается.



Переход на другую страницу означает:

Соединение с серверов
Отправка HTTP запроса
Получение HTTP ответа
Получение тела документа

И так делает любой браузер не зависимо от того что утсановлено на сервере, PHP, ASP, или просто голый Апач.

Возьми снифер и посмотри.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог