Интернет - справочник для веб-мастеров
    441-847-152
     
 
 
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

   
 

   
 
  SEO статьи HTML, как раскрутить сайт
1. Рейтинг сайтов



 
 
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
-------------------------------------
  Прочитано статей: 405
  Всего прочтений: 181069
-------------------------------------
  Сейчас читают: 2 чел.


 

Сохранение данных [Версия для печати]
Разместил: admin . Раздел: Общие. Опубликовано: 09-20-2007 20:02:27
Теперь, когда наша форма заказа более-менее обрела свой первоначально задуманный вид, необходимо задуматься о том, как продавец, т.е. в данном случае мы, будем обрабатывать поступившие заказы клиентов. Для того, чтобы знать, что купил посетитель нашего виртуального магазина, необходимо сохранить те данные, которые он внёс при заполнении формы в Интернете. Существует один выход из сложившегося положения: сначала сохранить заказ клиента где-то, а затем, когда нам будет удобно, просмотреть, что он купил. Это всё реализуется путём записи нужных данных в файл или, если Вы работаете над большим проектом - в базу данных. Мы рассмотрим оба способа.

  • Обычный файл может иметь множество форматов, но в общем, это двумерный файл, т.е. обычный текстовый документ (.*txt). В нашем примере заказы будут добавляться в файл zakaz.txt построчно, т.е. одна покупка - одна строка.
  • Если приходится иметь дело с достаточно большим объёмом информации, лучше воспользоваться базой данных (например, MySQL).

    Сохранение и получение заказов

    Мы изменили форму, добавив туда адрес доставки клиента. Поле формы, предназначенное для ввода адреса доставки, носит название address. Каждый из поступающих заказов записывается в один и тот же файл. Затем создаётся web-интерфейс, чтобы мы могли просматривать полученные заказы. <html> <head> <title>Форма заказа</title> </head> <body> <h1>Продажа CD</h1> <h2>Форма заказа:</h2> <form action="cd.php" method=post> <table border=0> <tr bgcolor=#cccccc> <td width=150>Товар</td> <td width=15>Количество</td> </tr> <tr> <td>CD-R</td> <td align=center><input type="text"
    name="cdr" size=3 maxlength=3></td> </tr> <tr> <td>CD-RW</td> <td align=center><input type="text"
    name="cdrw" size=3 maxlength=3></td> </tr> <tr> <td>Футляры для CD</td> <td align=center><input type="text"
    name="fut" size=3 maxlength=3></td> </tr> <tr> <td>Ваш адрес</td> <td align=center><input type="text" name="address" size=30 maxlength=60></td> </tr> <tr> <td colspan=2 align=center><input
    type=submit value="Сделать заказ"></td> </tr> </table> </form> </body> </html>

    Этапы обработки заказа

    Запись:
    1. Открытие файла. Если файл не существует, его потребуется создать;
    2. Запись данных в файл;
    3. Закрытие файла.
    Считывание:
    1. Открытие файла. Если файл не может быть открыт (например, он не существует), эта ситуация должна быть распознана и следует предусмотреть корректный выход из неё;
    2. Считывание данных из файла;
    3. Закрытие файла.

    Открытие файла

    Давайте предположим, что требуется записать заказ клиента в общий файл заказов. Его можно открыть для записи с помощью следующего оператора:
    $fp = fopen("../../zakaz/zakaz.txt", "a");
    Первым параметром должен быть файл, который необходимо открыть, при этом, можно указать путь к файлу.
    Второй параметр функции fopen() - это режим файла, который должен иметь строковый тип. Этот параметр определяет, что необходимо делать с файлом. Режимы файла перечислены ниже:

    r - открыть файл только для чтения;
    после открытия указатель файла устанавливается в начало файла.

    r+ - открыть файл для чтения и записи;
    после открытия указатель файла устанавливается в начало файла.

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

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

    a - открыть файл для дозаписи;
    данные будут записываться в конец файла.

    a+ - открыть файл для дозаписи и чтения данных;
    данные будут записываться в конец файла.

    b - флаг, указывающий на работу (чтение и запись) с двоичным файлом;
    указывается только в Windows.

    Обычная ошибка, связанная с открытием файла - попытка открыть файл, для которого отсутствуют права на чтение или запись. В этом случае РНР выводит соответствующее предупреждение. Общедоступный для записи каталог для хранения заказов можно было бы создать, присвоив бы ему права доступа 777.
    Обработку ошибок можно сделать более удобной для пользователя, реализовав собственное сообщение:
    @ $fp = fopen("../../zakaz/zakaz.txt", "a", 1); if (!$fp) { echo "<p><strong>Извините, но покупка не совершена из-за сбоя." ."Попробуйте позже.</strong></p></body></html>"; exit; }

    Запись в файл

    Запись в файл в РНР выполняется сравнительно просто. Для этого нужно воспользоваться функцией fwrite():
    fwrite($fp, $vyhod);
    Давайте создадим строку, которая представляет одну запись в файле данных. Это можно сделать следующим образом:
    $vyhod = $date." ".$cdr." CDR-Дисков ".$cdrw." CDR-W-Дисков ".$fut." Футляров $".$total." ". $address." ";
    В этом простом примере каждая запись заказа сохраняется в отдельной строке файла. Подобное решение обусловлено тем, что позволяет в качестве простого разделителя строк использовать символ новой строки.

    В следующий раз мы поговорим о закрытии файла и его считывании. До новых встреч!
    P.S. Исходный файл cd.php Вы можете скачать ЗДЕСЬ
  • Источник: http://web-brodilka.ru   Прочитана 610 раз.
      Закладки:  
         
         
         
    Google
     




         
    Copyright 2007 by bvisoft.com