Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java Модуль 3.docx
Скачиваний:
18
Добавлен:
01.07.2025
Размер:
12.88 Mб
Скачать

Создание функции для получения и сохранения данных

Задача:создать функцию testPost()

- Функция должна проверять заполнение полей в разделе Заказать, при пустых полях выводить сообщение об этом;

- При введенных данных функция должна создавать новый файл с внесением контактных данных пользователя и выводить сообщение о приеме заявки;

- Для файлов-заявок нужно создать отдельную папку;

- Имя файла должно создаваться случайным образом с расширениемtxt;

- Вывод информационного сообщения необходимо разместить под текстом в разделеЗаказать.

Создадим отдельную папку, в которой будут размещаться заявки.Зададим ей имя doc (см. рис.11.15):

Рис. 11.15

В файле index.phpпосле вывода текста раздела Заказать–запишем вызов функции testPost():

else if ($id_menu==2) // Если номер: 2 - Заказы

{

// Получаем разметку по номеру

getHTML(8);

//Принимаем данные через POST-запрос

testPost();

}

После вывода текста будет выполняться функция testPost(). В этом случае информационное сообщение, выводимое функцией, будет отображаться под текстом.

Далее перейдем в файлlib.phpи в самом низу запишем программный код функции:

// Функция обработки заявки

function testPost()

{

// Если была нажата кнопка отправления данных

if ($_POST["btn"])

{

//Переменная для сообщения

$rez="";

// Если поле Имя не заполнено

if (trim($_POST["user_name"])=="") $rez="Введите Имя!";

// Если поле Телефон не заполнено

else if (trim($_POST["user_tel"])=="") $rez="Введите Телефон!";

else

{

//Данные для записи в файл

$info = "Name: ".trim($_POST["user_name"]).

" Tel: ".trim($_POST["user_tel"]);

// Создаем случайное имя файла

$file_name = "".rand(1000000,9999999).".txt";

// Сообщение о приеме заявки

$rez="Заявка принята!";

// Создаем файл для записи

$f = fopen("./doc/".$file_name, "w");

// Если файл создан

if ($f)

{

// Записываем в него данные

fwrite($f, $info);

// Закрываем файл

fclose($f);

}

}

//Выводим сообщение на веб-страницу ввиде заголовка

echo "<h1 class='h1_opisan' style='font-size: 35px;'>{$rez}</h1>";

}

}

Данная функция построена на основании примеров,рассмотренных в предыдущих разделах.Функция проверяет отправку данных черезPOST-запрос по параметру:

// Если была нажата кнопка отправления данных

if ($_POST["btn"])

В форме отправки значения параметров атрибута name тега inputбудут совпадать со значениями параметров массива $_POST.

// Переменная для сообщения

$rez="";

В переменную $rez будет помещено одно из трех текстовых сообщений (в зависимости от ситуации):

  1. Введите Имя!

  1. Введите Телефон!

  1. Заявка принята!

Если заполнены поляИмя и Телефон, то выполняется их запись в файл:

// Данные для записи в файл

$info = "Name: ".trim($_POST["user_name"]).

" Tel: ".trim($_POST["user_tel"]);

Имя файла с расширениемtxtсоздается случайным образом:

// Создаем случайное имя файла

$file_name = "".rand(1000000,9999999).".txt";

Функция rand() выдает случайное число в указанном интервале. Таким образом,формируется произвольное имя из семи цифр.Учитывая, что обработанные заявки будут сразу удаляться из папки doc–вероятность получения совпадения имен файлов сводится к нулю!

В самом конце выводится информационное сообщение:

echo "<h1 class='h1_opisan' style='font-size: 35px;'>{$rez}</h1>";

Сообщение выводится в виде заголовка, к которому подключенclass CSS: h1_opisan.Такой же класс подключен к заголовку раздела.Чтобы сообщение сразу бросалось в глаза,его шрифт увеличен: style='font-size: 35px;'.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]