Главная » Статьи » из чего состоит сайт... |
римеры примерами, но не у всех хватит творческого мышления, чтобы применить эту информацию. Я этих людей осуждать не вправе, но помочь в состоянии. ейчас мы с вами будем строить сайт на таком же движке как у меня. У нас будет один большой shtml-файл и с помощью конструкции if-elif-else будет отображаться определенная часть файла - так называемая страница. ратко опишу наши будущие действия и основные положения принципов работы движка сайта. (Повторю: возможно, это не самый лучший вариант, но зато я придумал его сам и других не знаю) ользователь может передать скрипту какую-нибудь строку в переменной QUERY_STRING то бы передать скрипту какую-нибудь строку я буду пользоваться методом et (в моей версии апача, либо в моем пути решения этой задачи использовать етод post не получается - не работает.) помощью конструкции if-elif-else можно сравнить переданный скрипту араметр с какой-либо константой указанной в документе. Всё. Начинаем. Делаем меню и передаём параметр скрипту SSI. ожно сделать так: . С явным указанием метода передачи параметров скрипту <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> . Можете влепить её в самое начало странички - вобщем о тонкостях HTMLa я писать не намерен, потому что моя лекция о SSI. В конечном итоге вызов скрипта будет происходить по примерно такому запросу: http://www.zmii.by.ru/index.shtml?page=01 После знака ? в запросе помещаются передаваемые параметры . А можно и обычными ссылками: <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 --> о есть отобразится наша главная страница. от и всё, движок вашего сайта готов. Заключение. При перепечатке рекомендуется ссылаться на меня. Кража будет караться проклятьем, от которго накроется ваш сайт и вообще весь сервак сгорит из-за того, что вы написали в теле сайта какой-нибудь неправильный код... а сервак, как назло был новый и в итоге вам не расплатиться... вобщем, лучше не надо. | |
Категория: из чего состоит сайт... | Добавил: иринка (24.05.2008) | Автор: иринка | |
Просмотров: 455 | Рейтинг: 5.0/1 | |
Всего комментариев: 0 | |
Категории каталога | ||||
---|---|---|---|---|
|
Форма входа |
---|
Поиск |
---|
|
Друзья сайта |
---|
Статистика |
---|
Всего людей на сайтике: 35 гостей: 35 Участников 0 |
Наш опрос |
---|
Мини-чат |
---|