Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Что такое заголовок переадресации?  (Прочитано 17228 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Just
Гость
« : 04-06-2008 15:25 » 

Подскажите, что такое заголовок переадресации, при проверке включены ли Cookies у пользователя?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 04-06-2008 15:26 » 

А можно всю фразу в контексте?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Just
Гость
« Ответ #2 : 04-06-2008 15:30 » 

посылаем заголовок переадресации на страницу, с которой будет предпринята попытка установить cookie
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 04-06-2008 15:43 » 

мои телепатические способности так сильно не развиты
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Just
Гость
« Ответ #4 : 04-06-2008 16:00 » 

вот такой пример:
<?
  if(!$cookie)
  {
    /* посылаем заголовок переадресации на страницу,
    с которой будет предпринята попытка установить cookie */
    header("Location: $PHP_SELF?cookie=1");
    /* устанавливаем cookie с именем "test" */
    setcookie("test","1");
  }
  else
  {
    if(!$test)
    {
      echo("Для корректной работы приложения необходимо включить cookies");
    }
    else
    {
      /* cookie включены, переходим на нужную страницу */
      header("Location: http://localhost/test1.php");
    }
  }
?>
мне не совсем понятно, что значит здесь заголовок переадресации. Заранее спасибо.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 04-06-2008 16:15 » 

Just, для вставки кода используй теги [code]...[/code]

header - посылает заголовок http ответа
в котором указывается, в данном случае адрес, куда переадресовать браузер в случае получения такого ответа
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Just
Гость
« Ответ #6 : 04-06-2008 16:28 » 

Спасибо за ответ. Вроде все понял. В действительности все просто:). Еще раз спасибо!
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 04-06-2008 20:05 » 

Just, если ты определяешь заголовок Location, то PHP автоматом меняет код HTTP-ответа с "200 OK" на "302 Found". Это инструкция для HTTP-клиента сделать запрос на URL, указанный в Location.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Just
Гость
« Ответ #8 : 04-06-2008 20:58 » 

т.е. вместо заголовка можно было бы поставить: посылаем запрос на страницу  с которой будет предпринята попытка установить cookie? Так становится все гораздо более понятнее. При неустановленных cookie происходит откат обратно на страницу с которой они устанавливаются.  Спасибо за разъяснение:).
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 05-06-2008 10:10 » 

Just, все, что надо понимать, написано в коде, который ты привел:

0. Страница проверки поддержки куки.
1. Если куки нет, то определить куки и сделать редирект на самого себя, с заданием контрольного параметра, по которому можно определить, что это проверка на поддержку куки.
2. Если куки нет, но контрольный параметр присутствует, то решаем, что клиент не поддерживает куки.
3. Если куки есть, то перенаправить на другую страницу, где будет сам сайт.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Just
Гость
« Ответ #10 : 05-06-2008 14:43 » 

Спасибо за помощь. Еще такой вопрос вы  не можете сказать как непосредственно вызвать методы или члены
объекта возвращаемого функцией? Т. е. функция создает объект и возвращает его. При вызове данной функции можно
непосредственно обратится к членам или методам созданного объекта и как это сделать? В качестве примера:
Код:
function ShapeFactoryMethod($shape)
{
  switch ($shape)
  {
    case "Circle":
      return new Circle();
    case "Square":
      return new Square();
  }
}
ShapeFactoryMethod("Circle")->draw());
ShapeFactoryMethod("Square")->describe());
функция создает 2 объекта и обращается непосредственно к их методам.
При компиляции выдает вот такую ошибку - parse error, unexpected T_OBJECT_OPERATOR in.
Записан
Just
Гость
« Ответ #11 : 05-06-2008 14:46 » 

в последней и предпоследней строках
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 05-06-2008 15:04 » 

во-первых здесь что-то в скобках напутано
во-вторых
а где сам класс?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 05-06-2008 15:30 » 

Just, знаешь, вопросы настолько простые, что хорошо бы тебе сперва прочесть какой-нибудь самоучитель. Если PHP у тебя не на один день, то будет в самый раз.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Just
Гость
« Ответ #14 : 05-06-2008 16:30 » 

сам пример с классом вот:
Код:
class Circle
{


 
  function describe()
  {
    echo "круг"<br>";
  }
}

class Square
{

 
  function draw()
  {
    echo "квадрат"<br>";
  }
}

function ShapeFactoryMethod($shape)
{
  switch ($shape)
  {
    case "Circle":
      return new Circle();
    case "Square":
      return new Square();
  }
}

ShapeFactoryMethod("Circle")->describe();

ShapeFactoryMethod("Square")->draw());
а что касается самоучителя, то это скрипт из него. В самом коде что-то напутано, но что конкретно я не знаю, и как исправить эту ошибку тоже. Но все равно спасибо за совет!:) поищу самоучитель получше:).
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines