Самоучитель по креативному веб-дизайну. Книга 3, стр.122

тыми вторым и третьим выражениями будет выполняться до тех пор, пока условный

оператор break в теле цикла (if $count = ю) не приведет к тому, что выполне — ние сценария продолжится с первого оператора, находящегося после цикла for:

for ($count = 1; ;)

{

echo «Count = $count

«;

if ($count ==10) break;

++$count;

}

Рассмотрим еще один пример. Следующий оператор for (с тремя непустыми выражениями) выводит на экран первые десять значений, хранящихся в массиве

$stateNames:



for ($statelndex = 0; $statelndex

echo «\$stateNames[$statelndex] = $stateNames[$statelndex]

«;



Третье выражение увеличивает значение переменной $stateinde x после вы — полнения очередной итерации цикла for. Пока значение второго выражения

($stateinde x РНР-процессор будет выполнять блок операто- ров цикла for. В приведенном примере это единственный оператор echo.

Использование цикла while для повторения выполнения операторов

в случае соблюдения условия



В предыдущем разделе говорилось, что циклы for в языке РНР используются для повторения одного или нескольких операторов определенное количество раз. Для ситуаций, в которых РНР-процессор должен выполнять операторы до тех пор, пока некоторое условие соблюдается, но не обязательно определенное ко —

личество раз, МОЖНО ИСПОЛЬЗОВатЬ ЦИКЛ while. Формат ЦИКЛа while ВЫГЛЯДИТ

следующим образом:



while ($условие)

{

оператор;

оператор;

}

51 0

Глава 10. РНР4





При выполнении цикла while процессор сначала проверяет условие (содер — жащееся в скобках после ключевого слова while). Если условие соблюдается, бу- дут выполняться операторы в блоке цикла while (т. е. операторы, находящиеся в фигурных скобках ({}) после ключевого слова while). После выполнения после — днего оператора цикла процессор снова проверяет условие. Если оно соблюдает — ся, блок операторов выполняется снова, после чего снова проверяется условие и т. д. Когда, в конце концов, условие даст false, процессор продолжит выполнение сценария с оператора, который находится непосредственно после цикла while.

Самоучитель по креативному веб-дизайну. Книга 3, стр.123

Цикл do-while аналогичен циклу while. Он также заставляет процессор вы — полнять операторы при соблюдении условия, но вместо проверки условия перед выполнением операторов (как в случае с циклом while), цикл do-while прове- ряет условие после выполнения операторов. Формат цикла do-while выглядит следующим образом:



do

{

оператор;

оператор;

}

while ($условие);

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



Передача данных HTML-формы РНР-сценарию

Если бы язык РНР не давал возможности получать информацию от посетите —

ля сайта, он бы не добавил практически ничего нового к уже существующему стандарту HTML. В конце концов, вывод на экран таких данных, как дата, время

и количество посетителей, не наделяет Web-страницу особенными динамическим свойствами, которые интересуют посетителей сайта. Конечно, значения перечислен —

ных выше параметров будет меняться, тем не менее, все содержимое Web-страницы, т. е. информация, ради которой посетитель открыл страницу, остается статическим, если вы не дадите посетителю средства, которые позволят ему указать Web-серверу, что он желает увидеть. HTML-формы дают возможность посетителю передавать ин — формацию Web-серверу, а PHP-сценарии обрабатывают полученную (от посетителя)

информацию и на ее основе создают содержимое новой Web-страницы.

Как вы уже знаете из главы 3, после заполнения текстовых полей формы, ус — тановки необходимых переключателей и флажков и нажатия кнопки передачи (Submit) Web-браузер передает результаты заполнения формы Web-серверу. Тем не

менее, Web-сервер «не понимает» данных, переданных ему браузером. Как ре — зультат, сервер должен передать данные (т. е. результаты формы) на обработку другой программой. В прошлом Web-браузеры передавали результаты форм для обработки Perl-сценариям. В настоящее время Web-серверы передают результаты форм не только Perl-сценариям, но и Servlet-сценариям, реализованным на Java

Самоучитель по креативному веб-дизайну. Книга 3, стр.124

(так называемым «сервлетам»), сценариям Active Server Pages (ASP) и, как вы уз — наете из этого практикума, РНР-сценариям.

Глава 10. РНР4 511





Когда вы рассматривали формы (в главе 3), вы изучили различные атрибуты,

которые могут использоваться в дескрипторе

. Для взаимодействия ре —

зультатов. заполнения форм с PHP-сценариями важны два атрибута — actio n и method. Установив значение атрибута actio n в дескрипторе
равным URL — адресу PHP-сценария, вы заставляете Web-сервер передать результаты формы (от — правленные серверу Web-браузером после нажатия посетителем кнопки Submit) PHP-сценарию. Атрибут method устанавливает для Web-браузера способ передачи Web-серверу результатов заполнения формы.

Предположим, например, что имеется Web-страница со следующим определе — нием формы:

ChptlOTipOl. php»

method=»GETM>

Имя:


Фамилия:


E-Mail:








После нажатия посетителем кнопки «Отправить» Web-браузер отправит Web — серверу результаты формы с помощью метода GET. Метод GET говорит Web-бра — узеру присоединить пары имя/значение (т. е., результаты заполнения формы) в конец URL-адреса, по которому Web-сервер передает данные формы (в приведен- ном Примере ЭТО http://www. NVBizNet. com/HWDTT/Chptl0Tip01.php), как ЭТО можно видеть на рис. 10.6 в адресной строке Web-браузера.

В приведенном npnMepeWeb-браузер передает пары имя/значение

«firsName=Konrad», «lastName=King» И «emailAddr=kki@NVBizNet. com».

Часть имени пары имя/значение взята из атрибута name определения эле — мента формы, а часть значения представляет собой данные, введенные в фор — му самим посетителем. Таким образом, в приведенном примере для получе —

ния результата, показанного на рис. 10.6, посетитель ввел «Konrad» в

элементе С именем firstName, «King» — В Элементе С именем lastName И

«kki@NVBizNet. com» — В Элементе С именем emailAddr.



51 2 Глава 10. РНР4





Изучив адресное поле Web-браузера на рис. 10.6, можно увидеть, что метод

GET привел к тому, что браузер отформатировал результаты формы в виде URL — адреса;



http://www. NVBizNet. com/HWDTT/

ChptlOTipOl. php? first^ame=Konrad&las^ame=King&emailAddr=kki(3NVBizNet. com



В адресной отроке содержатся адрес, указанный в атрибуте actio n дескрипто — ра

, знак вопроса (?) и три пары имя/значения:



firstName—Konrad

lastName=King

emailAddr=kki@NVBizNet. com

Пары имя/значения разделены амперсантами (&).

Одним из недостатков использования метода GET является слишком откры — тая передача результатов формы — посетитель имеет возможность просмотреть все результаты в адресной строке Web-браузера. Более того, результаты формы, передаваемые в виде части URL-адреса, фиксируются в журнале браузера, в жур- нальных файлах Web-сервера и в кэш-памяти прокси-сервера (если он использу —

Самоучитель по креативному веб-дизайну. Книга 3, стр.125

ется). Если вы не хотите, чтобы браузер выводил на экран результаты заполне — ния формы, передаваемые Web-серверу, и оставлять копии результатов в местах, где они могут быть кем-то просмотрены, используйте метод POST, как показано

в следующем примере:


method=»POST»>



После того, как посетитель нажмет кнопку отправки формы, которая исполь — зует метод POST, браузер передаст пары имя/значение, представляющие собой результаты заполнения формы, Web-серверу в теле HTML-запроса (а не в каче- стве части URL-адреса). Как результат, в адресном поле браузера будет выводить —

ся только URL-адрес, указанный в атрибуте action. Более того, применение ме —

тода POST позволяет передавать больший объем информации, поскольку для количества символов в URL-адресе, которые браузер передает Web-серверу по ме- тоду GET, установлен определенный предел.

Выбор метода передачи результатов формы (POST или GET) в большой степе —

ни зависит от предпочтений разработчика. Спецификация HTML 4.01 указывает, что метод GET следует применять, если приложения, которое будет обрабаты — вать результаты формы, использует результаты, но не вносит никаких изменений.

Самоучитель по креативному веб-дизайну. Книга 3, стр.126



HTML & Web Design Tips & Techniques





echo «Вы ввели имя: «;

echo «$firstName» ;

echo «Вы ввели фамилию: «;

echo «$lastName» ; echo «Вы ввели адрес e-mail: » ; echo «$emailAddr» ;

?>

Самоучитель по креативному веб-дизайну. Книга 2, стр.1





20 4 Глава 4. Каскадные списки стилей





Из самих названий свойств следует, что свойств letter-spacin g позволяет

установить интервалы между буквами в словах, word-spacing — интервалы между словами, a line-heigh t (как вы уже, наверное, догадались) — интервалы между строками текста. (Фактически, свойство line-heigh t было бы правильнее на —

звать line-spacing, но тестовые процессоры используют термин «высота строк», поэтому для простоты в каскадных списках стилей используется тот же термин.)

Как и в случае со свойством text-indent, для задания значений всех выше пе — речисленных свойств могут использоваться любые единицы измерения, примене — ние которых допускается в каскадных списках стилей. Имейте в виду, что при указании интервалов между буквами и между словами браузер добавляет указан —

ное вами расстояние к тому, которое используется браузером по умолчанию. По — этому для добавления интервала в 5 пикселей между буквами в тексте заголовка уровня 1 можно написать следующее правило:



hl style=»letter-spacing: 5рх»>П1ирокий интервал между буквами в словах



Аналогично, для добавления интервала в 1 пику между словами в цитатах можно использовать следующее правило списков стилей:



cit e {word-spacing:lpc}



Как уже упоминалось, свойство line-heigh t позволяет устанавливать верти —

кальное расстояние между строками текста. Не хотелось бы усложнять, но обыч- ный термин для расстояния между строками — интерлиньяж. Таким образом, свойство line-heigh t позволяет контролировать интерлиньяж. Значение свой — ства line-heigh t можно задавать одним из трех методов: числом, единицей длины, используемой в каскадных списках стилей и в процентах. Web-браузер

добавляет расстояние, указанное вами в свойстве line-height, перед каждой строкой теста.

При указании значения свойства line-heigh t числом или в процентном от — ношении Web-браузер для определения интерлиньяжа будет использовать размер шрифта. Таким образом, при использовании на странице следующего правила браузер вставит между строками текста, выводимого полужирным шрифтом, рас — стояние 25 пунктов:

Самоучитель по креативному веб-дизайну. Книга 2, стр.2



b {font-size:10pt; line-height:2.5}



Браузер умножает значение свойства font-siz e (10 пунктов) на значение свойства line-heigh t (2.5) и получает интерлиньяж, равный 25 пунктов. Анало — гично, то же самое правило можно записать с использованием процентов:



Ь {font-size:10pt; line-height:250%}



Как и в предыдущем примере, Web-браузер установит значение свойства line-heigh t равным 25 пунктов, поскольку 250% от текущего размера шрифта

(10 пунктов) как раз и составляет 25 пунктов. Обратите внимание, что в правило можно не включать объявление свойства font-size. При указании значения свойства line-heigh t числом или в процентах браузер для получения интерли- ньяжа всегда будет умножать текущий размер шрифта на значение свойства

line-height.

Глава 4. Каскадные списки стилей 20 5





Для задания интерлиньяжа в единицах измерения длины каскадных списков стилей поместите в определение свойства line-heigh t указание используемой единицы измерения. Например, для определения класса каскадного списка сти — лей, применяемого для создания двойного интервала между строками, нужно до — бавить на страницу следующее правило:



. doube space {line-height : 2em}



Аналогично, для введения интервала 12 пунктов перед каждой строкой текста в абзаце можно воспользоваться следующим внутритекстовым определением стиля:







Обратите внимание, что если значение свойства line-heigh t меньше исполь — зуемого размера шрифта, строки текста будут накладываться друг на друга. На — пример, если бы размер шрифта в приведенном выше примере был равен 24 пункта, строки текста абзаца накладывались бы друг на друга. Точнее говоря, буквы каждой строки начинались бы посредине букв предыдущей строки, по — скольку интерлиньяж 12 пунктов составляет половину размера шрифта 24 пункта.

Самоучитель по креативному веб-дизайну. Книга 2, стр.3


This is an example of. . .


Text in this paragraph…

style=»font-size:2em»Xspan class=»icap»>K/span>f you had used pixel s or. . .


Самоучитель по креативному веб-дизайну. Книга 2, стр.4

ся в заголовках. Например, правила класса icap из предыдущего примера можно расширить следующим образом:



.icap {font-size: 150%; font-family: «comic sans ms», impact}



При применении класса icap он приведет к увеличению размера первой бук — вы абзаца в 1.5 раза по сравнению с размером шрифта окружающего текста и вы — делением ее шрифтом Comic Sans MS. Если шрифт Comic Sans MS не установ — лен в системе посетителя, вместо него будет использоваться шрифт Impact. (Если же на компьютере посетителя нет и шрифта Impact, будет использоваться шрифт по умолчанию; тем не менее, первая буква абзаца будет все равно выде — ляться за счет увеличенного размера шрифта.)





Глава 4. Каскадные списки стилей 20 7



Настройка внешнего вида гиперссылок

Если в HTML-коде Web-страницы специальное форматирование для элемента привязки (т. е. гиперссылки) не определено, Web-браузеры подчеркивают текст гиперссылки и, как правило, используют один цвет (например, синий) для ото- бражения непосещенных ссылок и другой (например, пурпурный) для посещен —

ных ссылок. Каскадные списки стилей дают вам возможность выбора: можно ос — тавить определение внешнего вида гиперссылок за Web-браузером посетителя или самим установить, как они должны выглядеть. Например, можно написать правила каскадного списка стилей, которые будет изменять цвет шрифта, цвет фона и даже при желании удалить выделение подчеркиванием. Более того, для различных гиперссылок можно применять различные стили. Так, например, для гиперссылок, внедренных в другие элементы Web-страниц, цвет фона можно ос —

Самоучитель по креативному веб-дизайну. Книга 2, стр.5

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



ПРАКТИКУМ

Для настройки внешнего вида гиперссылок необходимо добавить на страницу пра — вила, задающие значения свойств одного, отдельных или всех четырех псевдоклас — сов дескрипторов привязки:

a:lin k Непосещенная ссылка.

a:visite d Посещенная ссылка. Это означает, что в журнале посещенных ссылок Web-браузера содержится элемент, соответствующий адресу перехода по ссылке (т. е. URL-адрес, указанный в атрибуте href

гиперссылки). ‘ —

a:hover

Указатель мыши посетителя находится над гиперссылкой.



a:activ e

Указатель мыши посетителя находится над гиперссылкой и

посе —

титель нажимает или отпускает левую кнопку мыши (или правую кнопку для мыши, настроенной на левшей).



Например, для установки темно-зеленого цвета непосещенных и пурпурного

цвета посещенных гиперссылок поместите на страницу следующие правила кас — кадного списка стилей:

a:link {color:darkgreen}

a:visited {color:magenta}

При необходимости удаления выделения гиперссылок подчеркиванием вы должны обеспечить другой метод выделения. Например, можно изменить тип шрифта ссылок или изменить цвет их фона. Однако, какой бы метод вы не из- брали, его нужно применять ко всем классам гиперссылок. Для применения од —

ного и того же стиля ко всем гиперссылками удалите ссылку на цсевдокласс из правила списка стилей, как показано в следующем примере:



a {text-decoration:none; background-color:yellow}

208 Глава 4. Каскадные списки стилей





В приведенном примере свойство text-decoration, значение которого равно

«попе», убирает подчеркивание гиперссылок, а свойство background-color ис — пользуется для установки желтого цвета фона гиперссылок. Обратите внимание, что Web-браузеры будут применять содержащиеся в этом правиле объявления к дескрипторам привязки (а) всех псевдокалассов гиперссылок. Таким образом, при использовании приведенного выше правила каждая гиперссылка на Web —



Полезные ссылки
Случайные записи
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.101
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.137
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 020
  • 12.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.106
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 091
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 069
  • 17.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.12
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.103
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.44
  • 24.02.2011">Руководство по actionscript. часть 7, стр. 005
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 064
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 046
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 084
  • 24.03.2013">Чартерные рейсы на Мальдивы
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.63
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...