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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматический переход на страницу + ручной 
V
    Опции темы
Win MK 32
Дата 1.4.2009, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте!

Как мне организовать переход в случае если автоматический переход не прошел?

Если сделать вот так: то автоматический переход точно не сработает.
Код

  ...
  header("Location: ".$url);
  echo "<h1><a href=".$url.">>> Перейти <<</a></h1>";

PM   Вверх
enof
Дата 1.4.2009, 02:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<META HTTP-EQUIV="REFRESH" CONTENT="3;URL=http://site">
Переход через три секунды. Если не работает, то <a href="http://site">ссылка</a>

Так пойдет?
PM MAIL ICQ Skype   Вверх
MoLeX
Дата 1.4.2009, 05:27 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(Win MK 32 @  1.4.2009,  01:37 Найти цитируемый пост)
  header("Location: ".$url);
  echo "<h1><a href=".$url.">>> Перейти <<</a></h1>";

так незя делать. сначала послали заголовок для редиректа а потом еще в догонку и текст...


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
ksnk
Дата 1.4.2009, 08:58 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Win MK 32, 
переход по хидеру не срабатывает, если

-- ошибки на сайте заблокированы, и ошибки "не могу послать хидеры, контент уже отправлен" просто не видно. Вероятнее всего, ее можно рассмотреть в логе. В этом случае, совет enof ситуацию залечит, но по уму, надо бы исправлять скрипт.

-- ошибка в посылаемом URL. В этом случае никто ничего не залечит.

-- с той стороны такой чудо-броузер, который не понимает основ http - переадресация в заголовках. С большой вероятностью это чудо будет непонимать и meta-refresh, и скриптовый переход, и ссылку...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nerezus
Дата 1.4.2009, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

-- ошибки на сайте заблокированы, и ошибки "не могу послать хидеры, контент уже отправлен" просто не видно.
 Тогда редирект произойдет.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Win MK 32
Дата 1.4.2009, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А вот такой вариант хороший?
Код

  if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE'))){
    header('Refresh: 0; URL='.$url);
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="refresh" content="0; url='.$url.'">
    <title>Новости</title>
    </head><body><div align="center">Если ваш браузер не поддерживает переадресацию, пожалуйста нажмите <a href="'.$url.'">СЮДА</a> для чтения новости.</div></body></html>';
    exit;
  }
  header('Location: '.$url); // Behave as per HTTP/1.1 spec for others
  exit;

PM   Вверх
MoLeX
Дата 2.4.2009, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(Win MK 32 @  1.4.2009,  19:38 Найти цитируемый пост)
    header('Refresh: 0; URL='.$url);
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="refresh" content="0; url='.$url.'">
    <title>Новости</title>
    </head><body><div align="center">Если ваш браузер не поддерживает переадресацию, пожалуйста нажмите <a href="'.$url.'">СЮДА</a> для чтения новости.</div></body></html>';
    exit;


 smile 

читай php.net/header


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
elCreator
Дата 2.4.2009, 23:23 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Тогда уже хедер последним посылать (или не посылать вообще) - а использовать типа этого
Код

function redirect($toURL)
{
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$toURL.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$toURL.'" />';
        echo '</noscript>';
        echo '<h1><a href='.$toURL.'>>> Перейти <<</a></h1>';
        header("Location: ".$toURL);
exit;
}


чтоб наверняка smile хотя, по-моему переборчик вышел) но редиректить зато будет железно...

Это сообщение отредактировал(а) elCreator - 2.4.2009, 23:24
PM WWW ICQ   Вверх
bars80080
Дата 3.4.2009, 00:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(elCreator @  2.4.2009,  23:23 Найти цитируемый пост)
echo '<h1><a href='.$toURL.'>>> Перейти <<</a></h1>';
        header("Location: ".$toURL);

и это будет работать?
PM MAIL WWW   Вверх
MoLeX
Дата 3.4.2009, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



elCreator, уважаемый, сначала попробуйте сами

Добавлено через 33 секунды
ваше предложение - это бред


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Win MK 32
Дата 15.5.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В общем остановился на 
Код

function go($url){
  if(@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE'))){
      header('Refresh: 0; URL='.$url);
      echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <meta http-equiv="refresh" content="0; url='.$url.'">
      <title>Íîâîñòè</title>
      </head><body><div align="center">Åñëè âàø áðàóçåð íå ïîääåðæèâàåò ïåðåàäðåñàöèþ, ïîæàëóéñòà íàæìèòå <a href="'.$url.'">ÑÞÄÀ</a> äëÿ îáñóæäåíèÿ íîâîñòè íà ôîðóìå 55.1.</div></body></html>';
      exit;
  }
  header('Location: '.$url); // Behave as per HTTP/1.1 spec for others
  exit;
}


По прежнему не уверен в правильности выбора.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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