Виртуальный Брест
Главная Портал Форум Рассылки Контакт Для клиентов Статьи

 
Огромный ассортимент товаров
Огромный ассортимент товаров
 
Магазин интимных товаров
Магазин интимных товаров
 

Виртуальный хостинг - дом для вашего сайта - лучшее предложение в Бресте!


Полный список глав книги

Динамические страницы


Достаточно часто встречаются сайты, ссылки которых включают в себя специальные символы - &, ?, %. Все это может быть и результатом работы РНР, хотя совсем не обязательно. Точнее – данными для него. Дело в том, что если в конце ссылки добавить «адрес ссылки?имя=значение», это значение будет доступно под этим же именем в файле, не который указывает ссылка.

На пальцах это вот как выглядит: http://name.com/index.phtml?lex=7 Ссылка указывает на файл index.phtml. Но если не нее щелкнуть, файл будет запущен на сервере с инициализированной (установленной) переменной PHP $lex со значением 7. Этот прием позволяет легко передать программе нужные данные. Метод такой передачи называется GET. Еще есть, например, метод POST, но о нем ниже.

Если необходимо добавить несколько имен, они могут быть разделены знаком «&». Теперь мы можем сделать сайт, который будет доступен с помощью только одной странички. А всю остальную информацию эта страничка будет выводить на основании полученных по ссылке данных.

Выглядеть такая ссылка может так: http://имя/index.phtml?link=1 Единица в конце ссылки и есть наш параметр, который будет подставляться в файле index.phtml. Например, вот так:

<html>

…начало файла …

<?php

$url = “”;

if ($link == 1) { $url = “name1.phtml”; }

if ($link == 2) { $url = “name2.phtml”; }

if ($link == 3) { $url = “name3.phtml”; }

if ($link == 4) { $url = “name4.phtml”; }

if ($url == “”) { $url = “error.phtml”; }

INCLUDE ($url);

?>

… конец файла …

</html>

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

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

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

А вот тоже самое, только немного более хитрым способом.

<html>

…начало файла …

<?php

INCLUDE (“name”.$link. “.phtml”);

?>

… конец файла …

</html>

Результат работы абсолютно идентичен первому скрипту, за исключением того, что страничка с сообщением об ошибке у нас теперь стала именоваться просто name.phtml. Вот так просто может быть решена тривиальная задача по дизайну.

Есть и другой путь. Его суть заключается в том, что у РНР есть доступ к так называемым переменным окружения сервера. Одна из этих переменных – запрашиваемый посетителем путь относительно адреса сайта. И этот путь становится нам доступен для использования.

В этом случае ссылки у нас будут такого вида: http://имя/index.phtml?patch/name.phtml. Вторая часть ссылки - patch/name.phtml будет нам доступна, если мы считаем параметр $QUERY_STRING. Например, так:

 $add = $QUERY_STRING.

Теперь, изменим наш головной файл index.phtml так, чтобы все работало автоматически. А если запрашиваемый параметр не будет указан (правильно говоря – будет равен пустой строке), чтобы что-то открыть, присвоим переменной $add имя файла, который должен быть открыт как главная страничка. Пусть это будет файл main.phtml. Тогда код будет выглядеть следующим образом:

<html>

…начало файла …

<?php

$add = $QUERY_STRING;

if ($add == “”) { $add = “main.phtml”; }

INCLUDE ($url);

?>

… конец файла …

</html>

Вот Вам и живой пример оптимизации. Строчку кода if ($add == “”) { $add = “main.phtml”; } можно (и нужно) писать так: if (!$add) { $add = “main.phtml”; } Восклицательный знак перед именем переменной указывает на ее ложь. Другими словами – переменная равна пустой строке. Таким образом, смысл кода остается прежним, а написание и удобочитаемость значительно улучшаются.

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

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

Читать еще...



Алексис Голдстайн, Луис Лазарис, Эстель Уэйл

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

К. Шмитт

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

Брайан Хоган, М. Уэбер, К. Уоррен, К. Джонсон, А. Годин

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

Джон Дакетт

Основы веб-программирования с использованием HTML, XHTLM и CSS
Существуют три основные технологии, обеспечивающие работу всех сайтов на клиентской стороне. Это HTML (XHTML), CSS и JavaScript. Рассматривать любую из них отдельно от других...

    Информация

Главная - переход на начало
Тарифы на Российский хостинг
Правила - что можно а что нет
Заказ - сделайте это сейчас
Выбор домена - найди свое имя
Регистрация домена - купить
Оплата - варианты для всех
Панель управления Россия
Панель управления Беларусь
Вопросы и ответы - информация
Разработка сайтов - сопровождение
Виртуальный Брест - портал
Контакт - обратная связь
Наш форум - пообщаемся?

Список доменов
в которых доступна бесплатная регистрация имен при покупке хостинга, а так же открытие поч- тового ящика:

Новости Бреста:

Второй порыв теплосетей в Бресте - двенадцать многоэтажных домов и один детский сад остались без тепла
Почти тонну мёда задержали налоговики при проверке в Бресте
Зарплата в конвертах в Бресте - видео
Трое жителей Кавказа в "поисках работы" забрались прямо в лес в пограничную зону
Профилактика квартирных краж - важно
Современный животноводческий комплекс на 1500 голов строится в СПК "Королевский" Кобринского района - фото
Результаты проходящей на территории Брестской области акции "Не упусти свой шанс"
Осенний месячник по наведению порядка на земле проходит на Брестчине - важно
В Лунинецком районе в водоеме нашли автомобиль с телом внутри
ГАИ: брестчанин решил стать маршрутчиком и в пьяном состоянии вез горожан

© Виртуальный Брест 2001 - 2009 Автор проекта: Андрей Кухарчик Дизайн: Partgraphic