Сохранение данных

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

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

Существуют два основных способа хранения данных: в двумерных (“плоских”) файлах и в базах данных.

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

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

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

Сохранение и выборка заказов

В этой главе будет использоваться форма заказа, несколько отличная от той, что рассматривалась в предыдущей главе. Мы начнем с этой формы и с РНР-кода, созданного для обработки данных заказа.

В форму добавили поле для ввода адреса доставки товара, как показано на рис.2.1.

Сохранение данных


Поле формы, предназначенное для ввода адреса доставки, имеет имя address. В результате мы получаем переменную, к которой в РНР-коде можно обращаться как к $_REQUEST ['address'], $_POST ['address'] либо $_GET ['address'], в зависимости от метода отправки данных формы. Все поступающие заказы записываются в один и тот же файл.

Обработка файлов

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

1. Открыть файл. Если файл еще не существует, его нужно создать.

2. Записать данные в файл.

3. Закрыть файл.

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

1. Открыть файл. Если файл открыть невозможно (например, он не существует), эту ситуацию необходимо распознать и предусмотреть корректное ее разрешение.

2. Прочитать данные из файла.

3. Закрыть файл.

Если вы собираетесь читать данные из файла, то должны выбрать, какую часть файла следует прочитать за один раз. Ниже мы рассмотрим все эти действия более подробно.

Начнем с рассмотрения процедуры открытия файла.