Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Переадресация


Автор: chem1 23.1.2004, 09:46
Как на РНР сделать переадресацию (аналогичную window.location.href = "адрес" в JS)

Автор: MuToGeN 23.1.2004, 10:15
header("location: http://www.blablabla.com/page.htm");

только это скорее аналогично <meta http-equiv=...>

Автор: Master 23.1.2004, 11:01
только перед оттправлением заголовка не подавай ничего на вывод...

Автор: MuToGeN 23.1.2004, 11:06
или ob_start() пользуй

Автор: kb-nn 26.1.2004, 10:35
слушайте, а если это фреймосодержащий док и нужно это сделать в отдельном фрейме?
только мне на PHP, а не на JS

Автор: MuToGeN 26.1.2004, 10:55
Делай редирект из скрипта, который выдает содержимое фрейма.

Автор: kb-nn 29.1.2004, 14:21
нет, немного не так я выразился.
у меня есть скрипт, обрабатывающий конкретный фрейм.
а хочется, чтобы обновлялся весь документ.

Автор: IZ@TOP 29.1.2004, 17:28
Тогда без JS не обойтись ...

Автор: kb-nn 4.2.2004, 13:28
у меня такая ситуация.
есть фреймосодержащий док.
в одном из фреймов я вызываю скрипт, который в другом фрейме выводит pdf- файл
$file="file.pdf";
header("location:$file");
сиречь тегов типа <body>, чтоб написать onload, там нету и в помине.
и как мне теперь обновить весь документ?

Автор: Master 4.2.2004, 13:41
kb-nn php с фреймами не работает!
тебе надо использовать jscript и почитать html документацию по таргетам.

Автор: kb-nn 4.2.2004, 13:45
ну мне сказали это ( в смысле обновить весь док) можно с помощью JS ?
хочу узнать как

Автор: Sardar 4.2.2004, 15:33
Обращаешся через parent:
Код

window.setTimeout("parent.location.href='adres'",1000); //через секунду перезагрузится фремосодержащий документ.
//если фреймов не было, то перезагрузится эта страница

Обратится к другому на странице фрейму:
Код
if(parent.frames['frame_name'] ) parent.frames['frame_name'].location.href="adres";

Цитата
сиречь тегов типа <body>, чтоб написать onload, там нету и в помине.
и как мне теперь обновить весь документ?

А что мешает их отослать?

Автор: kb-nn 4.2.2004, 15:48
и где я это напишу?
у меня есть фреймосодержащий док.
в один из фреймов в какой- то момент загружаю pdf- файл.
и хочу, чтоб после его загрузки всё обновляылось.
как- нибудь нельзя сделать?

Автор: Master 4.2.2004, 16:12
kb-nn ты вообче сам понимаеш, что ты пытаешся сделать рекурсию, которая не дас пользователю работать с сайтом?

Автор: kb-nn 4.2.2004, 16:43
безовсяких рекурсий!
есть например два фрейма.
в одном из фрейме есть ссылка на pdf- файл, открывающийся в другом фрейме.
и я хочу, чтоб после этого обновился весь фреймосодерж. документ

Автор: Master 4.2.2004, 16:59
parent.location.href="source";
тебе ж написали.

Автор: proger 19.9.2005, 14:01
Цитата(MuToGeN @ 23.1.2004, 11:06)
или ob_start() пользуй

А не мог бы ты привести пример, а то не получается, после вывода сделать переадресацию. Спасибо!

Автор: PARROT 19.9.2005, 15:32
Код

<?php
ob_start();
?>
<html>
<head>
<title>
</head>
<body>
//тута переадресуем всех... хедерами
</body>
</html>
<?php
ob_end_flush();
?>

Автор: proger 21.9.2005, 12:02
Цитата(PARROT @ 19.9.2005, 15:32)
Код

<?php
ob_start();
?>
<html>
<head>
<title>
</head>
<body>
//тута переадресуем всех... хедерами
</body>
</html>
<?php
ob_end_flush();
?>

А если у меня такая ситуация:

Код

<?
echo "1231232131";
// А тут надо сделать переадресацию! но как?
echo "12321321321312321";
?>

Автор: PARROT 21.9.2005, 17:46
Код

<?php
ob_start();
?>
<html>
<head>
<title>
</head>
<body>
<?
echo "1231232131";
header('location: index.php');
                exit;
echo "12321321321312321";
?>
</body>
</html>
<?php
ob_end_flush();
?>

Автор: proger 26.9.2005, 12:39
Цитата(PARROT @ 21.9.2005, 17:46)
Код

<?php
ob_start();
?>
<html>
<head>
<title>
</head>
<body>
<?
echo "1231232131";
header('location: index.php');
                exit;
echo "12321321321312321";
?>
</body>
</html>
<?php
ob_end_flush();
?>

Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)