|
автор: Человече (02.04.2006 в 23:42) |
|
| Доброго всем времени суток!
Я только начинаю изучать язык РНР, и меня очень интересует следующий вопрос: для чего нужен посыл заголовка и какую функцию имеют включаемые в него метатэги? Сколько ни читал соответствующей литературы, вразумительного ответа на это я не смог найти, а даются только листинги, где данный прием уже используется :((((
Имеется в виду конструкция типа Header. | |
|
|
|
|
|
|
|
для: Человече
(02.04.2006 в 23:42)
| | Недавно всплывал почти такой же вопрос, если вам не сложно, посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=15361 - если у вас появятся дополнительные вопросы - смело задавайте, расскажем всё что знаем. | |
|
|
|
|
|
автор: Человече (03.04.2006 в 15:35) |
|
|
для: Evgen
(03.04.2006 в 01:56)
| | Так, кое-что начинаю догонять )))) То есть когда мы посылаем серверу заголовок, мы хотим минуя браузер получить какие-то сведения, так я понимаю? Но тогда зачем нужны метатэги? Являются ли они неотъемлемым атрибутом заголовка? Для пущей наглядности рассмотрим пример, взятый из книги:
<php
print "<HTML><HEAD>\n";
print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>\n";
print "</HEAD></HTML>\n";
?>
|
Если можно, раскомментируйте "по косточкам" каждый элемент этого примера, потому что я не могу вразумить, зачем посылать открывающий и закрывающий <HTML></HTML>, а в метатэге просто кидать ссылку на уже существующий файл, в котором наверняка эти же ХТМЛ-ки будут! Что есть Refresh - да и вообще, как эта команда будет работать технически?
ЗЫ: маленький оффтоп. Поясните пожалуйста, чем print отличается от echo - коротенько, в 2 словах, просто чтоб понятно было... | |
|
|
|
|
автор: Человече (03.04.2006 в 23:09) |
|
|
для: Человече
(03.04.2006 в 15:35)
| | Люди, вернитесь, пожалуйста, к этому вопросу, мне очень интересно!!!!! )))))) | |
|
|
|
|
|
|
|
для: Человече
(03.04.2006 в 15:35)
| | Нет, когда мы посылаем HTTP-заголовки, мы вмешиваемся в разговор двух взрослых дядек: браузера и сервера. Они и без нас прекрасно договорятся, но зачастую не с тем результатом, который нам нужен, поэтому их иногда нужно корректировать... META тэги дублируют заголовки, если у вас нет PHP, а в распоряжении только HTML, как по другому послать заголовки, кроме как META-тэгами?
Эта строка эквивалентна
<?php
header("Refresh: 0; URL=index.php");
?>
|
или
<?php
header("Location: index.php");
?>
|
т.е. осуществляет редирект на файл index.php или перезагрузку страницы, если блок располагается в index.php. Этот HTML-блок ни делает ничего дополнительно, только заменяет эти заголовки. Фунцию header() можно применять только до вывода информации в окно бразуера - иначе заголовки не будут отправлены. По протоколу, заголовки должны отправляться до тела документа, поэтому любой вывод до функций header(), setcookie(), session_start(), приводит к тому, что заголовки не отправляются. Поэтому часто применяют META-тэги - их без разницы где выводить, браузер их найдёт, интерпретирует и осуществит редирект или перезагрузку.
PS Про print и echo можно почитать более подробно в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3662 - если будет что-то не понятно - спрашивайте, но лучше в отдельной теме. | |
|
|
|