Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Переход на другую страницу |
Автор: zerkms 19.1.2004, 12:29 |
Проблема: необходимо реализовать конструкцию типа: if (условие) {переход_на_страницу_1} else {переход_на_страницу_2}; Как организовать эти "переход_на_страницу_х"??? Те чтобы работало как редирект в зависимости от условия. |
Автор: Dimetrius 19.1.2004, 12:54 | ||
как вариант...
ВАЖНО! перед switch никаких echo и т.д. Вместо header(Location), можно прост include использовать, все зависит от того, что хочешь делать. |
Автор: Sardar 20.1.2004, 01:50 | ||
ИМXО лучше проверять:
|
Автор: zerkms 20.1.2004, 06:45 |
Привет. ни один из вариантов не подходит, т.к. условие о переходе проверяется в середине страницы, а не в заголовке, где (имхо) header не работает ;( include() - тоже как вариант не рассматривается. Есть ли какие-нить команды перехода например в js, если в пхп это не удастся организовать? |
Автор: Dr.Death 20.1.2004, 09:54 |
<? $page="test.html"; echo " <script language=\"JavaScript\"> document.location=\"$page\" </script>"; ?> |
Автор: Master 20.1.2004, 10:44 |
Dr.Death а если у клиента JS отключен? |
Автор: Sardar 20.1.2004, 11:30 |
Если отосланны заголовки, то посылаешь страницу с: 1) тегом meta если вывод еще не достиг <body> 2) JS всегда можно использовать. 3) банальное: "кликните по ссылке если вам надоело ждать". |
Автор: Dimetrius 20.1.2004, 12:44 |
Послушай (и задумайся еще раз)... Ты отсылаешь клиенту готовую HTML-страницу, то есть какой-то текст, и вдруг в середине текста вспоминаешь, что этот текст не для этого клиента и хочешь его отправить на другую страницу (своим редиректом). Мне кажется, что это не совсем логично. Почему бы не выполнить сначала все if и else, а потом уже приступать к генерации готовой страницы. Ведь php именно для этого и предназначен. |
Автор: Vaulter 20.1.2004, 13:06 |
Master и PHP на серваке нету...и броузер у него не держит редиректы. ;) zerkms если в перед выводом выполнишь ob_start(); то вывод будет кэшироватся. если очень припрет можешь очитстить буфер, и послать таки headers |