May 22

Пример веб-приложения

HTML, JavaScript, PHP, учеба, аффтар: Скакунов Александр 5 Comments »

Итак, рассмотрим пример веб-приложения со следующей функциональностью:

  • показать список товаров
  • подредактировать конкретный товар
  • удалить товар
  • добавить товаров

Исходники (12 Кб)

Для успешной работы приложения на вашей машине надо сделать следующее:

  1. создать базу данных products (удобно через phpMyAdmin)
  2. содержимое файла schema.sql скормить этой базе, в результате чего будет создана одноименная таблица
  3. в файле server.php поправить данные (логин/пароль) для коннекта с базой

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

У кого что не получается - пишите в комменты, будем делиться опытом друг с другом.

P.S. Удобно дампить переменные (смотреть их содержимое) с помощью имеющегося в проекте класса dBug, для этого надо сделать такой вызов:

< ?
new dBug( $var );
?>
May 20

Знакомство с Apache

Apache, аффтар: Родион Быков 16 Comments »

Эта первая из серии “админских” статей-руководств по превращению среднестатистической домашней машины в (W/L)AMP-сервер со всеми вытекающими.

Было бы нелогично начать серию с чего-то другого, нежели c рассказа об Apache.

Что есть Apache ?

Apache (тот, который буква A в сокращении LAMP) - это созданный усилиями open-source сообщества популярный бесплатный web-сервер. Он начинался как проект Национального Центра Суперкомпьютерных Вычислений при университете штата Иллинойс, но в последствии код был значительно переработан и передан под управление Apache Software Foundation, который ныне руководит разработкой. Основной задачей фонд ставит создание бесплатного программного обеспечения для реализации стандартных протоколов использующихся в Интернет. Сами протоколы не принадлежат никакой компании и таким-же должно быть и программное обеспечение, решили в фонде. Успешное начинание продолжает свой путь, и сейчас Apache обслуживает более 10 млн. серверов во всем мире.

Итак, Apache - это универсальный, быстрый, легко расширяемый бесплатный web-сервер, доступный для свободного скачивания и установки практически на любой платформе, как в виде бинарных файлов, так и исходных кодов. Apache реализует современные протоколы Интернет, такие как HTTP/1.1 - то есть, говоря по-русски - на его основе можно создавать веб-сайты, и размещать их в интернет.

Домашняя страница проекта: http://httpd.apache.org/ - там можно не только cкачать свежую версию, но и почерпнуть массу полезной информации.

Версионность

На сегодняшний день (май 2007г.) существует три ветки Apache - 1.3.х, 2.0.x и 2.2.х. Первая и вторая версия на данный момент активно используется на многих серверах и пока не собираются сходить со сцены. Версия 2.2 активно развивается и в скором времени вытеснит предыдущие. Для версий 1.3 и 2.0 сейчас выпускаются только security fixes - то есть заплатки безопасности. Все три версии используют разные подходы к реализации API, поэтому все три требуют разные версии модулей расширений. Важно соблюдать версионность Apache и его модулей чтобы на установку сервера не пришлось вызывать шамана с бубном и оленями.

Установка в среде Windows

Почти наверняка, на вашей домашней машине установлена какая-то из версий ОС Windows. Для установки Apache совершенно не требуется установки Linux или особой версии Windows - подойдет любая. Так как на дворе год 2007, наверняка ваша версия - Windows XP. Для начала надо скачать самому или попросить друга скачать последнюю версию Apache с сайта http://httpd.apache.org (опять же, на сегодня это 2.2.4). Для Windows, Apache распространяется в виде .msi-файла (Windows Installer) - если такового нет на вашей Windows-98 или 2000 машине, придется установить его отдельно (goto microsoft.com). После запуска инсталлера вам нужно лишь нажимать кнопку Next - он сделает все за вас. Единственное что потребуется - указать такие вещи, когда инсталлер спросит:

  1. Network domain - домен сети, может быть что угодно, для домашнего компьютера достаточно сказать “home” или чтото вроде.
  2. Server name - имя вашей машины, вы должны знать его если устанавливали Windows сами. Попробуйте нажать на ярлыке Moй Компьютер правой клавишей мыши и выбрать Свойства. В любом случае, это не имеет решающего значения - пусть имя будет “bombusbee”.
  3. Administrator’s email address - емейл админа. Достаточно написать admin@home
  4. For whom to install Apache - вопрос как установить сервер - как службу Windows - то есть как приложение, постоянно загруженное в память комьютера и работающее “в фоне”, или как обычное приложение, которое каждый пользователь будет запускать самостоятельно. Нет особенных причин, по которым вам следует выбирать второй пункт - чтобы не усложнять себе жизнь, выбираете вариант со службой.
  5. The installation type - выбирайте typical
  6. Where to install - опять же, если нет противопоказаний, устанавливайте в каталог по умолчанию (C:\Program Files\Apache Software Foundation\Apache2.2)

После окончания установки файлов, инсталлер сам “пропишет” Apache как службу Windows и запустит его.

Сервис Apache

Также, будут автоматически созданы файлы настроек (самый важный из которых httpd.conf) и тестовые html файлы. Чтобы потестировать свежеустановленный сервер, запустите браузер, наберите в строке адреса либо http://bombusbee/ либо http://localhost/ либо http://127.0.0.1/ Перед вами должна появится тестовая страница Apache. Если так - поздравляю, установка успешно завершена !

Что делать если что-то пошло не так ?

Если на вашей машине уже установлен и запущен web-сервер IIS, который идет в комплекте с Windows, то стандартный порт 80, через который происходит общение клиента (браузера) с web-сервером уже занят. Apache попытается использовать стандартный порт 80, но если он уже занят, Apache не запустится. Чтобы изменить порт который будет “слушать” Apache исправте конфигурационный файл httpd.conf (он лежит в папке conf/ под корнем Apache, см. пункт 6. установки выше) таким образом: найдите поиском строку Listen и напишите свою строку таким образом:

Listen 8080

В строке перед Listen не должно быть других символов. Знак # в httpd.conf означает строку комментария которая игнорируется сервером. После этого потребуется сохранить файл httpd.conf и перезапустить Apache. Для перезапуска откройте Панель Управления -> Администрирование -> Службы. В открывшемся списке служб найдите Apache и нажмите кнопку Перезапустить в панели наверху. Если все удачно, Apache запустится, и будет “слушать” не порт 80, а порт 8080 и к серверу придется образаться как http://bombusbee:8080/ или http://localhost:8080/ или http://127.0.0.1:8080/

Что дальше ?

Сервер “обслуживает” файлы которые находятся в папке htdocs/ под корнем установки Apache. Все файлы помещенные в этот каталог могут быть выданы сервером клиенту (например браузеру). Попробуйте положить текстовый файл, html-файл или картинку в папку htdocs/ и обратиться к этому файлу через браузер, набрав например http://localhost/myfile.txt. Если вы уже создали простейший HTML документ - положите его и потестируйте уже под реальным сервером, которым стал ваш компьютер.

May 18

Вставка PHP-кода

HTML, PHP, аффтар: Скакунов Александр 3 Comments »

Давайте посмотрим, как вставить в ХТМЛ результаты работы PHP-скрипта.

<html>
  <head>
    <title>Умелые ручки</title>
  </head>
  <body>
    <h1>Пример №2</h1>
    <p>Сегодняшняя дата:
    <?
      echo date("d.m.Y");
    ?>
    </p>
  </body>
<html>

При открытии в броузере это будет выглядеть так:

Пример 2

Как это получилось: PHP-сервер ищет в тексте файла куски кода, обрамленные в <? … ?>, изымает их текст, выполняет их, а на их место подставляет результаты работы. Обращаю внимание: если в этом коде убрать команду echo, отвечающую за передачу текста в броузер, то на месте этой PHP-вставки будет просто пустая строка.

Вы можете в броузере посмотреть код результатирующего документа HTML (обычно это меню “Вид” -> “Исходный код страницы” в броузере). Там будет следующее:

<html>
  <head>
    <title>Умелые ручки</title>
  </head>
  <body>
    <h1>Пример №2</h1>
    <p>Сегодняшняя дата:
    18.05.2007    </p>
  </body>
<html>

Подробнее о функции date() можно узнать на сайте php.net, рекомендую. Там же после стандартной документации идут комментарии других PHP-разработчиков, часто очень полезные.

Вместо функции date() может стоять просто строка или арифметическое выражение:

<html>
  <head>
    <title>Умелые ручки</title>
  </head>
  <body>
    <h1>Пример №2.1</h1>
    <p>Счет до 5:
    <?
    for($i=0; $i<5; $i++)
      echo '<br/>' . ($i+1);
    ?>
    </p>
  </body>
<html>

И результат:

Пример 2.1

Как видно, конкатенация строк производится через символ точки. Использование знака “плюс” сразу приведет оба операнда к числовому типу, что не всегда в ваших интересах :)

Копируем примеры, пробуем сами, делаем ошибки, набиваем руку, накапливаем вопросы, пишем комменты!

May 17

Простейший документ HTML

HTML, аффтар: Скакунов Александр 5 Comments »

Документ HTML представляет собой текстовый документ и состоит из тэгов.

<html>
  <head>
    <title>Умелые ручки</title>
  </head>
  <body>
    <h1>Пример №1</h1>
    <p>Halo world!</p>
  </body>
<html>

Легко заметить, что документ обрамлён парой тэгов <html>.

Далее идут две большие секции - <head> и <body>.

Секция <head> содержит директивы, относящиеся к документу в целом: заголовок (в данном случае это строка “Умелые ручки”, обрамленная тэгом <title> - эта строка будет показана в заголовке окна броузера), кодировку, параметры кэширования, подгрузку внешних файлов со скриптами или стилями, о чем мы поговорим позже.

Секция <body> содержит сам документ. В нашем примере это два тэга: <h1> (от англ. “header №1” - “заголовок №1“) и<p> (от англ. “paragraph” - “параграф“).

Вот как может выглядеть результат открытия примера выше в броузере:

sm_1_1.PNG

В следующий раз мы поговорим, как добавить сюда результаты работы серверного скрипта на PHP.

May 16

Пристегните ремни!

за жизнь, аффтар: Скакунов Александр 4 Comments »

Итак, мы открыли представительство в сети.

Stay tuned!.. :)