среда, 21 ноября 2007 г.

Передача значений переменных через формы

Работа с формами


В этом посте показано, как в PHP легко перерабатывать данные, полученные от HTML-форм. Чтобы понять о чём идёт речь Вам нужно хорошо разбираться в HTML и принципах работы HTML-форм и а также понимания разницы двух методов передачи данных в них (GET И POST).


Чаще всего серверные скрипты используются для обработки результатов заполнения форм. Например, в гостевой книге посетитель вводит данные в форму, которая затем обрабатывается на сервере. Отвечая на какой-либо опрос пользователь, аналогично, устанавливает значение определенных полей формы.


Напомню, какие тэги и атрибуты должна содержать форма:


<FORM NAME="имя_формы"


ACTION="путь_к_обработчику"


METHOD="метод_передачи_переменных">


поля ввода...


</FORM>


Цветом выделены те элементы, которые пригодятся нам в этом опыте. Прежде всего разберемся, что такое "обработчик". Это скрипт на сервере, в который будут переданы значения полей ввода.


Каждое поле ввода имеет атрибут NAME, которое будет передано в обработчик вместе со своим значением.


Существует два метода передачи данных: GET и POST. Их отличие состоит в том, что при использовании метода GET значения полей присоединяются к URL, указанному в атрибуте ACTION. Происходит это таким образом:


http://site.domain/action.php3?имя=значение&...имя=значение


Пары "имя=значение" создаются для каждого элемента ввода, для которого указано имя атрибутом NAME.


В случае использования метода POST значения полей передаются в заголовке запроса к серверу. Формат передачи при этом методе нам, в общем-то, не интересен. Просто примем к сведению, что значения передаются "незаметно" для обычного пользователя.


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


Предположим, что мы создали форму следующего вида:


<FORM ACTION="mult.php3" METHOD="GET">


<INPUT TYPE="text" NAME="first" SIZE="4" MAXLENGTH="4">


<INPUT TYPE="text" NAME="second" SIZE="4" MAXLENGTH="4">


<INPUT TYPE="Submit" VALUE="Умножить">


</FORM>


Скрипт, содержащийся в файле mult.php3 может выглядеть следующим образом:


<?php


Header("Content-type: text/html");


echo "$first умножить на $second получится ", $first*$second;


?>


Как видим, все довольно просто.


Необходимо напомнить, что существует специальный тип поля HIDDEN. Это поле, которое не выводится на экран, но, если ему присвоено имя атрибутом NAME, значение егопередается в форму. Это бывает полезно, например, когда один обработчик может производить не одно, а несколько действий. С помощью такого поля мы можем задать тип действия, которое мы хотим произвести с данными формы.


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


Тип Описание Вид


TEXT Поле ввода текста


SELECT Выбор из списка.


RADIO Радио-кнопка. Используется для выбора одного из предложенных вариантов.


CHECKBOX Кнопка-флажок. Используется для выбора варианта.


SUBMIT Кнопка, которая инициирует вызов обработчика формы.


IMAGE Изображение. Используется как кнопка типа SUBMIT


<TEXTAREA> Область ввода текста.


Теперь рассмотрим, как значения и состояния этих элементов передаются в обработчик.


TEXT - здесь все просто. Введенное значение передается в виде: имя=значение (для удобства будем


предполагать, что метод передачи значений установлен в GET). В обработчике значение можно получить из


переменной $имя.


SELECT - значение берется из атрибута VALUE выбранного элемента <OPTION>. Например для <SELECT>


такого вида:


<SELECT NAME="mySelect">


<OPTION VALUE="test1">test1</OPTION>


<OPTION VALUE="test2">test2</OPTION>


<OPTION VALUE="test3">test3</OPTION>


</SELECT>


Cтрока будет содержать mySelect=test1, в случае выбора первого элемента списка. Переменная в скрипте будет выглядеть так: $mySelect.


Элемент <SELECT> может иметь атрибут MULTIPLE, что позволяет выбирать несколько значений из списка. В этом случае к имени элемента <SELECT> необходимо добавить пару квадратных скобок: имя[]. Строка будет выглядеть так: имя[]=значение&имя[]=значение..., а в скрипте доступ к выбранным значениям можно осуществить, как к элементам массива $имя.


В случае, если не заданы атрибуты VALUE, то передаваться будет то, что содержится между тэгами <OPTION> и </OPTION>.


RADIO - Здесь значение будет браться из атрибута VALUE, строка выглядит аналогично элементу типа TEXT.


Доступ из скрипта, тоже аналогичен. Если вы забыли установить это значение, то будет передано значение on CHECKBOX - если флажок установлен, то передается значение on, если флажок не установлен, то переменная не передается вообще. Таким образом, установку флажка в скрипте можно проверить, сравнив значение переменной $имя с "on". Переменная и строка выглядят аналогично элементу типа TEXT.


SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значениев обработчик. Я не могу себе представить зачем это нужно, но тем не менее. Значение устанавливается из атрибута VALUE. Все остальное аналогично полю типа TEXT.


IMAGE - Самый интересный элемент. В обработчик передаются два значения: имя.x и имя.y, которые представляют собой координату указателя мыши относительно верхнего левого угла изображения. Строка выглядит следующим образом: имя.x=значение&имя.y=значение. В скрипте устанавливаются переменные $имя_x и $имя_y.


<TEXTAREA> - абсолютно аналогично элементу типа TEXT.


При пересылки строковых значений они перекодируются специальным образом. Все символы, кроме алфавитно-цифровых и знака подчеркивания "_" заменяются знаком процента "%" и двумя


шестнадцатеричными цифрами кода. Пробелы заменяются на знак "+". При установке переменных в скрипте производится обратное декодирование.


PHP предоставляет еще одну интересную особенность. Мы можем каждому элементу присвоить имя переменной массива. Например:


<FORM NAME="testForm" ACTION="test.php3">


name: <INPUT TYPE="text" NAME="personal[name]"><BR>


e-mail: <INPUT TYPE="text" NAME="personal[email]"><BR>


<INPUT TYPE="SUBMIT">


</FORM>


В этом случае мы сможем получить доступ к значениям, обращаясь к элементам ассоциативного массива: $personal["name"] и $personal["email"].


Кроме того, если включена директива PHP <?php_track_vars?>, то, при передаче значений, будут заполнены массивы $HTTP_GET_VARS и $HTTP_POST_VARS, для соответствующих методов передачи переменных в обработчик


Вызов формы самой на себя.


Александр Качанов (kachanov@ogs.gomel.by)


Вадим Ткаченко (vvtk@stealthcomp.com) (http://web.stealthcomp.com)

понедельник, 24 сентября 2007 г.

Поднять настроение

Пpиходит обалденная блондинка к сексопатологy:
- Доктоp, со мною что-то не в поpядке!
- По-моемy, y вас все отлично.
- Тогда почемy мой мyж входит в меня в пять pаз pеже, чем в Интернет?


Сидит психиатр у себя в кабинете - скучает...... пациенты не идут.
Тут тихонько так приоткрывается дверь и к нему на карачках заползает
человек, сжимая что-то в зубах, руках и т.д. плюс что-то еще
волочится сзади.
Психиатр:
- Ой, кто это к нам тут ползет!!! Это, наверное, маленькая змейка.
Заползай, змейка, заползай, маленькая, доктор тебе поможет.
Человек отрицательно машет головой.
- А-а-а, это, наверное, черепашка к нам в гости пожаловала. Заползай,
черепашка, в кресло и расскажи дяде доктору, что с тобой случилось...
Человек отрицательно качает головой.
- Так кто же это у нас - наверное, маленький червячок??
- Доктор, идите на ..., я - сисадмин, сеть вам прокладываю...


Компьютер позволяет решать все проблемы, которые до изобретения компьютера не существовали.


Приходит сантехник к инетчику ремонтировать засорившуюся раковину и начинает ковыряться в отстойнике. Сантехник:
- А у вас тут из сети все на винт падает... вот и забило.
- Надо винт больше ставить? - спрашивает инетчик.
- Нет, винт надо вообще спилить к #$%^&й матери!


Телефонный звонок провайдеру:
- У меня опять проблема.
- Что, не можете войти?
- Войти удалось, но сосать не хочет!
- Хм... Мы не виноваты - у нас канал широкий...
- При чем здесь канал?! С кем я говорю? Это телефон доверия?


Сидят два программиста. Проходит мимо девушка. Один посмотрел ей в след и говорит:
- Классные у нее проперти.
- Да. Но я вчера проверял, все - ReadOnly!




Цитаты диалогов:

[jek] Они вон, в одном подъезде ухитрились запитать свитч от освещения подъезда
[cactus] т.е. днем сети нет?
[jek] да



dying_sphynx] сегодня на работе был прикол
dying_sphynx] приходит наш менеджер, типа представляет новую сотрудницу -
женщину с грудью размера эдак четвёртого!
dying_sphynx] господа, знакомьтесь, у нас новый сотрудник, Ольга, специалист по C/C++
dying_sphynx] [голос из-за какого-то компа] мда, сиси плюс-плюс!


296648441: у Вас утро или вечер, что-то я никак не разберусь?
KMT: когда как



Объявление в лифте:
«Уважаемые жильцы и гости.
Просьба не сорить в лифте.
12.01.2007
Администрация»

Чуть ниже - фломастером:
«Простите, прочитал объявление уже после того как отлил. 12.01.2007 15-30. Петя»

«Петя, ты мудак. Более того - ты мудак в пятом поколении. А поскольку ты тупой, объясню проще - и папа твой был мудак, и дедушка, и прадедушка, и так далее по генеалогическому древу.»

«Что вы, что вы? Был бы мой папа мудак - он бы тоже жил в этом подъезде. С удовольствием отлил опять в вашем лифте. И бросил фантик от конфеты - это вам за папу. И пачку сигарет тоже - это за дедушку. Петя.»

«Господа, к кому приходит этот сцыкун?»

«К вашей дочке, разумеется. Какая еще дура станет общаться с этим олигофреном?»

«Кто это написал? Подпишись, раз такой смелый.»

«гыгыг. Ваша жена это написала. Умная женщина, склонная к спокойному анализу ситуации. В отличие от остальных членов семьи.»

«Я же найду тебя! Найду и убью.Дал же бог соседей, а..»

«Господа, полно вам ссориться. Я ко всем вашим дочкам хожу и повсюду принимают с радостью. С уважением, Петя.
ПС: Уважаемая администрация, почему в лифте нет туалетной бумаги? Что за пренебрежение к гостям подъезда? Неужели жильцам так трудно скинуться на туалетную бумагу?»

«Скажите, Петр, а это не вы выкрутили лампочку в лифте, выломав защитную сетку? Ваш почерк ведь. Успокойте меня, подтвердите, что, кроме вас, к нам ни один мудак не заходит.»

«О чем вы говорите, а? Вы у себя в уборной лампочки тырите? Вот и я нет. К тому же, если я выкручу лампочку, как вы сможете прочесь и уяснить для себя, что рэп - это круто, что Лена - дура, что Спартак - Чемпион? Для кого я это пишу на стенах? Так что нечего мне приписывать лишнего. Это просто в обычаях жителей этого подъезда - тырить у самих себя. Вы думаете когда у кого-то из вашего подъезда перегорает лампочка, он за лампочкой бежит в соседний подъезд, а не в лифт или на чужую лестничную площадку? Глупость какая! А, впрочем, чему я удивляюсь-то? Контингент в подъезде вполне себе соответствующий любой глупости. Петр.
ПС: Администрация, вы не могли бы подклеить к объявлению еще один лист бумаги? Негде же писать! Чем вы там занимаетесь в конце концов?»

На новом листе

«Господа! А ведь этот мерзкий заморыш в чем-то прав. В подъезде, по видимости, завелись крысы. Предупреждаю сразу: изловлю - сделаю инвалидом. Чтоб без обид потом было.»
«+1»
«+1»
«+1»
«+1»

«Я же говорил! Какой-то гадюшник.. Все готовы друг друга убить за лампочку. Тьфу.. Отлил в лифте без удовольствия уже. Петя.»

«Петя, передайте своей маме, что те сексуальные услуги, что она предоставляет на вокзале, не стоят даже тех мизерных денег, что она за них просит. Папе передайте тоже самое. Или, если не уверены кто из этих мужчин, живущих у вас дома, ваш папа - передайте это им всем сразу. Администрация.»

«А вот за такое можно и ответить по всей строгости понятий. Петя.»

«А ты стрелу забей, сцыкло. Администрация»

«Ага. Так я вам и дался на слаб.....»

«Господа, Петр не смог дописать последнее сообщение, поскольку был пойман на месте преступления, нещадно бит и в данный момент , по решению суда занимается ремонтом нашего подъезда. Всю эту переписку оставляем в назидание остальным Петеподобным.
Ура, господа!
Администрация.
ПС. Какая сволочь опять стырила лампочку?»

Струткура сайта

Дизайн, и, в частности, веб-дизайн - это проектирование практичной, удобной, визуально привлекательной системы. Англоязычные разработчики используют термин "usability" - целая наука, которая рассказывает, как разрабатывается дизайн, ориентированный на пользователя - понятный и удобный. В русском языке однозначно сложно подобрать термин, используется слово "эргономика" - наиболее соответствующий английскому "юзабилити", однако в переводе более близко к тексту слово звучало бы как "исполь-зу-емо-бляемость". Ух. Дизайнер получает информацию, данные, которые необходимо оптимальным образом упорядочить и реализовать в виде веб-сайта, предоставить такой интерфейс, которым будет легко и приятно пользоваться. Таким образом можно сказать, что веб-дизайн - это проектирование веб-интерфейса, и знание инструментов для разработки (языков разметки и программирования, графических редакторов и редакторов верстки, различных клиентских и серверных приложений и утилит) и профессиональное владение ими, безусловно, поможет разработчику, однако не гарантирует признания его как выдающегося веб-дизайнера.



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


И опять же - подождите с вопросами о графических редакторах, возьмите карандаш и лист формата A4. Разверните лист горизонтально - в таком виде он больше соответствует пропорциям экрана. Представьте, что все объекты, которые планируется разместить на странице (как правило дизайнеры начинают моделировать главную страницу сайта, остальные страницы - адаптированы к дизайну первой) - это модули. В простейшем случае вы их можете рисовать схематическими прямоугольниками.


Итак - какие модули должны присутствовать на главной странице сайта? Рассмотрим самый типичный вариант для среднего сайта средней фирмы или не самый "запущенный" вариант авторской страницы.



  • Название (сайта или организации)

  • Логотип (или любой графический знак, который уникальным образом идентифицирует проект или организацию)

  • Навигационное меню (в простейшем случае это один блок, однако, как мы рассмотрим в следующих выпусках, их может быть несколько в рамках одного проекта и одной страницы проекта).

  • Данные. Собственно содержание первой страницы.

  • Второстепенные данные. Это может быть графический баннер партнерского проекта или текстовая информация о спонсорах...


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


В качестве отступления могу заметить, что в свое время мне пришлось на такой серфинг потратить изрядно времени - опять же по рекомендации хорошего и значительно более опытного в разработке веб-проектов знакомого. Рекомендуемая им техника включала следующее: Выбрать направление - тему сайтов (к примеру - решения для кулинарных сайтов , поисковые системы предоставят вам немалый список), и дальше - смотрите, оценивайте - графическое решение, цветовая гамма, модульная сетка. Удачные варианты сохраняйте себе в фаворитах (да можно в простом текстовом файле, только не забывайте отмечать - что это за проект, и что привлекло вас в его дизайне).


Важно научиться быстро моделировать целостную систему из ваших информационных блоков. Проектировать модульную сетку.


Что такое модульная сетка? Легче всего будет пояснить это на привычных для вас примерах. Возьмите в руки книгу, журнал и газету. Внутри книги вы видите страницы, наполненные текстом, причем строки содержимого - на всю ширину страницы (исключая поля). Это типичный пример одноколоночной верстки. В журналах традиционно информация разбивается на две колонки, в газетах верстка бывает еще более сложная - трех-четырех, и даже шести-колоночная. Рекомендую для лучшего понимания понятий "модуль" и "модульная сетка" в отношении полиграфии и веб-дизайна прочесть статью Виктора Вязьминова "Модульная сетка" http://www.mrdesign.krasline.ru/articles/art13b.shtml


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


Для домашней страницы (в большинстве случаев) разработчики выбирают двухколоночную модульную сетку. При этом пропорции ширины колонок так же зависят от содержания и целей проекта.


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


Наиболее популярная модульная сетка для авторских сайтов и проектов с умеренным объемом содержания (и наиболее легкая в реализации) - это сетка из двух колонок, пропорции которой расчитываются следующим образом:



  • во-первых с учетом наиболее популярного по статистике разрешения экрана на сегодняшний день - 1024х768,

  • во-вторых с учетом того, чтобы при разрешении экрана 800х600 не появлялась горизонтальная полоса прокрутки (для этого суммарная ширина всех колонок не должна превышать 770 пикселей),

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


Таким образом пропорция выбирается 150px+620px или же 200px+550px. Мы получаем сетку из двух колонок, причем в меньшей предполагается расположить навигационное меню, а в большей - содержание.


В общей конструкции страницы присутствуют так же блок начала страницы и завершение страницы, объединяющие по ширине две колонки (т.е. каждый из этих блоков имеет ширину 770 пикселей). В верхнем блоке (top) традиционно принято располагать логотип проекта (левый верхний угол блока), его название, возможно - слоган, образно описывающий тему проекта, иногда - графическое оформление, коллаж, иногда - рекламный баннер. В завершение страницы (bottom) - информация об авторских правах, быстрый доступ к контактной информации (к примеру, e-mail автора или разработчика проекта), иногда - дублируется основное меню. Пример описанной модульной сетки вы можете наблюдать на сайте http://www.uapeople.com.




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


Когда мы говорили о том, как расчитывается пропорция модульной сетки, не зря был сделан акцент на том, что следует учитывать разрешение экрана 1024х768. При этом разрешении экрана и при больших появляется следующая проблема - документ занимает левую половину экрана, а правая (в случае высоких разрешений - большая часть) остается пустой, что нарушает как гармоничность композиции, так и воспринимаемость информации. В этом случае можно:



  1. Выравнять документ по центру экрана (пример центрированного проекта с описанной модульной сеткой можно посмотреть здесь:

  2. Задать ширину большей колонки в процентах (резиновая модульная сетка). - в этом случае колонка с навигационным блоком будет фиксирована, а с динамическим - менять ширину в зависимости от размера окна браузера. Пример такого проекта -



  3. Задать ширину обоих колонок в процентах. Решение интересное, однако в веб-дизайне редко используемое. Наиболее частая пропорция для такой сетки - 40%х60%.


Надо же... Самое простое решение для модульной сетки, и столько вариантов. Еще следует заметить, что колонка, содержащая навигационный блок, вовсе не обязательно должна быть слева - пожалуйста, вы можете расположить ее справа от большего блока. Споры о том, где лучше расположить меню - справа или слева - возникают с тех пор, как появился первый web-документ, однако вам я советую довериться своей интуиции. И еще раз задуматься о целях вашего проекта и о его целевой аудитории. И даже спросить у ваших потенциальных посетителей.


Отлично. Вы определились с модульной сеткой и готовы начать рисовать? Нет, рано.


Каждый сайт имеет название. Это может быть название фирмы (сайт Adobe - http://www.adobe.com), или фамилия автора (Авторский сайт Алексея Петюшкина - http://www.alpet.spb.ru), или просто название проекта (webmascon - http://www.webmascon.com).


Есть ли необходимость в разработке логотипа проекта? В случае фирмы, даже небольшой, считается правильным представлять логотип - графический символ; в случае же авторского проекта, возможно, будет достаточно наличия вашей уникальной и всем известной фамилии (никнейма).


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


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



источник: www.nundesign.com

воскресенье, 23 сентября 2007 г.

Кто здесь?

Создание сайта

Как я упоминал в прошлом посте, я занимаюсь написанием сайта, пока только одного :) но надеюсь вдальнейшем заказчиков станет больше,
 нужно только их поискать )

Так вот, хотел бы поделиться своим опытом на этом поприще...
Первое, о чём нужно подумать- это разбираетесь ли Вы в программировании, есть ли у Вас опыт, знакомились ли с компьютерной графикой, HTML и WEB технологиями более менее подробно. Если нет, то лучше обратиться к профессионалам Т.к. когда я взялся за эту работу я переоценил свои возможности и чуть было не подавился тем куском, который думал проглочу одним махом. Хотя я неплохо создаю алгоритмы прграмм, тут всё оказалось иначе и появилось множество нюансов, т.к. HTML это не язык программирования, а только разметка страниц, их структура.
 
Изначально я наметил приблизительную структуру сайта и решил сделать его на фреймах(для незнающих: страница разбивается на несколько областей, данные для которых загружаются из других страниц) для создания меню, но оказалось что такая структура совсем не подходит,
т.к. сайт корёжило и кривило в зависимости от объёма подгружаемых страниц.
В итоге пришлось всё переделывать... Про HTML мона пачитаць  тут

Второе: обговорить с заказчиком(если Вы делаете для кого-то) ВСЕ нюансы, всё что должно быть на сайте и как выглядеть, а лучше составить техническое задание(хоть это и гемор, но оно спасёт от куда большего гемора впоследствии, когда тебе говорят что вот нужно ещё добавить это и это, а меню сделать выпадающим, например, а для этого нужно полностью переделывать то что ты уже создал! и если не знаешь как сделать- читать кучу инфы и тратить драгоценное время)


Третье: на основе диалога с "хазяинам":), разработать структуру и подобрать цветовую гамму более подходящую для создаваемого сайта. Лучше нарисовать это всё в Photoshop'е, так Вы увидите как сочетаются Ваши цвета, размеры блоков, а уж потом написать HTML-файл страницы(для наглядности ставьте атрибут border="1" в ваших таблицах и div'ах).


Далее разбить сайт на блоки(например, шапка, меню, содержание, footer (шапка только снизу :) ) Вопрос: для чего? Отвечаю: если сайт будет хотя бы на страниц 10, то если Вы их сделали цельными(все блоки как одна цельная страница), то для внесения изменения, например в шапку, вам придётся
 это выполнить 10 раз! а если больше?...

Затем разбитые области помещаем в отдельные файлы.

Например, из эскизной таблицы 
вырезаем кусок кода, который создаёт шапку и вставляем
 в новый файл. 
Сохраняем как header.php (только не пугайтесь:) ), а на место где был этот кусок(в главной странице)вставляем строчку <_?php require('header.php');?>(только без _ ).
 
Закачиваем на хост шапку и страницы в которых проделана данная операция(но с расширением .php) и вуаля- страницы выглядят как раньше, но изменение шапки (файла header.php) приводят к одновременному изменению всех страниц :) .

Также для избавления от ненужного мартышкиного труда, связанного с изменениями вида текста(размер, шрифт, цвет и т.д.) используйте CSS(каскадная таблица стилей) пачитаць можна деся. И не пугайтесь незнакомых страшных слов, букв и названий. Лучше потратить день-два на прочтение книги и усвоению новых технологий, чем тупо потратить 3 дня чтобы поменять размер шрифтов на ваших страницах и выровнять текст.
Далее нам нужно меню навигации по сайту. Можно его сделать простеньким, в виде обычных строк- ссылок пунктов меню, а можно и написать на JavaScript и у Вас будет всё выезжать, переливаться и подсвечиваться :). Но с нуля писать меню дело неблагодарное, нужно сначала изучить что такое это JavaScript, а потом ещё и написать меню и чтоб оно правилонь работало. Поэтому мы пойдём другим путём). Есть множество программ для автоматического создания меню. Я, например, использовал Sothink DHTML Menu 7.3.70329. (скачать можно тута )
Итак структура разработана, меню создано теперь осталось забить сайт содержимым, но об этом в другой раз, пока писал что-то мне поплахело, пойду за градусником и малиной..


Критика и комментарии приветствуются )

суббота, 22 сентября 2007 г.

Лень VS Сознательность

Лень... Какая всё-таки это коварная штука, иногда даже кажется что это живое существо, которое живёт внутри тебя как паразат, а условием её успешной жизнедеятельности является полное отсутствие твоей активной деятельности ) Причём она развивается, у неё появляются всё новые и новые способы борьбы за существование! когда она ещё маленькая, она только сеет зерно сомнения, стоит ли тебе напрягаться, чтобы выполнить какую-нибудь работу, или полежать на диване и посмотреть какой-нибудь интересный фильм, поперебирать струны гитары.. Но когда лень подростает, у неё появляются всё новые и новые возможности:
1) Она может устанавливать контакт с другими ленями окружающих тебя людей и создавать целую беспроводную сеть с моментальной передачей информации.
Стоит кому-нибудь предложить сократить рабочий день и уйти домой пораньше- всё! Пропадает всякое желание работать, и ты уже хочешь одного: пойти домой.
 2) Лень получает доступ к физиологическим процессам твоего организма, особенно к функциям сна. Пример:
писал я как-то сайт, долго писал... И вот нужно было выполнить очередной этап работы. Вечером сажусь за свой комп с ясным желания разделаться с задачей, но тут же появляется отговорка- нужно сперва почитать новости, что там твориться в мире, как обстоят дела с финансами (мне это было интересно, т.к. моё второе высшее связано с экономикой и нас учили как зарабатывать на бирже, Forex, проводить технический анализ котировок и т.д. оч похоже на лотерею, но если с головой подходить к делу, то можно неплохо обогатиться) и политикой. Так проходит полчаса блуждания по ссылкам новостных сайтов.
Далее лень говорит: слушай, что-то мы устали, нужно как-то развеяться- и ты уже блуждаешь по развлекательным сайтам. Так проходит ещё час. Мысли о том что ты сел за комп чтобы делать дело не возникает впринципе! Затем, подняв себе настроение, хочется им поделиться с друзьями: залазишь в аську, на сайт знакомств. Проходит ещё 2 часа и ты осознаёшь что у тебя уже нерабочее состояние и жутко хочется спать, а ждать пока загрузится Microsoft Visual Studio, да ещё и Photoshop с моим корытом совсем не охота Лень прдлагает альтернативу: сейчас мы ляжем спать, поставим будильник и с утра всё доделаем. Соглашаешься, но перед сном нужно скачать с сетевого сервера фильм, я без фильма на ночь уже не могу заснуть. фильм оказывается интересным и засыпаешь только часа в 3... Сон обрывает какое-то непоняное мерзкое жужжание, с закрытыми глазами нащупываешь телефон и выключаешь будильник... Просыпаешься сам в обед и ужасаешь: скоро ведь на учёбу, а ты ничего не сделал, эх почему не проснулся когда зазвенел будильник?! Лень ехидно хихикает.. Быстро умываешься делаешь чай и садишься за комп, но понимаешь что ещё не проснулся, нужно раскачаться чтобы приступить к дописанию сайта, и залазишь на новостные сайты, потом на сайт знакомств и в аську... Взгляд на часы: о, ужас!! я уже опоздал на полпары! Ладно сейчас бегом собираюсь, а вечером вернусь и точно всё доделаю!
Вечером возвращаешься домой, садишься за комп.. Как я хочу спать.. Хотя по дороге домой был полон сил и желания доделать дело! (лень не стала терять времени и опять вмешалась в твои физиологические процесы и получила доступ к управлению функциями сна).
Тогда начинаешь задумываться: а не отдать ли эту часть работы грамотным людям, которые смогут сами написать часть сайта и заплалить им денег? Тогда в дело вступает ЖАДНОСТЬ.. Но это совсем другая история :)

пятница, 21 сентября 2007 г.

заболел...

Блин, почему когда нужно быть на пике активности постоянно случается какая-нибудь лажа? только начал вливаться в работу, настраиваться на рабочий ритм- как на тебе, заболел. И, как я успел заметить, не один я. половина списка аськи с градусниками... может это новый модифицированный вирус, распространяется по сети и нужно специальный фаерволл ставить?) аа, похоже у меня начинается бред, хотяя.. нет, лучше накупить каких-нибудь таблеток и лечиццо традиционно

Hello World!

ыть! вот и у меня появился дневник :)