Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переход на другую страницу, Переход на другую страницу 
:(
    Опции темы
zerkms
Дата 19.1.2004, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.1.2004

Репутация: нет
Всего: нет



Проблема: необходимо реализовать конструкцию типа:
if (условие) {переход_на_страницу_1} else {переход_на_страницу_2};
Как организовать эти "переход_на_страницу_х"???
Те чтобы работало как редирект в зависимости от условия.
PM MAIL   Вверх
Dimetrius
Дата 19.1.2004, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



как вариант...
Код

switch(true) {
  case (выражение1): header("Location: http://www.url1.ru");
  break;
  case (выражение2): header("Location: http://www.url2.ru");
  break;
...
  case (выражениеN): header("Location: http://www.urlN.ru");
  break;
  default: header("Location: http://www.urlZ.ru");
}
exit;

ВАЖНО!
перед switch никаких echo и т.д.
Вместо header(Location), можно прост include использовать, все зависит от того,
что хочешь делать.


PM MAIL WWW   Вверх
Sardar
Дата 20.1.2004, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



ИМXО лучше проверять:
Код

if(!headers_sent()) header("Location: ...");
else echo "...<meta http-equiv='refresh' content='2; url=...'>...<a href=...>Кликните если надоело ждать...</a>...";



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
zerkms
Дата 20.1.2004, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.1.2004

Репутация: нет
Всего: нет



Привет. ни один из вариантов не подходит, т.к. условие о переходе проверяется в середине страницы, а не в заголовке, где (имхо) header не работает ;(
include() - тоже как вариант не рассматривается. Есть ли какие-нить команды перехода например в js, если в пхп это не удастся организовать?
PM MAIL   Вверх
Dr.Death
Дата 20.1.2004, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



<?
$page="test.html";
echo "
<script language=\"JavaScript\">
document.location=\"$page\"
</script>";
?>


--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
Master
Дата 20.1.2004, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



Dr.Death а если у клиента JS отключен?


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Sardar
Дата 20.1.2004, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Если отосланны заголовки, то посылаешь страницу с:
1) тегом meta если вывод еще не достиг <body>
2) JS всегда можно использовать.
3) банальное: "кликните по ссылке если вам надоело ждать".


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Dimetrius
Дата 20.1.2004, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



Послушай (и задумайся еще раз)...
Ты отсылаешь клиенту готовую HTML-страницу, то есть какой-то текст,
и вдруг в середине текста вспоминаешь, что этот текст не для этого клиента и хочешь его отправить на другую страницу (своим редиректом).
Мне кажется, что это не совсем логично. Почему бы не выполнить сначала
все if и else, а потом уже приступать к генерации готовой страницы.
Ведь php именно для этого и предназначен.
PM MAIL WWW   Вверх
Vaulter
Дата 20.1.2004, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



Master
и PHP на серваке нету...и броузер у него не держит редиректы. ;)

zerkms
если в перед выводом выполнишь
ob_start();
то вывод будет кэшироватся. если очень припрет можешь очитстить буфер, и послать таки headers


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1332 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.