Copyright
2000 PHPRecipes. All rights reserved.
contact |
your
privacy
На рис. 9.1
показано, как полученная страница выглядит
в браузере. Хотя я обычно не пользуюсь
рамками таблиц, на этот раз я их вывел, чтобы
на рисунке более наглядно выделялись три
части страницы.
Рис. 9.1.
Внешний
вид страницы, построенной в листинге 9.8
Оптимизация шаблонов
Во втором (на
мой взгляд, более предпочтительном)
варианте шаблоны оформляются в виде
функций, находящихся в отдельном файле. Тем
самым обеспечивается дополнительное
структурирование ваших шаблонов. Я называю
этот файл инициализационным файлом и храню
в нем другую полезную информацию. Поскольку
мы уже рассмотрели относительно длинные
примеры заголовка и колонтитула,
содержимое листингов 9.10 и 9.11 было слегка
сокращено для наглядной демонстрации новой
идеи.
Листинг
9.10.
Оптимизированный
шаблон сайта (site_init.tpl)
// Файл:
site_init.tpl
// Назначение:
инициализационный файл PhpRecipes
$site_name = "PHPRecipes";
$site_email = "[email protected]";
$site_path = "http://localhost/phprecipes/";
function show_header($site_name)
{
print $site_name: ?>
This is the header
function show footer ()
This Is the footer
Листинг
9.11.
Применение
инициализационного файла
// Включить
инициализационный файл
include("site_init.tpl");
// Вывести
заголовок
show header ($site_name);
// Содержимое
основной части This is some body information
// Вывести
колонтитул Show_footer();
Проект: генератор страниц
Хотя в
большинстве созданных мною web-сайтов
основное содержимое страниц формировалось
на основании информации, прочитанной из
базы данных, всегда найдется несколько
страниц, которые практически не изменяются.
В частности, на них могут выводиться
сведения о команде разработчиков,
контактные данные, реклама и т. д. Я обычно
храню эту «статическую» информацию в
отдельной папке и использую сценарий PHP
для ее загрузки при поступлении запроса.
Конечно, у вас возникает вопрос -- если это
статическая информация, для чего нужен
сценарий PHP? Почему бы не загружать
обычные страницы HTML? Преимущество PHP
заключается в том, что вы можете
использовать шаблоны и вставлять
статические фрагменты по мере
необходимости.
<а href =
"=$site_path:?>/static.php?content=$content">Static Page
Name
Начнем с
создания статических страниц. Для простоты
я ограничусь тремя страницами, содержащими
информацию о сайте (листинг 9.12), рекламу (листинг
9.13) и контактные данные (листинг 9.14).
Листинг
9.12.
Информация
о сайте (about.html)
About
PHPRecipes
What programmer doesn"t
mix all night programming with gourmet cookies. Here at PHPRecipes. hardly a
night goes by without one of our coders
mixing a little bit of HTML with a tasty
plate of Portobello Mushrooms or even Fondue. So we decided to bring you the
best of what we love most: PHP and food!
That"s right, readers.
Tutorials, scripts, souffles and more. 0nly at PHPRecipes.
Advertising
Information
Regardless of whether
they come to learn the latest PHP techniques or for brushing up on how
to bake chicken, you
can bet our readers are decision makers. They are the Industry
professionals who make
decisions about what their company purchases.
For advertising
information, contact
">[email protected] .
Листинг
9.14.
Контактные
данные (contact.html)
Contact Us
Have a coding tip?
Know the perfect topping for candied yams?
Let us know! Contact the team at [email protected].
Переходим к
построению страницы static.php, которая выводит
запрашиваемую статическую информацию. В
этот файл (см. листинг 9.15) включаются
компоненты страниц нашего сайта и
инициализационный файл site_init.tpl.
Листинг
9.15.
Общий
вывод статических страниц (static.php)
// Файл: static.php
// Назначение:
отображение запрашиваемых статических
страниц.
// ВНИМАНИЕ: предполагается, что
файл "site_init.tpl" и все
// статические
файлы находятся в том же каталоге.
// Загрузить
функции и переменные include("site_init.tpl"):
// Вывести
заголовок show_header($site_name);
// Вывести
запрашиваемое содержание include("$content.html"):
// Вывести
колонтитул show footer();
Теперь все
готово к построению основного сценария.
Просто включите в страницу
<а href = "static.php?content=about">Static
Page Name
Advertising
Information
Contact
Us
Если
щелкнуть на любой из этих ссылок, в браузере
загружается соответствующая статическая
страница, внедренная в static.php!
Итоги
В этой главе
вы познакомились с первоочередной задачей,
для решения которой и создавался PHP, --
динамическим построением web-страниц. Были
рассмотрены следующие вопросы:
- обработка URL;
- построение
динамического содержания;
- включение и
построение базовых шаблонов.
Глава
завершается генератором страниц --
программой, которая загружает статические
страницы в шаблон и позволяет легко
организовать поддержку большого
количества статических страниц HTML.
Следующая
глава посвящена использованию PHP в
сочетании с формами HTML, заметно повышающими
степень интерактивности вашего сайта. А
потом -- взаимодействие с базами данных! Вам
предстоит узнать много интересного.
Здравствуйте! Сейчас мы попробуем реализовать самую простую регистрацию на сайте с помощью PHP + MySQL. Для этого на вашем компьютере должен быть установлен Apache. Принцип работы нашего скрипта изображен ниже.
1. Начнем с создания таблички users в базе
. Она будет содержать данные пользователя (логин и пароль). Зайдем в phpmyadmin (если вы создаете базу на своем ПК http://localhost/phpmyadmin/
). Создаем таблицу users
, в ней будет 3 поля. Я создаю ее в базе mysql, вы можете создавать в другой базе. Далее устанавливаем значения, как на рисунке: 2. Необходимо соединение с этой таблицей.
Давайте создадим файл bd.php
. Его содержание:
$db = mysql_connect ("ваш MySQL сервер","логин к этому серверу","пароль к этому серверу"); mysql_select_db ("имя базы, к которой подключаемся",$db); ?>
В моем случае это выглядит так:
$db = mysql_connect ("localhost","user","1234"); mysql_select_db ("mysql",$db); ?>
Сохраняем bd.php
. Отлично! У нас есть таблица в базе, соединение к ней. Теперь можно приступать к созданию странички, на которой пользователи будут оставлять свои данные.
3. Создаем файл reg.php с содержанием (все комментарии внутри):
Регистрация Регистрация
4. Создаем файл
, который будет заносить данные в базу и сохранять пользователя. save_user.php
(комментарии внутри):
{ } //если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе // проверка на существование пользователя с таким же логином $result = mysql_query("SELECT id FROM users WHERE login="$login"",$db); if (!empty($myrow["id"])) { exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); } // если такого нет, то сохраняем данные $result2 = mysql_query ("INSERT INTO users (login,password) VALUES("$login","$password")"); // Проверяем, есть ли ошибки if ($result2=="TRUE") { echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. Главная страница"; } else { echo "Ошибка! Вы не зарегистрированы."; } ?>
5. Теперь наши пользователи могут регистрироваться!
Далее необходимо сделать "дверь" для входа на сайт уже зарегистрированным пользователям. index.php
(комментарии внутри) :
// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! session_start(); ?> Главная страница Главная страница
// Проверяем, пусты ли переменные логина и id пользователя if (empty($_SESSION["login"]) or empty($_SESSION["id"])) { // Если пусты, то мы не выводим ссылку echo "Вы вошли на сайт, как гость Эта ссылка доступна только зарегистрированным пользователям"; } else {В файле index.php
мы выведем ссылочку, которая будет открыта только для зарегистрированных пользователей. В этом и заключается вся суть скрипта - ограничить доступ к каким-либо данным.
6. Остался файл с проверкой введенного логина и пароля. testreg.php (комментарии внутри):
session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! if (isset($_POST["login"])) { $login = $_POST["login"]; if ($login == "") { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST["password"])) { $password=$_POST["password"]; if ($password =="") { unset($password);} } //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь $result = mysql_query("SELECT * FROM users WHERE login="$login"",$db); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result); if (empty($myrow["password"])) { //если пользователя с введенным логином не существует } else { //если существует, то сверяем пароли if ($myrow["password"]==$password) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $_SESSION["login"]=$myrow["login"]; $_SESSION["id"]=$myrow["id"];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь echo "Вы успешно вошли на сайт! Главная страница"; } else { //если пароли не сошлись Exit ("Извините, введённый вами login или пароль неверный."); } } ?>
Ну вот и все! Может урок и скучный, но очень полезный. Здесь показана только идея регистрации, далее Вы можете усовершенствовать ее: добавить защиту, оформление, поля с данными, загрузку аватаров, выход из аккаунта (для этого просто уничтожить переменные из сессии функцией unset
) и так далее. Удачи!
Все проверил, работает исправно!
На прошлом уроке мы разобрались из каких блоков будет состоять шаблон trip
, поэтому можно приступать к работе. Для начала создадим две папки:
images
- эта папка будет содержать любые графические файлы, используемые для оформления шаблона. Т.к. у нас нет еще никаких дизайнерских наработок, то киньте в эту папку один любой графический файл, иначе Joomla не установит шаблон и будет выдавать ошибку в том случае если папка будет пустой.
ВНИМАНИЕ: В папке images шаблона не размещается графика контента!
css
- эта папка будет содержать в себе файлы каскадных таблиц стилей
. Для начала поместим в нее пустой файл template.css, с помощью которого будет осуществляется назначение различных стилей оформления элементам сайта.
Далее можно приступать к созданию самого главного файла index.php
, который будет определять визуальное расположение элементов сайта и сообщать CMS Joomla в какой блок поместить различные компоненты и модули. Файл является комбинацией PHP и HTML. Я всегда при написании кода использую только Macromedia Dreamweaver . Отличная программа, настоятельно советую ее новичкам, т.к. если в процессе работы над кодом вы сделали ошибку, программа обязательно подсветит ваш косяк.
На сайте вы найдете самоучитель по Macromedia Dreamweaver . Если вы собираетесь заниматься разработкой сайтов, то программку эту стоит освоить, хотя бы на начальном уровне, чтобы редактировать коды шаблонов без ошибок. Позиционирование элементов (блоков) страницы производится при помощи кода HTML, конкретно мы будем использовать теги DIV. Но так, как сайт наш будет работать на движке Joomla, т.е. он будет динамическим, то придется использовать еще и язык PHP. С его помощью мы определим в каких блоках будут находится позиции для вывода модулей, и как эти позиции будут называться, будут ли сворачиваться блоки или нет. Подключим таблицы стилей из внешних файлов, язык контента, установим, как будет меняться размер сайта и пр. index.phpЗаголовок файла
Заголовок файла состоит из нескольких частей. Первая часть кода PHP заголовка предназначена для того, чтобы убедиться, что к файлу не обращаются напрямую, из соображений безопасности.
<
?php defined
("_JEXEC"
)
or die
; JHtml::_("behavior.framework"
, true
)
; $app
=
JFactory::getApplication()
; ?>
<
?php echo
"<
?"
; ?>
xml version=
"1.0"
encoding=
"<
?php echo
$this
-
>
_charset ?>
"
?>
DOCTYPE – это очень важный параметр, на основании которого браузер решает, как ему отображать эту страницу и как интерпретировать CSS. <
!
DOCTYPE html PUBLIC "-
/
/
W3C/
/
DTD XHTML 1.0 Strict/
/
EN"
"http:/
/
www.w3.org/
TR/
xhtml1/
DTD/
xhtml1-
strict.dtd"
>
Следующий фрагмент извлекает установленный язык из глобальной конфигурации.
<
html xmlns=
"http:/
/
www.w3.org/
1999/
xhtml"
xml:lang=
"<
?php echo
$this
-
>
language; ?>
"
lang=
"<
?php echo
$this
-
>
language; ?>
"
dir
=
"<
?php echo
$this
-
>
direction; ?>
"
>
Далее идет фрагмент кода, который включает дополнительную информацию для заголовка, которая задана в глобальной конфигурации. Эту информацию вы можете увидеть посмотрев исходный код любой веб-страницы. В частности – это мета-теги, о которых вы уже знаете.
<
head>
<
jdoc:include
type=
"head"
/
>
Следующие строки в заголовке содержат ссылки на основные CSS стили Joomla.
<
link
rel=
"stylesheet"
href=
"<
?php echo
$this
-
>
baseurl ?>
/
templates/
system
/
css/
system
.css"
type=
"text/
css"
/
>
<
link
rel=
"stylesheet"
href=
"<
?php echo
$this
-
>
baseurl ?>
/
templates/
system
/
css/
general.css"
type=
"text/
css"
/
>
Чтобы задействовать стили оформления шаблона, делаем ссылку на файл, содержащий каскадные таблицы стилей template.css, который лежит в папке CSS . Не важно, что этот файл пока пустой, главное его подключить, оформлением займемся потом, когда инсталлируем шаблон на Joomla. Так будет проще наблюдать за результатом.
<
link
rel=
"stylesheet"
href=
"<
?php echo
$this
-
>
baseurl ?>
/
templates/
<
?php echo
$this
-
>
template ?>
/
css/
template.css"
type=
"text/
css"
/
>
Следующий фрагмент кода позволяет нам сворачивать левую или правую колонки, если в позициях «left» и « right» не расположено ни одного модуля. В случае если свернуты обе колонки, то контент занимает 100% ширины страницы. Если включена только одна колонка, то контент занимает 80%. При двух включенных колонках на контент приходится 60% ширины страницы.
<
?php if
($this
-
>
countModules("left and right"
)
=
=
0)
$contentwidth
=
"100"
; if
($this
-
>
countModules("left or right"
)
=
=
1)
$contentwidth
=
"80"
; if
($this
-
>
countModules("left and right"
)
=
=
1)
$contentwidth
=
"60"
; ?>
Заголовок закрывается
<
/
head>
<
body>
Блок «page» содержит оформление только страницы сайта, именно она и будет шириной 950рх.
<
div id=
"page"
>
Блок "top" находится в самом верху страницы и содержит в себе два блока "logo " и "user1".
<
div id=
"top"
>
В боке «logo»
мы разместим графический файл логотипа, это будет прописано в таблицах стилей. А вот автоматический вывод названия сайта прописываем в файле index.php, причем название помещаем в тег H1, что очень важно для поисковой оптимизации.
<
div id=
"logo"
>
<
h1>
<
?php echo
$app
-
>
getCfg("sitename"
)
; ?>
<
/
h1>
<
/
div>
Определим позицию «user1»
в одноименном блоке для вывода модуля поиска по сайту.
<
div id=
"user1"
>
<
jdoc:include
type=
"modules"
name=
"user1"
style=
"xhtml"
/
>
<
/
div>
<
/
div>
<
!
-
-
конец блока top -
-
>
Вывод модуля горизонтального меню в блоке «user2»
в позиции «user2»
. Блок будет сворачиваться, если в этой позиции не будет модуля.
<
?php if
($this
-
>
countModules("user2"
)
)
: ?>
<
div id=
"user2 "
>
<
jdoc:include
type=
"modules"
name=
"user2"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Дальше идет блок шапки сайта «header»
. В нем мы определим позицию «header»
для вывода модулей. Блок будет сворачиваться, если в этой позиции не будет модуля. Я намеренно расширила возможности этого блока, чтобы иметь возможность разместить в нем не только картинку шапки, но и ротаторы изображений.
<
?php if
($this
-
>
countModules("header
"
)
)
: ?>
<
div id=
"header
"
>
<
jdoc:include
type=
"modules"
name=
"header
"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
В блоке «user3»
определим позицию «user3»
для вывода модулей.
Блок будет сворачиваться, если в этой позиции «user3» не будет выводится модуль.
<
?php if
($this
-
>
countModules("user3"
)
)
: ?>
<
div id=
"user3"
>
<
jdoc:include
type=
"modules"
name=
"user3"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Открывается блок левой колонки, которая будет сворачиваться, если в позиции «left»
не будет ни одного модуля.
<
?php if
($this
-
>
countModules("left"
)
)
: ?>
<
div id=
"left"
>
<
jdoc:include
type=
"modules"
name=
"left"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Открывается самый важный блок контента, который может занимать 100% ширины страницы, 80% и 60%, в зависимости от количества включенных колонок.
<
div id=
"content<
?php echo
$contentwidth
; ?>
"
>
Вывод сообщений в компонентах
<
jdoc:include
type=
"message"
/
>
Вывод содержимого контента.
<
jdoc:include
type=
"component"
style=
"xhtml"
/
>
<
/
div>
<
!
-
-
конец блока контента-
-
>
Открывается блок правой колонки, которая будет сворачиваться, если в позиции «rigth»
не будет ни одного модуля.
<
?php if
($this
-
>
countModules("right"
)
)
: ?>
<
div id=
"rigth"
>
<
jdoc:include
type=
"modules"
name=
"right"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Вывод блока «footer»
, предназначенного для вывода модуля «HTML код» с информацией об авторских правах. Можно также разместить здесь нижнее горизонтальное меню или модуль представления контента. Блок будет сворачиваться, если в этой позиции «footer»
не будет выводится не один модуль
<
?php if
($this
-
>
countModules("footer"
)
)
: ?>
<
div id=
"footer"
>
<
jdoc:include
type=
"modules"
name=
"footer"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Закрываются блок страницы сайта «page», body и весь код.
<
/
div>
<
!
-
-
конец блока page-
-
>
<
/
body>
<
!
-
-
конец блока body -
-
>
<
/
html>
<
!
-
-
конец кода-
-
>
Мы создали полноценный файл index.php
. Теперь вы знаете, при помощи каких команд, и в какой последовательности выводятся блоки шаблона. ВНИМАНИЕ: Для того, чтобы код шаблона читался из админпанели joomla, то файл index.php необходимо открыть в редакторе AkelPad и сохранить в кодировке UTF-8, при этом снять галочку BOM. Если вы использовали для работы с файлом программу Macromedia Dreamweaver , то необходимо в вернем меню выбрать пункт "Изменить" > "Свойства страницы" и выбрать кодировку документа Юникод (utf-8), при этом снять галочку "включить сигнатуры юникода (ВОМ)". Однако настоятельно не советую вам редактировать код из админки Joomla, если, что-то накосячите - обратной дороги нет, в отличии от программы Macromedia Dreamweaver
, где всегда можно отменить сделанные изменения. Само оформление блоков будет описано в template.css. Но настраивать таблицы стилей мы будем после инсталляции шаблона на Joomla 3 (joomla 2.5), а для этого необходимо создать
Создайте файл с именем hello.php в корневом каталоге веб-сервера
(DOCUMENT_ROOT) и запишите в него следующее:
Пример #1 Первый скрипт на PHP: hello.php
Тестируем PHP "Привет, мир! "
;
?>
Откройте данный файл в браузере, набрав имя вашего веб-сервера и
/hello.php
. При локальной разработке эта ссылка
может быть чем-то вроде http://localhost/hello.php
или http://127.0.0.1/hello.php
, но это зависит от
настроек вашего сервера. Если все настроено правильно, этот файл
будет обработан PHP и браузер выведет следующий текст:
PHP Test
Hello World
Эта программа чрезвычайно проста, и для создания настолько простой
странички даже необязательно использовать PHP. Все, что она делает,
это вывод Hello World
, используя инструкцию
PHP echo
. Заметьте, что файл не обязан быть
выполняемым
или еще как-то отличаться от других файлов.
Сервер знает, что этот файл должен быть обработан PHP, так как файл обладает
расширением ".php", о котором в настройках сервера сказано, что подобные
файлы должны передаваться PHP. Рассматривайте его как обычный HTML-файл,
которому посчастливилось заполучить набор специальных тегов (доступных также и вам),
способных на кучу интересных вещей.
Если у вас этот пример не отображает ничего или выводит окно загрузки,
или если вы видите весь этот файл в текстовом виде, то, скорее всего,
ваш веб-сервер не имеет поддержки PHP или был сконфигурирован неправильно.
Попросите вашего администратора сервера включить такую поддержку.
Предложите ему инструкцию по установке: раздел Установка
данной документации. Если же вы разрабатываете скрипты на PHP дома (локально),
то также прочтите эту главу, чтобы убедиться, что вы все настроили верно.
Убедитесь также, что вы запрашиваете файл у сервера через протокол http.
Если вы просто откроете файл из вашей файловой системы, он не будет
обработан PHP. Если проблемы все же остались, не стесняйтесь попросить
помощи одним из
получения поддержки по PHP.
Цель примера - показать формат специальных тегов PHP. В этом примере
мы использовали в качестве открывающего
тега, затем шли команды PHP, завершающиеся закрывающим тегом
?>
. Таким образом можно где угодно "запрыгивать"
и "выпрыгивать" из режима PHP в HTML файле. Подробнее об этом можно прочесть
в разделе руководства Основной синтаксис .
Замечание
:
Замечание о переводах строк
Переводы строк немногое означают в HTML, однако считается хорошей идеей
поддерживать HTML в удобочитаемом виде, перенося его на новую строку.
PHP автоматически удаляет перевод строки, идущий сразу после закрывающего
тега ?>
. Это может быть чрезвычайно полезно,
если вы используете множество блоков PHP-кода или подключаете PHP-файлы,
которые не должны ничего выводить. В то же время, это может приводить в
недоумение. Можно поставить пробел после закрывающего тега
?>
и тогда пробел будет выведен вместе с переводом строки,
или же вы можете специально добавить перевод строки в последний вызов
echo/print из блока PHP-кода.
Замечание
:
Пара слов о текстовых редакторах
Существует множество текстовых редакторов и интегрированных сред
разработки (IDE), в которых вы можете создавать и редактировать файлы
PHP. Список некоторых редакторов содержится в разделе
» Список редакторов PHP .
Если вы хотите порекомендовать какой-либо редактор, посетите данную
страницу и попросите добавить редактор в список. Использование редактора
с подсветкой синтаксиса может быть очень большим подспорьем в вашей работе.
Замечание
:
Пара слов о текстовых процессорах
Текстовые процессоры (StarOffice Writer, Microsoft Word, Abiword и др.) в большинстве
случаев не подходят для редактирования файлов PHP. Если вы все же хотите использовать
какой-либо из них для тестового скрипта, убедитесь, что сохраняете файл как
простой текст
(plain text), иначе PHP будет не в состоянии
прочесть и запустить ваш скрипт.
Замечание
:
Пара слов о Блокноте Windows
При написании скриптов PHP с использованием встроенного Блокнота Windows необходимо
сохранять файлы с расширением.php . (Блокнот автоматически
добавит расширение.txt , если вы не предпримете указанные ниже
меры.) Когда во время сохранения файла вас попросят указать его имя, введите имя файла
в двойных кавычках (например, " hello.php "). Кроме этого, можно
кликнуть на выпадающее меню "Текстовые документы" в диалоговом окне сохранения
файла и выбрать в нем пункт "Все файлы". После этого можно вводить имя файла без
кавычек.
Теперь, когда вы успешно создали работающий PHP-скрипт, самое время создать самый
знаменитый PHP-скрипт! Вызовите функцию phpinfo()
и вы увидите
множество полезной информации о вашей системе и настройке, такой как доступные
предопределенные переменные ,
загруженные PHP-модули и параметры настройки .
Уделите некоторое время изучению этой важной информации.
Пример #2 Получение информации о системе из PHP
Для решения третьей проблемы хорошо подойдет программа Denwer, которую можно бесплатно установить на Ваш компьютер. Если Вы не в курсе, что это за программа, то советую ознакомиться: как установить Denwer , в этой статье пошагово (для новичков) объяснено как его установить и как пользоваться.
Конечно, есть и другие средства, которые позволяют интерпретировать PHP. Например, Apatch, но он довольно сложен в настройках, а если вы новичок, то начинать с него не советую.
Для того, чтобы приступать к разработке сайта на PHP, Вам нужны начальные знания в HTML. Я уже писал о том, как создать простую страницу HTML . Там описаны все html-теги, без которых создать сайт невозможно. Поэтому настоятельно рекомендую начать изучать сайтостроение с той статьи.
Чем отличается сайт на PHP от голого сайта на HTML?
Сайт на PHP почти ничем не отличается от голого сайта на HTML. Единственное отличие - более гибкая настройка и управление сайта, а также есть возможность автоматизировать множество функций. Приведу простой пример.
Допустим в шапке сайта необходимо изменить буквально одно слово. Если сайт сделан на голом HTML, то необходимо будет открыть каждый html-файл, чтобы внести изменение, а это очень неудобно. Если же шапка сайта сделана на PHP в качестве подключаемого компонента, то изменения нужно будет внести только в одном файле и они автоматом изменятся на всем сайте.
Структура типичного сайта на PHP:
Теперь приведу код шаблона сайта на PHP. Обратите внимание на то, что страницы сделанные с использованием php рекомендуется делать с расширением .php
, хотя это не является обязательным условием. При определенных настройках хостинга файлы с обычным расширением .html
также могут обрабатывать PHP-код.
Код файла index.php
:
Название страницы
...
$_SERVER["DOCUMENT_ROOT"]."/head.php"
;
?>
...
...
$_SERVER["DOCUMENT_ROOT"]."/top.php"
;
?>
...
...
... Основная часть сайта...
...
...
...
Теперь отдельно рассмотрим каждый из подключаемых элементов:
- head.php
- top.php
- sidebar1.php
- sidebar2.php
- footer.php
Обратите внимание, что подключается они через специальную команду PHP:
require_once <полный путь/имя файла>
Каждый файл соответственно отвечает за отдельную часть сайта. Я постарался назвать их максимально информативно и понятно. Сайт может состоять из большего множество таких подключаемых файлов. Рассмотрим по порядку каждый элемент сверху вниз.
2016-05-11
|