Создание динамического веб-сайта с использованием ПХП (часть первая).
В этой статье я опишу один из способов создания простейшего сайта с использованием скриптового языка программирования PHP. В чём же преимущество этого способа перед обыкновенным созданием статических ХТМЛ страниц? А вот в чём:
ХТМЛ
В ХТМЛ страницах есть много элементов, которые одинаковы на всех страницах. Например, "шапка"(хедер) и низ(футер), а также пункты меню и т.д. Поэтому при увеличении количества статических ХТМЛ страниц, соответственно, в каждой из них нужно копировать повторяющиеся элементы, что затрудняет и увеличивает расход времени на внесение изменений в какой-нибудь из повторяющихся элементов, потому что эти изменения надо вносить во все имеющиеся статические страницы.
PHP
В PHP для этого можно просто отделить все повторяющиеся элементы дизайна в отдельные файлы, что существенно облегчает редактирование и внесение изменений, ведь придётся отредактировать нужный элемент дизайна всего один раз!
Для начала сделаем простенький HTML код для того, чтобы продемонстрировать то, что описано выше.
index.html
Код: (html)
<html>
<head>
<meta http-equiv="Content type" content="text/html; charset=windows-1251">
<title>::: PHP Site :::</title>
</head>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#EFEFEF">
<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr> <td width="100%" align="center" colspan="2">LOGO + BANNER</td> </tr>
<tr>
<td width="40%" align="center" valign="top">MENU </td>
<td width="60%" align="center" valign="top">'DATA'</td>
</tr>
<tr> <td width="100%" align="center" valign="middle" colspan="2">FOOTER</td> </tr>
</table>
</body>
</html>
А теперь отделим редко изменяющиеся части дизайна в отдельные PHP файлы :
так как часть "шапка" в нашем случае не изменяется, то и вынесем её в отдельный файл также.
shapka.php
Код: (html)
<html>
<head>
<meta http-equiv="Content type" content="text/html; charset=windows-1251">
<title>::: PHP Site :::</title>
</head>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" bgcolor="#EFEFEF">
header.php
Код: (php)
<?php
print "LOGO + BANNER";
?>
menu.php
Код: (php)
<?php
print "MENU";
?>
data.php
Код: (php)
<?php
print "DATA";
?>
footer.php
Код: (php)
<?php
print "FOOTER";
?>
Далее, соответственно, переименуем наш index.html в index.php и перепишем так:
Код: (html)
<?php require_once("shapka.php"); ?>
<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr> <td width="100%" align="center" colspan="2"><?php require_once("header.php"); ?></td> </tr>
<tr>
<td width="40%" align="center" valign="top"><?php require_once("menu.php"); ?></td>
<td width="60%" align="center" valign="top"><?php require_once("data.php"); ?></td>
</tr>
<tr> <td width="100%" align="center" valign="middle" colspan="2"><?php require_once("footer.php"); ?> </td> </tr>
</table>
</body>
</html>
В итоге получаем то, что и требовалось. Если надо изменить какой-то пункт меню, то изменяем его ОДИН раз в файле menu.php, соответственно? то же самое и с другими файлами.
Так в чём же всё-таки динамичность? А вот в чём: теперь, если нам нужно выводить в части DATA различную информацию, то нам не надо заново создавать новый файл с полностью тем же дизайном, что и был. Теперь нас волнует только изменяющаяся часть. Для этого сделаем простенький "движок", который и даст нам "динамичность".
Отредактируем файл menu.php и добавим туда несколько пунктов меню:
menu.php
Код: (html)
<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr>
<td width="100%" bgcolor="#FFFFFF">
<a href="index.php?action=about">О Нас</a>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF">
<a href="index.php?action=contacts">Контакты</a>
</td>
</tr>
</table>
Поясню запись: index.php?action=contacts. Здесь action и будет нашей переменной, по значению которой мы и будем определять, какие данные выводить в раздел DATA.
Теперь соответственно перепишем файл data.php так, чтобы по нажатию на нужный пункт меню выводились нужные данные :
data.php
Код: (php)
<?php
switch($_GET['action']) { //получаем значение переменной action
case "about" :
require_once("about.php"); // выводим данные О Нас
break;
case "contacts" :
require_once("contacts.php"); // выводим данные Контакты
break;
default : // если значение переменной action не указано, либо её не существует, либо нет искомого значения
print "Данных нет";
break;
}
?>
Теперь осталось создать файлы about.php и contacts.php с соответствующими данными.
about.php
Код:
<?php
print "Здесь содержатся данные О Нас!";
?>
contacts.php
Код:
<?php
print "Здесь содержатся данные Контакты!";
?>
Ну вот, мы и создали простейший динамический сайт на PHP. В следующей статье я покажу, как это всё связать с базой данных MySQL для ещё большей автоматизации вывода данных.
P.S. Из-за проблем с HTML кодом я добавил пробел перед открывающей скобкой < и закрывающей > в HTML тегах.
Мороз
Information
- Posted on 31.01.2010 22:13
- Просмотры: 1160