Перенаправление (redirect) на другую страницу

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

Для создания заголовка используется функция header. В частности, для соз­дания заголовка, который перенаправит браузер на заданный адрес, использу­ется вызов header("Location: URL").

Например, требуется создать страницу с тремя кнопками, каждая из кото­рых осуществит перенаправление на один из примеров из предыдущей статей — phpbuttons, phplistbox или phptextarea. Для этого используется три раз­личных формы, каждая из которых содержит единственную кнопку отправки. В атрибуте VALUE каждой кнопки содержится имя скрипта, на который следует осуществить перенаправление. При этом для всех трех форм используется один и тот же скрипт-обработчик. Это продемонстрировано на примере.

code: #html
<HTML>
<HEAD>
<TITLE>Перенаправление пользователь</TITLE>
</HEAD>
<BODY>
<H1>Перенаправление пользователя</H1>
Выберите скрипт для загрузки
<FORM NAME="form1" ACTION="phpredirect.php" METHOD="POST">
  <INPUT TYPE="SUBMIT" NAME="Button" VALUE="phpbuttons">
</FORM>
 
<FORM NAME="form2" ACTI0N="phpredirect.php" METHOD="POST">
  <INPUT TYPE="SUBMIT" NAME="Button"  VALUE="phplistbox">
</FORM>
 
<FORM NAME="form3" ACTI0N="phpredirect.php" METH0D="POST">
  <INPUT TYPE="SUBMIT" NAME="Button" VALUE="phptextarea">
</FORM>
</BODY>
</HTML>

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

code: #php
<?php
$redirect = "Location: " . $_REQUEST['Button'] . ".html";
echo header($redirect);
?>

Для выполнения перенаправления скрипт используется функция header. Например, если пользователь нажал на вторую кнопку, будет загружена стра­ница phplistbox html.

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

code: #php
<?php
 
if ($_REQUEST["imap_x"]>50 && $_REQUEST["imap_x"]<70) {
  if ($_REQUEST["imap__y"]>30 && $_REQUEST["imap_y"]<90) {
    $redirect = "Location: samplecode.ru";
    header  ($redirect);
  }
}
 
?>
Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться:

Похожие статьи: