[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - программирование / SSI /

Делаем свой сайт

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

Сейчас мы с вами будем строить сайт на таком же движке как у меня. У нас будет один большой shtml-файл и с помощью конструкции if-elif-else будет отображаться определенная часть файла - так называемая страница.

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

·                                 Пользователь может передать скрипту какую-нибудь строку в переменной
QUERY_STRING

·                                 Что бы передать скрипту какую-нибудь строку я буду пользоваться методом
"get" (в моей версии апача, либо в моем пути решения этой задачи использовать
метод "post" не получается - не работает.)

·                                 C помощью конструкции if-elif-else можно сравнить переданный скрипту
параметр с какой-либо константой указанной в документе.

·                                 Всё. Начинаем.

Делаем меню и передаём параметр скрипту SSI.


Можно сделать так:

1. С явным указанием метода передачи параметров скрипту

<form action="http://www.zmii.by.ru/index.shtml" method="get">
<select name="page">
<option selected value="">
Главная
<option value="00">
Новости
<option value="01">
Содержание
</select>
<input type="submit" value="GO!">
</form>


2. Можете влепить её в самое начало странички - вобщем о тонкостях HTML'a я писать не намерен, потому что моя лекция о SSI. В конечном итоге вызов скрипта будет происходить по примерно такому запросу:

http://www.zmii.by.ru/index.shtml?page=01


После знака "?" в запросе помещаются передаваемые параметры

3. А можно и обычными ссылками:

<a href="http://www.zmii.by.ru/index.shtml?21a">Rap-Кондрат</a>
<a href="http://www.zmii.by.ru/index.shtml?21b">
Ступени</a>
<a href="http://www.zmii.by.ru/index.shtml?21c">
Чебурашки</a>


Вобщем, это ваше право, защищаемое демократией.

Вам кажется, что во втором примере что-то не так? Сейчас я всё поясню. На php при передаче параметра скрипту, все передаваемые данные помещаются в массив и скрипт принимая данные может работать с каждой переданной переменной отдельно... не будем углубляться. Смысл в том, что в SSI переменная query_string - не массив, а протая строка. Поскольку нас итересует только номер страницы (21а например), то писать "page=" во втором случае не обязательно, но никто и не запрещает написать. опять-таки демократия. В первом же случае без "page=" не обойтись - это скажется на функциональности всей формы - она откажется работать.

Тело скрипта.


Пользователь нажал ссылку или кнопку, ваш(или мой) index.shtml перезагрузился и передал сам себе новый параметр, что дальше?

А дальше в теле скрипта следует поместить конструкцию if-elif-else. Вот вам реально работающий пример - строки скопированы из документа, который вы сейчас просматриваете. Используйте её, но когда будете копировать - нигде не убирайте и не добавляйте пробелы - SSI штука чувствительная к ним, и лишний пробел способен привратить всё в банальный комментарий.

<!--#if expr="$QUERY_STRING=/00/"-->
Текст страницы номер 00.
<!--#elif expr="$QUERY_STRING=/01/"-->
Текст страницы номер 01.

<!--#elif expr="$QUERY_STRING=/20/"-->
Текст страницы номер 20.

<!--#else -->
Текст страницы без номера. Я, например, вписал сюда текст главной страницы. Представьте себе такую ситуацию: вы либо что-то изменили, либо произошла какая-то фигня - передан неправильный параметр - то у вас просто загрузится главная страница. Красота!

<!--#endif -->


Если вы вернётесь к описанию if-elif-else то вам станет понятней.
В куске кода

<!--#if expr="$QUERY_STRING=/00/"-->


ищется вхождение подстроки "00"(без кавычек) в строку $QUERY_STRING. Если в $QUERY_STRING содержится искомая подстрока, то будет выполнен (выведен на экран) код обозначенный нами как:

Текст страницы номер 00.


И содержимое shtml-файла до метки

<!--#endif -->


будет пропущено. Если же подстрока "00" не найдена, то начнет выполнятся код:

<!--#if expr="$QUERY_STRING=/01/"-->


... и так далее пока оперетор elif не получит true - сообщение о верности условия - тогда будет выполнен код следующий за эти оператором.

Если же ни одно условие не будет верным то выполнится код следующий за меткой

<!--#else -->


То есть отобразится наша главная страница.

Вот и всё, движок вашего сайта готов.

Заключение.


При перепечатке рекомендуется ссылаться на меня. Кража будет караться проклятьем, от которго накроется ваш сайт и вообще весь сервак сгорит из-за того, что вы написали в теле сайта какой-нибудь неправильный код... а сервак, как назло был новый и в итоге вам не расплатиться... вобщем, лучше не надо.




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - программирование / SSI /

SSI - Server-Side Includes - включения на стороне сервера. Практическое использование SSI. Часть 4
21-04-2010   

А вот как выглядит на самом деле файл, который вы воспринимаете, как обычный HTML документ (он сокращен для удобства восприятия):... подробнее

Кол. просмотров: общее - 2889 сегодня - 0

SSI - Server-Side Includes - включения на стороне сервера. Практическое использование SSI. Часть 3
19-04-2010   

Следующий пример иллюстрирует, как с помощью SSI собираются страницы в Кладовой WebClub.ru. Их особенность заключается в наличии повторяющихся блоков одинаково оформленного текста. Достигается это использованием трех шаблонов... подробнее

Кол. просмотров: общее - 2771 сегодня - 1

SSI - Server-Side Includes - включения на стороне сервера. Практическое использование SSI. Часть 2
19-04-2010   

Теперь приведем пример файла, вставляемого в начало каждого документа сервера http://www.citforum.ru/. Особенностью сервера является то, что каждый раздел имеет свой базовый цвет, и все это создается этим единственным файлом... подробнее

Кол. просмотров: общее - 2613 сегодня - 1

SSI - Server-Side Includes - включения на стороне сервера. Практическое использование SSI
19-04-2010   

Первым распространенным применением SSI является внедрение в документ некоего динамического куска разметки... подробнее

Кол. просмотров: общее - 2791 сегодня - 0




  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects