Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Редирект
 
 автор: Alex_Davidoff   (26.12.2005 в 16:18)   письмо автору
 
 

Как сделать переход?

if ($flag == 1) {$a = 1;} else {здесь надо вставить код так чтобы браузер автоматически переходил на заданную url-ссылку}

   
 
 автор: Саня   (26.12.2005 в 16:22)   письмо автору
 
   для: Alex_Davidoff   (26.12.2005 в 16:18)
 

<?php
If ($flag == 1) {
  
$a 1;
} else {
  
header("Location: http://someurl.com/folder/");
}
?>

   
 
 автор: Alex_Davidoff   (26.12.2005 в 16:51)   письмо автору
 
   для: Саня   (26.12.2005 в 16:22)
 

Этот вариант не проходит Warning: Cannot modify header information - headers already sent

   
 
 автор: Саня   (26.12.2005 в 16:59)   письмо автору
 
   для: Alex_Davidoff   (26.12.2005 в 16:51)
 

Попробуйте использовать буфферизацию:
В самом начале файла (того, к кому всё подключается) написать ob_start();
В самом конце - $buff = ob_get_contents(); ob_end_clean(); echo($buff);

   
 
 автор: spiner   (26.12.2005 в 16:22)   письмо автору
 
   для: Alex_Davidoff   (26.12.2005 в 16:18)
 

header("Location: http://www.asdasdasd.ru");
читаем мануал
http://ru.php.net/header

   
 
 автор: Киналь   (26.12.2005 в 18:49)   письмо автору
 
   для: Alex_Davidoff   (26.12.2005 в 16:18)
 

Можно и проще, "в лоб"

die("<meta http-equiv=redirect content='0; url=http://some_host.ru'>");

   
 
 автор: spiner   (26.12.2005 в 22:29)   письмо автору
 
   для: Киналь   (26.12.2005 в 18:49)
 

чем это проще?
к тому же символов больше))

   
 
 автор: cheops   (26.12.2005 в 22:33)   письмо автору
 
   для: spiner   (26.12.2005 в 22:29)
 

Это избавляет от необходимости буфферизовать вывод для обхождения проблемы "Warning: Cannot modify header information - headers already sent"

   
 
 автор: spiner   (27.12.2005 в 02:20)   письмо автору
 
   для: cheops   (26.12.2005 в 22:33)
 

что значит буфферизовать вывод?
всегда так делаю с location и никаких ошибок..

   
 
 автор: Киналь   (27.12.2005 в 12:01)   письмо автору
 
   для: spiner   (27.12.2005 в 02:20)
 

А вы попробуйте

<h1>Админка</h1>
<?
if(!$adminHeader("Location: stop.php");
?>

   
 
 автор: spiner   (27.12.2005 в 16:52)   письмо автору
 
   для: Киналь   (27.12.2005 в 12:01)
 

проблему с хедерами я прекрасно знаю.. вы мне объясните пожалуйста, что значит буфферизовать вывод?

   
 
 автор: Киналь   (27.12.2005 в 18:48)   письмо автору
 
   для: spiner   (27.12.2005 в 16:52)
 

Несколькими постами выше:


автор: Саня   (26.12.2005 в 16:59)   письмо автору
     
     

Попробуйте использовать буфферизацию:
В самом начале файла (того, к кому всё подключается) написать ob_start();
В самом конце - $buff = ob_get_contents(); ob_end_clean(); echo($buff)


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

   
 
 автор: cheops   (27.12.2005 в 23:12)   письмо автору
 
   для: spiner   (27.12.2005 в 16:52)
 

Пример буфферизации можно посмотреть в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5778

   
 
 автор: LimP   (28.12.2005 в 09:08)   письмо автору
 
   для: Киналь   (26.12.2005 в 18:49)
 

в процессе написания я делаю вот такую функцию

function meta($content,$href)
  {
      echo "<meta http-equiv='refresh' content='".$content."; url=".$href."'>";
  }

закидываю ее в config.php и подключаю к файлам. хороший тон.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования