2010-03-18 7 views
3

Как использовать перенаправление заголовка, чтобы перенаправить его на текущую страницу?Как перенаправить на текущую страницу в php?

EDIT: Я пытаюсь перезагрузить отображаемую в данный момент страницу в браузере.

+2

? : -/Можете ли вы рассказать нам, что такое ваше понимание слова «перенаправление»? –

+0

Я думаю, что это не обязательно. – Young

+0

Вы запрашиваете перенаправление или обновление (как при повторении данных GET и POST)? –

ответ

2

EDIT: Я пытаюсь сделать его перезагружать представленный в настоящее время страницы в браузере.

PHP сам по себе не может заставить обновление страницы. Вы должны будете использовать JavaScript:

<input type="button" onclick="window.location.reload(true)" value="Reload It" /> 

.reload(true) бит инструктирует браузер, чтобы сделать жесткий обновления (например, принести новую копию веб-страницы с сервера).

+0

, вы можете, конечно, сделать это без необходимости использования браузера, добавив его к событию onLoad элемента (например,) – Darbio

1

Я думаю, вам нужно дать нам лучшее понимание вопроса. Но от того, что я могу сказать, вы ищете это:

header("Location: ".$url); 
exit(1); // Needed! 
0

Вы можете использовать следующие в самом начале mypage.php:

header('Location: /mypage.php'); 

Некоторая информация из manual.

3
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); 
+0

Я был бы немного насторожен - возможно ли, чтобы злоумышленник создал значение заголовка 'Host', или URI, который мог бы сделать что-то неожиданное, когда он попал прямо в заголовок' Location'? Может быть хорошей идеей, по крайней мере, для 'filter_var()' ... –

+0

@Frank хорошее мышление, но в соответствии с отзывами на мой вопрос http://stackoverflow.com/questions/2209894/sanitation-for-url-used- в-заголовок-местоположение, по-видимому, не проблема. –

+0

@Frank Farmer: Я не могу представить никаких действительно злых данных здесь. – zerkms

0
$url = 'mypage.php'; 
header('Location: ' . $url); 
die('<a href="' . $url . '">Click Here</a> if you are not redirected.'); 

Перенаправление mypage.php. Если это не удается, пользователю предоставляется сообщение и ссылка на перенаправленную страницу.

0

Вы также можете сделать это в HTML, без PHP вообще ... Простой, но не всегда подходит для ваших нужд (Meta будет работать каждый раз, когда страница загружает)

<meta http-equiv="refresh" content="10;url=http://www.yoursite.com/yourpage.htm" /> 

Где:

  1. content = секунды для перенаправления
  2. url = страница, на которую вы хотите перенаправить.
0

Если вы переписываете свой URL-адрес, вы можете использовать $_SERVER['REDIRECT_URL'], чтобы получить текущую страницу.

Смежные вопросы