Образовательная программа ннгу. Образовательно-научный центр «Информационно-телекоммуникационные системы: физические основы и математическое обеспечение»



Pdf көрінісі
Дата12.03.2017
өлшемі3,31 Mb.
#9166
түріОбразовательная программа

 

Федеральное агентство по образованию 



Нижегородский государственный университет им. Н.И. Лобачевского 

 

Национальный проект «Образование» 



Инновационная образовательная программа ННГУ. Образовательно-научный центр 

«Информационно-телекоммуникационные системы: физические основы и 

математическое обеспечение» 

 

 



 

В.Л.Тарасов 

 

ПРОГРАММИРОВАНИЕ БАЗ ДАННЫХ ДЛЯ ИНТЕРНЕТА 

 

 



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

квалификации «Применение программных средств в научных 

 исследованиях и преподавании математики и механики» 

 

 

 

 

 

 

 

 

 

 

 

Нижний Новгород 

2007 

 

 



Учебно-методические материалы подготовлены в рамках ин-

новационной образовательной программы ННГУ: Образовательно- 

научный центр «Информационно-телекоммуникационные 

системы: физические основы и математическое обеспечение» 

 

 

 



 

 

Тарасов В. Л. Программирование баз данных для Интернет. Учебно-методический мате-



риал по программе повышения квалификации «Применение программных средств в науч-

ных исследованиях и преподавании математики и механики е». Нижний Новгород, 2007, 

100 с. 

 

 



 

 

 



Рассматриваются  современные технологии использования баз данных в Интернете, ко-

торые основаны на использовании языка программирования PHP и СУБД MySQL. Описан 

процесс  установки  на  компьютер  веб-сервера  Apache,  интерпретатора  PHP  и  MySQL. 

Кратко  изложены  приемы  программирования  на  PHP  по  созданию  динамических  html-

страниц,  работа  с  MySQL  в  режиме  командной  строки,  доступ  к  базе  данных  MySQL 

средствами PHP. Приведены иллюстративные примеры. 

 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

Тарасов В.Л.,  2007 



 



ОГЛАВЛЕНИЕ 

 

1. Технолигии передачи и обработки информации в интернет .............................................. 5 



1.1. Статические HTML страницы ....................................................................................... 5 

1.2. Клиентские технологии ................................................................................................. 7 

1.3. Средства поддержки серверных сценариев .................................................................. 7 

1.4. Области применения средств поддержки серверных сценариев ................................. 8 

2. Подготовка к работе с системой PHP ................................................................................ 10 

2.1. Интернет-серверы ........................................................................................................ 10 

2.2. Сервер Apache .............................................................................................................. 10 

2.3. Установка сервера Apache в ОС Windows .................................................................. 10 

3. Язык программирования php ............................................................................................. 14 

3.1. Установка интерпретатора PHP .................................................................................. 14 

3.2. Дескрипторы PHP ........................................................................................................ 15 

3.3. Первая программа........................................................................................................ 15 

3.4. Синтаксис языка PHP .................................................................................................. 16 

3.5. Комментарии................................................................................................................ 17 

3.6. Блоки ............................................................................................................................ 17 

3.7. Переменные.................................................................................................................. 17 

3.8. Область определения переменной .............................................................................. 18 

3.9. Константы .................................................................................................................... 19 

3.10. Типы данных .............................................................................................................. 19 

3.11. Вывод данных ............................................................................................................ 21 

3.12. Логические выражения.............................................................................................. 22 

3.13. Операторы сравнения ................................................................................................ 22 

3.14. Инструкция ветвления ............................................................................................... 23 

3.15. Инструкция switch...................................................................................................... 23 

3.16. Циклы ......................................................................................................................... 23 

3.17. Функции ..................................................................................................................... 26 

4. Передача информации между страницами........................................................................ 28 

4.1. Метод GET ................................................................................................................... 28 

4.2. Метод POST ................................................................................................................. 30 

4.3. Калькулятор физических нагрузок.............................................................................. 32 

5. Строки и массивы в PHP .................................................................................................... 35 

5.1. Подстановка значений в строки .................................................................................. 35 

5.2. Индексация символов .................................................................................................. 35 

5.3. Операции со строками ................................................................................................. 35 

5.4. Строковые функции..................................................................................................... 36 

5.5. Калькулятор физических нагрузок.............................................................................. 38 

5.6. Массивы ....................................................................................................................... 41 

5.7. Создание массивов....................................................................................................... 41 

5.8. Выборка значений........................................................................................................ 42 

5.9. Многомерные массивы ................................................................................................ 42 

5.10. Получение сведений о массивах ............................................................................... 43 

5.11. Итерация..................................................................................................................... 43 

5.12. Калькулятор физической нагрузки с переключателем............................................. 45 

5.13. Калькулятор физической нагрузки с флажками ....................................................... 48 

5.14. Калькулятор физической нагрузки с многомерными массивами ............................ 52 

6. Обработка числовых данных ............................................................................................. 58 



 

6.1. Числовые типы............................................................................................................. 58 



6.2. Математические операции .......................................................................................... 58 

6.3. Математические функции ........................................................................................... 59 

6.4. Выработка случайных чисел ....................................................................................... 59 

6.5. Калькулятор физических нагрузок с вычислениями.................................................. 60 

7. Субд MySQL ....................................................................................................................... 65 

7.1. Установка MySQL в Windows ..................................................................................... 65 

7.2. Администрирование учетных записей MySQL .......................................................... 70 

7.3. Программа PHPMyAdmin ............................................................................................ 74 

8. Функции PHP для работы с СУБД MySQL ....................................................................... 76 

8.1. Типы данных MySQL .................................................................................................. 76 

8.2. Функции PHP для работы с MySQL............................................................................ 78 

9. Отображение результатов запросов в таблицах ................................................................ 81 

9.1. Таблицы HTML и таблицы базы данных.................................................................... 81 

9.2. Создание образцов таблиц........................................................................................... 81 

9.3. Программа отображения одной таблицы.................................................................... 85 

9.4. Сложные отображения................................................................................................. 90 

9.5. Ввод данных в базу данных с помощью простой формы........................................... 95 

10. Литература ........................................................................................................................ 98 

 


 



1. ТЕХНОЛОГИИ ОБРАБОТКИ ИНФОРМАЦИИ В ИНТЕРНЕТ 

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

лении от серверов на клиентские компьютеры. Как правило, информация обрабатывается 

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

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

способы обработки

1.1. Статические HTML страницы 

После того как клиентский компьютер передает с помощью протокола HTTP запрос на 

получение  этой  страницы  серверному  компьютеру  по  Интернет  или  по внутренней  сети, 

сервер передает в ответ весь текст, обнаруженный в требуемом файле (рис. 1). 

 

Рис.1. Передача простого запроса и ответа по протоколу HTTP 



Вслед  за  тем  как  данные  страницы  поступают  на  клиентский  компьютер,  браузер  вы-

полняет все от него зависящее для вывода страницы на экран, учитывая при этом то, ка-

кой именно код содержится в файле с данными страницы, каковы предпочтения пользова-

теля,  каковы  размеры  экрана,  и  другие  факторы.  В  случае  использования  статических 

страниц  содержимое  файла  HTML  на  сервере  полностью  совпадает  с  исходным  кодом 

страницы,  поступившим  на  клиентский  компьютер,  что  предоставляет  следующие  пре-

имущества: 


 

  Этот код может быть правильно отображен в любом браузере. 



  Может быть легко обеспечено адекватное отображение этого кода в устройствах 

многих других типов. 

  Каждый запрос выполняется быстро, с использованием минимальных ресурсов. 

  Язык HTML является простым в изучении, а автоматическое формирование это-

го кода можно обеспечить очень легко. 

  Разработчики  программ  для  Web  имеют  возможность  быстро  вносить  неболь-

шие изменения в отдельные страницы. 

Безусловно, статический код HTML имеет также свои недостатки: 

  При использовании этого кода трудно управлять процессом создания, оформле-

ния и компоновки страницы. 

  По  мере  увеличения  количества  страниц  сложности,  связанные  с  применением 

статического кода HTML, стремительно возрастают. 

  Такой код не обеспечивает применения достаточно выразительных интерактив-

ных средств. 

  При  использовании  статического  кода  HTML  затрудняется  задача  включения 

значимых метаданных о странице. 

  Применение статического кода HTML не позволяет успешно отображать быстро 

изменяющееся информационное наполнение или обеспечивать персонализацию 

(учет потребностей конкретного пользователя). 

Для преодоления указанных ограничений были разработаны многочисленные дополни-

тельные  технологии,  включая  языки  JavaScript  и  VBScript,  каскадные  таблицы  стилей, 

применяемые в клиентском коде аплеты Java, а также средства поддержки серверных сце-

нариев, предоставляющие такие возможности, как подключение к базе данных 

Основной  вопрос,  на  который  можно  найти  ответ,  намечая  путь  решения  любой  от-

дельно взятой задачи Web-узла, состоит в следующем: "Где должна осуществляться обра-

ботка — на клиенте или на сервере?" 

Динамические HTML-страницы позволяют решать более широкий круг задач по срав-

нению со статическими. В качестве динамических должны рассматриваться почти любые 

страницы, код которых содержит какие-либо конструкции, отличные от конструкций про-

стого, стандартного кода HTML. В клиентском коде под динамическим информационным 

наполнением  могут  подразумеваться  мультимедийные  презентации,  прокручиваемые  за-

головки,  автоматически обновляющие  сами  себя  страницы  или  элементы,  способные  ис-



 

чезать и появляться. С другой стороны, в серверном коде под динамическим информаци-



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

торого  происходит  оперативно,  сразу  после  поступления  запроса  на  передачу  страницы. 

Например,  если  на  странице  отображаются  текущая  дата  и  время  ее  формирования,  это 

означает, что содержимое страницы изменяется от одного случая ее формирования к дру-

гому, и поэтому такая страница является динамической. 

1.2. Клиентские технологии 

Наиболее  часто  дополнения  к  простому  коду  HTML  реализуются  после  поступления 

страницы  в  клиентское  приложение.  К  этим  дополнениям  относятся  такие  расширения, 

обеспечивающие лучшее форматирование, как каскадные таблицы стилей и средства Dy-

namic HTML а также клиентские языки сценариев, такие как JavaScript и VBScript, аплеты 

Java и объекты Flash. Средства поддержки всех этих технологий должны быть встроены в 

программное обеспечение Web-браузера.  

Клиентские  технологии  имеют  ряд  недостатков.  Их  поддержка  полностью  зависит  от 

браузера, а между  браузерами разных производителей могут быть  большие отличия. На-

пример,  браузер  FireFox  не  поддерживает  JavaScript.  В  браузерах  часто  имеется  возмож-

ность  отключать  поддержку  потенциально  опасных  технологий,  в  частности  того  же 

JavaScript. Единственное, в чем разработчик программ для Web может быть уверен, – это 

то, что пользователи всегда могут просматривать простой текстовый код HTML. 

Клиентские  технологии  не  позволяют  выполнять  какие-либо  технологии,  требующие 

подключения  к  серверу  базы  данных.  Например,  язык  JavaScript  не  позволяет  динамиче-

ски формировать раскрывающиеся списки с учетом данных, хранящихся в базе данных. 

Достоинством клиентских технологий является высокая скорость реакции на действия 

пользователей, так не требуется передавать данные на сервер. 

Аплеты  Java  (клиентские  приложения  Java)  значительно  меньше  зависят  от  браузера. 

Аплеты  (applet – уменьшительное  от  application)  представляют  собой  небольшие,  но  за-

конченные  приложения  Java,  доставляемые  клиенту  по  Интернет.  Аплеты  не  взаимодей-

ствуют  непосредственно  с  ОС,  а  выполняются  виртуальной  машиной  Java  (Java  virtual 

Machine – JVM).  JVM  входит  в  комплект  большинства  браузеров  или  может  быть  загру-

жена отдельно. 



1.3. Средства поддержки серверных сценариев 

Схематическое представление потока данных, поддерживаемого средствами серверных 

сценариев, показано на рис. 2. 


 

 



Рис.2. Задачи, решаемые в серверном коде 

Средства поддержки серверных сценариев для Web в основном применяются для под-

ключения Web-узлов к таким вспомогательным серверам, как серверы баз данных. Благо-

даря использованию этих средств появляется возможность поддерживать двухстороннюю 

связь описанных ниже типов. 

От  сервера  к  клиенту. Сборка Web-страниц  может осуществляться  на  основе  выход-

ных данных, полученных из вспомогательного сервера. 



От клиента к серверу. На сервере может осуществляться обработка информации вве-

денной пользователем. 

Программные  продукты  поддержки  серверных  сценариев  состоят  из  двух  основных 

компонентов — языка сценариев и машины выполнения сценариев (которая может быть 

встроена или не встроена в программное обеспечение Web-сервера). Такая машина обес-

печивает синтаксический анализ и интерпретацию страниц, написанных на определенном 

языке. 

1.4. Области применения средств поддержки серверных сценариев 

Код,  выполняемый  в  клиентской  программе  (в  браузере),  называемый  также  клиент-



ским кодом, в основном обеспечивает создание пользовательского интерфейса, а код, вы-

полняемый  в  серверной  программе  (серверный  код),  служит  главным  образом  для  обра-

ботки  данных.  В последнее  время  средства  поддержки  серверных  сценариев  находят  все 


 

более  широкое  распространение,  поэтому  в  распоряжение  пользователей  Web  все  чаще 



поступают динами чески сформированные HTML-страницы. 

Но  серверные  сценарии  практически  не  применимы  для  создания  сложных  графиче-

ских интерфейсов с трехмерными изображениями, действующих в реальном времени. Чем 

более быстрый отклик должно обеспечивать приложение и чем шире в нем должны при-

меняться  графические  средства,  тем    меньше  для  этой  цели  подходит  язык  РНР.  Дело  в 

том,  что  в  настоящее  время  из-за  низкой  пропускной  способности  каналов  Web  невоз-

можно достаточно быстро передавать необходимые для этого объемы информации. 

С  другой  стороны,  языки  серверных  сценариев,  такие  как  РНР,  являются  идеальным 

средством осуществления  многих  полезных  функций,  а  также  позволяют  развертывать  в 

Web чрезвычайно важные узлы и системы. 

 


 

10 


2. ПОДГОТОВКА К РАБОТЕ С СИСТЕМОЙ PHP 

Программа-сервер и программа-клиент могут  выполнятся на разных компьютерах или 

на одном и том же компьютере. Компьютер, на котором выполняются программы-серверы 

называются часто сервером

Web-узел  с  поддержкой  PHP  может  находится  на  сервере,  сопровождаемом  самостоя-

тельно или на сервере, предоставляемом службой Web-хостинга. 



2.1. Интернет-серверы 

Интернет-серверы – это программное обеспечение, которое предоставляет файлы, хра-

нящиеся на дисках сервера клиенту по запросу через Интернет. 

В состав Windows входит Internet Information Services (IIS), который обеспечивает под-

держку  Web, FTP, FrontPage, транзакций, Active Server Pages (ASP) и подключений к ба-

зам данных. Однако на большинстве Интеренет-узлов используется  сервер  Apache, кото-

рый  распространяется  в  исходных  кодах  и  имеет  версии  для  различных  операционных 

систем, в том числе для Windows, Unix, Linux. 



2.2. Сервер Apache 

Apache - это web-сервер, один из наиболее распространенных, безопасных и удобных. 

Он позволяет создавать динамические сайты с использованием языков программирования 

(например,  таких  как  Perl  или  PHP),  а  также  сайты  с  использованием  директив  SSI, 

(Server-Side Includes - включения на стороне сервера). SSI  – простейший, но в то же время 

чрезвычайно  мощный  инструмент  поддержки  больших  наборов.  Существуют  версии 

Apache как под Windows так и под Unix-платформы.  

Apache 


распространяется 

бесплатно, 

его 

можно 


скачать 

по 


адресу 

http://www.apache.org. Там же находится полная электронная документация. Apache суще-

ствует в версиях 1 и 2. Для Windows, доступны для загрузки дистрибутивы в виде exe- или 

msi-файла (MSI - Microsoft System Installer), для Unix-платформ файлы имеют расширение 

.tar.gz 

2.3. Установка сервера Apache в ОС Windows 

2.3.1. Предварительная подготовка 

Рассмотрим 

процесс 

установки 

Apache 

на 


примере 

использования 

файла  

apache_2.2.4-win32-x86-no_ssl.msi



. Его размер 4447744 байт. Из названия файла видно, что 

это32 разрядная версия 2.2.4 для Windows. 

Сочетание  букв 

no_ssl


  означает  отсутствие  поддержки  SSL  (Secure  Sockets  Layer –

 протокол  защищенных  соединений).  Использование  SSL  исключает  перехват  информа-



 

11 


ции,  передаваемой  по  сети,  дает  возможность  проверить  идентичность  узла  и  идентич-

ность  посетителя  на  узле.  Используется  шифрование  с  открытым  ключом  для  проверки 

подлинности сервера и обмен новыми ключами. Далее для обмена применяется шифрова-

ние с закрытым ключом. 

Apache может быть установлен в версии Windows 98 и старше.  

2.3.2. Установка Apache 

Для  установки  Apache  просто  запускаем  файл 

apache_2.2.4-win32-x86-no_ssl.msi

.  Нач-


нет  работать  MSI  installer.  В  процессе  работы  мастера  установки  выводятся  несколько 

окон, в  том  числе  окно  с  приветствием, окно  с  лицензионным  соглашением,  на  котором 

надо принять условия лицензии.  

Далее следует диалог, содержащий описание сервера. В следующем окне (рис. 3) необ-

ходимо задать некоторые настройки веб-сервера. 

 

Рис. 3. Настройки сервера 



Network Domain – имя вашего сервера DNS, в котором ваш веб-сервер будет зарегист-

рирован. Например, если ваш полный домен выглядит как www.somehost.com, вам следует 

указать здесь somehost.com. В случае, если вы желаете использовать веб-сервер исключи-

тельно  для  личных  нужд  только  на  локальном  компьютере,  — укажите  здесь  домен 

localhost.  

Server Name. Полное имя вашего сервера. Исходя из приведенного примера, здесь сле-

дует  указать  www.somehost.com.  Опять  же,  если  вы  предполагаете  использовать  Apache 

исключительно на локальной машине — укажите localhost.  


 

12 


Administrator's Email Address.  Адрес администратора вашего сервера. Этот адрес бу-

дет отображаться во время ошибок работы веб-сервера, никакой другой функции на этот 

адрес не возложено.  

Следующая  опциональная  настройка  "Install  Apache  HTTP  Server  2.2  programs  and 

shortcuts for:" позволяет задать, как Apache будет функционировать в вашей системе – ис-

ключительно  под  учетной  записью  текущего  пользователя, либо  для  всех  пользователей 

вашего компьютера. Мы выбрали второй вариант — для всех пользователей. 

На шаге следующем шаге выбираем тип установки (рис. 4). 

 

Рис. 4. Выбор типа установки 



Можно о выбрать один из 2-х типов установки. 

Обычная установка  (Typical).  Обычная  установка  позволяет  пропустить  следующий 

шаг и приступить непосредственно к установке веб-сервера. При этом будут установлены 

лишь  основные  компоненты  программы,  исключая  файлы  заголовков  и  библиотеки  для 

компиляции модулей. Установка будет произведена в папку, заданную по-умолчанию (как 

правило  C:\Program  Files\Apache  Software  Foundation\Apache2.2).  Для  начала  лучше  огра-

ничиться этим вариантом установки. 



Выборочная установка (Custom).  При выборе данной опции, на следующем шаге вы 

можете  выбрать,  какие  компоненты  следует  установить  и задать  путь  к  папке  установки 

при необходимости.  

В  случае  успешного  завершения  установки  мастер  установки  сообщит  об  этом  в  от-

дельном окне. 

Для того, чтобы протестировать работу веб-сервера, запустите ваш браузер и наберите 

в адресной строке 

http://localhost/

.  Если вы видите страницу с сообщением "It works!" — 

значит вам действительно успешно удалось установить веб-сервер (рис. 5). 



 

13 


 

Рис. 5. Испытание работы Web-серверf 



 

14 


3. ЯЗЫК ПРОГРАММИРОВАНИЯ PHP 

Название  PHP  является  рекурсивным  сокращением  от  PHP:  Hypertext  Preprocessor 

(препроцессор гипертекста  PHP).  Первоначально  это  продукт  именовался  Personal  Home 

Page Tools (инструменты создания домашних страниц).  

PHP – это  серверный  язык  сценариев,  который  может  быть  внедрен  в  код  HTML  для 

развертывания  в  браузере.  Преобразование  программы  на PHP  в  HTML  производится  на 

сервере,  по  сети  передается  готовый  для  просмотра  код.  Этим  PHP  отличается  от  таких 

языков сценариев как JavaScript и VBScript, которые выполняются в браузере на клиент-

ской  машине.  Благодаря  выполнению  не  сервере,  программа  на  PHP  может  отображать 

данные, которые динамически изменяются, например, текущее состояние прайс-листа или 

текущие котировки курсов акций. Программа, выполняющаяся на клиенте, не может обра-

титься к базе данных, хранящейся на сервере, так как это опасно. 

3.1. Установка интерпретатора PHP 

Как и при установке Apache, установку интерпретатора PHP начнём со скачивания по-

следнего  свежего  дистрибутива  со страницы  загрузок  http://www.php.net/downloads.php 

на официальном сайте разработчика. 

Рассмотрим установку РНР версии 5 из zip-архива, например, php-5.2.0-Win32.zip, объ-

емов около 9.5 Мб. Распакуем его в папку C:\PHP. На этом установка закончена. 



3.1.1. Установка PHP в качестве модуля 

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

PHP загружается один раз при запуске Web-сервера 

При  установке PHP в качестве модуля настройки из php.ini читаются один раз при за-

пуске  Web-сервера.  Поэтому  при  внесении  изменений  в  php.ini  необходимо  перегрузить 

Apache для того, чтобы внесенные изменения вступили в силу. 

Для  установки PHP найдем в подпапке 

conf


 папки  Apache главный настроечный файл 

Apache 


httpd.conf

, откроем его на редактирование и удалим символы комментариев (#) со 

следующих строк, при необходимости изменив их: 

AddType application/x-httpd-php phtml php  

LoadModule php5_module c:/php/php5apache2.dll  

3.1.2. Проверка работоспособности 

В текстовом редакторе создадим файл 

info.php

, с одной единственной строкой: 



 

 

15 


Сохраним этот файл в корневом каталоге документов Web-сервера 

C:\Program Files\Apache 

Software Foundation\Apache2.2\htdocs

.  


 

Рис.6. Информация об инсталляции PHP5 

В браузере введем строку 

http://localhost/info.php 

В  окне  браузера  появится  таблица  с  информацией  о  настройках  PHP,  Apache2  и  других, 

рис. 6, что говорит об успешной установке Apache и PHP. 



3.2. Дескрипторы PHP 

Код PHP можно непосредственно вставлять в код HTML. Для указания начала и конца 

кода PHP используются дескрипторы  

 

3.3. Первая программа 

В папке 


htdocs

 поместим файл 

first.php

 следующего содержания: 



 

   

     My first PHP program 

   

   

    

      print("Hello, cruel world

\n"); 


 

16 


      phpinfo(); 

    ?> 


  


Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет