Серверная часть приложения php

Уроки PHP и MySQL. Урок 4. Введение и приложения

Web – это клиент-серверная среда. Технологии Web-программирования можно разделить на две основные группы: программирование на стороне клиента и на стороне сервера. Клиентские технологии объединяют то, что может быть исполнено непосредственно в браузере (HTML, CSS, JavaScript).

Для разработки клиентской части Web-сайта достаточно иметь текстовый редактор и браузер.

Для разработки серверной части Web-приложения инструментов понадобится значительно больше.

Серверное web-приложение может быть написано практически на любом языке, который поддерживается на сервере. Кроме того, существует технология серверного программирования, называемая «серверными скриптами» или «сценариями на стороне сервера». Эта технология позволяет включать программный код непосредственно в web-страницы. В качестве инструмента реализации серверной части сайта будем использовать язык программирования PHP. Этот язык разработан специально для Web.

Одно из самых важных свойств инструмента разработчика — наличие доступа к базам данных. PHP обладает встроенной возможностью подключения ко многим системам управления базами данных. Для каждой из поддерживаемых баз данных в PHP есть свой набор функций.

Базовый комплекс инструментария web-разработчика включает в себя web-браузер, web-сервер, сценарный механизм и сервер баз данных:

Уроки PHP и MySQL

Типичная транзакция базы данных для Web состоит, соответственно, из следующих этапов:

1. Web-браузер пользователя отправляет HTTP-запрос определенной web-страницы. (Например, запрос на поиск в базе данных рыжего кота). Страница с результатами запроса пусть называется result.php.

2. Web-сервер принимает запрос на генерирование страницы result.php, извлекает файл и передает его на обработку механизму PHP.

3. Механизм PHP начинает синтаксический анализ сценария. Сценарий содержит команду подключения к базе данных и выполнения запроса (на поиск кошки). PHP открывает соединение с сервером MySQL и отправляет ему соответствующий запрос.

4. Сервер MySQL принимает запрос базы данных, обрабатывает его, а затем отправляет результаты – в данном случае, список рыжих котов – обратно механизму PHP.

5. Механизм PHP завершает выполнение сценария, что обычно сопряжено с форматированием результатов запроса в виде HTML, после чего возвращает результаты в HTML-формате web-серверу.

6. Web-сервер пересылает браузеру HTML-страницу, в которой пользователь может посмотреть сформированный список.

Программное обеспечение web-сервера, механизм PHP, и сервер баз данных могут действовать на одном компьютере. Но достаточно часто сервер баз данных работает на другом компьютере. Это может быть обусловлено соображениями безопасности, или более эффективного распределения нагрузки.

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

Читайте также:  Python re match case insensitive

Подключение к СУБД()
Выбор таблицы()
Инструкции_SQL()
Чтение результатов()
While (есть записи)
(чтение записи)
Отключение от СУБД()
?>

Чтобы нам можно было работать дальше, нужно иметь доступ к web-серверу с установленной на нем поддержкой PHP и доступ к MySQL-серверу.

Мы с Вами будем использовать для работы так называемый Джентльменский набор web-разработчика Apache+MySQL+PHP и отлаживать приложения, используя свой компьютер в режиме сервера. Этот набор представляет автоматически настраивающийся комплекс программ и серверов, предназначенный для разработки сайтов в Windows с расчетом использования их в Unix. Вместо того, чтобы настраивать отдельно Apache, PHP и т.д. по различным руководствам, рекомендуется воспользоваться этим проектом. Базовый пакет Денвера имеет размер 5-6 МБ. Его можно скачать по адресу http://www.denwer.ru/. Там же — подробная инструкция по установке и использованию.

Приложение 1

Справочник по синтаксису PHP

В наших уроках PHP и MySQL вы должны внимательно изучать примеры, запускать их, вносить в них различные изменения, анализировать результат.

Оформление PHP-сценария

Программа на языке PHP обычно вставляется в HTML-текст. Поэтому предусмотрены специальные теги для отделения PHP-текста от HTML.

  

Пример использования PHP в HTML-тексте

Если PHP-сценарий представляет собой самостоятельный модуль, он также должен начинаться с конструкции .

Любой файл, содержащий PHP-сценарий, имеет расширение php, независимо от того, встроен сценарий в HTML-текст или полностью написан на PHP.

Комментарии в PHP

PHP поддерживает использование однострочных и многострочных комментариев. Многострочные комментарии должны начинаться с символов /* и завершаться символами*/. Однострочные комментарии предваряются символами //. Закрывать их не нужно. Примеры комментариев приведены в листингах 1, 2,3, 4.

Типы данных в PHP

PHP поддерживает следующие типы данных: числа с плавающей точкой, целые числа, строки, массивы и объекты. Тип переменной обычно определяется тем, что в нее записано.

Переменные в PHP

В языке PHP имя переменной начинается со знака доллара ($), за которым следует собственно имя переменной. В именах переменных различаются верхний и нижний регистры. Имя переменной должно начинаться с буквы или символа подчеркивания, за которыми могут следовать буквы, цифры или знаки подчеркивания. Буквы должны быть из диапазона A—Z.

Область действия переменных

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

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

2. Глобальные переменные, объявленные в сценарии, которые видны в любом месте сценария, но не внутри функций.

3. Переменные, использованные внутри функций. Они являются локальными по отношению к этой функции.

Отметим некоторые из суперглобальных переменных:

1. $_GET — массив переменных, переданных в сценарий посредством метода GET.

2. $_POST — массив переменных, переданных в сценарий посредством метода POST.

3. $_REQUEST — массив всех переменных, вводимых пользователем.

Читайте также:  Html css javascript dreamweaver

PHP-операторы

Действия, которые должен выполнить php-интерпретатор, задаются php-операторами, помещаемыми

между специальными тегами:

В конце каждого оператора php обязательно ставится точка с запятой!

Функции в PHP

PHP имеет обширную библиотеку функций, которые можно использовать при разработке Web-приложений. Формат вызова функции: function(). Большинству функций нужно передавать некоторые данные, чтобы они возвращали соответствующие данные в качестве результатов. Например, для вывода строк в окне броузера мы будем использовать функцию print(), которой в качестве параметра передается строка для вывода:

PHP обеспечивает поддержку многих баз данных. Для каждой из поддерживаемых баз данных в PHP есть свой набор функций. Функции для работы с MySQL имеют префикс mysql_ (приложение 2).

Технология создания серверного сценария

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

1. Откройте текстовый редактор (лучше Блокнот).

2. Наберите текст php-сценария.

3. Сохраните файл с расширением php.

5. Скопируйте созданный php-файл на Web-сервер в свой каталог.

7. Наберите адрес вашего сценария в адресной строке браузера (с учетом регистра).

Возможно, что при запуске php-сценария обнаружатся ошибки. Тогда вам придется отредактировать программу. Действия те же.

Маленький секрет: Вообще-то нельзя, но если очень надо. Можно редактировать код прямо на сервере, пользуюсь услугами встроенного редактора FTP-клиента. В таком случае нужно почаще сохраняться, поскольку сеанс связи с сервером весьма короткий (примерно 3 минуты).

Приложение 2

Алфавитный справочник по функциям PHP

mysql_close()

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

mysql_connect ($host, $user, $password)

Устанавливает связь с MySQL-сервером. Функция имеет следующие необязательные параметры: $host — имя узла, на котором размещен сервер MySQL, $user — имя пользователя для входа на сервер и $password — пароль. По умолчанию приняты следующие установки: $host=’localhost’, $username=имя пользователя, под которым запущен процесс PHP, $password=пустой пароль.

В случае успешного соединения функция возвращает идентификатор связи с базой данных, в случае неудачи — значение false.

mysql_fetch_array()

Получение результатов запроса. Возвращает массив, который соответствует выбранной строке, или false, если больше строк не существует. Это расширенная версия функции mysql_fetch_row. Кроме сохранения данных в числовых индексах массива результатов она также сохраняет данные в ассоциативных индексах, используя имена полей как ключи. Подразумевает выборку одной строки за один раз.

mysql_fetch_row()

Получение результатов запроса. Возвращает массив, который соответствует выбранной строке, или false, если больше строк не существует. Выбирает одну строку данных из результата, связанного с заданным идентификатором результата. Строка возвращается как нумерованный массив. Каждый столбец результата сохраняется в смещении массива, начиная со смещения 0. Последующий запрос функции mysql_fetch_row() возвращает следующую строку в результирующем множестве. Подразумевает выборку одной строки за один раз.

mysql isset($var)

Предназначена для проверки состояния переменных. Возвращает true, если переменная $var существует, и false в противном случае. Эта функция может оказаться полезной, чтобы проверить, заполнил ли пользователь соответствующие поля формы.

Читайте также:  Свойства фона изображения css

mysql_num_rows()

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

Чтение результатов запроса осуществляется с использованием один из видов цикла в PHP — например, цикла FOR. Основная структура цикла:

FOR(выражение1; условие; выражение2) выражение3;

Выражение1 устанавливает начальное значение счетчика цикла.

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

Выражение2 выполняется в конце каждой итерации. Обычно в нем меняется значение счетчика.

Выражение3 выполняется один раз во время каждой итерации. Обычно это выражение содержит собственно тело цикла.

mysql_query($query)

Отсылает запрос на сервер к текущей базе данных. Строка запроса не должна оканчиваться точкой с запятой. При успешном выполнении запросов SELECT, SHOW, EXPLAIN, DESCRIBE функция возвращает идентификатор результата, который следует сохранить, в случае неудачи — значение false. С помощью идентификатора результата можно получить результат запроса. (Идентификатор результата — это ключ доступа к возвращенным запросом строкам, которых может быть ноль, одна и более). Для запросов DELETE, INSERT, REPLACE, UPDATE функция возвращает значение true или false.

mysql_result()

Получение доступа к отдельному полю результата запроса. Для этого необходимо указать номер строки (от нуля до количества строк минус 1) и имя поля.

mysql_select_db($dbname)

Устанавливает текущую активную базу данных на сервере. Возвращает true в случае успеха, false в случае ошибки.

Выводит на печать аргумент arg.

Источник

Серверная часть приложения php

В этом разделе помещены уроки по PHP скриптам, которые Вы сможете использовать на своих ресурсах.

Фильтрация данных с помощью zend-filter

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

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Совет: активация отображения всех ошибок в PHP

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

Источник

Оцените статью